操作系统总结及知识网图

相关课程链接

数据结构总结与知识网图
计算机网络知识总结及知识网图
操作系统总结及知识网图
计算机组成原理总结及知识网图

第一章 计算机系统概述

知识网图

在这里插入图片描述

操作系统概念

操作系统是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方提供方便接口与环境的程序集合。

并发性和并行性的比较

并发性:是指两个或多个事件在同一时刻发生。并行性:是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但在单处理器系统中每个时刻只能有一道程序执行,在微观上这些程序只能分时地交替执行。如果计算机系统中有多个处理器,则这些可以并发执行的程序可被分配到多个处理器上,实现并行执行,即利用每个处理器来处理一个可并发执行的程序。

特权指令和非特权指令

特权指令:是指由特殊权限的指令,若使用不当则会导致系统崩溃。如清内存,分配系统资源,修改虚存的段表或页表,修改用户的访问权限等。为了保证系统安全,特权指令只能用于操作系统或其他系统软件,不能直接提供给用户使用,特权指令必须在核心态执行。
用户态下只能使用非特权指令,核心态下可以使用全部指令。在用户态下使用特权指令时,会产生中断以阻止用户使用特权指令。
从用户态转换为核心态的唯一途径是中断或异常。

访管指令与访管中断

访管指令:是一条可以在用户态下执行的指令。通过使用访管指令,产生一个中断事件(自愿中断),从而将操作系统转换为核心态,称为访管中断
访管中断访管指令产生,程序员使用访管指令向操作系统请求服务。

第二章 进程管理

知识网图

在这里插入图片描述

进程与程序的区别

1)进程是暂时的,程序是永久的;
2)进程是动态的,程序是静态的;
3)进程至少由代码、数据和PCB组成,程序仅由代码和数据组成;
4)程序代码经过多次创建可对应不同的进程,而同一系统的进程(或线程)可由系统调度的方法被不同的进程(或线程)多次使用。

进程的定义

1)进程是程序的一次执行过程。
2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
3)进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。

进程创建的执行过程

1)为新进程分配一个唯一的进程标识号,并申请一个空白的PCB
2)为进程分配资源,为新进程的程序数据用户栈分配必要的内存空间。
3)初始化PCB,主要包括初始化标志信息、初始化处理机状态信息和初始化处理机控制信息以及设置进程的优先级等。
4)若进程就绪队列能够接纳新进程,则将新进程插入就绪队列,等待被调度运行。

进程终止的执行过程

1)根据被终止进程的标识符,检索PCB,从中读出该进程的状态
2)若被终止进程处于执行状态,立即终止该进程的执行,将处理机资源分配给其他进程。
3)若该进程还有子孙进程,则应将其所有子孙进程终止。
4)将该进程所拥有的全部资源,或归还给其父进程,或归还给操作系统。

进程阻塞原语的执行过程

1)找到将要被阻塞进程的标识号对应的PCB
2)若该进程为运行态,则保护其现场,将其状态转为阻塞态,停止运行。
3)把该PCB插入相应事件的等待队列,将处理机资源调度给其他就绪进程。

进程唤醒原语执行过程

1)在该事件的等待队列中找到相应进程的PCB
2)将其从等待队列中移出,并置其状态为就绪态
3)把该PCB插入就绪队列,等待调度程序调度。

进程切换的过程

1)保存处理机上下文,包括程序计数器及其他寄存器。
2)更新PCB信息。
3)把进程的PCB移入相应的队列,如就绪、在某事件阻塞等队列。
4)选择另一个进程执行,并更新PCB。
5)更新内存管理的数据结构。
6)恢复处理机上下文。

三级调度的联系

1)作业调度为进程活动做准备,进程调度使进程正常活动,中级调度将暂时不能运行的进程挂起,中级调度处于作业调度进程调度之间。
2)作业调度次数少,中级调度次数略多,进程调度频率最高。
3)进程调度是最基本的,不可或缺的。

管程的组成部分

1)管程的名称
2)局部于管程内部的共享结构数据说明;
3)对该数据结构进行操作的一组过程(或函数)
4)对局部于管程内部的共享数据设置初始值的语句

同步与互斥

同步也称直接制约关系,是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。如管道通信,一个进程写,一个进程读,它们是相互制约的。
互斥也称间接制约关系,比如多个进程同时请求打印机(无SPOOLing技术时)。

银行家算法的工作原理

银行家算法的主要思想是避免系统进入不安全状态。在每次进行资源分配时,首先检查系统是否有足够的资源满足要求,若有则先进行分配,并对分配后的新状态进行安全性检查。若新状态安全,则正式分配上述资源,否则拒绝上述资源分配。保证系统始终处于安全状态,从而避免了死锁现象的发生。

第三章 内存管理

知识网图

在这里插入图片描述

用户源程序变为可在内存中执行的程序所需的步骤

编译:由编译程序将用户源代码编译成若干目标模块**。
链接:由链接模块将编译后形成的一组目标模块及所需的库函数链接在一起,形成一个完整的装入模块。
装入:由装入程序将装入模块装入内存运行。

内存保护的两种方法

1)在CPU中设置一对上下限寄存器,存放用户作业在主存中的下限和上限地址,每当CPU要访问一个地址时,分别和两个寄存器的值相比,判断有无越界。
2)采用重定位寄存器(或基址寄存器)界地址寄存器来实现保护。重定位寄存器含最小的物理地址值,基地址寄存器含逻辑地址的最大值。每个逻辑地址值必须小于界地址寄存器;内存管理机构动态地将逻辑地址与界地址寄存器进行比较,若未发生地址越界,则加上重定位寄存器的值后映射成为物理地址,再送交内存单元。

地址转换过程(不具有快表)

1)计算页号P(P=A/L)与页内偏移量W(W=A%L).
2)比较页号P和页表长度M,若页号P大于页表长度M,则产生越界中断,否则继续执行。
3)页表中页号P对于的页表项地址=页表始址F+页号P页表项长度,取出该页表内容b,即为物理块号。
4)计算E=b
L+W,得到物理地址E,进行访存。

具有快表的地址转换过程

1)CPU给出逻辑地址,根据硬件进行地址转换,将页号送入高速缓存寄存器,并将此页号与快表中所有页号进行比较。
2)若找到匹配的页号,说明所要访问的页表在快表中,直接从块表中取出该页对应的页框号,与页内偏移量拼接构成物理地址,则存取数据只需访存一次即可。
3)若未找到与一般中断的匹配的页号,则需要访问主存中的页表,读出页表项后,应同时将其存入快表。若快表已满,则按照一定的算法对旧的页表进行替换。

请求分页地址转换过程

请求分页系统中的地址转换机构,是在分页系统地址转换机构的基础上,为实现虚拟内存,又增加某些功能而形成的。在进行地址转换时,先检索快表
若在快表中找到要访问的页,则修改页表项中的访问位,然后利用页表项中给出的物理块号和页内地址形成物理地址。
若在快表中未找到该页的页表项,则从内存中去查找页表,再对比页表项中的状态位P,查看该页是否已调入内存,若未调入则产生缺页中断,请求从外存把该页调入内存。

第四章 文件管理

知识网图

在这里插入图片描述

文件共享方式

1)基于索引结点的共享方式(硬链接)
该共享方式,将文件的物理地址其他的文件属性等信息不放入目录项中,而放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针。在索引结点中有一个链接计数count,用于表示链接到本索引结点上的用户目录项的数目。只有当count为0时,表示没有用户使用该文件,系统将负责删除该文件。
2)利用符号链实现文件共享(软链接)
在利用符号链方式实现文件共享时,只有文件的拥有者才拥有指向其索引结点的指针。而共享该文件的其他用户只有指向该文件的路径名,并不拥有指向其索引结点的指针。
当文件拥有者把一个共享文件删除后,其他共享用户通过符号链访问时将访问失败,并将符号链删除。
若当文件拥有者删除共享文件,而在其他共享的用户使用符号链访问该文件之前,又有用户在同一路径下创建另一个具有同一名称的文件,则符号链仍然有效,但访问的文件发生变化,导致错误。
硬链接和软链接都是文件系统中的静态共享方法,在文件系统中还存在着动态共享方法,即两个进程同时对同一个文件进行操作。

文件分配方式

文件分配对应于文件的物理结构,是指如何为文件分配磁盘。常见有以下三种方式:
1)连续分配
为每个文件分配连续的磁盘块,磁盘地址定义了磁盘上的一个线性排序。这种排序使作业访问磁盘时需要的寻道数和寻道时间最小。
特点:实现简单,存取速度快,但文件长度不宜动态增加。
2)链接分配
链接分配采取离散分配的方式,消除外部碎片,提高磁盘空间的利用率,便于文件的增删改。
隐式链接:每个文件对应一个磁盘块的链表;除最后一个盘块外,每个盘块都有指向下一个盘块的指针,目录包括文件的第一块的指针和最后一块的指针。
显式链接:将用于链接文件各物理快的指针,从每个物理块的块末尾提取出来,显示地存放在内存的一张链接表中,即文件分配表FAT每个表项中存放对应块的下一块链接指针,即下一个盘块号。
FAT表在系统启动时就会被读入内存,查找FAT的过程是在内存中进行的。
3)索引分配
每个文件所有的盘块号集中存放在索引表中,每个文件都有其索引块,这是一个磁盘块地址的数组。创建文件时,索引块的所有指针都设为空。
索引分配支持直接访问,且没有外部碎片,但由于索引块的分配,增加了系统存储空间的开销

解决索引块太小无法支持大文件的策略

1)链接方案
一个索引块通常为一个磁盘块,因此它本身可以直接被读写。为了处理大文件,可以将多个索引块链接起来。
2)多层索引
将第一次索引块指向第二层索引块,第二层索引块在指向文件块。这种方法根据最大文件大小,可以继续到第三层或第四层。
3)混合索引
将多种索引分配方式相结合的分配方式。

文件存储空间管理

1)空闲表法
属于连续分配方式,为每个文件分配一块连续的内存空间。系统为外存上的所有空闲区建立一张空闲盘块表,每个空闲区对应于一个空闲表项,其中包括表象序号、该空闲区第一个盘块号、该区的空闲盘块数等信息,再将所有空闲区按其起始盘块号递增的次序排列。
2)空闲链表法
空闲盘块链:将磁盘上的所有空闲空间盘块为单位拉成一条链。
空闲盘区链:将磁盘上的所有空闲空间盘区为单位拉成一条链。
3)位示图法
利用二进制的一位来表示磁盘中一个盘块的使用情况,磁盘上所有的盘块都有一个二进制位与之对应。0表示对应的盘块空闲,1表示对应的盘块已分配。
4)成组链接法
将顺序的n个空闲扇区地址保存在第一个空闲扇区内,其后一个空闲扇区内则保存另一个顺序空闲扇区的地址,如此连续,直至所有空闲扇区均予以链接。系统只需保存一个指向第一个空闲扇区的指针。

第五章 输入输出管理

知识网图

在这里插入图片描述

程序直接控制方式

计算机从外部设备读取数据到存储器,每次读一个字的数据。对读入的每个字,CPU需要对外设状态进行循环检查,直到确定该字已经在I/O控制器的数据寄存器中。在程序直接控制方式中,由于CPU的高速性和I/O设备的低速性,导致CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成了CPU资源的极大浪费。
CPU之所以要不断测试I/O设备的状态,就是因为在CPU中未采用中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。

中断驱动方式

允许I/O设备主动打断CPU的运行并请求服务,从而“解放”CPU,使得其向I/O控制器发送读命令后可以继续做其他有用的工作。
中断驱动方式比程序直接控制方式有效,但由于数据中的每个字在I/O控制器之间的传输必须经过CPU,导致中断驱动方式仍然会消耗较多的CPU事件。

DMA方式

在I/O设备和内存之间开辟直接的数据交换通路。基本单位是数据块,所传送的数据,是从设备直接的送入内存的,或者相反。仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整个数据的传送是在DMA控制器的控制下完成的。

通道控制方式

I/O通道是指专门负责输入/输出的处理机。I/O通道方式是DMA方式的发展,可以进一步减少CPU的干预,即把一对数据块的读(写)为单位的干预,减少为对一组数据块的读(或写)及有关控制和管理为单位的干预。同时,又可以实现CPU、通道、I/O设备三者的并行操作,更有效地提高整个系统的资源利用率。

###I/O子系统的层次结构

1)用户层I/O软件
实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。
2)设备独立性软件
用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护及设备分配与释放等,同时为设备管理和数据传送提供必要的存储空间。
3)设备驱动程序
与硬件直接有关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序
4)中断处理程序
用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完并恢复被中断进程的现场后,返回被中断进程。
5)硬件设备

设备控制器(适配器)的主要功能:

1)接受和识别CPU或通道发来的命令,如磁盘控制器能接收读写查找等命令
2)实现数据交换,包括设备和控制器之间的数据传输;通过数据总线或通道,控制器和主存之间的数据传输
3)发现和记录设备及自身的状态信息,供CPU处理使用
4)设备地址识别

引入缓冲区的主要目的

1)缓和CPU与I/O设备之间的速度不匹配。
2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
3)解决基本数据单元大小(即数据粒度)不匹配问题。
4)提高CPU和I/O设备之间的并行性
其采用方法如下:
1)采用硬件缓冲器,但成本高
2)采用缓冲区(位于内存区域)

知识网图

链接: https://download.csdn.net/download/weixin_42104154/16486701.

猜你喜欢

转载自blog.csdn.net/weixin_42104154/article/details/113004686