操作系统概论精简笔记

一、操作系统简介

1.  操作系统(Operating System, OS)是一种复杂的系统软件,是不同程序代

码、数据结构、数据初始化文件的集合,可执行。

2.  操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行环境。

3.  处理机管理:   决定把处理机先给哪个程序用,后给哪个程序用。

4.  内存管理:给程序分配内存空间。

5.  设备管理:完成怎么分配设备,分配哪台设备,怎么和设备连接等。

6.  文件管理:为每个文件分配空间、建立目录,对目录进行组织管理以及根据用户请求从外存读取数据或将数据写入外存。

7.  单道批处理系统:单道批处理系统内存中只有一道作业。

8.  单道批处理系统特点:自动性、顺序性、单道性。

9.  多道批处理系统:由操作系统的作业调度程序按一定策略从后备作业队列中

选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。

10. 多道批处理系统特点:多道性、无序性、调度性、复杂性。

11. 分时操作系统:允许多个用户通过终端机同时使用计算机,每个用户通过终

端与主机交互时都能得到快速响应。

12.分时操作系统特点:多路性、独立性、及时性、交互性。

13.实时操作系统:实时系统必须及时响应外部事件的请求,在规定时间内完成

对该事件的处理。主要用于实时控制和实时信息处理领域。

14.实时操作系统特点:多路性、独立性、及时性、交互性、可靠性

15. 现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。

16. 操作系统的功能:管理计算机资源、提供用户接口。

17. 内存管理:含义:内存管理的主要任务是为多道程序的运行提供良好的环境,

方便用户使用内存,提高内存的利用率,以及从逻辑上扩充内存以实现虚拟存储。

18. 内容:1)内存分配 2)内存保护 3)地址映射 4)内存扩充

19. 1)内存分配:主要任务是为每道程序分配内存空间,可采用两种分配方式,

即静态分配方式和动态分配方式。2)内存保护:主要任务:一是使操作系统内

核的空间不会被用户随意访问,以保证系统的安全和稳定;二是确保每道用户程

序都在自己的内存空间中运行,互不干扰。3)地址映射:CPU执行程序过程中

访问内存时,需要把程序的逻辑地址转变为物理地址,这个转换过程称为地址映

射。4)内存扩充:借助于虚拟技术,从逻辑上扩充内存容量,使系统能够向用

户提供比物理内存大的存储容量。

20. 请求调入:允许系统在装入一部分用户程序时就启动该程序运行,在程序运

行过程中若发现要执行的指令或访问的数据尚未装入内存,通过请求调入将需要

指令或数据装入内存。

21. 置换功能:在请求调入时,若发现内存空间不足,需要先将内存中的一部分

内容换到外存中,以便腾出内存空间装入当前需要的内容。

22. 进程管理:内容:进程的描述与组织、进程控制、进程同步、进程通信及进

程调度。

23. 设备管理:含义:设备管理主要完成用户的I/O请求,为用户分配I/O设备。

24. 设备管理具有以下功能:1)缓冲管理  2)设备分配  3)设备处理  4)设

备独立性和虚拟设备(设备独立性功能使应用程序独立于物理设备)

25. 文件管理具有以下功能:1)文件存储空间的管理2)目录管理3)文件的读、

写管理和存取控制

二、进程管理

1. 1)文件存储空间的管理:为每个文件分配必要的外存空间,提高外存利用率,

并能有助于提高访问文件的速度。2)目录管理:为每个文件建立目录项并对众

多目录项进行有效组织。目录项包括文件名、文件属性及文件的地址等信息。 3)

文件的读、写管理和存取控制:根据用户的请求,从外存中读取数据或将数据写

入外存。防止未经审核的用户存取文件,防止冒名顶替存取文件,防止以不正确

的方式使用文件。

2.提供用户接口:命令接口、图形用户接口、程序接口。

3. 命令接口:目的:为了便于用户与计算机系统的交互;分类:联机用户接口和脱机用户接口。联机:常命令接口由一组键盘操作命令和命令解释程序组成;脱机:为批处理作业的用户提供,也称为批处理用户接口。

4. 图形用户接口:用户可以轻松地通过选择窗口、菜单、对话框、滚动条、图标等简单的操作来完成对作业和任务的提交与控制。

5. 程序接口:用户程序接口指的是应用程序和系统的核心程序的接口,就是系

统调用。系统调用是一组预先定义好的模块,它们提供一条管道让应用程序或用

户能由此得到核心程序的服务。

6. 程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。

7. 一个单一指令需要的处理称为指令周期。一个指令周期可以划分为两个步骤,

分别是取指周期和执行周期。

8. 程序计数器(PC)保存有下一次要取的指令的地址。取到的指令被放置在处

理器的指令寄存器(IR)中。

9. 指令中包含确定处理器要采取动作的位,处理器解释指令并执行要求的动作。

10. 这些动作可分为4类:1)处理器与存储器之间的指令或数据传送操作;2)

处理器与I/O设备之间的指令或数据传送操作;3)算术运算操作或逻辑运算操作;4)控制操作,即修改指令的执行顺序的操作。

11. 程序的顺序执行:含义:先进入内存的程序先执行,在一个程序执行完毕之

前,不能执行其他程序。

12. 特点:顺序性、封闭性、可再现性。

13. 程序的并发执行:含义:程序并发执行是指在同一时间间隔内运行多个程序。

一个程序执行结束前,可以运行其他程序。

14. 间断性:程序在CPU上执行时,是时断时续的;失去封闭性:系统的状态不

再只对正在执行的程序可见;不可再现性:同一个程序在输入相同的情况下多次

运行,可能出现不同的结果。

15. 进程的定义:定义1: 允许并发执行的程序在某个数据集合上的运行过程;定义2:进程是由正文段、用户数据段及进程控制块共同组成的执行环境。

16. 进程的特征:并发性、动态性、独立性、异步性、结构特征

17. 并发性:多个进程实体能在一段时间间隔内同时运行

18. 动态性:进程是实体的执行过程

19. 独立性:独立运行和资源调度的基本单位

20. 异步性:进程的执行时断时续,何时执行、何时暂停都无法预知

21. 结构特征:进程实体包括用户正文段、用户数据段和进程控制块

22. 程序和进程的比较:程序是静态的,进程是动态的;程序是永久的,进程是

暂时的;程序是指令的集合,进程包括正文段、用户数据段、进程控制块。

23.程序和进程的联系:进程是程序的的一次执行;一个程序可以对应多个进程;

同一个程序可以在不同的数据集合上运行,构成不同的进程。

24. 进程控制块定义:进程控制块是进程实体的一部分,是操作系统中重要的

数据结构。

25. 进程控制块中记录了操作系统所需要的、用于描述进程及控制进程运行所需

的全部信息。

26. 进程控制块中的信息:进程标识符信息、处理机状态信息、进程调度信息、

进程控制信息。

三、进程管理

1.进程的三种状态:执行态、就绪态、阻塞态。

2.进程的组织方式:链接方式、索引方式、进程队列。

3. 链接方式:把系统中具有相同状态的进程控制块PCB用其中的链接字连成一

个队列;索引方式:系统根据所有进程的状态,建立索引表,索引表的每一个表

项指向一个PCB物理块;进程队列:把具有相同状态的进程控制块用队列组织起

来。

4. 进程的控制:创建、阻塞、唤醒、终止。

5. 什么情况下需要创建新进程呢?用户登录、作业调度、提供服务、应用请求。

6. 如何创建新进程?/创建新进程的步骤?1.申请空白PCB;2.为新进程分配资源;3.初始化进程控制块;4.将新进程插入到就绪队列。

7. 什么情况下会进行进程的阻塞呢?请求系统服务、启动某种操作、新数据尚

未到达、无新工作可做。

8. 完成进程阻塞的过程?1.将进程的状态改为阻塞态;2.将进程插入相应的阻塞队列;3.转到进程调度程序,从就绪队列中选择进程为其分配CPU。

9. 进程唤醒的过程?1.将进程从阻塞队列中移出;2.将进程状态由阻塞态改为就绪态;3.将进程插入就绪队列。

10. 完成进程终止的过程:1.从进程PCB中读进程状态;2.若进程正在执行,则

终止进程的执行;3.释放资源;4.将终止进程的PCB移出。

11. 操作系统内核是计算机硬件的第一次扩充,与硬件关系密切。

12. 操作系统内核功能:支撑功能(中断处理、时钟管理、原语操作)、资源管理功能(进程管理、存储管理、设备管理)。

13. 中断:改变处理器执行指令顺序的一种事件。出现中断时,计算机停止现在

程序的运行,转向对这些中断事件的处理,处理结束后再返回到现行程序的间断

处。

14. 为什么需要中断?引入中断机制后,CPU可以与其他设备并行工作,能有效

提高CPU的利用率。

15. 时钟是计算机系统的脉搏,计算机的很多活动都是由定时测量来驱动的。

16. 计算机系统中的时钟:实时时钟RTC、OS时钟。

17. 操作系统的时钟机制:保存当前的日期和时间、维持定时器。

18. 时钟驱动程序:1)维护日期和时间;2)递减当前进程在一个时间片内的剩

余执行时间,防止运行超时;3)对CPU的使用情况记账;4)递减报警计数器。

19. 什么是系统调用?系统调用是一群预先定义好的模块;提供一条管道让应程

序能由此到核心程序的服务;系统调用是系统程序与用户程序之间的接口。

20. 系统调用和一般函数调用的区别?区别1:系统调用运行在系统态,一般函数运行在用户态;区别2:执行过程不同(系统调用执行时,当前进程被中断);区别3:系统调用进行中断处理,多了系统开销。

21. 必须以互斥方式访问的共享资源称为临界资源;进程中访问临界资源的那段

代码称为临界区。

22. 同步机制:保证在多任务共享系统资源的情况下,程序执行能得到正确的结

果。

23. 同步机制应遵循的准则:空闲让进、忙则等待、有限等待、让权等待。

四、进程调度与死锁

1. 信号量机制:用信号量的取值来表示资源的使用状况,以此为基础实现进程

同步。

2. 整型信号量是表示共享资源状态且只能只能由特殊的原子操作改变的整型量。

3. 整型信号量机制原理:定义一个整型变量,用该变量的值来标记资源的使用

情况。

4. 记录型信号量机制原理:定义一个记录型变量,用该变量的值来标记资源的

使用情况。

5. 管程是描述共享资源的数据结构和在数据结构上的共享资源管理程序的集合。

包括变量的定义、变量的初始化代码,以及管理共享资源的过程。

6. 管程是可供程序员调用的软件包;每次只有一个进程调用管程执行,任意时

刻管程中只有一个活跃进程;管程是一种编程语言的构件。

7.进程通信机制:共享存储器系统、消息传递系统、通信管道、消息缓冲队列。

8. 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。

9. 线程只拥有在运行中必需的资源,包括程序计数器、一组寄存器和栈,但它可与同一进程的其他线程共享进程所拥有的全部资源。

10. 每一个线程都由一个数据结构表示,包括它的基本状态等,这个数据结构就

是线程控制块TCB。

11. TCB记录了操作系统需要的、用于描述线程情况及控制线程运行所需的全部

信息。

12. 进程与线程的关系:

1). 资源和调度。线程是程序执行的基本单位,进程是拥有资源的基本单位。

2). 地址空间资源。不同进程的地址空间是相互独立的,而同一进程中的各线程共享同一地址空间。

3). 通信关系。进程之间的通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程间可以通过直接通信。

4). 并发性。多进程之间可以并发执行,多线程之间也可以并发执行。

5). 系统开销。线程切换的开销比进程切换的开销小。

13. 线程的控制:创建、阻塞、唤醒、调度、切换、终止。

14. 线程创建的情况:1)请求系统服务;2)启动某种操作;3)用户线程的阻

塞与唤醒。

15. 线程终止的情况:1)正常结束;2)异常结束;3)外界干扰。

16. 进程调度的功能由操作系统的进程调度程序完成。

17. 进程调度的功能:按照某种策略和算法从就绪态进程中为当前空闲的CPU选择在其上运行的新进程。

18. 进程调度的时机:进程正常或异常结束、进程阻塞、有更高优先级进程到来、

时间片用完时都会导致进程调度。

19. 选择调度方式和算法的若干准则:1.周转时间短、2.响应时间快、3.截止时

间的保证、4.系统吞吐量高、5.处理机利用率好。

五、进程调度与死锁

1. 先来先服务调度算法:从就绪队列的队首选择先到达就绪队列的进程,为

该进程分配CPU。

2. 短进程优先调度算法:从就绪队列中选择估计运行时间短的进程,为该进

程分配CPU。

3. 短进程优先调度算法优点:与FCFS算法相比,短进程优先算法能有效降低进

程的平均等待时间,提高系统吞吐量;缺点:对长进程不利;不能保证紧迫进程

的处理;进程长短由用户估计,不一定准确。

4.优先权调度算法:该算法中,系统将CPU分配给就绪队列中优先权高的进程。

5. 优先权调度算法类型:非抢占式:运行期间,有更高优先权的进程到来,也不能剥夺CPU;抢占式:运行期间,有更高优先权的进程到来,就可以抢占CPU。

6. 优先权类型:静态优先权、动态优先权。

7. 存在的问题:无穷阻塞(饥饿问题);解决的方案:老化技术。

8. 时间片轮转调度算法:时间片大小的确定:系统对响应时间的要求:响应时间要求越短,时间片越小;就绪队列中进程的数目:进程数量越多,时间片越小;

系统的处理能力:系统的处理能力越强,时间片越小。

9. 多级队列调度算法:将就绪队列分成多个独立队列,每个队列有自己的调度

算法;多级反馈队列调度算法:建立多个优先权不同的就绪队列,每个队列有大

小不同的时间片。

10. 实现实时调度的基本条件:提供必要的调度信息;系统处理能力强;采用抢

占式调度机制;具有快速切换机制。

11. 提供必要的调度信息:就绪时间、开始截止时间、完成截止时间、处理时间、

资源要求、优先级。

12. 具有快速切换机制:对外部中断的快速响应能力、快速的进程切换能力。

13. 常用的实时调度算法:早截止时间优先算法、低松弛度优先算法。

14. 进程切换:当前正在执行的进程成为被替换进程,让出其所使用的CPU,以

运行被进程调度程序选中的新进程。

六、进程调度与死锁

1. 多处理器系统的类型:按耦合程度分:紧密耦合和松弛耦合;按结构功能是否相同分:对称和非对称。

2. 多处理器系统中进程的分配方式:对称系统分配方式:静态分配、动态分配;

非对称分配方式:主-从式分配方式。

  1. 进程(线程)的调度方式:自调度、成组调度、专用处理器分配。

4. 自调度:最常用最简单的方式。优点:易移植、有利于提高CPU利用率;缺点:瓶颈问题、低效性、线程切换频繁。

5. 成组调度:系统将一组相互合作的进程或线程同时分配到一组处理器上运行,

进程或线程与处理器一一对应。优点:❶减少线程切换;❷减少调度开销。

6. 专用处理器分配:在程序执行期间,专门为该程序分配一组处理器,每个线程一个。优点:❶加快程序运行速度;❷避免进程切换。缺点:❶处理器资源严

重浪费。

7. 死锁的定义:由于多个进程竞争共享资源而引起的,进程不能向前推进的僵

死状态称为死锁。

8. 产生死锁的原因:竞争共享资源且分配资源的顺序不当。

9. 产生死锁的必要条件:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。

10. 处理死锁的基本方法:死锁的预防、避免、检测、解除。

11. 死锁的预防:摒弃请求和保持条件:要求进程一次性申请需要的全部资源、

申请其他资源前释放已经占用的资源;摒弃不剥夺条件:系统抢占被占用的资源

分配给需要的进程;摒弃环路等待条件:进程必须按规定的顺序申请资源。

12. 死锁的避免:通过资源合理分配使系统处于安全状态。

13. 安全状态:能够找到一个进程执行序列,按照这个序列为每个进程分配资源,

就可以保证进程资源分配和执行顺利完成,不会发生死锁。

14. 银行家算法的原理:一个进程提出资源请求后,系统先进行资源的试分配,

分配后检测系统是否安全。

15. 死锁的检测:何时调用检测算法:依据死锁可能发生的频率、死锁发生时受

影响的进程数量。

16. 死锁定理: S为死锁状态的充分条件是当且仅当S状态的资源分配图是不可完全简化的。

17. 死锁的解除:1)进程终止:终止所有死锁进程、一次只终止一个处于死锁

的进程,直到死锁解除;2)逐步从进程中抢占资源给其他进程使用直到死锁被

打破为止。

七、内存管理

1. 局部性原理:在一段较短时间内,程序的执行仅限于某个部分,相应地,它所访问的存储空间也局限于某个区域。

2. 时间局部性:某条指令一旦执行,不久后该指令可能再次执行。

3. 空间局部性:一旦程序访问了某个单元,不久后附近的存储单元也将被访问。

4. 静态链接:程序运行前,用链接程序将目标模块链接成一个完整的装入模块。

5. 动态链接:可将某些目标模块的链接推迟到这些模块中的函数被调用执行时

才进行。

6. 绝对装入方式:编译时产生物理地址的目标代码。

7. 可重定位装入方式(静态重定位):编译时地址是逻辑地址,装入时通过重定

位转换为物理地址。

8. 程序装入时对目标程序中的指令和数据地址的修改过程叫重定位。

9. 动态运行时装入(动态重定位):程序执行时通过重定位转换为物理地址。

10. 单一连续分配:任何时刻主存储器最多只有一个作业。

11. 固定分区分配:每个分区大小固定不变,每个分区可以且仅可以装入一个作

业。

12. 固定分区说明表:记录分区的起始地址、长度、是否占用。

13. 动态分区分配:分区大小不是预先固定的,而是按作业的实际需求来划分的;

分区的个数也不是预先固定的,而是由装入的作业数决定的。

14. 空闲分区表:记录空闲分区的分区大小、起始地址。

15. 首次适应算法:空闲分区链以地址递增的顺序链接,从链首开始查找,直至

找到第一个满足要求的空闲分区,从该分区中划出一块内存给进程,剩下的仍留

在空闲链。

16. 循环首次适应算法:从上次找到的空闲分区的下一个空闲分区开始查找。

17. 最佳适应算法:空闲分区链以分区大小递增的顺序链接,从链首开始查找,

直至找到第一个与进程请求的空间大小最接近的空闲分区。

八、内存管理

1.  页 ( Page):将一个进程的逻辑地址空间分成若干个大小相等的片,称为页。

2. 页框(Paw Frame):将物理内存空间分成与页大小相同的若干个存储块,称为

页框或页帧。

3. 分页存储:在为进程分配内存时,以页框为单位将进程中的若干页分别装人

多个可以不相邻接的页框中。

4. 页内碎片:进程的后一页一般装不满一个页框,而形成了不可利用的碎片,

称为“页内碎片”,是一种内部碎片。

5.页表 ( Page Table):页表是系统为进程建立的数据结构,页表的作用是实现从页号到页框号的映射。

6. 分页地址变换:(1) 进程执行,PCB中页表起始地址和页表长度送CPU的页

表寄存器;(2)CPU访问逻辑单元A;(3) 由分页地址变换硬件自动将A分为

页号和页内偏移两部分;(4) 由硬件检索页表,得到A所在的页对应的页框号。

页号对应的页表项起始地址=页表起始地址+页表项长度*页号(页表项中存有页

框号)。从该地址指示的内存单元中读取页框号。(5) 页框号和页内偏移地址

送物理地址寄存器,计算物理地址。物理地址=页框大小*页框号+页内偏移量。

7. 影响页大小设计的因素有管理内存的开销和内存利用率。

8. 快表也称转换后援缓冲(TLB),是为了提高CPU访存速度而采用的专用缓存,

用来存放近被访问过的页表项。

9. 动态运行时装入(动态重定位):程序执行时通过重定位转换为物理地址。

10. 单一连续分配:任何时刻主存储器多只有一个作业。

11. 固定分区分配:每个分区大小固定不变,每个分区可以且仅可以装入一个作

业。

12. 引入TLB之后的地址变换过程: (1)CPU产生分页的逻辑地址页号和页内偏移后,将该逻辑地址的页号提交给TLB; (2)查找TLB,如果找到页号,则把该页所在的页框号用于形成物理地址。否则(TLB失效)查找内存页表,从内存页表中找到相应的页表项,读取页所在的页框号,以形成物理地址; (3)如果所査找的页表项不在TLB中,在访问完内存页表后,要把找到的页表项中的页号和页框号写到TLB中。如果TLB中的条目已满,系统会根据某种策略(如近少使用替换)选择一个TLB中的条目,用刚访问的页表项信息替换选中的这个TLB条目。

13. 两级页表是将页表再进行分页,使每个页表分页的大小与内存页框的大小相

同,并为它们编号,将这些页表分页分别放入不同的、不一定相邻的页框中,为

离散分配的页表再建立一张外层页表,本书称之为页目录表,页目录表中的每个

表项中记录了页表分页所在的页框号。

14. 虚拟存储技术的好处:(1)提高内存利用率;(2) 提高多道程序度;(3)

把逻辑地址空间和物理地址空间分开,使程序员不用关心物理内存的容量对编程

的限制。

15. 虚拟存储系统的特征:离散性、多次性、对换性、虚拟性。

16. 为实现请求分页,需要特殊的页表(相对于基本分页存储的页表而言)、缺页

异常机构和支持请求分页的地址变换机构。

17. 分页地址变换: (1)由分页地址变换机构从逻辑地址中分离出页号和页内偏移地址。 (2)以页号为索引查找快表,若快表中有该页的页表项,则读出页框号,计算物理地址。 (3)若快表中无该页信息,转到内存表中查找。若页表中的状态位P显示该页已调入内存,则从相应的页表项读出页所在的页框号,并计算物理地址,然后把该页表项写入快表。(4)若该页尚未调入内存,则产生缺页异常,请求操作系统从外存中把该页调入内存,然后修改页表,重新执行被中断的指令。

18. 少页框数,是指能保证进程正常运行所需要的少的页框数。

19. 页分配和置换策略(1)固定分配局部置换(2)可变分配全局置换(3)可

变分配局部置换

20. 页框分配算法: (1)平均分配算法(2)按比例分配算法(3)优先权分配算法

21. 页置换算法:佳置换算法、先进先出置换算法、近久未使用置换算法。

22. 佳置换算法:选择以后永远不会被访问的页或者在未来长时间内不再被

访问的页作为换出页。

23. 先进先出置换算法FIFO:为每个页记录该页调入内存的时间,选择换出页时,选择进入内存时间早的页

24. 近久未使用置换算法:选择近久未使用的页换出(用一个字段记录

一个页自上次被访问以来所经历的时间)。

九、内存管理

1.  缺页率对有效访问时间的影响:P为缺页率,有效访问时间=0.1+24999.9xP,

有效访问时间与缺页率成正比,缺页率越高,有效访问时间越长,访问效率越低。

2. 工作集:某段时间间隔里,进程实际要访问的页的集合。

3. 引入工作集目的:降低缺页率,提高访问内存效率。

4. 抖动:运行进程的大部分时间都用于页的换入换出,几乎不能完成任何有效

果工作的状态。

5.产生原因:进程数量太多,分配页框太少。

6. 预防方法:(1) 采取局部置换策略;(2)引入工作集;(3) 挂起若干进程。

7. 在分段存储管理的系统中,程序员使用二维的逻辑地址,一个数用来表示段,另一个数用来表示段内偏移。

8. 引入分段机制的优点:方便编程、分段共享、分段保护、动态链接,以及动态空间的增长。

9. 分段的概念:进程的地址空间被划分成若干个段;每个段定义了一组逻辑信

息,每个段的大小由相应的逻辑信息组的长度确定,段的大小不一样,每个段的

逻辑地址从0开始,采用一段连续的地址空间;系统为每个段分配一个连续的物

理内存区域,各个不同的段可以离散地放入物理内存不同的区域;系统为每个进

程建立一张段表,段表的每一个表项纪录的信息包括段号、段长和该段的基址,

段表存放在内存中。

10. 段表是由操作系统维护的用于支持分段存储管理地址映射的数据结构。

11. 每个进程有一个段表,段表由段表项构成。每个段表项包括段号、段基址(段

的起始地址)和段长(段大小)3个部分。

12. 分段系统的地址变换:若已知逻辑单元的地址为s:d,求相应物理地址的步骤如下:

1)以段号作索引,从段表中找到段号为s的段表项;

2)从找到的段表项中读出s段的基地址和段大小;

3)如果d<=段大小,则将段基址与段内偏移d相加,得到与逻辑单元s:d相应的物理单元地址。

13. 分页和分段的主要区别:分页和分段都属于离散分配方式,都要通过数据结

构与硬件的配合来实现逻辑地址到物理地址的映射。 1) 页是按物理单位划分的,分页的引入是为了提高内存的利用率和支持虚拟存储;而段是按逻辑单位划分的,一个段含有一组意义相对完整的信息,引入分段的目的是为了方便程序员编程。2)页的大小是固定的,而段的大小不固定,取决于用户编写的程序;3)分页的地址空间是一维的,分段的地址空间是二维的。

14. 段页式存储管理的基本原理:将用户进程的逻辑空间先划分成若干个段,每

个段再划分成若干个页。进程以页为单位在物理内存中离散存放,每个段中被离

散存放的页具有逻辑相关性。为了实现地址映射,操作系统为每个进程建立一个

段表,再为每个段建立一个页表。进程段表的每一个段表项存放某个段的页表起

始地址和页表长度

15. 段页式地址变换过程:1)以段号s作索引,找到段s的段表项,得到该段页表的起始地址;2)通过分页机制从段内偏移d中分离出页号P和页内偏移W;3)以段内页号P作索引,从段s的页表中搜索页号P对应的页表项;4)从页表项得到页所在的页框号;5)由页框号与页内偏移W得到对应的物理地址。物理地址=页框号*页框大小+页内偏移。

16. 满足以下条件的两个块称为伙伴:1)两个块具有相同的大小,记作b;2)

它们的物理地址是连续的,起始地址是2b的整数倍

十、文件管理

1.  文件系统的用户接口包括文件的命名、类型、属性和对文件的操作。

2. 文件命名:所有操作系统都允许用1~8个字母组成的字符串命名文件。

3. 文件结构:无结构字节序列(流式文件)、固定长度记录序列、树形结构。

4. 树形目录:记录长度不定,在记录的固定位置包含一个关键字域,记录树按关键字域排序。

5. 文件类型:正规文件、目录文件、字符设备文件、块设备文件。

6. 正规文件的分类:ASCII文件、二进制文件。

7. 文件存取:顺序存取(早期,从文件开始处读取信息,不能跳过)、随机存取

(又称直接存取,可以以任意顺序读取文件信息)。

8. 文件属性:除了文件名和文件数据外,其他与文件相关的信息,如创建日期、

文件大小、修改时间等。

9. 目录是文件系统中实现按名访问的重要数据结构。

10. 目录文件有两种常见的结构:属性放在目录项中和放在i结点中。

11. 目录结构:单层目录(根目录)、两级目录、树形目录。

12. 单层目录问题:问题:文件命名、搜索效率低;两级目录:优点:解决重名

问题,查找快;缺点:增加系统开销;树形目录:优点:便于文件分类,层次结

构清晰,便于管理和保护,解决了重名问题,查找速度加快。

13. 采用树形目录时,需要有某种方法指明文件。

14. 绝对路径名:从根目录到文件;相对路径名:从当前工作目录到文件。

15. 文件系统通常是以2的n次方个连续的扇区为单位对文件进行磁盘空间的分

配,把分配给文件的连续扇区构成的磁盘块称为簇。

16. 文件存储的4种常用方式:连续分配、磁盘链接表、内存的链接分配表、i结点。

17. 连续分配:把每个文件作为一连串的数据块放在磁盘上。优点:实现简单,

记录每个文件用到的簇仅需存储两个数字即可:第一块的磁盘地址和文件的块数;

读操作性能好,在单个操作中就能从磁盘上读取整个文件。缺点:磁盘变得零碎,

空闲的连续簇形成“空洞”。

18. 磁盘链接表:为每个文件构造簇的链接表,每个簇开始的几个字节用于存放

下一个簇的簇号,簇的其他部分存放数据,每个文件可以存放在不连续的簇中。

优点:充分利用每个簇,不会因为磁盘碎片而浪费空间,管理也比较简单。缺点:

随机存取相当缓慢,要获得文件的第n块,每一次都要从头开始读取前面的n-1

块。

19. 内存的链接分配表:将文件所在的磁盘的簇号放在内存的表(文件分配表)中。缺点:必须把整个表都存放在内存中,磁盘容量很大时,表占的内存比较大。

20. i结点:为每个文件赋予一个被称为i结点的数据结构,其中列出了文件属性和文件块的磁盘地址。

21. CP/M以簇而不是以字节为单位来记录文件长度的。

22. 使用文件分配表FAT作为索引表来存放文件数据所在簇的簇号

23. UNIX中采用的目录结构非常简单,每个目录项只包含一个文件名及其i结点号。

24. 文件系统为文件分配磁盘空间以簇为单位;簇大小过大:容易造成空间浪费;

簇大小过小:文件跨越簇,访问文件时间延长。

25. 一般簇大小是2的整数次幂个连续的扇区,如1个扇区,512个字节;连续2个扇区,大小为1KB;连续4个扇区,大小为2KB。

26. 跟踪记录空闲块的两种常用方法:空闲簇链接表(用一些空闲簇存放空闲簇

的簇号)、位图(用n位位图对应磁盘的n个簇,空闲簇用1表示,已分配簇用0表

示)

十一、设备管理

1.  I/O设备即输入/输出设备,是用于计算机系统与人通信或与其他机器通信的所有设备,以及所有外存设备。

2. I/O系统不仅包括各种I/O设备,还包括与设备相连的设备控制器,有些系统还配备了专门用于输入/输出控制的专用计算机,即通道。此外,I/O系统要通过总线与CPU、内存相连。

3. I/O系统的结构分为两大类:微机I/O系统、主机I/O系统。

4. 微机IO系统:CPU与内存之间可以直接进行信息交换,但是不能与设备直接

进行信息交换,必须经过设备控制器。

5. 主机IO系统:主机I/O系统采用四级结构,包括主机、通道、控制器和设备,

一个通道可以控制多个设备控制器,一个设备控制器也可以控制多个设备。

6. IO设备的分类:按传输速率分、按信息交换单位分、按设备的共享属性分。

7. 按传输速率分:低速设备、中速设备、高速设备。

8. 按信息交换单位分:块设备、字符设备。

9. 按设备的共享属性分:独占设备、共享设备、虚拟设备。

10. 1)设备控制器是CPU与I/O设备之间的接口,接收I/O的命令并控制设备完成I/O工作;2)设备控制器是一个可编址设备,连接多个设备时可有多个设备地址。

11. 设备控制器的组成:1)设备控制器与处理机的接口:数据线、控制线、地

址线;2)设备控制器与设备的接口:接口中3类信号为数据、状态、控制信号;

3)I/O逻辑:主要由指令译码器和地址译码器两部分功能部件构成,将CPU的命令和地址分别译码,控制指定设备进行I/O操作。

12. 设备控制器的功能:1)接收和识别命令2)数据交换3)设备状态的了解和

报告4)地址识别5)数据缓冲6)差错控制

13. 一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道程序来控

制I/O操作,大型主机系统中专门用于I/O的专用计算机。

14. 引入通道能够使CPU从控制I/O操作的任务中解脱,使CPU与I/O并行工作,

提高CPU利用率和系统吞吐量。

15. IO控制方式:轮询控制方式、中断控制方式、DMA控制方式、通道控制方式。

16. 轮询控制方式:主机试图发送I/O控制命令之前,先通过反复检测设备控制

器状态寄存器的忙/闲标志位,若设备“忙”,主机继续检测该标志位,直到该位

为“空闲”,主机发送I/O指令。

17. 轮询控制方式的缺点:使CPU经常处于循环测试状态,造成CPU的极大浪费,

影响整个进程的吞吐量。

18. CPU执行过程中,发出输入/输出请求,若此时I/O设备忙,则进程阻塞等待。当处于“忙”状态的设备工作完毕,通过中断控制器发出中断请求信号,CPU响应中断,执行对应该设备的中断处理程序,然后唤醒因等待该设备而被阻塞的进程。CPU继续执行这个进程时,向设备控制器发送I/O指令,然后CPU被调度程序分配给某个进程,继续执行某个进程。本次I/O结束后,设备控制器通过向CPU发送中断请求信号告知CPU本次数据传输结束。

19. 内存的链接分配表:将文件所在的磁盘的簇号放在内存的表(文件分配表)中。缺点:必须把整个表都存放在内存中,磁盘容量很大时,表占的内存比较大。

20. 中断控制方式的优点:优点: 使CPU和I/O设备在某些时间段上并行工作,提高CPU的利用率和系统的吞吐量。

21. DMA控制器的结构:DMA控制器的逻辑组成包括3部分:DMA与主机的接

口、DMA与设备的接口,以及I/O控制逻辑。

22. DMA控制器中的寄存器:命令/状态寄存器CR,内存地址寄存器MAR,数据

寄存器DR,数据计数器DC

23. 命令/状态寄存器CR:用于接收从CPU发来的I/O命令或有关控制信息、设备状态。

24. 内存地址寄存器MAR:存放内存地址;在输出数据时,存放输出数据在内存

的起始地址,指示DMA应该从内存的什么地方读取输出数据;在输入数据时,

存放输入数据将要被放入内存的起始地址,指示DMA应该把输入数据放在内存

的什么地方。

25. 数据寄存器DR:用于暂存DMA传输中要输入或输出的数据。

26. 数据计数器DC:指示DMA,本次向CPU发中断信号前要读或写数据的次数。

27. DMA工作方式流程:当CPU要从磁盘读入一个数据块时,就向磁盘控制器发

送一条读命令。该命令被送到DMA的命令寄存器CR中,同时CPU将本次读入数

据将要放在内存中的起始地址送DMA的MAR寄存器,将本次要读的字节数送入

DC寄存器。然后启动DMA控制器进行数据传输,在DMA控制输入过程中,CPU

可以执行其他的进程,当本次读入的数据全部传输完毕后,DMA向CPU发送中

断请求。

28. 缓冲区是用来保存两个设备之间或设备与应用程序之间传输数据的内存区

域。由于CPU的速度远远高于I/O设备,为了尽可能使CPU与设备并行工作,提

高系统的性能,通常需要操作系统在设备管理软件中提供缓冲区管理功能。

29. 在数据到达速率与数据离去速率不同的地方,都可以引入缓冲区。

30. 引入缓冲的主要原因: (1)处理数据流的生产者与消费者之间的速度差异

(2)协调传输数据大小不一致的设备。

31. 引入缓冲的主要作用:引入缓冲区除了可以缓和CPU与I/O设备之间速度不

匹配的矛盾,还能提高CPU和I/O设备之间的并行性。

32. 单缓冲:最简单的缓冲类型,在主存储器的系统区中只设立一个缓冲区。用

户进程发出I/O请求时,操作系统为该操作分配一个位于主存的缓冲区。

33. 当一个进程往这一个缓冲区中传送数据(或从这个缓冲区读取数据)时,操

作系统正在清空(或填充)另一个缓冲区,这种技术称为双缓冲(Double Buffering),或缓冲交换(Buffering Swapping)

34. 循环缓冲:多个缓冲区(空缓冲区R,已装满数据的缓冲区G,先行工作缓冲区C)多个指针(Nextg,Nexti,Current)

35. Getbuf过程:消费者进程要使用缓冲区中数据时调用,生产者进程要使用空缓冲区装数据时调用;Releasebuf过程:进程使用完缓冲区后,调用Releasebuf过程释放G缓冲区。

36. 设备分配中的数据结构:支持设备分配的数据结构需要记录设备的状态(忙

或空闲)、设备类型等基本信息。

37. 设备分配中的数据结构:设备控制表DCT、控制器控制表COCT、通道控制

表CHCT、系统设备表SDT。

38. 设备控制表DCT:系统为每个设备建立一张设备控制表,多台设备控制表构

成设备控制表集合。每张设备控制表包含设备类型、设备标识符、设备状态(忙

/闲)等信息。

39. 控制器控制表COCT:系统为每个控制器设置一张用于记录该控制器信息的

控制器控制表,通常包含控制器标识符、控制器状态等信息。

40. 通道控制表CHCT:系统为每个通道设备设一张通道控制表,通常包含通道

标识符、通道状态等信息。

41. 系统设备表SDT:记录了系统中全部设备的情况,每个设备占一个表目,其

中包括设备类型、设备标识符、设备控制表及设备驱动程序的入口地址。

42. 设备分配应考虑以下3个因素: (1)设备的固有属性(2)设备分配算法(3)设备分配方式

43. 设备的固有属性:独占性、共享性、可虚拟性

44. 独占设备:独享分配策略;共享设备:可同时分配给多个进程使用;可虚拟

设备:可同时分配给多个进程使用。

45. 设备分配算法:先来先服务:根据进程对某设备提出请求的先后顺序分配;

基于优先权的分配算法:对高优先权进程所提出的I/O请求也赋予高优先权。

46. 设备分配方式:安全分配方式、不安全分配方式。

47. 设备独立性:应用程序独立于具体使用的物理设备。应用程序中,使用逻辑

设备名称来请求使用某类设备;系统在实际执行时,必须使用物理设备名称。

48. 实现设备独立性带来的好处:1)应用程序与物理设备无关;2)易于处理输

入/输出设备的故障;3)提高了系统的可靠性,增加了设备分配的灵活性。

49. 设备独立软件的功能:1)执行所有设备的公有操作:包括独占设备的分配

与回收、将逻辑设备名转换为物理设备名、对设备进行保护等。2)向用户层软

件提供统一的接口:向应用软件和最终用户提供简单、统一的访问接口。

50. SPOOLing的含义:在多道程序环境下,利用一道程序来模拟脱机输入时的

外围控制机的功能,把低速I/O设备上的数据传送到高速输出磁盘上,再利用另

一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设

备上。这种在联机情况下实现的同时外围操作称为SPOOLing (Simultaneous

Peripheral Operations On-Line)

51. SPOOLing的组成: (1)输入井和输出井(2)输入缓冲区和输出缓冲区(3)

输入进程SPi和输出进程SPo(4)请求I/O队列

52. SPOOLing的特点: (1)提高了I/O速度 (使用了磁盘作为低速设备的大容量缓存)(2)将独占设备改造为共享设备(3)实现了虚拟设备功能

十二、设备管理

1.  输入输出软件的总体目标是将软件组织成一种层次结构,低层软件用来屏蔽

硬件的具体细节,高层软件则主要是为用户提供一个简洁、规范的界面。

2. 设备管理的4个层次:用户软件层(向系统发出I/O请求,显示I/O操作的结果,提供用户与设备的接口)、与设备无关的软件层(完成设备命名、设备分配、设备独立性和缓冲管理等功能)、设备驱动程序(与硬件关系最密切,包括设备服务程序和中断处理程序)、中断处理程序。

3. 设备管理软件的功能:(1) 实现I/O设备的独立性(2) 错误处理(3) 异

步传输(4)缓冲管理(5) 设备的分配和释放(6)实现I/O控制方式。

4.中断处理程序的作用:I/O中断处理程序的作用是将发出I/O请求而被阻塞的进程唤醒。

5.设备驱动程序是I/O进程与设备控制器之间的通信程序,其主要任务是接受上层软件发来的抽象的I/O请求,如read和write命令,把它们转换为具体要求后,发送给设备控制器启动设备去执行。

6. 与设备无关的IO软件:(1) 设备命名(2) 设备保护(3) 提供独立于设

备的块大小(4) 为块设备和字符设备提供必要的缓冲技术(5) 块设备的

存储分配(6) 分配和释放独立设备(7) 错误处理

7. 磁盘存储器不仅容量大,存取速度快,而且可以实现随机存取,是存放大量程序和数据的理想设备。磁盘管理的重要目标是提高磁盘空间利用率和磁盘访问速度。

8. 一个物理记录存储在一个扇区上,磁盘存储的物理记录数目是由扇区数、磁

道数及磁盘面数决定的。

9. 磁盘类型:固定头磁盘、活动头磁盘。

10. 磁盘访问时间:寻道时间:磁头移动到指定磁道所经历的时间;旋转延迟时

间:指定扇区移动到磁头下面所经历的时间;传输时间:把数据从磁盘读出或向

磁盘写入数据时所经历的时间。

11. 磁盘调度算法:(1)先来先服务 (First Come First Served, FCFS)(2)最短寻道时间优先 (Shortest Seek Time First, SSTF)(3)扫描算法 (SCAN)(4)循环扫描算法 (CSCAN)(5) NStepSCAN和FSCAN调度算法

12. 1)先来先服务 (First Come First Served, FCFS):最简单的磁盘调度算法,根据进程请求访问磁盘的先后顺序进行调度;2)最短寻道时间优先 (Shortest Seek Time First, SSTF):该算法选择这样的进程:其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短;3)扫描算法 (SCAN):不仅考虑到要访问的磁道与当前磁道的距离,更优先考虑磁头当前的移动方向; 4)循环扫描算法 (CSCAN):规定磁头是单向移动。

13. 提高磁盘I/O速度的方法: (1) 提前读(2)延迟写(3)优化物理块的分布(4)虚拟盘(5)磁盘高速缓存

 

你可能感兴趣的:(博客)