操作系统
文章平均质量分 70
养不起心爱的猫该如何是好
日常记录学习笔记
展开
-
I/O多路复用中select、poll和epoll区别
I/O多路复用中select、poll和epoll区别select: 通过它,我们可以把文件描述符的数组发给操作系统, 让操作系统去遍历,等到数据到达后,告诉我们哪个文件描述符可以读写。操作系统内核做遍历,没有用户态到内核态的切换开销poll:它和 select 的主要区别就是,去掉了 select 只能监听 1024 个文件描述符的限制。因为select描述符类型使用的是数组,默认大小是1024;poll的描述符类型是链表。epoll:解决了select的三大不足,内核中保存一份文件描述符集合,可原创 2022-02-12 22:24:21 · 334 阅读 · 0 评论 -
页面置换算法(FIFO、第二次机会、LRU)
页面置换算法文章目录页面置换算法前言一、最近未使用页面置换算法二、先进先出页面置换算法三、第二次机会页面置换算法四、时钟页面置换算法四、最近最少使用页面置换算法四、最不常用算法总结前言当发生缺页中断时,操作系统必须在内存中选择一个页面将其换出内存,以便为即将调入的页面腾出空间。如果要换出的页面在内存驻留期间已经被修改过,就必须把它写回磁盘以更新该页面在磁盘上的副本,如果该页面没有被修改过,那么它在磁盘上的副本已经是最新的,不需要回写。直接用调入的页面覆盖被淘汰的页面就可以了。当发生缺页中断时,原创 2022-01-30 23:25:01 · 8472 阅读 · 0 评论 -
虚拟内存——分页
虚拟内存文章目录虚拟内存前言一、虚拟内存的基本思想二、分页前言随着现在程序对内存的需求越来越大,交换技术并不是一个具有吸引力的解决方案,因为一个典型SATA磁盘的峰值传输率高达每秒好几百兆,这意味着需要好几秒才能换出或换入一个1GB的程序。下面就说说另一个解决方案——虚拟内存。一、虚拟内存的基本思想每个程序拥有自己的地址空间,这个空间被分割成多个块,每一块称作一页或页面(page)。每一页有连续的地址范围。这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部原创 2022-01-30 20:44:48 · 2264 阅读 · 0 评论 -
操作系统——空闲内存管理
空闲内存管理目录文章目录空闲内存管理目录前言一、使用位图的存储管理二、使用链表的存储管理1.首次适配算法2.下次适配算法3.最佳适配算法4.最差适配算法5.快速适配算法前言在动态分配内存时,操作系统有两种方法跟踪内存使用情况:位图和空闲区链表。一、使用位图的存储管理使用位图方法时,内存可能被划分成小到几个字或大到几千字节的分配单元。每个分配单元对应于位图中的一位,0表示空闲,1表示占用(或者相反)。一块内存区和其对应的位图如图所示:a)一段有5个进程和3个空闲区的内存,刻度表示内存分配单原创 2022-01-30 19:28:06 · 1018 阅读 · 0 评论 -
操作系统——内存交换技术
内存交换把所有进程一直保存在内存中需要巨大的内存,当然我们也不会这么做。那么我们是怎么做的呢?最简单的策略是交换(swapping)技术,即把一个进程完整调入内存,使该进程运行一段时间,然后把它存回磁盘。空闲进程主要存储在磁盘上,所以当它们不运行时就不会占用内存(尽管其中的一些进程会周期性地被唤醒以完成相关工作,然后就又进入睡眠状态)。另一种策略是虚拟内存,该策略甚至能使程序在只有一部分被调人内存的情况下运行。下面先讨论交换技术,虚拟内存看这个。交换系统的操作如上图所示。开始时内存中只有进程A。之后原创 2022-01-30 18:45:02 · 4103 阅读 · 0 评论 -
进程的三种基本状态
原文链接:https://blog.csdn.net/amosilin/article/details/51077930进程的三种基本状态在另外一些系统中,还有一种状态为挂起状态,这里暂且不提。实际系统中,为了管理的需要,还存在着另外两种状态:创建状态和终止状态。进程的五种基本状态创建状态:系统已为其分配了PCB,但进程所需资源尚未分配,进程还未进入主存,即创建工作尚未完成,进程还不能被调度运行。就绪状态:进程已分配到除CPU以外打的所有必要资源,等待获得CPU。执行状态:进程已获得CPU转载 2021-08-02 22:01:13 · 394 阅读 · 0 评论