1虚拟地址,虚拟内存映射,系统调用本质,进程运行状态



1操作系统会为每个进程分配0到4G的虚拟地址

2.关于虚拟内存和物理内存之间的关系

总结:

A程序管理内存的最小单位是page(4096Byte),如果需要的内存不够4096字节,实际上开辟的也是4096字节。

B每个程序对应独立的虚拟内存,调用的时候先找自己的虚拟内存,然后实质上是通过虚拟内存找物理内存。

C每个进程共享操作系统的kernel

3关于系统调用

4进程运行状态

时间: 2024-08-03 23:39:18

1虚拟地址,虚拟内存映射,系统调用本质,进程运行状态的相关文章

[转载]PAE下的虚拟内存映射 实践

转自:http://user.qzone.qq.com/31731705/blog/1323426728 前文是理论分析,在此: PAE下的虚拟内存映射 分析 (http://user.qzone.qq.com/31731705/blog/1323414733 ),理论需要结合实际,现在来实际体验一下. 随便选个进程,就当前进程吧, 0: kd> !process  PROCESS 8da74d40  SessionId: 1  Cid: 1f6c    Peb: 7ffdf000  Paren

映射文件实现进程通信

发送端 //1.在页面文件中创建一个可共享的文件句柄 //2使用默认安全对象 //3.可读,可写打开打开映射 //4.最大长度的高32位 //5.最大长度的低32位,此为size大小 //6.指定文件映射对象的名字 //return:新建文件映射对象的句柄,0表示出错 HANDLE m_sh = CreateFileMappingA(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 1000, "yingshe"); if (!m_sh) {

Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质

原文:Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质 Linux内核分析(六) 昨天我们对字符设备进行了初步的了解,并且实现了简单的字符设备驱动,今天我们继续对字符设备的某些方法进行完善. 今天我们会分析到以下内容: 1.      字符设备控制方法实现 2.      揭秘系统调用本质 在昨天我们实现的字符设备中有open.read.write等方法,由于这些方法我们在以前编写应用程序的时候,相信大家已经有所涉及所以就没单独列出来分析,今天我们主要来分析一下我们以前接触

[转载]PAE下的虚拟内存映射 分析

转自:http://user.qzone.qq.com/31731705/blog/1323414733 PAE 即为物理地址扩展(Physical Address Extension),详细的内容请Google. 我的电脑是Win7,CPU是双核处理器,信息如下, 0: kd> !sysinfo cpuinfo  [CPU Information] ~MHz = REG_DWORD 2527 Component Information = REG_BINARY 0,0,0,0,0,0,0,0,

Linux系统调用:进程的终止

之前总结了Linux的系统创建,主要是fork()函数和vfork()函数,最近总结了Linux进程的终止,主要的调用是_exit()和exit(). 先看看两个函数的原型以及各自属于的头文件,可以发现这两个方法的区别 _exit()函数: #include <unistd.h> void _exit(int status); 从_exit()的头文件能够发现,_exit()是属于Linux的系统调用, 只能在Linux或者是Unix上才支持这个调用. 其中,status定了进程的终止状态,其

使用内存映射开发高性能进程间消息通信组件

一.背景 项目开发中免不了各模块或系统之间进行消息通信,目前热门的消息中间件有Redis.RabbitMQ.Kafka.RocketMQ等等. 以上几种组件中Redis在消息队列方面表现还可以,但是如果涉及发布订阅功能,就不行了,最近项目就使用了redis的发布订阅, 每秒只能发出几千条,虽然目前绰绰有余,但是瓶颈可以预期. 其余的几种都是比较重量级的消息中间件,什么跨平台.分布式.集群.支持N种协议等等,很高大全, 我们可能就只使用了其中1.2个功能.严格来说,项目中集成这几种MQ的工作量是不

java 进程运行状态图解

原文博客地址 https://www.cnblogs.com/GooPolaris/p/8079490.html java中进程的状态有 6 种: NEW(新建).RUNNABLE(运行).BLOCKED(锁池).TIMED_WAITING(定时等待).WAITING(等待).TERMINATED(终止.结束),一般还会有 阻塞状态,可运行状态,挂起状态. 一般线程转换图 java 线程状态转换图 原文地址:https://www.cnblogs.com/wanglg629/p/10670539

linux 进程运行状态

1.运行状态(TASK_RUNNING),在linux中,程序如果正在运行,则为运行态,如果正在执行内核的程序则为内核运行态,如果正在执行用户程序,

shell:监控进程运行状态并自动重启进程

#!/bin/sh MAXRSTCOUNT=5; PROCTOGO=/mnt/hgfs/code/test/show #count is the counter of test started times count=0 sys_reboot() { echo "system is going to reboot"; reboot; } main_loop() { while : do ######################################### ProStill