操作系统笔记
1. 操作系统提供给编程人员的接口是系统调用,高级语言里一般以库函数的形式呈现。
2. 微内核结构增加了模块化和层次性,增加了系统的稳定性,但不能提高系统的运行效率,增加了系统进程与用户进程的通信开销。
3. 中断的发生通常是突然的,往往系统无法预知;子程序调用是可以预知的,并且不改变程序状态。
缺页一般在用户态发生,但是缺页处理需要在内核态进行;关中断属于特权指令,需要在内核态进行,访存需要到内核态;trap指令能使程序从用户态转到内核态
4. 并发(一段时间内多个程序发生)与并行(同时刻多个程序在运行)的区别。并发进程受到进程调度的影响。并发进程具有间断性(执行-暂停-执行),共享计算资源。并发是宏观上的并行,当多任务分配到多个处理器可以实现并行。
5. 线程是处理机调度的最小单元,可以独立运行 ,但是共享所属进程的地址空间,通过共享的存储空间与所属进程的其他线程通信。
6. 处理机执行完成一条指令后,硬件的中断装置(中断扫描)立即检查是否有中断产生。
7. 判断具体的进程互斥问题时,要对多个进程的代码进行排序执行,再来判断是否出现了冲突部分。
8. fcfs 先来先服务,有利于长进程,不利于短进程;有利于cpu频繁型,不利于io频繁型。io频繁型程序优先级一般比cpu频繁型高,因为io操作要及时响应处理,io信息不能长期保存。
响应比=响应时间/要求服务时间,响应时间=要求服务时间+等待时间
9. 原语是由若干条指令组成,可完成特定操作,不可分割,不可中断;通常用于进程的通信和控制。
10. 为快速响应用户才产生了分时系统,当分时系统的时间片固定,用户越多,每个用户分到的时间越少,响应时间变长。
11. 系统调用(访管指令)在用户态发生,引发访管中断,最后函数实现在核心态执行;外部中断将用户态转向核心态,也在用户态,但中断处理在内核态。要区分引发和执行的区别。
12. 管道类似于一种文件,或有固定大小的缓冲区
13. 访问临界资源(一次允许一个进程使用的资源)的代码叫临界区。
同步 存在工作次序制约 v通知下一个工作开始 p询问上一个工作是否完成
互斥 存在临界区竞争 p 准备访问后加锁, v释放资源后开锁
临界资源与共享设备的区别在于在一段时间内是否允许多个进程使用。
14. 虚拟存储技术并没有扩充物理内存和外存容量,而是用相关技术扩充主存。基于程序的局部性原理,容量大小只与计算机地址结构决定。请求分页管理方式采用虚拟存储技术,不用一次把程序全部装入主存。
15. 虚拟存储通过页面的调入调出实现,页面调入调出由覆盖和交换技术实现。但页面调换没有主存容量的限制。
当cpu运行利用率不高,但磁盘利用率长期高,说明内存严重短缺,出现了交换区(swap)大量的数据替换。
16. clock替换将最近未使用的替换出去,也称nru
lru替换,需要寻找最近最少使用,涉及到排序工作。
fcfs方式会出现belady异常(驻留集数量增加而缺页次数不减反增)
所有页面不可避免会出现抖动现象(频繁页面替换)
17. 保存当前目录,利用相对目录可以加快文件索引速率,一个文件对应一个fcb(文件控制块),打开文件时,将文件fcb存入内存活跃文件目录表。
18. 文件逻辑结构分为无结构文件(流式文件)与有结构文件,是用户组织数据文件的结构形式,逻辑索引可以加快文件数据的定位。
索引项记录文件大小和起始位置。unix下的树形目录结构,文件信息存放在索引节点中。一个文件仅有一个索引节点,一个索引节点可以被多个文件名指向。
建立软链接(符号链接)时,引用计数值复制,建立硬链接时,会建立一个索引节点,引用计数值加一。删除操作对软链接是不可见的。
文件访问控制中,设置用户权限,用独热码方式。
连续分配支持顺序访问和直接访问,但文件长度不宜动态增加。需要调整时,先读出再重新写入。
索引结构支持随机访问且易于拓展,链式结构不能随机访问,顺序结构不易于拓展但可以实现随机快速查询。
19. fat即文件分配表,可以有直接索引表,一级间接索引,多级间接索引等
目录文件仅包含第一簇的簇号。
20. 磁盘格式化需要物理格式化(磁盘分区)和逻辑格式化(初始化文件系统结构 如空目录)。可以使用位图表示磁盘空闲状态。
21. dma主要用于块设备,可寻址是块设备的基本特点。
共享设备在一段时间内允许多个进程使用。分配共享设备是不会产生死锁状态的
22. 设备分配方式包括 共享分配(动态方式),独占分配(静态方式),虚拟分配
重排io请求次序就是在做io调度