简答
- 操作系统的功能:进程管理,存储管理,设备管理,文件管理
- 操作系统的特性:并发性,共享性,不确定性
- 操作系统生成过程:获取内核源码,选择和启动内核配置程序,配置内核模块和参数,重新编译新内核,编译按照模块,启动新内核
- 操作系统的启动:加电执行第一条指令JUMP POST进行自检,跳入BIOS启动程序载入引导程序,运行引导程序将OS核心读入内存,逐步加载OS剩余部分直至OS完全控制计算机,进行核心初始化,系统初始化。
- 进程的特性:动态性,并发性,异步性,独立性
- 死锁的原因:资源数目不足,并发进程的推进顺序不当
- 死锁的条件:互斥条件,不剥夺条件,部分分配条件,环路条件
- 设备管理分类:存储设备,IO设备,通信设备
- 设备分配:独享分配,共享分配,虚拟分配
- 按文件的逻辑结构分类:流式文件,记录式文件
- 按文件的物理结构分类:连续文件,串联文件,索引文件
调度算法
进程调度
- 先来先服务
- 短作业优先调度
- 相应比高者优先调度(响应时间:在CPU内的时间,是等待时间与运行时间之和)
- 优先数调度法(动态优先数+静态优先数)
- 循环轮转调度(新的进程加入队尾;刚用完时间片的移到队尾)
- 可变时间片轮转调度(时间片可变)
- 多重时间片循环调度(多个就绪队列)
Linux进程调度
- 基于优先级:普通进程与实时进程
- priority静态优先级 rt_priority实时进程特有的优先级 counter进程能连续运行的时间片数量(动态优先级,初值 = priority)
- policy(task_struct):指明进程使用何种调度策略:普通分时、先进先出的实时、基于优先级轮转的实时
动态分区存储管理放置策略
- 首次适应
- 最佳适应
- 最坏适应
缺页时淘汰机制
- 最佳算法OPT
- 先进先出FIFO
- 最久未使用LRU
Unix缓冲区管理
- 一个buf被分配时:放入b链,不在av链,B_BUSY = 1
- 读写结束时,仍留在b链,B_BUSY = 0,放入av链
- 当进程需要的信息在buf中时,在b链中找到这个buf,置B_BUSY = 1,从av链摘除;用完后放入av链尾
- 每次取av链首元素;buf释放时放入av链尾
- 延迟写:延迟写标记的buf放入av链头,分配时先进行写操作,再使用