【中级软件设计师】上午题部分:第二章 操作系统

在这里插入图片描述

2.1 进程管理(常考)

进程的概念:是程序在一个数据集合上运行的过程,他是系统进行资源分配调度的一个独立单位,其由程序块,进程控制块(PCB),数据块三部分组成

进程与程序的区别:

进程是程序的一次执行过程,没有程序就没有进程。
程序是完成某个特定功能的一系列程序语句的集合,只要其不被破坏,他就永远存在。程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤消而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。

进程的状态(三态模型):就绪、运行、等待(阻塞)
在这里插入图片描述
只有就绪状态和运行状态可以相互转换,其他关系间不能双向转换

进程的同步与互斥:

临界资源:虽然多个进程可以共享系统中的各种资源,但其中许多资源一段时间内只能为一个进程所使用,我们把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机等。此外,还有许多变量、数据等都可以被若干进程共享,也属于临界资源
**进程同步:**在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系,为了协调进程之间的相互制约关系,引入了进程同步的概念。
**进程互斥:**对临界资源的访问,需要互斥的进行。同一个时间段内只允许一个进程访问该资源。

临界区:每个进程中,访问临界资源的代码称为临界区。
信号量:用于描述系统资源的特殊变量,可正可负,其操作与队列有关
信号量n的含义:
n>0:当前有可用资源,可用资源数为n
n=0:资源都被占用,可用资源数为0
n<0:资源都被占用,并且还有n个进程正在排队

PV操作(常考)
P操作:申请资源,使信号量减少
V操作:释放资源,使信号量增多

前趋图(常考)
前趋图是一个由结点和有向边构成的有向无循环图。该图通常用于表现事务之间先后顺序的制约关系。图中的每个结点可以表示一个语句、一个程序段或是一个进程,结点间的有向边表示两个结点之间存在的前趋关系。
对于某个操作来说其指入箭头是其前驱操作的V操作,指出箭头是当前操作的P操作
前趋图

系统资源图(常考)
系统资源图
请添加图片描述

化简方法

第一步:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的空闲资源分配给它)的
第二步:把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回	收回来
第三步:看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点。
第四步:最后,所有的资源和进程都变成孤立的点。这样的图就叫做“可完全简化”。
如果一个图可完全简化,则不会产生死锁;如果一个图不可完全简化(即:图中还有“边”存在),则会产生死锁。这就是“死锁定理”。 

死锁的避免方法

Ⅰ 有序资源分配法
进程需要多少资源就分配多少资源,不会造成死锁,但是会造成资源的很大浪费
Ⅱ 银行家算法
当一个进程对资源的最大需求量不超过系统中的资源数时就可以接纳该进程。
进程可以分期请求资源,但请求总数不能超过最大需求量
当系统现有资源不能满足进程尚需的资源数时,对进程的请求可以推迟分配,但总是能使进程在有限时间内得到资源

如何判断同类资源是否分配不当而导致系统死锁

扫描二维码关注公众号,回复: 14671893 查看本文章
系统中有m个可分配资源,被n个进程使用,每个进程最大占用资源数w
若满足n*(w-1)+1>m则系统不会发生死锁

2.2 存储管理

存储方式主要分为:页式存储、段式存储、段页式存储

页式存储

将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
主体思想:把主存空间划分为大小相等且固定的块,块相对较小。每个进程也以块为单位进行划分,进程在执行,以块为单位诸葛申请主存中的块空间。
进程中的块称为页(Page),内存中的块称为页框(Page Frame 或页帧)。外存中也以相同的方式进行划分,称为块。进程在执行时需要申请内存空间,即为每个页面分配内存中的可用页框,也就产生了页与页框的一一对应关系。

地址结构:包含两部分,页号P和页内偏移量W
地址结构决定了虚拟内存的寻址空间有多大

页表:为了便于在内存中找到进程中的每个页面对应的物理块,系统为每个进程建立一张页表,用于记录页面在内存中对应的物理块号,页表一般存放在内存中。

逻辑地址=页号+页内地址
物理地址=页帧号+页内地址

优缺点
优点:利用率高、碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象,违背局部性原理!

段式存储

按用户作业中的自然段来划分作业空间,然后调入内存中。段的长度可以不一样

段表:每个进程都有一张逻辑空间与内存空间映射的段表,其中每个段表项对应进程的一段,段表项记录该段在内存中的起始地址和长度
段表用于实现逻辑段到物理内存区的映射

优缺点
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大

题目会要求根据段表来判断给定段号和长度是合法段还是非法段

段页式存储

段式和页式的综合体,先分段,再分页,一个程序有若干段,每个段中可有若干页,每个页的大小相同,但每个段的大小不同

优点:空间浪费小,存储共享容易,存储保护容易,能动态链接
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也就有所增加,使得运行速度大大下降

2.3 虚拟内存技术

基于局部性原理,在程序装入时,将程序的一部分装入内存,而将其余部分留在外存,就可以启动程序执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的内容换出到外存上,从而腾出空间存放将要调入内存的信息,这样,系统好像为用户提供了一个比实际内存大得多的存储器,称为虚拟存储器。

页面置换算法(用于决定应换入哪页、换出哪页)

好的页面置换算法应有较低的页面更换频率,也就是说,应将以后不会再访问或长时间内不会访问的页面先调出
常见页面置换算法:

最佳置换算法(OPT)

该算法选择的被淘汰页面是以后永不使用的页面,或是在最长时间内不再被访问的页面,以保证获得最低的缺页率。然而,我们并不能预知进程在内存下的若干页面那个是未来最长时间内不在被访问的,因而该算法无法实现。

先进先出算法(FIFO)

优先淘汰最早进入内存的页面,即在内存中驻留时间最久的页面。该算法实现简单,但与进程实际运行规律不相适应,因为在进程中有的页面会经常被访问。

最近最久未使用算法(LRU)

选择最近最长时间未访问过的页面予以淘汰,他认为过去一段时间内内访问的页面,在最近的将来可能也不会被访问。

随机算法(RAND)

随机选择一页进行换出

2.4文件管理(非重点)

相对路径与绝对路径

这个能区分就行,此处不做赘述
注意树形目录结构
在这里插入图片描述
以/代表根目录
相对路径与绝对路径:
绝对路径:以F2为例,其绝对路径为/D1/W2/F2
相对路径:以F2为例 D1为当前根,那么F2的相对路径为W2/F2
注意:相对路径不包括当前根!

磁盘管理

存储时间=寻道时间+等待时间

常见磁盘调度算法:
先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描算法(SCAN,电梯算法)、循环扫描算法(CSCAN)

2.5 作业管理(非重点)

常见作业调度算法:
先来先服务、时间片轮转法、最高优先权优先法、高响应比优先法

响应比=作业等待时间/执行时间

位视图法请添加图片描述

请添加图片描述
数据传输控制方式:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_56662453/article/details/127938300