定义

1.1 进程:进程是具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。

1.2 线程:线程是进程中的一个实体,是处理器调度和分派的基本单位。可与同属一个进程的其他线程共享进程所拥有的全部资源。

1.3 原语:原语是由若干条指令所组成的一个指令序列。用来实现某个特定的操作功能。具有连续性,不可分割性。在执行时也不可间断,必须在管态下执行,并且常驻内存。

1.4 创建原语:是指创建一个新的进程,前者称为父进程,后者称为子进程建立进程控制块PCB。

1.5 DMA (Direct Memory Access):直接内存访问,是一种完全由硬件执行I/O数据交换的工作方式。

1.6 通道:通道是一个特殊功能的处理器,它有自己的指令和程序,可以实现对外部设备的统一管理和外部设备与内存之间的数据传送。

1.7 SPOOLING (Simultaneous Peripheral Operations On-Line):外部设备联机并行操作(虚拟设备技术)。它是关于慢速字符设备如何与计算机主机交换信息一种技术,通常称为“假脱机技术”。是多道程序设计系统中处理独占I/O设备的一种方法,能将独占设备转变为共享设备,可以提高设备利用率并缩短单个程序的响应时间。

属性

2.1 计算机系统的资源包括两大类:硬件资源和软件资源。

2.2 操作系统的两大发展方向:宏观应用、微观应用。

2.3 操作系统启动的引导方式:BIOS引导,UEFI引导。

2.4 操作系统的启动过程:BIOS自检、系统引导、启动内核、初始化系统。

2.5 操作系统管理程序运行的状态称为管态
系统启动时,处理器的初始状态为管态。
当处理器处于管态时,可以执行全部指令。
当用户程序占用处理器时,应让处理器在目态下工作。

2.6 处理器的状态字(PSW)通常包含以下状态代码:(1)CPU的工作状态代码;(2)条件码;(3)中断屏蔽码。

2.7 所有的子系统都可以包括在硬件(子)系统软件(子)系统

2.8 系统软件包括:操作系统、编译系统、数据库。

2.9 硬件系统:中央处理器、存储系统、中断机制、I/O技术、时钟。

2.10 内存空间的最小分配单位为,这样的块有时被称为一个物理页(Page)。

2.11 时钟中断处理程序的主要内容:(1)维护软件时钟;(2)处理器调度;(3)控制系统定时任务;(4)实时处理。

2.12 允许优先级较高的中断打断优先级较低的中断处理过程称为中断嵌套

2.13 时钟分为硬件时钟软件时钟

2.14 系统调用是操作系统提供给编程人员的唯一接口。

2.15 进程从运行状态进入就绪状态的原因可能是:时间片用完。

2.16 七状态模型和五状态模型相比,增加了就绪挂起阻塞挂起两个状态。

2.17 操作系统把所有的PCB用适当方式组织起来。一般的组织方式:线性方式、索引方式、链接方式。

2.18 同一个进程中的各个线程共享该进程的内存地址空间。

2.19 对进程在整个生命周期中各种状态之间的转换进行有效的控制通过进程控制原语来实现。

2.20 线程作为调度和分派的基本单位,进程作为资源拥有的基本单位。

2.21 线程的实现机制:用户级线程、内核级线程、混合方式。

2.22 CPU主要的两级调度:进程调度、作业调度。

2.23 时间片轮转法主要用于分时系统中的进程调度。

2.24 保证调度算法的目标是保证每个进程享用CPU的时间完全一样,即如果系统里一共有n个进程,则每个进程占用CPU的时间为1/n

2.25 彩票调度算法是一种概率调度算法。

2.26 基于进程组的调度决策是非常有吸引力的,该方法通常称作公平共享调度

2.27 BSD UNIX系统主要用于分时交互环境中。

2.28 Linux系统的调度方式基本上采用抢占式优先级方式。

2.29 Windows中的优先级被组织成两段:实时可变

2.30 任何情况下,都可以把系统看作是多服务器排队结构。

2.31 线程调度常用方法有:加载共享、组调度、专用处理器分配、动态调度。

2.32 为周期性任务解决多任务调度冲突的一个非常好的方法是速率单调调度RMS

2.33 优先级逆转是在任何基于优先级的可抢占的调度方案中都能发生的一种现象,但是它与实时调度的上下文关联特别大。

2.34 优先级继承协议的基本思想是优先级较低的任务继承任何与它共享同一个资源的优先级较高的任务的优先级。

2.35 采用动态重定位的系统支持“程序浮动”。

2.36 存储管理的主要任务包括:内存的分配与回收、内存扩充、存储共享、存储保护。

2.37 在存储管理中,将绝对地址对应的存储空间称为物理地址空间,将逻辑地址对应的存储空间称为逻辑地址空间

2.38 通过分区管理,内存真正成为了共享资源,提高了系统得到吞吐量和缩短了周转时间。

2.39 在可变区分存储管理方案中,解决碎片问题的一个有效办法是采用紧缩技术,通过移动内存中程序,把所有空闲碎片的合并成一个连续的大空闲区,置于内存的一端,把所有程序占用区的放在内存的另一端。

2.40 采用页式存储管理的主要目的是:提高内存的利用率。

2.41 大多数操作系统采用的进程页表是二级页表:即由页表页和页目录一起构成进程页表。

2.42 分页后,逻辑地址由两部分组成:虚拟页号,页内地址。

2.43 流式文件是有序字符的集合。

2.44 常用的文件物理结构:索引结构、链接结构、顺序结构。

2.45 文件按组织形式进行分类:普通文件、目录文件、特殊文件。
文件按文件用途进行分类:库函数文件、用户文件。

2.46 文件常用的存取方法:顺序存取、随机存取。

2.47 链式结构,有利于文件动态扩充,解决了存储的碎片问题,但不适合随机存取。

2.48 磁盘空间的分配与回收算法:位示图、空闲块表、空闲块链表。

2.49 把若干个逻辑记录合成一组,存入一个物理块的工作称为记录的成组

2.50 记录的成组和分解技术是磁盘高速缓存的一种应用,虽然需要代价,但是具有提高存储空间利用率和减少启动设备次数的优点。

2.51 用来解决磁盘速度慢、出现故障的技术是RAID技术

2.52 RAID2和RAID3以字节作为并行单位。

2.53 规定用户使用文件的权限的方法:树形目录结构存取控制表

2.54 UNIX的文件使用权限管理方案中,对文件存取权限的设置方法:存取控制矩阵二级存取控制

2.55 按设备的使用特性分类:(1)输入设备;(2)输出设备;(3)交互式设备;(4)存储设备。

2.56 设备驱动程序是操作系统底层中唯一知道各种输入输出设备的控制器细节以及其用途的部分。

2.57 设计I/O软件的一个最关键目标是设备独立性。

2.58 键盘、终端、打印机等以字符为单位组织好处理信息的设备。

2.59 I/O硬件由物理设备电子部件两部分组成。

2.60 在典型的计算机系统硬件结构中,CPU与内存在最里层,通过总线与第二层的适配器(接口)部件相连,第三层是各种外围设备控制器,最外层是外围设备。

2.61 从功能上看,设备独立层是I/O软件的主要部分;
从代码量上看,设备驱动层是I/O软件的主要部分。

2.62 I/O设备管理中,可按照两种方式进行设备分配:静态分配动态分配

2.63 两种常用设备分配策略:先来先服务、高优先级优先。

2.64 设备分配表由设备类表设备表组成。

2.65 常用的磁盘移臂调度算法:先来先服务调度算法、最短寻找时间优先调度算法、电梯调度算法、单向扫描调度算法。

2.66 缓冲出把多个缓冲区连接起来统一管理。

2.67 SPOOLING系统主要包括:输入程序模块、输出程序模块、作业调度程序。

2.68 Dijkstra把同步问题抽象成一种生产者-消费者关系

2.69 对信号量的PV操作在程序流程上必定是成对出现,不能缺少,缺少了会死锁

2.70 剥夺资源的常用方法:(1)还原算法,即恢复计算结果和状态;(2)建立检查点,用来恢复分配前的状态。

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

2.72 哲学家就餐问题是操作系统中关于进程同步与互斥的经典问题,也是涉及到死锁的关键问题。
在哲学家就餐问题中,为每只筷子设置一个信号量,一个哲学家通过在信号量上执行操作P抓起一只筷子,通过执行V操作放下一只筷子。

简述

3.1 操作系统的特性:

1
2
3
4
1. 并发:在计算机系统中同时存在多个程序,宏观上,这些程序是在同时执行的;微观上,任何时刻只有一个程序在执行,即微观上这些程序在CPU上轮流执行。
2. 共享:操作系统与多个用户的程序共同使用计算机系统中的资源。
3. 虚拟性:虚拟性是一种管理技术,该技术把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物。
4. 异步性:操作系统必须随时对不可预测的次序发生的事件进行响应。

3.2 操作系统的主要功能:

1
2
3
4
5
1. 处理机管理功能:进程控制,进程同步,进程通信,调度。
2. 存储器管理功能:内存分配,内存保护,地址映射,内存扩充。
3. 设备管理功能:缓冲管理,设备分配,设备处理。
4. 文件管理功能:文件存储空间的管理,目录管理,文件的读写管理和保护。
5. 用户接口:命令接口,程序接口,图形接口。

3.3 微内核结构及其基本原理:

1
2
3
1. 微内核OS结构:能实现OS核心功能的小型内核。并非一个完整的OS,与OS的服务进程(如文件服务器、作业服务器等)共同构成OS。
2. 基本原理:只有最基本的操作系统功能才能放在内核中。不是最基本的服务和应用程序在微内核之上构造,并在用户模式下执行。
3. 微内核通常提供最小的进程和内存管理以及通信功能。微内核的主要功能是提供客户程序和运行在用户空间的各种服务之间进行通信的能力。通信以消息传递形式提供,一般采用客户/服务器模式。

3.4 最常见的控制和状态寄存器:(了解)

1
2
3
1. 程序计数器(PC:Program Counter):记录了将要取出的指令的地址。
2. 指令寄存器(IR:Instruction Register):包含了最近取出的指令。
3. 程序状态字(PSW:Program Status Word):记录了处理器的运行模式信息等。

3.5 系统软件包括哪些软件:

1
2
3
4
系统软件包括:系统软件、支撑软件、应用软件。
系统软件:操作系统、编译系统。
支撑软件:数据库、各种接口软件、软件开发工具等。
应用软件:财务管理、人口普查等专用程序。

3.6 简述指令的执行过程

1
2
3
4
1. 每个取值周期先从存储器中读取一条指令。
2. 在取指令完成后,根据指令类别将程序计数器的值变成下一条指令的地址,通常是自增1。
3. 取到的指令被放在处理器的指令寄存器中。
4. 处理器解释并执行命令。

3.7 简述指令的分类

1
2
3
4
5
1. 访问存储器指令:负责处理器和存储器之间的数据传送。
2. I/O指令:负责处理器和I/O模块之间的数据传送和命令发送。
3. 算术逻辑指令(数据处理指令):用以执行有关数据的算术和逻辑操作。
4. 控制转移指令:这种指令可以指定一个新的指令的执行起点。
5. 处理器控制指令:这种指令用于修改处理器状态,改变处理器工作方式。

3.8 现代计算机采用的多级存储体系包括哪几部分?简述各部分功能。

1
2
3
4
5
1. 多级存储体系包括寄存器、主存储器、高速缓冲存储器、辅助存储器。
2. 寄存器用来存放处理器的工作信息。
3. 主存储器用来存放当前要执行的程序和数据。
4. 高速缓冲存储器用来存放当前经常要使用的信息。
5. 辅助存储器作为主存储器的扩展,用来存放大量的程序和数据。

3.9 中断响应是什么?中断处理程序主要工作有哪些方面?

1
2
3
1. 处理器每执行完一条指令后,中断装置立即检查有无中断事件发生。
2. 若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器。中断处理程序主要工作如下:
(1) 保护被中断进程的现场信息;(2)分析中断原因;(3)处理发生的中断事件。

3.10 简述通道的工作原理

1
2
3
4
1. 当处理器执行到一条“启动外设”指令时,就按指令中给定的参数启动指定的设备。
2. 设备启动后,对该外部设备的控制权转移到通道。
3. 该外部设备与主存储器之间发生的信息传送,由通道控制。
4. 该外部设备工作结束后,会产生形成一个“输入输出操作结束”的I/O中断事件。

3.11 简述时钟的工作原理

1
2
1. 硬件时钟的工作原理:电路中的晶体振荡器,每隔一定间隔产生固定的脉冲频率,时钟电路中的时钟寄存器依据时钟电路所产生的脉冲数,对时钟寄存器进行加1的工作。
2. 软件时钟的工作原理:利用内存单元模拟时钟寄存器,采用一段程序来计算响应的脉冲数,对内存时钟寄存器进行加1或减1的工作。

3.12 简述时钟的功能

1
2
3
4
5
1. 在多道程序运行,时钟可以发现死循环,防止机时的浪费。
2. 在分时系统中,用时钟实现时间片轮转运行。
3. 在实时系统中,按要求的时间间隔输出信号控制设备。
4. 定时唤醒外部事件。
5. 记录用户和系统所需要的绝对事件,即年、月、日。

3.13 简述系统调用的分离

1
2
3
4
5
6
一个操作系统的功能分为两大部分:一部分是系统自身所需要的,另一部分功能是作为服务提供给用户的,有关这部分功能可以从操作系统所提供的系统调用上体现出来。
1. 进程控制类系统调用。
2. 文件操作类系统调用。
3. 进程通信类系统调用。
4. 设备管理类系统调用。
5. 信息维护类系统调用。

3.14 在七状态模型中,什么是阻塞状态?什么是阻塞挂起状态?两个状态之间如何转换

1
2
3
4
1. 阻塞状态:进程在内存并等待某事件的出现。
2. 阻塞挂起状态:进程在外存并等待某事件的出现。
3. 没有进程处于就绪状态或就绪进程要求更多内存资源时,就会把阻塞状态编程阻塞挂起状态。
4. 当一个进程释放足够内存时,系统会把一个高优先级阻塞挂起进程激活,由阻塞挂起状态变成阻塞状态。

3.15 进程具有哪些特性

1
2
3
4
5
6
1. 并发性:一个进程可以同其他进程一道向前推进。
2. 动态性:进程有其生命周期,且进程的状态是不断变化的。
3. 独立性:一个进程是一个相对完整的资源分配单位。
4. 交往性:一个进程在运行过程中可能会与其他进程发生直接的或间接的相互作用。
5. 异步性:每个进程按照各自独立的、不可预知的速度向前推进。
6. 结构性:一个进程由程序、数据和进程控制块三部分组成。

3.16 线程与进程的关系

1
2
3
4
5
1. 线程是进程中可独立执行的子任务。
2. 一个进程中可以有一个活多个线程。
3. 同一进程中的各线程共享分配给进程的主存空间。
4. 进程是资源分配单位,线程是调度和执行单位。
5. 一个进程内的线程共享分配给该进程的资源。

3.17 进程调度的主要功能

1
2
3
1. 保存现场:记录系统中所有进程得到执行状况。
2. 挑选进程:根据一定的调度算法,从就绪队列中选出一个进程,准备把处理器分配给它。
3. 恢复现场:为选中的进程恢复现场信息。

3.18 在选择调度策略时应该考虑什么因素

1
2
3
4
5
6
1. 设计目标
2. 公平性
3. 均衡性
4. 统筹兼顾
5. 优先级
6. 开销

3.19 进程最短剩余时间优先调度算法的基本思路和实现方法

1
2
3
最短进程优先算法的抢占版本是最短剩余时间优先(SRTN)算法。
使用这个算法,调度程序总是选择其剩余运行时间最短的那个进程运行。
当一个新的进程到达时,其整个时间同当前进程的剩余时间作比较。如果新的进程比当前运行进程需要更少的时间,当前进程就被挂起,而运行新的进程。这种方式可以使新的短进程获得良好的服务。

3.20☆ 某单CPU系统有如下一批处于就绪状态的进程。
(1) 给出FCFS(先来先服务)SJF(最短作业优先)算法个进程的开始事件、完成时间、周转时间。
(2) 计算在各算法下的平均周转时间

进程进入就绪队列的先后顺序 运行时间 FCFS SJF
开始时间 完成时间 周转时间 开始时间 完成时间 周转时间
1 10 0 10 10 9 10 19
2 1 10 1 11 0 1 1
3 2 11 2 13 2 2 4
4 1 13 1 14 1 1 2
5 5 14 5 19 4 5 9
1
2
3
平均周转时间:
FCFS:(10+11+13+14+19)/5=13.4
SJF:(19+1+4+2+9)/5=7

3.21 加载共享的缺点

1
中心队列占据了必须互斥访问的存储器区域,被抢占的线程可能不在同一个处理器上恢复执行。如果一个程序的线程间需要高度的合作,所涉及的进程切换就会严重影响性能。

3.22 存储管理中交换技术的实现原理及主要作用

1
2
3
交换技术又称对换技术。
进程从内存移到磁盘,并再移回内存称为交换。
交换技术是进程在内存与外存之间的动态调度,是由操作系统控制的。交换技术的目的是尽可能达到“足够快地交换进程,以使当处理器调度程序想重新调度处理器时,总有进程在内存中处于就绪(准备执行)状态”的理想状态,从而提高内存利用率。

3.23 虚拟页式存储管理的优缺点

1
2
优点:由于它不要求进程的程序段和数据在内存中连续存放,从而有效地解决了碎片问题。这既提高了内存的利用率,又有利于组织多道程序执行。
缺点:存在页面空间的浪费问题。这是由于各种程序代码的长度是各不相同的,但页面的大小是固定的,所以在每个程序的最后一页内总有一部分空间得不到利用。如果页面较大,则由此引起的存储空间的损失仍然较大。

3.24 文件系统的功能

1
2
3
4
5
6
7
1. 统一管理文件的存储空间,实施存储空间的分配与回收。
2. 实现文件从名字到外存地址空间的映射,即实现文件的按名存取。
3. 实现文件信息的共享,并提供文件的保护措施。
4. 向用户提供一个方便使用的接口。
5. 系统维护及向用户提供有关信息。
6. 保持文件系统的执行效率,文件系统在操作系统中占的比例最大。
7. 提供I/O的统一接口。

3.25 什么是逻辑文件?什么是物理文件?简述逻辑文件的几种形式。

1
2
1. 用户组织的文件称为逻辑文件,存放在存储介质上的文件称为物理文件。
2. 流式文件是由一串顺序的字符流组成的,记录式文件是由若干逻辑记录组成的。

3.26☆ 某UNIX操作系统采用i结点管理文件的存储空间,假设磁盘大小为2048字节,每个地址占64位(8个字节),i结点包括13个地址项,其中10个地址用来存直接地址,一个地址项存一次间接地址,一个地址项存二次间接地址,一个地址项存三次间接地址。问系统能管理的单个文件最大长度是多少?

1
2
3
4
5
6
7
8
磁盘块大小=2048字节=2×1024字节=2×1KB=2KB
10个直接地址表示的文件大小=10×2KB=20KB 直接地址指向磁盘块
每个地址占8字节
每个盘块中存放2^8=256个盘块号
1个一次间接地址存放文件大小=1×256×2KB=512KB 间接地址指向直接地址
1个二次间接地址存放文件大小=1×256×256×2KB=128MB 二级间接->一级间接->磁盘块
1个三次间接地址存放文件大小=1×256×256×256×2KB=32GB 三级间接->二级间接->一级间接->磁盘块
所以一个文件的最大长度=20KB+512KB+128MB+32GB

3.27☆ 假定某系统中,磁带的记录密度为每英寸1200个字符,每个逻辑记录长为200个字符,块与块之间的间隙为0.5英寸。问,为了使磁带空间利用率达到70%,采用记录成组操作时的块因子应为多少?

1
2
3
4
5
设块因子为x。
每条记录所占磁带空间=200/1200=1/6英寸
(x*1/6)/(x*1/6+0.5)=0.7
解得:x=7
成组操作时块因子是7。

3.28 简述UNIX的目录文件的存取权限及其含义

1
2
3
读:允许读该目录。
写:允许修改目录内容。
执行:允许搜索该目录。

3.29 通道有哪三种类型?简述三种通道的优缺点。

1
2
3
4
5
6
7
8
9
1. 选择通道
优点:以数据块为单位进行传输,传输效率高。
缺点:通道利用率低。
2. 数组多路通道
优点:以数据块为单位进行传输,传输率高;又具有多路并行操作的能力,通道利用率高。
缺点:控制复杂。
3. 字节多路通道
优点:多路并行操作能力与数组多路通道相同。
缺点:以字节为单位交替进行的,个设备轮流占用一个很短的时间片,效率低。

3.30☆ 假设对磁盘的请求为柱面号95、180、35、120、10、122、64、68,磁头的初始位置为30,求在下列移臂调度算法下的服务顺序和移动臂需要移动的距离。
(1)最短寻找时间优先调度算法。
(2)移动臂由外向里移动(向柱面号增大的方向)的电梯调度算法。

1
2
3
4
5
6
(1) 最短寻找时间优先调度算法
服务顺序:30->35->10->64->68->95->120->122->180
移动臂需要移动的距离=(35-30)+(35-10)+(64-10)+(68-64)+(95-68)+(120-95)+(122-120)+(180-122)=200(柱面)
(2) 移动臂由外向里移动的电梯调度算法
服务顺序:30->35->64->68->95->120->122->180->10
移动臂需要移动的距离=(35-30)+(64-35)+(68-64)+(95-68)+(120-95)+(122-120)+(180-122)+(180-10)=320(柱面)

3.31 磁盘驱动调度包括什么调度?各涉及什么时间?

1
2
磁盘驱动调度包括移臂调度和旋转调度。
分别涉及寻找时间和延迟时间。

3.32 简述关于磁盘的电梯调度算法与单向扫描调度算法的含义

1
2
1. 电梯调度算法是从移动臂当前位置开始沿移动方向去选择最近的柱面请求,当移臂方向向上无请求时,就改变移臂的移动方向再做类似处理。
2. 单向扫描调度算法总是从0号柱面开始向里扫描,为请求的柱面提供服务,到达最后一个柱面再把读写头快速返回0号柱面(返回过程不做服务),返回后可再进行扫描和服务。

3.33 磁盘驱动调度和调度原理

1
2
3
磁盘执行一次输入输出所需时间是:寻找时间、延迟时间、传送时间。
采用一定得到调度策略以决定各等待访问者的执行次序,称为驱动调度。
磁盘驱动调度就需要优化寻找时间和延迟时间,就是移臂调度和旋转调度。

3.34 什么是死锁?产生死锁的额两个主要原因?

1
2
3
4
死锁是指在多道程序系统中的一种现象,一组进程中的每个进程均无限期地等待被该进程中的另一个进程所占用且永远不会释放的资源。
产生死锁的原因:
(1)竞争资源,系统资源在分配时出现失误,进程间对资源的相互争夺而造成僵局。
(2)多道程序运行时,进程推进顺序不合理。