操作系统基本原理复习提纲

第1章:

  1. 指令执行的基本指令周期:取指阶段、执行阶段
  2. 中断分类与中断处理过程:

中断是指处理器对系统中发生的异步事件的响应。中断机制可以使处理器和I/O设备并行工作,进而提高资源利用率和处理器的执行效率。

中断分类:程序中断、IO中断、时钟中断、硬件故障中断

中断处理:先将i+1指令地址保存到系统栈中,中断处理程序执行完毕后再将i+1指令地址取出到PC中。

  1. 处理多中断的两种方法:禁止中断(顺序处理),中断嵌套(顺序中断处理、嵌套中断处理)
  2. 存储器层次,二级存储器(Cache-内存)下计算内存的平均存取时间H*T1+(1-H)*(T2+T1) 、H为命中率,t1、t2分别为两级存储器。
  3. 高速缓存:为加快内存访问速度,CPU首先访问Cache,不命中时再访问内存且复制进Cache(又分为指令高速缓存和数据高速缓存)
  4. 程序的局部性原理,时间局部性和空间局部性(高速缓存和虚拟内存都利用了程序局部性原理)
  5. 操作系统的发展过程及衍生出来的操作系统类型(多道批处理系统,分时系统,实时系统,嵌入式系统)
  6. 与单道串行处理相比,多道程序设计如何提高资源利用率(当某个作业因I/O请求而暂停时,处理器便可以转向运行另外一个等待运行的作业)
  7. 多个作业并发执行时资源利用率的计算

第2章:

  1. 五状态进程模型,包含两个挂起态的模型,状态转换(新建态、就绪态、运行态、阻塞态、退出态)
  2. 进程控制块PCB(进程属性的集合)标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息、记账信息。。。。。。进程标识信息、进程状态信息、进程控制信息
  3. 进程的创建与终止(进程派生)
  4. 进程切换:进程调度时新旧进程的切换(普通中断、陷阱、系统调用)
  5. 执行模式的切换:用户态和系统态(内核态和用户态)处理器通过读取标志位知道自己所处的模式(0内核、3用户)
  6. 进程和线程区别(资源分配单位,调度运行单位)进程:资源所有权(包括控制权或所有权),调度/执行(具有执行态等状态以及优先级等等) 线程:调度分派的基本单位,分离了进程的“调度/执行”

         减少时空开销,使得并发粒度更细、并发性更好。

  1. 线程的优点,线程的三种状态(运行,就绪,阻塞)优点:减少管理开销、线程切换快速、通信易于实现、并发程度提高。 如果进程被挂起,它的线程也会被挂起。
  2. 用户级线程ULT和内核级线程KLT、(还有个混合方式)的特点。 KLT:所有的线程管理工作由操作系统内核完成,应用程序需通过内核提供的应用程序接口来使用线程。内核可以吧同一个进程中的多个线程调度到多个处理器中。一个线程被阻塞,内核可以调度同意进程中的另一个现成,也可以运行其他进程的线程。切换速度快,内核本身也可以使用多线程技术实现,从而提高系统的执行效率。 缺点:需在用户态-内核态-用户态模式频繁切换,系统开销较大。

ULT:线程管理工作由应用程序来做,在用户空间内实现,内核意识不到线程的存在。大多数系统调用都会引起阻塞、无法利用多处理器结构

  1. 互斥的概念:是指并发的进程之间因相互争夺独占型资源而产生的一种竞争制约关系
  2. 临界资源与临界区
  3. 信号量含义(两个进程后者多个进程通过简单的信号进行合作,可以强迫一个进程在某一位置停止,知道它接收到一个特定的信号),semWait(将进程插入到等待队列,阻塞进程)、semSignal(将进程从等待队列中唤醒,将其插入就绪队列)含义
  4. 信号量原语定义(包含一个数和一个等待队列)
  5. 用信号量实现互斥(先wait,程序进入临界区,然后接signal)与同步
  6. 有限缓冲的生产者/消费者问题(一个有容量的盘子,同时只能放入或者拿出)
  7. 死锁概念:一组相互竞争系统资源或者进行通信的进程间“永久“阻塞。
  8. 资源分配图(若死锁,则资源分配图中必有环路,但有环路时不一定死锁)
  9. 死锁的四个必要条件:互斥、占有且等待、不可抢占、循环等待
  10. 三种处理方法:预防,避免,检测和恢复
  11. 银行家算法:要求能够判断现在是否安全,某进程请求资源是否能够满足(available,claim,allocation,need)
  12. 用信号量解决不死锁的哲学家就餐问题(可以设置一个room变量,至多n-1个哲学家在餐厅内就餐)

第3章:

  1. 固定分区,动态分区分配策略-首次适配(第一个满足条件的空闲区)、下次适配(从上一次放置进程的内存位置开始)、最佳适配(满足要求的最小空闲区)
  2. 内部碎片(分区内不可用内存),外部碎片(不可用的小分区)
  3. 伙伴系统(内存/2/2/2.......)的分配与回收(回收时候合并相邻块)
  4. 重定位:将逻辑地址转换为物理地址
  5. 存储保护与越界:基址+界限寄存器
  6. 分页:基本原理(内存分块、页帧,程序划分成页、页与页框大小相同)(页表、页表项,可以根据页号计算偏移量定位到某个页表项),逻辑地址结构(页号+页内偏移量),页和页框,页表,地址转换(物理地址=逻辑地址->进程页表转换页框号->+页内偏移量)
  7. 分段:基本原理(分段管理可见(作为程序员组织程序和数据的一种快捷方式)、分页管理不可见),逻辑地址结构(段号+偏移量),段表(包含段号,内存起始地址,段长),地址转换(起始地址+偏移量,偏移量大于段长则该地址无效)
  8. 虚拟分页:基本原理(每个进程都有自己的页表,页表项描述进程的页与对应页框的关系,但包含存在位、修改位等控制位),虚实地址转换(由页号+偏移量组成,对应的物理地址由相应的页框号和偏移量组成,页表的长度因进程大小而变化,存在内存中)(虚拟内存允许一个进程多次载入、换入或换出内存)
  9. 缺页中断处理过程(若所需页表项不在TLB中,则处理器通过页号检索进程页表,检查“存在位”是否为1,若不为1则发生缺页中断,则此时由操作系统负责将所需要的页载入内存,并更新页表相应的页表项。)
  10. 抖动:帧被过度分配而导致的频繁缺页,以至于CPU利用率急剧下降
  11. 转换检测缓冲区TLB(快表)。根据内存访问时间、TLB访问时间和TLB命中率,求将逻辑地址转换成物理地址并访问内存数据所需的有效访问时间。

有效访问时间=快表命中时间+快表未命中时间

快表命中时间=命中率*(快表访问时间+内存访问时间)

快表未命中时间=(1-命中率)*(2*内存访问时间+快表访问时间)

  1. 虚拟分段(将内存划分成多个段,每个段的长度可以不同;简化了对不断增长的数据结构的处理)和虚拟段页式(用户地址空间被划分成许多段,每段则由若干固定大小的页组成,页的大小等于页框大小。如果某段的大小小于一页的大小,则该段只占据一页)的基本原理
  2. 虚拟分页的置换算法:最佳置换OPT(Optimal,置换下次访问距当前时间最长的那些页)、最近最少使用LRU(Least Recently Used,置换内存中过去时间里最久未被使用的页)、先进先出FIFO(First In First Out,置换最早掉入内存的页)
  3. 置换过程及缺页次数、缺页率的计算(以总缺页次数计算缺页率,缺页率=缺页次数/访问次数)

第4章:

  1. 处理器调度的类型-长程(又称作业调度、高级调度、调度对象是作业,主要是决定后备作业队列中的哪几个作业调入内存,.......,并放入就绪进程队列),中程(又称中级调度、平衡负载调度,根据系统并发度的要求,完成外存和内存中的进程对换,是交换功能的一部分),短程(又称进程调度、低级调度,其调度对象是进程,在支持内核级线程的操作系统中,调度的基本单位是内核级线程,而不是进程)

长程调度、中程调度和短程调度是多任务操作系统的基础,目的是使CPU尽可能用于执行指令,从而提高CPU效率。三者的区别如下:

长程调度:决定把后备队列中的哪些作业调入内存,创建进程并加入相应的队列中

中程调度:按一定的算法将"外存”中已具备条件的进程换入内存中,而将内存中处于阻塞状态的某些进程换出至外存

短程调度:决定从就绪队列中哪一个进程应先获得处理器,并将处理机分配给选定的进程

  1. 调度准则与指标(资源利用率和吞吐率是面向系统的性能指标;周转时间、带权周转时间、响应时间以及最后期限是面向用户的性能指标)

资源利用率=资源有效工作时间/资源总运行时间(总运行时间为有效工作时间与等待时间之和)

吞吐率:单位时间内系统完成作业的数量。

周转时间:一个作业从提交到完成之间的时间间隔。(一个作业完整的生命周期,周转时间=服务时间+等待时间)

带权周转时间=周转时间/服务时间

响应时间:请求提交到请求首次被响应之间的时间间隔,是分时系统衡量调度性能的重要指标之一。

最后期限:是指一个实时任务必须开始处理或处理完毕的最迟时间。

除以上指标,调度策略的性能指标还包括公平性(进程被平等对待,不存在饥饿状态)、可预测性(在不同系统负载下,进程执行时间相对稳定)、资源平衡(系统所有资源处于忙状态)等

  1. 非抢占式调度(调度某个进程到处理器上执行,直到其运行完毕或发成某时间而阻塞不能继续运行时,才再次调度并分配处理器)、抢占式调度(剥夺当前进程的处理器所有权并将其转换为就绪态,然后调度另一个就绪进程到处理器上运行,抢占遵循优先级原则和时间片原则等)

对于实时系统,抢占式调度是必须的,否则无法保证紧迫性搞的实时任务的最后期限要求。

  1. 调度算法:先来先服务(FCFS、First Come First Served)、轮转调度(Round Robin,RR,时间片Time Slice)、最短进程优先(SPN,Shortest Process Next,SJF(用于作业调度时))、最高响应比优先(HRRN,Highest Response Ratio Next,响应比=周转时间/服务时间=(等待时间+服务时间)/服务时间)。计算“周转时间”、“带权周转时间”及所有作业的平均值

补充:SRT(Shortest Remaining Time,最短剩余时间算法),MFQS(Multilevel Feedback Queue Scheduling,多级反馈队列算法),HPF(Highest Priority First,优先级调度算法)

  1. 多处理器系统中(复杂进程调度算法的有效性逐步下降),采用简单的FCFS或“静态优先级+FCFS”调度算法就足够了,静态优先级:进程创建时就确定且已知不变 ; 动态优先级:随着进程运行状况变化
  2. 实时任务调度算法:最早最后期限调度算法(最后期限由早到晚排序,首先调度队首进程,即最后期限最早的那个进程)

第5章:

  1. 中断驱动I/O:各种设备通用,中断次数多。(I/O设备:即输入/输出设备,也叫外部设备、外围设备等,用于计算机系统与外部世界进行信息交换与信息存储)
  2. 直接存储器访问DMA原理(DMA内有数据缓冲寄存器、内存地址寄存器、命令寄存器、字/字节计数器等等,DMA控制器不断抢占总线、挪用CPU工作周期,完成设备的一个连续数据块与一个连续内存区之间的直接传送)与I/O过程(输入时,先将设备中数据送入缓冲就绪,再通过总线将缓冲中的数据写入内存单元;输出时,先通过总线将内存数据送到缓冲,在输出到设备。)(I/O方式:轮询方式,也叫程序控制方式;中断控制方式;直接存储器访问方式,即DMA,Direct Memory Access)

DMA方式的技术特征是直接传输数据块,数据传输有点基本单位是数据块,且是在设备和内存之间直接传输,仅在传送开始和结束时才需CPU干预。大大减少了CPU进行中断处理的次数。

  1. 缓冲buffer的主要作用:用于平衡I/O设备与主机(CPU和内存)之间的速度差异,暂存数据。(缓冲的作用:1.缓和CPU与I/O设备间速度不匹配的矛盾,提高CPU和I/O设备间的并行性。2.协调逻辑记录和物理记录大小不一致的问题。3.减少I/O中断次数,放宽对CPU中断响应时间的要求。
  2. 磁盘访问时间Ta:寻道时间Ts,旋转延迟时间Tr,传输时间Tt(Ta=Ts+Tr+Tt;Tr=1/2r,r为转速;Tt=b/rN,b表示要传送的字节数,N表示一个磁道中的字节数)
  3. 磁盘调度算法:先进先出FCFS,最短服务时间优先算法(SSTF,最短寻道时间优先算法,Shortest Seek Time First),SCAN(扫描算法、电梯算法,PS:没有访问请求时立即改变方向反向扫描,这里用到了LOOK调度算法,早期的SCAN算法磁头是要达到磁盘边界的),CSCAN(循环扫描算法,SCAN算法的变种,即返回途中不处理请求,到达磁盘另一端的第一个请求处开始扫描处理请求,只在一个方向上处理请求)。计算平均寻道长度
  4. RAID的核心技术:条带化(将一组磁盘看作一个存储部件,不同磁盘的相同位置的数据块构成一个条带stripe,条带中的每个数据块成为条带单元),并行访问(可以同时工作,N个磁盘同时工作可以使I/O速度和数据传输率提高约N-1倍),块交叉校验(当一个盘出故障时,可以根据其余数据盘和校验盘的内容,计算并恢复故障盘内容,这样就提高了磁盘系统的可靠性,可以采用奇偶校验、海明校验等等)。RAID 0(无冗余,适用于对访问性能要求高,但对数据的可靠性要求不高的场合),RAID 1(从失效中恢复简单,可靠性高,利用率只有50%,成本高;适用于对数据的可用性要求高,且读操作所占比例较高的场合)

第6章:

  1. 树型目录(主目录、子目录、文件),文件共享(在多用户系统中,允许多个用户共享同一个文件,这样就只需要在硬盘中保留一份文件副本即可。可以节省大量的存储空间,以方便用户访问,提高磁盘存储率)。
  2. 文件类型:堆文件、顺序文件、顺序索引文件、索引文件、直接文件
  3. 三种文件分配方法:连续分配(创建文件时给文件分配一组连续的块,这是一种使用大小可变分区的预分配策略,系统对文件属性进行记录时,文件分配表中只需要记录每个文件的第一个表项,用于说明起始块的地址和文件的长度;多次写入和删除操作会产生大量外部碎片),链接分配(无需为文件分配连续的存储块,只需用指针将存储文件的不同的数据块连接在一起,链中的每一块都包含指向下一块的指针,文件分配表中也只需要包含一个起始块和文件长度;局部性原理不再适用),索引分配(每个文件在文件分配表中都有一些索引,分配给该文件的每个分区的索引中都有一个表项,文件的索引过会被单独保存在一个数据块中。PS:原理上类似于间接寻址)
  4. 磁盘空闲空间管理:位图,也称位表,使用一个向量对磁盘中的每一块进行描述,0表示一个空闲块,1表示已经存储了文件的块。

位表所需的存储空间:磁盘大小(字节数)/(磁盘块的大小),对于一个64GB的磁盘块大小为512B,位表需要16MB空间。

  1. UNIX中的文件控制块:索引节点 inode(主要属性有:文件大小、创建时间、最后访问时间、最后修改时间、所有者、所在组、保护信息、计数项以及若干个磁盘地址)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoloMari

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值