摘录按照章节顺序,但事实上各章节习题有交叉。
1 操作系统
1.1 操作系统概论
操作系统的主要功能:进程管理、存储管理、文件管理、设备管理和用户接口。
操作系统的主要功能——设备管理:为用户程序提供系统调用接口、提供缓冲技术、管理通道、网卡等相关数据结构、提供虚拟设备技术。
存储管理:包括内存的分配与回收和存储保护。因此包括,完成虚拟地址到物理地址的转换、管理内存分配表、检查进程地址空间是否出现地址越界问题和将磁盘上的代码调入内存以及内存扩充。
文件管理:包括管理磁盘空间、磁盘碎片整理、建立文件目录和设置文件存取权限等。
不同类型的操作系统:
根据操作系统在用户界面的使用环境和功能特征的不同,操作系统可以划分为批处理操作系统、分时操作系统、实时操作系统、嵌入式操作系统和分布式操作系统。
批处理操作系统:批量处理用户作业、系统资源利用率高、吞吐率大,但是不能人机交互砌运行速度不快、运行成本不低。
实时操作系统:能够及时响应外部请求,具有较高的可靠性和过载防护能力。
分布式操作系统主要特点:是一个统一的操作系统、资源深度共享、透明性和自治性(各个主机关系都处于平等地位,没有主从关系)、可靠性。
微内核(客户/服务器)结构的操作系统具有高可靠性、高灵活性和适合分布式处理的特点。
操作系统提供了三种类型的接口供用户使用,分别是命令接口、程序接口和图形界面接口。
1.2 操作系统运行机制
中断与异常:
典型的中断包括时钟中断、输入输出中断、控制台中断和硬件故障中断。
异常指的是由正在执行的指令引发的,典型的包括程序性中断、访管指令异常。其中算术溢出、虚存中缺页、被零除都属于程序性中断。
程序状态字PSW:
包括CPU的工作状态代码、条件码和中断屏蔽码。
1.3 进程线程模型
实时操作系统 满足可靠性要求和截止时间要求。
PCB 进程控制块:
包括调度信息:进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件。现场信息:程序状态字、时钟、届地址寄存器。
下列调度算法中,适用于交互式操作系统的是: 多级反馈队列、时间片轮转、高优先级优先。
线程描述表包括:记录线程ID 指令地址寄存器 处理器寄存器 硬件设备寄存器 栈现场状态。
引入线程的目的:
能够减少程序并发执行所付出的时间和空间开销,是操作系统具有更好的并发性。创建一个新县城花费时间少,系统开销也小;两个线程的切换花费时间少,同一个进程内的线程共享内存和文件,不需要额外的通信;线程能够独立执行,有独立的栈但是没有独立的地址空间。
在抢占式调度系统中,进程从运行状态转换为就绪状态可能原因有:进程创建完成、时间片用完和被调度程序抢占处理机。
1. 4 并发与同步
题型1 信号量 S值从XX变为XXX,哪些操作能够达成上述变化? 牢记P减V加。 V+P-
题型2 互斥访问临界区,指令问题:
TS指令实现互斥的算法是 测试锁变量的值,如为1,则不断测试。为0则置变量为1并进入临界区。退出临界区则置为0。
题型3 读者 写者问题 P V 相关问题
信号量初始化后,只能实施P V原语操作; 在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的P操作。信号量的初值不能小于0但互斥信号量的变化范围可以到负数。
P、V操作可以实现进程间的同步与互斥,但是程序不易读懂 程序不利于修改和维护以及正确性难以保证。所以管程不仅相对于这些具有有点,而且不容易产生死锁。
V语句一般可以颠倒顺序。
信箱通讯机制接收原语receive()操作,将从指定信箱中取出一封信,存到指定的内存地址中。
可以实现进程互斥的方法:Peterson算法 Test-and-Set 指令 Swap或者Exchange指令以及信号量。
1.5 内存管理
某进程运行时若将磁盘中的一个页面调入内存,该页面对应的页表表项中,哪些参数和标志位必须修改? 内存块号 驻留位和访问位。 进行虚拟页式存储管理时候,需要在页表增加的有页号 修改位 保护位 和禁止缓存位。
存储管理的主要任务:
内存的分配和回收、存储共享、存储保护、扩充内存容量。
内存分配表的组织方式包括位示图法 空闲页面表和空闲块表
虚存管理中的颠簸。 由于缺页率高会引起,工作机可以解决颠簸现象但是工作机随着时间变化的。虚拟页式存储管理方式 需要有缺页中断处理程序、页面调入策略和页面置换策略和程序分页机制和页表软件条件。快表是用来提高访问内存的效率。当进行页面置换的时候,需要用到 有效位 修改位和访问位。当页面仅进行修改后,访问位和修改位需要修改。进程发生缺页中断,选中页面进行淘汰,只需要修改驻留位。
在虚拟页式存储方案中,常用的页面调入策略有两种,请求调页和预调页。
实现虚拟页式存储管理方案需要:容量足够大的磁盘、一定容量的内存、虚实地址映射机制、缺页中断处理程序和页表。在虚拟页式存储管理中,为了实现地址变换所涉及到的数据结构是空闲区表、页表和位图。
进程的逻辑地址与内存存储区域都是连续的管理方案是固定分区和可变分区,并且可以进行整个进程的交换;可进行进程部分交换的是 段式和段页式。
可变分配、全局置换: 进程运行中,其内存页面可以动态增长或减少;运行的进程中当其页面不够时可以从系统中的任何进程处进行置换、为每一个进程分配一定数量的内存页面。
增加联想寄存器和分页尺寸大小为 能够加快虚拟页式存储管理系统中的虚实地址转换速度。
页面置换: 采用FIFO页面置换算法可能导致Belady现象。
1. 先进先出法(FIFO first in first out)
2. 最近最少使用页面置换算法(LRU Least Recently Used)
3. 最近最不常用页面置换算法(LFU Least Frequently Used)
4. 理想页面置换算法(OPT)
5. 最近未使用页面置换算法(NRU)
6. 第二次机会页面置换算法
7.时钟页面置换算法(Clock)
内存碎片:内存碎片分为内部碎片和外部碎片。其中内部碎片是虚拟页式、虚拟段式和固定分区可以产生的,外部碎片包括了段式和可变分区。
缺页过程:
能够支持多道程序设计的存储管理方案是:可变分区存储管理 页式存储管理 固定分区存储管理 段页式存储管理。
快表:
另一个名称是TLB。 当切换进程时,要刷新快表、块表存放在告诉缓冲中。对快表和页表的查找是并行的,一旦发现快表中的有与所查页号一致的逻辑页号就停止查找内存页表,而直接利用快表中的逻辑页号。
采用可变分区存储管理方案 ,需要硬件地址转换机制作为支持、基址寄存器、限长寄存器、地址加法器、地址比较器。
在可变分区内存管理方案中,当一个程序在内存中移动时,需要做如下工作:
- - 读出该程序在内存中的所有代码和数据
- - 进行内存重定位
- - 将读出的代码和数据写入目标内存中
- - 修改内存已分配区表
- - 修改内存空闲区表。
1.6 文件管理
文件权限问题:
rwx-rwx-rwx 分别代表着文件属主、同组用户和其他用户的权限。r可读 w可写 x可执行。
权限编号1+2+4 ,分别代表着可执行、可写、可读。
文件物理结构及存取方式有:连续结构、链接结构、索引。
FAT: FAT卷结构包括引导扇区、FAT1和FAT2。
FAT系统的一些情况:FAT文件系统采用链式存储结构,文件名不区分大小写。没有采用目录项分解法,不适用位示图法,文件系统没有访问分级权限。
文件控制块:
文件控制块FCB通常包括文件名、文件号、用户名、文件地址、文件长度、文件类型、文件属性、共享计数、文件建立日期、保存期限和最后修改日期、最后访问日期、口令、文件逻辑结构、文件物理机构等等。容易混淆的地方:一般来说是文件大小、文件创建时间、文件拥有者和文件访问权限,没有文件访问控制列表。
文件的物理结构:
- 链接结构: 文件很容易动态增长、物理存储空间出现的碎片相对较少。
- 顺序结构:文件的逻辑块号到物理块号变换简单、顺序结构适合视频流数据的存取、采用顺序结构的文件相对来说查找速度较快。
- 索引结构:文件的逻辑块号到物理块号变换简单、适合顺序存取和随机存取、文件内容容易动态增加、文件查找速度较快。
能够进行随机存取的文件物理结构只有连续结构与索引结构,链接结构只能顺序存取。
文件系统分类:
- 文件的组织形式划分文件类型: 普通文件、目录文件和特殊文件。
- 文件的保护方式划分文件类型: 可执行文件、只读文件、读写文件、无保护文件。
- 按照文件的物理结构划分文件类型:连续结构、索引结构和链接结构。
- 按照文件的用途划分文件分类:系统文件和用户文件。
- 按照文件的存放时限划分文件分类:档案文件、临时文件和永久文件。
磁臂调度算法:先来先服务调度算法、最短寻道事件优化调度算法、扫描算法、循环扫描算法。
文件存储空间的管理方法有哪些:空闲块表、空闲块链表、位示图和成组链接法。
1.7 I/O设备管理
对于I/O设备分配算法有两种:先来先服务法和最优先级优先算法。
在设备分配算法中,常用的数据结构主要是4张表: 系统设备表、设备控制表、控制器控制表和通道控制表。
控制器控制表(COCT)
控制器标识、控制器忙/闲标记、通道控制表指针、控制器等待队列首指针和尾指针。
通道控制表:CHCT!
通道控制表中包含通道标识、通道忙\闲标记、控制器控制表COCT指针、通道等待队列首指针和通道等待队尾指针。
系统设备表(SDT):
设备类型、设备标识、获得设备的进程号和设备控制表指针。
在进行设备分配时应当考虑下列哪些因素:
设备固有属性、设备分配算法、 设备分配的安全性、设备独立性。
在I/O设备管理中,为了提高设备和CPU效率,引用了各种技术,其中包括 缓冲技术、设备分配技术、SPOOling技术、DMA与通道技术。
通道按照信息交换方式通常设立三种类型的通道:字节多路通道、数据选择通道和数组多路通道。
设备与CPU之间数据传送和控制方式有程序直接控制方式、中断控制方式、DMA控制方式、通道控制方式。
通道控制方式需要:通道控制器、设备控制器、通道程序代码与地址总线和数据总线。
1.8 死锁
题型1 安全序列: 根据剩余资源加可分配资源判断即可。
题型2 死锁预防、解除
预防:破坏互斥条件:使用假脱机技术SPOOLing; 破坏不可剥夺条件; 破坏请求和保持条件;破坏循环等待条件。
解除: 剥夺某些进程所占有的资源、撤销某些进程、重新启动系统。