进程与线程

操作系统管理进程,让计算机可以有效地完成各种工作。
进程是一个任务在实例化

PV操作
P(S)->S-1->消耗资源进行操作
V(S)->S+1->增加资源保持操作


内存管理

从简单的内存管理到虚拟内存管理

虚拟内存管理

请求分页管理方法

页表机制:增加了状态位,访问字段,修改位,外存地址
缺页中断机构:故障的一种,包含于内中断,可被系统修复。没在内存就会缺页中断,从外存调入,满了还需要调出其他页面。一次指令可被多次产生。

地址变换策略——找,调,换,改
最佳置换算法(OPT,Optimal)
每次选择理论上不会近期被使用的页面
依次填满,之后依次,看谁最晚会被再次使用,就换掉谁

先进先出置换算法(FIFO)
按顺序来替换,先来先走,依次淘汰

最近最久未使用置换法(LRU,Least Recently Used)
和OPT相反,检查谁是离得最远,就淘汰谁

时钟置换算法CLOCK(NRU Not Recently Used)
*简单版
添加一个访问位,将链接指针成为一个循环队列,每扫描两次就被淘汰
(1->0->change)优先淘汰没用过的

*修改版
在简单版的基础上,只有被淘汰的页面被修改过是才需要写回外村
此时构成一个(访问位,修改位)的形式标志位
第一轮寻找第一个(0,0)->(未访问,未修改)
第二轮寻找第一个(0,1),
修改访问位为0
第三轮寻找第一个(0,0),
第四轮寻找第一个(0,1)

页面置换策略

驻留集:请求分页管理中给进程分配的物理快集合。
——太小会频繁缺页浪费时间,太大会占用过多资源,并发度下降。
工作集:一段时间内,实际访问页面的集合。一般小于驻留集大小。
固定/可变分配+局部/全局置换(针对缺页时候,前者只能自己置换,后者可以空闲页面置换
固定局部很难一开始确定
可变全局让别的进程缺页率增加
可变局部系统调整缺页率
预调页策略:首次调入(运行前)
文件区->对换区(连续分配)<->内存<-不会被修改的数据(或是UNIX的首次调用)-文件区(离散分配)
*请求调页策略:运行时,缺页时,i/o开销大
抖动/颠簸现象
进程频繁访问页面数目过高-分配的进程的物理块不够
内存映射文件
从传统的自己寻找并读入变成先映射进虚拟地址空间,再自动读入。
同时可以共享文件修改,因为是直接改变物理地址上的文件。


文件管理


I/O流管理

添加新评论

4 + 18 =




开心才是最重要的啦~