操作系统又是一门计算机专业必学的专业课之一,同样对于很多考研统考的同学来说也是必考的课程。本篇帖子是我大学时期整理的操作系统的基本知识点。足以应付大学时代的期末考试。
1. 存储管理研究课题的四个方面:
(1) 存储分配问题:重点是研究存储共享和各种分配算法
(2) 地址再定位问题:研究地址变换机构,以及动态和静态再定位方法
(3) 存储保护问题:研究保护各类程序,数据区的方法
(4) 存储扩充问题:研究虚拟存储区和调度算法
2. 程序中由符号名组成的空间称为名空间。
3. 相对地址也叫逻辑地址或虚地址,把程序中由相对地址组成的空间叫做逻辑地址空间。逻辑地址空间通过地址再定位机构转换到绝对地址空间。绝对地址空间也叫物理地址空间。
4. 一个逻辑地址空间的程序装入到物理地址空间时,由于两个空间不一致,就需要进行地址变换,或称地址映射,即地址的再定位。
5. 地址再定位两种方式:
(1) 静态再定位
(2) 动态再定位
6. 静态再定位是在程序执行之前进行地址再定位。通常由装配程序完成。无需硬件支持。
7. 静态再定位缺点:
(1) 程序再定位后不能再移动,不能重新分配内存。
(2) 存储空间只能连续分配,不能分布在内存的不同区域。
(3) 用户很难共享同一程序。
8. 动态地址再定位是在程序执行期间,在每次存储访问之前进行的。要硬件支持。
9. 动态再定位优点:
(1) 程序在内存中可以移动。
(2) 程序不必连续存放,可以在内存的不同区域。
(3) 可以共享程序。
10. 自动覆盖:大作业程序在执行时,有一部分地址空间在主存,另一部分在辅存,当访问的信息不在主存时,由操作系统把它从辅存调入主存。
11. 虚拟存储器实际上是一个地址空间。
12. 一个虚存的最大容量由计算机的地址结构确定。
13. 虚存容量可以比实存大,也可以比实存小。一个系统可以为每个用户建立一个虚存,每个用户可以在自己的地址空间(最大容量为虚存容量)内编程。
14. 早期的存储管理:
(1) 单一连续分配
(2) 分区分配
15. 页面:逻辑地址空间划分的相等的片。
16. 块:物理地址空间划分为同样大小的片。
17. 一个作业的逻辑地址空间的所有页面是邻接的,变换到物理存储空间的各块可以不邻接。
18. 地址变换机构:
(1) 动态地址变换机构 DAT
(2) 高速页面变换寄存器
(3) 联想寄存器(快表)
19. 页表在主存中,由操作系统管理。每条指令的执行必须进行地址变换。
20. 在联想存储器中,存放正运行作业最常用的页号和相应块号,有并行查询能力。
21. 分页管理要建立的表格(数据结构):
(1) 作业表JT
(2) 存储分块表MBT
(3) 页面变换表PMT
22. 作业表。整个系统一张表,每个作业在作业表中对应一个表目,包括作业的页表始址、页表长度和状态信息。
23. 存储分块表。整个系统一张表,一个表目对应一个存储块,记录该块是否分配。
24. 页面变换表:一个作业一张表。一个表目对应一个页面。
25. 分页存储管理没有解决存储扩充问题。当一个作业不能完全装入内存时,是不能运行的。
26. 虚页:作业地址划分的页
27. 实页:主存称为实存,实存中的块。
28. 请求分页存储管理:分页存储管理根据请求装入所需的页面。
29. 由硬件产生缺页中断。转入中断处理程序。
30. 当处理机要执行一条指令时,首先形成操作数的有效地址,然后计算页号,检查页表是否在实存中。如在,则进行地址变换,按变换后的地址取出操作数,完成指令的功能,然后将继续下一条指令的执行。如不在,引起缺页中断,进入中断处理程序。
31. 出页:某一页从实存移到辅存
32. 入页:某一页从辅存调入实存
33. 抖动,系统颠簸,反复进行出页和入页,浪费大量处理机时间。
34. 各种页面置换算法!做题!
35. 程序应具有较高的局部化程度。这样程序执行时可经常集中在几个页面上进行访问,减少缺页中断次数。
36. 程序要有效的运行,它在主存中的页面数不应低于总页面数的一半。
37. 2次访内:分页存储管理、请求分页存储管理、分段存储管理
38. 3次访内:段页式存储管理
39. 了解分段存储管理、段页式存储管理
40. Windows NT使用了请求分页存储管理和FIFO的页面调度算法。
41. Windows NT的页面大小为4K。
42. Windows NT的虚拟存储管理程序是NT执行体的重要组成部分之一,是Windows NT的基本存储管理系统。
43. Windows NT运行在32位的386以上的微机上,所以每个进程都有4GB(2的32次)的虚拟地址空间。
44. 虚拟地址空间的4GB被分成两部分。高地址的2GB保留给系统使用,而低地址的2GB才是用户的存储区,这个存储区可被用户态和核心态的线程访问。
45. 系统区分为三部分:
(1) 最上部分的固定页面区,称为非页交换区,用于存放永不换出内存的页面。
(2) 第二部分是页交换区,存放非常驻内存的系统代码和数据。
(3) 最后是直接映射区,由硬件直接交换,这些页面常驻内存永不失效。
46. 虚拟存储管理的实现包括两个方面:
(1) 地址变换机构
(2) 页面调度策略
1. 文件是一个具有符号名的一组相关联元素的有序序列。
2. 文件中的“元素”是可编址的最小信息项目(字或字节)。
3. 一个文件由若干个称为逻辑记录的最小单位组成。记录是一个有意义的信息集合,它是作为对文件进行存取操作的基本单位。
4. 一个文件的各个记录的长度可以相等也可以不相等。
5. 慢速字符设备也是一个文件,如键盘输入文件、打印机文件
6. 操作系统中负责管理和存取文件信息的软件机构称为文件管理系统,简称文件系统。
7. 文件系统三部分组成
(1) 与文件管理有关的软件
(2) 被管理的文件
(3) 实施文件管理所需的数据结构
8. 在操作系统中增设了文件管理部分后,为用户带来的好处:
(1) 使用的方便性:实现了按名存取。
(2) 数据的安全性:提供保护措施,防止有意无意的破坏文件。
(3) 接口的统一性:可以使用统一的广义指令或系统调用来存取各种介质上的文件。
9. 文件按性质和用途分为:
(1) 系统文件
(2) 库文件
(3) 用户文件
10. 系统文件:对用户不直接开放,只能通过系统调用为用户服务。
11. 库文件:允许用户调用,但不允许用户修改。
12. 用户文件:由用户委托操作系统保存的文件。
13.用户文件根据使用情况分为:
(1) 临时文件
(2) 档案文件
(3) 永久文件
13. 根据文件的保护形式分为:
(1) 只读文件
(2) 读写文件
(3) 不保护文件
14. 按文件信息的流向分为:
(1) 输入文件:如键盘输入文件,只能输入
(2) 输出文件:如打印机文件,只能输出
(3) 输入输出文件:在磁盘、磁带上的文件,可读可写
15. 文件系统的重要作用就是在用户的逻辑文件和相应设备上的物理文件之间建立映射,实现二者之间的转换。
16. 文件的存取方法是由文件的性质和用户使用文件的要求决定的。
17. 文件的两种逻辑结构:
(1) 有结构的记录式文件
(2) 无结构的流式文件
18. 记录式文件分为:
(1) 定长记录文件
(2) 变长记录文件
19. 每个块称为物理块,块中的信息称为物理记录。
20. 文件的物理结构
(1) 连续结构
(2) 串联结构
(3) 索引文件
(4) Hash文件
21. 若一个逻辑文件的信息存放在文件存储器上的相邻物理块中,称该文件为连续文件(又称顺序文件),这样的结构是连续结构。
22. 串联结构也称链接结构。缺点是只适合顺序存取,不便于直接存取。
23. 索引文件要求为每一文件建立一张索引表,其中每一表目指出文件逻辑记录所在的物理块号。
24. 索引表是在文件建立时由系统自动建立的,并与文件放在同一文件卷上。
25. 存放索引表的物理块称为索引表块。
26. 多个索引表块的组织方式:
(1) 串联文件方式
(2) 多重索引方式
27. UNIX文件的物理结构是多重索引结构,逻辑结构是流式文件。
28. Hash法,又称散列法、杂凑法
29. Hash法不同的键值在计算之后,可能会得到相同的键值,这种现象称为“地址冲突”。
30. 解决地址冲突的办法叫做溢出处理技术,这是设计Hash文件主要考虑的问题。方法有:顺序探索法、二次散列法等。
31. 文件存取方法是指读写文件存储器上的一个物理块的方法。
32. 文件存取方法:
(1) 顺序存取法
(2) 直接存取法
(3) 按键存取法
33. 在提供记录式文件结构的系统中,顺序存取法就是严格按物理记录排列的顺序依次存取。如果当前存取的记录是i,则下次要存取的记录自动为i+1。
34. 直接存取法适合于索引表。
35. 按键存取法是按文件中各记录内容进行存取。
36. 文件的物理结构依赖于:
(1) 文件存储器的特性
(2) 存取方法
37. 如果采用直接存取法,索引文件效率最高、连续文件效率居中、串联文件效率最低。
38. 多级目录结构又称树形目录结构。
39. 在树形目录中,根节点称为根目录,枝节点称为子目录,叶子节点称为信息文件。
40. 根目录和子目录都是文件,称为目录文件。
41. 树形目录结构中,文件名的两种表示方法:
(1) 绝对路径名
(2) 相对路径名
42. 绝对路径名总是从根目录开始的,并且是唯一的。如果路径名的第一个字符是分隔符,那么这个路径就是绝对路径。
43. 注意“点”、“点点”表示法。
44. UNIX使用的目录结构中每个目录项包含:一个文件名和i节点号。
45. 位示图的基本思想是:用若干字节构成一张图,每个字节中每一位对应文件存储器中的一个物理块。
46. 位示图能反映磁盘盘块的分配情况,也称为盘图。
47. 位示图保存在内存中。
48. 实现文件共享的方法:
(1) 同名共享
(2) 异名共享
49. 同名共享:各个用户使用同一文件名(包括其路径)来访问某一文件。
50. 异名共享:各个用户使用各自不同的文件名来访问某个文件。
51. 异名共享所采用的方法称为文件的勾连。
52. 实现勾连的两种方法:
(1) 基于索引节点的共享(硬连接)
(2) 基于符号链的共享(软连接)
53. 自己看书P155
54. 管道是一种特殊的文件,是一个特殊的打开文件。
55. 管道组成部分:
(1) 一个外存索引节点
(2) 相应的内存索引节点
(3) 两个系统打开文件表
56. 进程创建一个管道文件后,接着创建一个或几个子进程。子进程把父进程的打开文件全部继承下来,于是父进程创建的管道文件就为父子进程所共享。
57. 管道文件是一个临时文件,以磁盘为中介实现进程间的通信,与内存相比,通信速度较慢。只适合父子进程间的通信。
58. 管道文件要解决的两个特殊问题:管道文件读写的同步和互斥。
59. 进程向管道中写入数据时,当写入的数据大于规定的长度时,就要使写进程挂起,等到数据被读进程取走后再唤醒进程;在读进程从管道中读数据时,当管道中的数据被读完后读进程也应挂起,待写进程再次向管道写数据时唤醒读进程。
60. 读写互斥时,防止几个进程同时对管道文件进行读写,实施操作前要先加锁。
61. 存取控制矩阵,在内存中。把文件的存取权限和用户的存取进行比较,如果不一致,则拒绝存取。
62. 文件系统为用户提供的系统调用:
(1) 建立/删除
(2) 打开/关闭
(3) 读/写文件
1. IO设备按使用特性分:
(1) 存储设备
(2) 输入输出设备
(3) 终端设备
(4) 脱机设备
2. IO设备按所属关系分:
(1) 系统设备:打印机、磁盘、时钟
(2) 用户设备
3. IO设备按资源分配角度分:
(1) 独占设备:多数的低速IO设备。打印机
(2) 共享设备:
(3) 虚拟设备:通过假脱机(spooling)技术把原来的独占设备改造成可为若干个进程所共享的设备。
4. IO设备按传输数据数量分
(1) 字符设备:传输数据以字节为单位。打印机
(2) 块设备:传输数据以数据块为单位。磁盘
5. 只有一个盘片的磁盘称为软盘。有若干个盘片组成的磁盘称为硬盘。
6. 磁盘两部分组成:
(1) 旋转体
(2) 读写笔
7. 磁道:存取臂移动到某一固定位置,对应的磁头就在磁盘上画的一个圆。
8. 每条磁道具有相同的扇区数,每个扇区有相同的字节数。
9. 物理块的物理地址三部分组成:
(1) 柱面号
(2) 磁道号
(3) 物理记录号
10. 读写每个扇区的时间是一样的。
11. IO控制方式:
(1) 循环IO测试方式
(2) 程序中断IO方式
(3) DMA方式
(4) 通道方式
12. 循环IO测试方式,CPU大量时间用在等待输入、输出和循环检测上,效率很低。
13. 程序中断IO方式,仅当IO操作正常或异常结束时才中断CPU。实现了一定程度的并行性。
14. DMA方式,块设备都支持DMA方式。
15. 设备控制器三部分组成:
(1) 设备控制器与CPU的接口:数据线、地址线、控制线
(2) 设备控制器与设备的接口:数据信号、控制信号、状态信号
(3) IO逻辑
16. 具有通道结构的计算机系统,主存、通道、控制器、设备之间采用四级连接、三级控制。
17. 采用通道之后的IO操作过程:CPU在执行用户程序时,如遇到IO请求,则它用IO指令启动指定通道上选址的设备,一旦启动成功,通道开始控制设备进行操作。当设备IO操作完成后,由通道发出IO,结束中断,CPU停止当前工作,转向中断服务程序。
18. 通道按信息交换方式和连接设备不同分为三类:
(1) 字节多路通道
(2) 选择通道
(3) 数组多路通道
19. 字节多路通道:为连接大量慢速设备而设置的。以字节为单位交叉工作。当一台设备传送一个字节后,立即去为另一台设备传送一个字节。
20. 选择通道:连接快速设备。以成组方式工作。一次只为一个设备服务。
21. 数组多路通道:先为一台设备执行一条通道命令,然后自动转换,为另一台设备执行一条通道命令。
22. 由于通道的成本高,因此通道远比设备少。
23. IO处理机的指令称为通道命令。一条通道命令称为一个通道命令字(CCW)。用通道命令编写的程序称为通道程序,也叫IO程序。编写通道程序的过程叫通道程序设计或IO程序设计。
24. 在通道进行输入输出期间,要访问两个固定内存单元:通道地址字(CAW)、通道状态字(CSW)
25. 输入输出指令是中央处理器的指令,这类指令均为特权指令,只能在管态下运行。
26. 当用户程序要求在主存和IO设备间传送数据时,就在用户程序中以广义指令或系统调用的形式向操作系统提出IO要求。这样,处理机的状态就由算态进入管态,在管态下运行的系统程序就可以使用IO指令了。
27. CPU和通道之间是主从关系。CPU是主设备、通道是从设备。
28. CPU和通道之间的通讯方式是:
(1) 由CPU向IO通道发送IO指令,命令通道工作,并检查其工作情况。
(2) 通道以中断方式向CPU汇报,等候CPU处理。
29. IO软件设计的目标:
(1) 设备无关性
(2) 错误处理
(3) 同步异步传输
(4) 处理独占设备和共享设备的IO操作
30. 错误应该在接近硬件的地方处理。只有在底层软件处理不了的情况下才通知高层软件。
31. IO系统应组织成一下4个层次:
(1) 中断处理程序(最低)
(2) 设备驱动程序
(3) 与设备无关的IO软件
(4) 用户空间IO软件(最高)
32. 中断处理程序位于IO系统的最底层。当进程需要进行IO操作时,操作系统把进程挂起,即进入阻塞,直至IO操作结束引发中断。当中断发生时,中断处理程序执行相应的操作,以解除相应进程的阻塞状态。
33. 每一个设备驱动程序只处理一种设备或一类密切相关的设备。
34. 被阻塞的驱动程序必须由中断唤醒。
35. 与设备无关IO软件:
(1) 设备命名
(2) 设备保护
(3) 与设备无关的块大小
(4) 数据缓冲
(5) 数据块的分配
(6) 对独占设备的分配与释放
(7) 错误处理
36. 缓冲技术包括输入缓冲和输出缓冲。
37. 输入缓冲:在用户进程需要数据之前,操作系统已经把数据从设备读入系统存储区中。
38. 输出缓冲:操作系统先把要输出的数据写入系统缓冲区,当进程继续运行时,再把数据送往设备输出。
39. 缓冲区按使用方式分:
(1) 专用缓冲区
(2) 通用缓冲区
40. 缓冲池:公用缓冲技术
41. 缓冲池应具有四种工作缓冲区:
(1)用于收容输入数据的工作缓冲区
(2)用于提取输入数据的工作缓冲区
(3)用于收容输出数据的工作缓冲区
(4)用于提取输出数据的工作缓冲区
42. 缓冲池的4种工作方式
(1) 收容输入
(2) 提取输入
(3) 收容输出
(4) 提取输出
43. 操作系统对块设备的管理通常采用缓冲池技术。为了提高块设备的读写效率,操作系统广泛采用了预先读和延迟写技术。
44. 磁盘的驱动调度是先进行移臂调度,再进行旋转调度。
45. 重点:移臂调度算法!
46. 设备分配的4种数据结构:
(1) 设备控制块(UCB)
(2) 控制器控制块(CUCB)
(3) 通道控制块(CCB)
(4) 系统设备表(SDT)
47. 一个通道程序一经启动便一直进行下去,直到最后完成。在它完成之前不会产生中断。所以IO调度不能使用时间片轮转法。
48. 单通路IO系统的设备分配步骤:
(1) 分配设备:根据进程n提出的进程名(由逻辑设备名装换到物理设备名),来检索SDT,从中找到该物理设备的UCB,根据UCB的状态,可知设备的忙闲。若忙,则将要求IO的进程插入到等待设备的等待队列中。如不忙,可以进行分配。
(2) 分配控制器:当系统把该设备分配给要求的IO的进程后,从UCB中的控制器表指针找到与此设备相连的控制器表CUCB,再检查该表的状态信息。若忙,将进程插入到等待该控制器的队列;若不忙,则把控制器分配给进程。
(3) 分配通道:通过CUCB找到与此控制器相连的通道表,从中了解此通道的状态信息。若忙,则将进程插入到通道中等待;若不忙,将通道分配给进程。
(4) 于是,进程所请求的IO设备、控制器、通道已得到,就可以进行信息传送了。