操作系统
文章平均质量分 56
DaysAway
为秃头而奋斗
展开
-
浅谈Linux虚拟内存管理和虚拟地址空间
虚拟内存技术使得不同进程在运行过程中,它所看到的是自己独占了当前系统的4G内存空间。所有进程共享同一物理内存,每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上。事实上,在每个进程被创建时候,内核只为进程"创建”了虚拟内存的布局,具体就是初始化进程控制表中内存相关的链表,实际上并不立即就把虚拟内存对应位置的程序数据和代码(.txt段,.data段)拷贝到物理内存中,只是建立好虚拟内存和磁盘文件之间的映射关系,等到程序运行的时候,才会通过缺页异常来拷贝数据。还有进程在运行过程中需要动态分配内存,比如原创 2022-01-07 13:30:00 · 825 阅读 · 0 评论 -
Linux下的五种IO模型
1,阻塞型IO:最简单的一种IO模型,简单来讲就是死等,即线程或进程一直等待某个条件,不满足则一直等待。2,非阻塞型IO:应用进程与内核交互,目的未达到之前会直接返回,然后不断轮询,不停的去问内核数据是否准备好,如果发现准备好了,就把数据拷贝到用户空间。应用进程通过recvfrom调用不停的去和内核交互,直到内核准备好数据。如果没有准备好,内核会返回error,应用进程在得到error后,过一段时间再发送recvfrom请求。在两次发送请求的时间段,进程可以先去做其他的事情。3,信号驱动IO:我们会发现原创 2022-01-07 08:00:00 · 806 阅读 · 0 评论