OperatingSystemsError
操作系统概论复习
章节
第一章
- 与分时系统相比,实时系统具有以下特点 (1)多路性 (2)独立性 (3)及时性 (4)交互性 (5)可靠性
- 核心扩展技术的核心思想就是将软件构件动态地下载到内核中,以达到改变操作系统行为的日的
- 层次结构的基本思想是将操作系统分解为多个小的、容易理解的层,系统功能被隔离在不同层中,每一层提供对系统功能的部分抽象,然后采用单向调用的顺序,形成一连里彼此连续的对系统功能的
抽象串
,最终形成对整个系统的完整抽象
第二章
第三章
第四章
第五章
选择题
-
文件的类型
- 正规文件:包含用户信息一般分为 ASCII 文件和二进制文件
- 目录文件:管理文件的系统文件
- 字符设备文件:和输入/输出有关用于串行 IO 类设备,如终端、打印机和网络等
- 块设备文件:磁盘类设备
-
死锁
- 处理死锁的基本方法有
- 预防死锁
- 避免死锁
- 检测并解除死锁忽略死锁问题(即假定死锁不可能在系统内发生而忽略死锁)
- 处理死锁的基本方法有
-
Linux 的伙伴系统
Linux 的伙伴系统算法把所有的空闲页框分组为 11 个块链表,每个块链表分别包含大小为 1、2、4、8、16、32、64、128、256、512 和 1024 个连续的页框。对 1024 个页框的最大请求对应着 4MB 大小的连续页框
-
自调度算法
- 最常用的调度方式之一
- 最简单的一种调度方式
- 优点
- 易移植
- 有利于提高 CPU 的利用率
-
存储器的种类(
CPU
寄存器保存最常用的数据)- 靠近 CPU 的容量小、速度快的高速缓存存储器作为速度相对较慢、容量较大的主存中数据和指令子集的缓冲区。
- 主存暂时存放存储容量更大、速度更慢的磁盘上的数据
- 而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区
-
程序的链接
链接程序不属于操作系统的构成部分,但是它为操作系统提供可装入的程序模块
- 可以把链接分为静态链接和动态链接
- 静态链接:
- 在程序运行前,用链接程序将目标模块链接成一个完整的装入模块
- 静态链接程序的任务一是对逻辑地址进行修改,二是变换外部调用符号
- 动态链接
- 静态链接:
- 可以把链接分为静态链接和动态链接
-
连续分配的类型
连续分配是指操作系统分配内存时,为每个进程分配一块物理地址连续的内存空间
- 单一连续区分配方式
- 固定分区分配方式
- 动态分区分配方式
- 内存分配主要任务是为每道程序分配内存空间
-
动态分区分配算法
- 首次适应算法
- 循环首次适应算法
- 优点:空闲区分布均勾、查找开销较小
- 缺点:容易使系统缺之大空闲区
- 最佳适应算法
-
分页管理
页表是系统为进程建立的数据结构,页表的作用是实现从页号到页框号的映射
- 页:将一个进程的逻辑地址空间分成若干个大小相等的片
- 页框或页顿:将物理内存空间分成与页大小相同的若干个存储
- 页内碎片:进程的最后一页一般装不满一个页框,而形成了不可利用的碎片
-
分页和分段的区别
分页和分段都属于离散分配方式,都要通过数据结构与硬件的配合来实现逻辑地址到物理地址的映射,但两者存在着很大的不同
- 页是按物理单位划分的,分页的引入是为了提高内存的利用率和支持虚拟存储。而段是按逻辑单位划分的,一个段含有一组意义相对完整的信息。引入分段的目的是为了方便程序员编程
- 页的大小是固定的。而段的大小不固定,取决于用户编写的程序和编译器
- 分页的地址空间是一维的,程序员给出的地址只是一个助记符,已知的逻辑地址是一个数,如 2568。分段的地址空间是二维的,程序员在标识一个逻辑地址时需要给出两个数:一个是段号,一个是段内偏移
-
虚拟存储技术
-
系统的特征
- 离散性
- 多次性
- 对换性
- 虚拟性
-
好处
- 提高内存利用率
- 提高多道程序度
- 把逻辑地址空间和物理地址空间分开,使程序员不用关心物理内存的容量对编程的限制
-
-
文件结构
-
分类
- 树形结构
- 无结构字节序列
- 固定长度记录序列
-
无结构字节序列(流式文件)
- 操作系统不知道也不关心文件内容是什么,操作系统所见到的就是字节,其任何含义由使用该文件的程序自行理解
- 在 UNIX 和 Windows 系统中都采用这种方式
-
-
目录结构
- 文件目录的组织和管理是文件管理的一个重要方面,包括单层目录、两级和树形目录
- 树形目录
- 优点:便于文件的分类,层次结构清晰,便于管理和保护,解决了重名问题,查找速度加快
- 缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存中,多次访问磁盘会影响速度,结构相对复杂
- 每个目录项包含对应文件文件名 和 i 结点号
-
FAT 文件系统
- AT 文件系统有 3 个版本:FAT-12.FAT-16 和 FAT-32,取决于用多少个二进制位存放号
-
DMA 控制方式
- 命令/状态寄存器(CR)用于接收从 CPU 发来的 VO 命令或有关控制信息、设备状态
- 内存地址寄存器(MAR)用于存放内存地址
- 数据计数器(DC)用于指示 DMA,本次向 CPU 发中断信号前要读或写数据的次数
- 数据寄存器(DR)用于暂存 DMA 传输中要输入或输出的数据
-
缓冲池
- 公共缓冲池既可用于输入,又可用于输出
- 其中至少包含 3 种类型的缓冲区、3 种缓冲队列和 4 种工作缓冲区
-
进程切换的步骤
进程切换使当前正在执行的进程成为被替换进程,出让其所使用的 CPU,以运行被进程调度程序选中的新进程
- 保存包括程序计数器和其他寄存器在内的 CPU 上下文环境
- 更新被替换进程的进程控制块
- 修改进程状态,把执行态改为就绪态或者阻塞态
- 将被替换进程的进程控制块移到就绪队列或阻塞队列
- 执行通过进程调度程序选择的新进程,并更新该进程的进程控制块
- 更新内存管理的数据结构
- 恢复被调度程序选中的进程的硬件上下文
- 进程控制块(PCB):组织方式通常链接和索引两种
-
实时计算的概念
实时系统是支持实时计算的系统。实时计算的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生正确结果的时间
-
实时系统的特点(在实时系统中,往往采取多级容错措施来保证系统安全和数据安全)
- 实时系统主要用于实时控制和实时信息处理领域
- 实时系统比分时系统要求有更高的可靠性
- 因为任何实时系统的错误都可能带来巨大的经济损失,甚至危及生命安全
-
操作系统中的用户接口(批处理用户接口)
脱机用户接口是为批处理作业的用户提供的
-
操作系统体系结构
- 简单的监控程序模型的经典代表是(
FMS
&IBSYS
) - 动态可扩展结构模型的典型代表是 Harvard 大学的 VINO 操作系统
- 分层结构最经典的例子是 Dijkstra 的 THE 系统
- 客户/服务器模型的典型代表是卡内基梅隆大学研制的 Mach 操作系统、WindRiver 公司的 Vxworks 等
- 简单的监控程序模型的经典代表是(
- 操作系统中最核心概念(进程),也是围绕进程展开的
-
进程控制块中的处理机状态信息
- 通用寄存器
- 指令计数器
- 程序状态字 PSW
- 用户栈指针。其中,指令计数器中存放了
CPU
要访问的下一条指令的地址
-
进程状态的转换
进程状态不能由阻塞态直接变为执行态,进程状态由阻塞态变为就绪态的过程称为唤醒过程由执行态变为阻塞态的过程称为阻塞过程
- 执行态
- -
时间片用完
->就绪态 - -
等待事件
->阻塞态
- -
- 就绪态-
进程调度
->执行态 - 阻塞态-
等待的事件发生
->就绪态
- 执行态
-
程序顺序执行时具特点有:
- 顺序性
- 封闭性
- 可在线性
-
系统调用的类型
- 进程控制类系统调用:创建、撤销进程;获得、改变进程属性
- 文件操纵类系统调用:创建文件、删除文件、打开文件、关闭文件和读/写文件
- 设备管理类系统调用:请求、释放设备
- 通信类系统调用:打开、关闭连接,交换信息
- 信息维护类系统调用:返回系统当前日期、时间、版本号、用户数、空闲内存和磁盘空间大小等信息
-
操作系统内核的功能
- 中断处理、时钟管理和原语操作
- 操作系统内核的资源管理功能包括进程管理、存储器管理和设备管理
-
操作系统中的时钟
- 别称为实时时钟(RTC)
也称 CMOS 时钟,是一块时钟芯片,靠电池供电,为计算机提供计时标准,是最原始、最底层的数据
- OS 时钟
OS 时钟产生于 PC 主板上的定时/计数芯片,在开机时有效,由操作系统控制
- 别称为实时时钟(RTC)
-
进程调度的功能
进程调度功能由操作系统内核的进程调度程序完成,在 Linux 内核中,进程调度功能的实现从调用内核函数 chedule()开始。进程调度的功能是按照某种策略和算法从就绪态进程(在 Linux 中是可执行进程)中为当前空闲的 CPU 选择在其上运行的新进程
-
选择调度方式和算法的准则
- 周转时间短
- 响应时间快
- 截止时间的保证
- 系统吞吐量高
- 处理机利用率好
- 操作系统负责管理计算机的资源
-
other
- 系统开销=进程切换时间/时间片大小=10/200=5%
填空题
- 一般函数调用运行在用户态,系统调用运行在系统态
- 嵌入式系统时宿主于非计算机设备中的计算机系统
- 计算机的所有功能最终都是由硬件的操作来实现的
- 操作系统的四个特征中,并发是指允许两个或多个事件在同一时间间隔内发生;异步是指进程以不可预知的速度向前推进
- 引入工作集机制是为了能有效降低缺页率从而提高访存的时间效率
- 操作系统所管理的资源主要包括处理机、内存、设备和文件
- 多处理器系统中的成组调度方式有以下优点:一是减少线程切换,二是减少调度开销
- 目录文件有两种常见的结构:属性放在中目录项和放在中。i 节点
- 程序执行的局部性原理表现为时间和空间的局部性
- 将物理内存空间分成与页大小相同的若千个存储块,称为页框或页帧
- 当前进程的时间片是否用完是由操作系统的时钟机制进行检查的。当时间片为
0
时,该进程将放弃CPU
转入就绪态 - 操作系统对计算机的资源进行有效的管理,其主要功能包括:处理机管理、内存管理设备管理、文件管理
问答题
-
试简述 SPOOLing 系统的主要作用
- 提高了 I/O 速度
- 将独占设备改造为共享设备
- 实现了虚拟设备功能
-
处理死锁方法
- 预防死锁
- 避免死锁
- 检测(实时)并解除死锁
- 忽略死锁
-
线程可以分为哪两种?这两种线程在调度与切换速度上有什么不同?
- 线程可以分为用户级线程和内核级线程两类
- 内核级线程的调度由内核的线程调度程序完成,用户级线程则由用户线程包中的一个过程来完成
- 内核级线程切换慢,用户级线程切换快
-
某系统中有四个进程,它们进入系统的时间和需要服务的时间如题 表所示(表中数值均为十进制)
进程 进入系统时间 需要服务时间 P1 0 100 P2 10 60 P3 25 25 P4 35 40 -
(1)采用先来先服务调度算法(FCFS)时,填写题 37-2 表,并计算平均周转时间(四舍五入,保留小数点后两位)
- $开始运行时间=上一个结束时间$
- $结束时间=上一个结束+需要服务时间$
- $等待时间=开始运行时间-进入系统时间$
- $周转时间=结束时间-进入系统时间$
- $带权周转时间=周转时间/服务时间$
进程 开始运行时间 结束时间 等待时间 周转时间 带权周转时间 P1 0 100 0 100 1 P2 100 160 90 150 2.5 P3 160 185 135 160 6.4 P4 185 225 150 190 4.75 平均周转时间 $T=(100+150+160+190)/4=150 $
-
(2)采用短进程优先调度算法(SPF)时,填写题 37-3 表,并计算平均周转时间(四舍五入,保留小数点后两位)
进程 开始运行时间 结束时间 等待时间 周转时间 带权周转时间 P1 0 100 0 100 1 P2 165 225 155 215 3.58 P3 100 125 75 100 4 P4 125 165 90 130 3.25 平均周转时间 $T=(100+215+100+130)/4=136.25$
-
-
简述连续分配文件存储方式的实现方法、优点和缺点
- 连续分配就是把每个文件作为一连串连续数据块存储在磁盘上
-
连续分配方式的优点是
- 实现简单。记录每个文件用到的仅需两个信息:第 1 块的磁盘地址和文件的块数
- 读写操作性能好。因为数据块在磁盘中连续存放,所以文件读写时寻道时间很小
- 连续分配方式的缺点是
- 随着磁盘空间的分配与释放,磁盘会变得零碎,磁盘上会有很多空闲的连续形成的”空洞”,此时需要挑选大小合适的”空洞” 存入文件,如果文件大小可变,则系统管理文件的存储会比较麻烦
-
磁盘访问时间由哪三部分组成?对这三部分做一个简单的说明
- 磁盘访问时间由寻道时间、旋转延退时间和传输时间三部分组成
- 寻道时间是指把磁臂(磁头)移动到指定磁道上所经历的时间
- 旋转延退时间是指将指定扇区旋转到磁头下面所经历的时间
- 传输时间是指把数据从磁盘读出或者向磁盘写入数据时所经历的时间
-
设备分配通常有先来先服务和基于优先权的两种分配算法。简述它们的实现方法。
- 先来先服务的分配算法:当有多个进程对同一个设备提出 VO 请求时,该算法是根据进程对该设备提出请求的先后顺序将这些进程排成一个设备请求队列,设备分配程序总是先把设备分配给队首进程
- 基于优先权的分配算法:该算法对高优先权进程所提出的 VO 请求赋予高优先权,将优先权高的进程排在设备请求队列前面,而对于优先级相同的 VO 请求,则按先来先服务原则排队,设备分配程序每次把备分配给队首进程
-
列出虚拟存储技术带来的 3 点好处
- 提高内存利用率
- 提高多道程序度
- 把逻辑地址空间和物理地址空间分开,使程序员不用关心物理内存的容量对编程的限制
-
除了I/O设备被启动时会引起中断之外,还有哪四种原因会引起中断?
- 人为设置中断
- 程序性事故
- 硬件故障
- 外部事件
-
程序的并发执行,有哪三个特点?为了对共享资源进行管理,操作系统引入了什么机制?
- 特点
- 间断性
- 失去封闭性
- 不可再现性
- 机制:引入了信号量机制
- 特点