一轮

操作系统引论

  1. 操作系统为用户提供了三种用户接口:命令方式、系统调用(广义指令)、图形界面(严格来说是两种,图形界面在考研里面不看做是一种单独的用户接口)。
  2. 命令方式包括:命令以及命令解释器,比如windows得shell,Linux的bash或者zsh都算。但还是不包括缓存管理指令等,这种指令并不给用户,而是由操作系统全权透明地管理。
  3. 产生死锁的必然性不是程序在并发系统中执行的特点。
  4. 读取或者写入等操作,都需要使用操作系统提供的原语(从硬盘中,这些都涉及I/O操作)。
  5. 多道程序设计的基本特征包括:制约性、间断性、共享性,不包括顺序性。
  6. 处理机与通道是可以在单处理机系统中并行的(通道可以看作一种特殊的处理机)
  7. ISA是指令集架构,一台主机是可以模拟多种ISA的,比如X86-64的CPU可以运行ARM架构的虚拟机。
  8. VMM是虚拟机监控器,因为VMM需要管理物力资源并控制虚拟机,所以必须运行在比操作系统更高的特权级。
  9. 中断向量表适合数组这种数据结构。
  10. 触发访管指令(陷入指令)无需使用特权指令。
  11. 执行系统调用的过程:传递系统调用参数->执行陷入指令->执行相应的服务程序->返回用户态。
  12. 中断功能是引入多道程序技术的前提条件之一。
  13. 处理外部中断的时候操作系统需要保存的是通用寄存器中的内容,程序计数器PC,块表TLB还有Cache之类的内容保存由硬件完成,不需要操作系统。
  14. 内部异常通常处理以后会重新执行发生异常的指令,而不是返回到发生异常的指令继续执行。
  15. 关中断指令权限很高,不能在用户态下使用。
  16. 操作系统才能执行特权指令,特权用户是无法执行的。
  17. CPU处于核心态的话,除了访管指令,其他指令都可以执行。
  18. 提高系统资源利用率应该优先I/O密集型任务,再CPU密集型。

处理机管理

  1. 由调度程序为进程分配CPU不是创建进程的时候必须的。
  2. 复习一到三章大作业T37(程序持有临界资源+1 <= 总资源数)T83
  3. 进程并发是指若干进程在执行时间上是重叠的。
  4. PCB是进程存在的唯一标志,包含了进程ID、CPU状态、堆栈指针、进程状态、内存地址信息、资源分配情况、优先级等信息,但是不包括全局变量,全局变量存储在进程的地址空间中(如数据段)
  5. 一个正在访问临界资源的进程由于申请等待I/O操作被中断的时候,它允许其他进程抢占处理机,到那时不能进入该进程的临界区。
  6. 临界资源是指多个进程/线程共享且必须互斥共享的资源,其核心特征是有限性和共享性。这意味着,非共享的数据实际上不是临界资源,共享变量、共享缓冲区反而才是临界资源。
  7. 如果一个程序独占处理器顺序执行的话,其执行结果只取决于程序本身。
  8. 父子进程的内存空间是独立的,子进程会复制父进程的地址空间,但是是“写时复制”机制下的独立副本,并不共享。
  9. 短作业优先算法的平均等待时间最短。
  10. 时间片轮转算法是绝对可以抢占的调度算法。
  11. 在支持页式存储管理的系统中,进程切换时系统需要执行的操作包括:
    • 更新程序计数器
    • 更新栈基址寄存器的值
    • 更新页表基址寄存器的值
  12. 产生死锁的根本原因是:系统资源不足、作业调度不当和进程推进顺序不当。
  13. 死锁检测时检查的是资源分配图。
  14. 统一进程中的线程共享地址空间,线程的私有资源:线程ID,程序计数器PC、寄存器集合、栈空间。
  15. 每个并发进程针对同一个临界资源都有自己独立的临界区。
  16. 临界区是指访问临界资源的一段代码。
  17. 死锁避免算法允许进程动态申请资源,但是每次分配之前通过“安全性检查”判断是否会导致系统进入不安全状态,它不限制申请资源的顺序。
  18. 两个合作进程可以通过文件系统、共享内存、消息传递系统来进行数据交换,但是不能通过高级语言设计中的全局变量来进行数据交换。
  19. 进程对管道进行读或者写操作都有可能被阻塞。
  20. 复习第四章T25

存储器管理

  1. 采用段式存储管理时,一个程序如何分段是在用户编程时决定。
  2. LRU页面淘汰算法总是选择最长时间未访问的页面调出存储器。
  3. 虚拟存储技术是扩充内存逻辑地址空间技术。
  4. 内存管理过程中,地址变换机构将逻辑地址转换为物理地址发生在装载(装入)阶段,但是形成逻辑地址的阶段时链接阶段。
  5. 分区分配内存管理方式的主要保护措施时界地址保护。
  6. 多级页表的优点是:减少页表所占的连续内存空间。

设备管理

  1. 磁头数:等于记录面数(例如:10张碟片只有18个磁头,因为一个盘片有两个盘面,且最上面那个面和最下面那个面不记录任何信息,因此没有磁头。); 柱面数:表示硬盘每一面盘面上有多个磁道; 扇区数:表示每一条磁道上有多少个扇区;
  2. 磁盘初始化1:进行低级格式化(物理格式化),将磁盘的各个磁道划分为扇区。一个扇区通常可分为 头、数据区域(如512B大小)、尾 三个部分组成。管理扇区所需要的各种数据结构一般 存放在头、尾两个部分,包括扇区校验码(如奇偶校验、CRC 循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)
  3. 磁盘初始化2:将磁盘分区,每个分区由若干柱面组成(即分为我们 熟悉的 C盘、D盘、E盘)
  4. 磁盘初始化3:进行逻辑格式化,创建文件系统。包括创建文件系统 的根目录、初始化存储空间管理所用的数据结构(如 位示图、 空闲分区表)
  5. 计算机开机时需要进行一系列初始化的工作,这些初始化工作是通过执行初始化程序(自举程序)完成的。完整的自举程序放在磁盘的启动块(即引导块/启动分区)上,启动块位于磁盘的固定位置,拥有启动分区的磁盘称为启动磁盘或 系统磁盘(C:盘)
  6. ROM寄存器中只存放很小的“自举装入程序”,开机时计算机先运行“自举装入程序”,通过执行该程序就可找到引导块,并将完整的“自举程序”读入内存,完成初始化。
  7. 一次磁盘读/写操作需要的时间:寻找时间(寻道时间)TS:在读/写数据前,将磁头移动到指 定磁道所花的时间。启动磁头臂是需要时间的。假设耗时为 ;移动磁头也是需要时间的。假设磁头匀速移动,每跨越一 个磁道耗时为 ,总共需要跨越 条磁道。则:寻道时间 ,延迟时间TR:通过旋转磁盘,使磁头定位到目标扇区所需要的时间。 设磁盘转速为 r (单位:转/秒,或 转/分),则 平均所需的延迟时间 。传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间,假设磁盘转速为 ,此次读/写的字节数为 ,每个磁道上的字节 数为 。则: 传输时间。
  8. 先来先服务(FCFS)不会导致磁臂黏着。
  9. 用户发出打印请求后,系统的正确处理进程是:用户程序->系统调用处理程序->设备驱动->中断处理程序。
  10. 共享设备的分配单位是进程,且当某个进程占用此设备时,其他进程也可以使用该设备。
  11. 对独占设备往往采用静态分配方式,对于共享设备往往采用动态分配方式。
  12. SPOOLing技术以来外存硬盘以及软件程序,当设备忙的时,用户程序也不用暂停执行,可以继续输入到输入井或者输出井中。
  13. 缓冲技术中的缓冲池在内存中。
  14. SPOOLing技术本质上是一种将独占设备转化为共享设备的技术,基本思想是使用空间换时间。

文件管理

  1. 在一个文件被用于进程首次打开的过程中,操作系统需要将文件控制块FCB读取到内存中。
  2. 索引结构适合随机访问并且适合文件扩展。
  3. 为了支持CD-ROM中视频文件快速随机播放,播放性能最好的文件数据块组织方式是连续结构。
  4. 文件系统采用多级目录结构的目的是解决命名冲突。
  5. 文件系统在创建一个文件的时候,为它建立一个文件目录项。
  6. 打开文件操作的主要工作是把指定文件的目录复制到内存指定区域。
  7. 链式分配不适合直接存取的外存分配方式。
  8. 逻辑文件是从用户观点出发的文件组织形式。
  9. 索引节点的总数和单个文件长度无关。
  10. UNIX系统对空闲磁盘分区采用空闲块组成链接的方法进行管理。
  11. 磁盘高速缓存设在内存中。
  12. 文件分配表FAT可以记录外存空间使用情况