【系统架构设计师】100 个高频知识点

【系统架构设计师】100 个高频知识点

1.典型的操作系统

(1) 批处理操作系统

1)原理:通过把用户提交的作业分类,将一批中的作业编成一个作业执行序列。
2)分类批处理:分为联机批处理和脱机批处理。
3)主要特征:用户脱机使用计算机、成批处理、多道程序运行。

(2) 分时操作系统

1)原理:采用分时技术,使多个用户同时以会话方式控制自己程序的运行,每个用户都感到似乎各自有一台独立的、支持自己请求服务的系统。分时技术把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续运行。
2)主要特征:交互性、多用户同时性、独立性。

(3) 实时操作系统

1)原理:实时操作系统往往是专用的,系统与应用很难分离,紧密结合在一起。实时系统不强调资源利用率,而更关心及时性(时间紧迫性)、可靠性和完整性。
2)分类实时系统:分为实时过程控制与实时信息处理。
3)主要特征:提供即时响应、高可靠性。

(4) 网络操作系统

1)原理:按照网络架构的各个协议标准进行开发,包括网络管理、通信、资源共享、系统安全和多种网络应用服务等。在网络系统中,各计算机的操作系统可以互不相同,它需要有一个支持异种计算机系统之间进程通信的网络环境,以实现协同工作和应用集成。
2)主要特征:互操作性、协作处理。

(5) 分布式操作系统

分布式操作系统要求有个统一的操作系统,实现系统操作的统一性,负责全系统的资源分配和调度,为用户提供统一的界面。它是一个逻辑上紧密耦合的系统。目前还没有真正实现的网络操作系统。

2.进程状态的划分

一个进程从创建而产生至撤销而消亡的整个生命周期,可以用一组状态加以刻画,为了便于管理进程,把进程划分为几种状态,分别有三态模型和五态模型。

(1) 三态模型

1)三种状态
如果假设所有进程都在内存中,可以将进程的状态划分为以下三种:

①运行态:占有处理器正在运行。
②就绪态:具备运行条件,等待系统分配处理器以便运行。
③等待态(阻塞态):不具备运行条件,正在等待某个事件的完成。

2)状态之间的转换

一个进程在创建后将处于就绪状态。每个进程在执行过程中,任一时刻当且仅当处于上述三种状态之一。同时,在一个进程执行过程中,它的状态将会发生改变,如下图。

图片[1]-【系统架构设计师】100 个高频知识点

运行状态的进程将由于出现等待事件而进入等待状态,当等待事件结束之后,等待状态的进程将进入就绪状态,而处理器的调度策略又会引起运行状态和就绪状态之间的切换。

(2) 五态模型

1)进程挂起的目的
实际使用中,进程不能总是全部存在于内存之中,有时需要将某些进程挂起,对换到磁盘镜像区中,使之暂时不参与进程调度,起到平滑系统操作负荷的目的。

2)五种状态
下图给出了具有挂起进程功能的系统中的进程状态。静止就绪态表明进程具备运行条件但目前在二级存储器(外存储器、外存、辅存)中,只有当它被对换到内存才能被调度执行。静止阻塞态则表明进程正在等待某一个事件且在二级存储器中。

图片[2]-【系统架构设计师】100 个高频知识点

3.信号量与 PV 操作

在操作系统中,进程之间经常会存在互斥(都需要共享独占性资源时)和同步(完成异步的两个进程的协作)两种关系。为了有效地处理这两种情况,W.Dijkstra 在 1965 年提出信号量和 PV 操作。
1)信号量:是一种特殊的变量,表现形式是一个整型 S 和一个队列。
2)P 操作:S=S-1,若 S<0,表示当前没有资源分配给该进程,进程暂停执行,进入等待队列。
3)V 操作:S=S+1,若 S≤0,表示阻塞队列中有等待该资源的进程,唤醒等待队列中的第一个进程。

4.利用 PV 操作实现进程的互斥控制

1)互斥控制是为了保护共享资源,不让多个进程同时访问这个共享资源,换句话说,就是阻止多个进程同时进入访问这些资源的代码段,这个代码段称为临界区,而这种一次只允许一个进程访问的资源称为临界资源。
2)为了实现进程互斥地进入自己的临界区,代码可以写为:

P(信号量) 
临界区 
V(信号量)

由于只允许一个进程进入,信号量 S 的初值应为 1。S 的值表示可以允许进入的进程数,当 S<0 时,其绝对值就是等待使用临界资源的进程数,也就是等待队列中的进程数。而当一个进程从临界区出来时,执行 V 操作(S=S+1),如果等待队列中还有进程(S≤0),则调入一个新的进程进入(唤醒)。

5.利用 PV 操作实现进程的同步控制

最简单的同步形式是进程 A 在另一个进程 B 到达 L2 以前,不应前进到超过点 L1,这样就可以使用如下程序:

进程 A               进程 B
…                       … 
L1:P(信号量) L1:V(信号量) 
…                       …

要确保进程 B 执行 V 操作之前,不让进程 A 的运行超过 L1,就要设置信号量 S 的初值为 0。这样,如果进程 A 先执行到 L1,那么执行 P 操作(S=S-1)后,S<0,则停止执行。直到进程 B 执行到 L2 时,执行 V 操作(S=S+1),唤醒 A 以继续执行。

6.死锁问题

(1) 定义

死锁是指多个进程之间互相等待对方的资源,而在得到对方资源之前又不释放自己的资源,造成循环等待的一种现象。如果一个进程在等待一个不可能发生的事件,则进程就死锁了。如果一个或多个进程产生死锁,就会造成系统死锁。

(2) 发生的必要条件

产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。产生死锁有 4 个必要条件:
1)互斥条件:即一个资源每次只能被一个进程使用。
2)请求保持条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放。
3)不可剥夺条件:有些系统资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。
4)环路条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源。死锁的 4 个条件只要打破任何一个,都不会产生死锁。

(3) 银行家算法

银行家算法是指在分配资源之前先看清楚资源分配后是否会导致系统死锁。如果会死锁,则不分配;否则就分配。按照银行家算法的思想,当进程请求资源时,系统将按如下原则分配资源:
1)当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进程。
2)进程可以分期请求资源,但请求的总数不能超过最大需求量。
3)当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
4)当系统现有的资源能满足进程尚需资源数时,必须测试系统现存的资源能否满足该进程尚需的最大资源数,若能满足则按当前的申请量分配资源;否则也要推迟分配。

7.存储管理

1)存储管理的主要任务:提高主存的利用率、扩充主存以及对主存信息实现有效保护。
2)存储管理的对象:主存储器(简称主存或内存)。
3)逻辑地址和物理地址:用户编程所用的地址称为逻辑地址(虚地址),而实际的内存地址则称为物理地址(实地址)。每次访问内存时都要进行逻辑地址到物理地址的转换,这种转换是由硬件完成的,而内存和外存间的信息动态调度是硬件和操作系统两者配合完成的。
4)地址重定位:程序的逻辑地址被转换成主存的物理地址的过程。地址重定位有两种方式:静态重定位和动态重定位。
5)最常见的虚存组织有分段技术、分页技术、段页式技术三种。下表列出了这三种存储组织的特点。

项目 段式管理 页式管理 段页式管理
划分方式 段(不定长),每个作业一张段表 页(定长),每个进程一张页表 先将内存分为等长页,每个作业一张段表(通常有一个基号指向它),每段对应一组页表
虚地址 (S,d),即(段内偏移) (P,d),即(页号,页内偏移) (S,P,d)即(段号,段内页号,页内偏移)
虚实转换 段表内找出起始地址,加段内偏移 页表内找出起始地址,然后加页内偏移 先在段表中找到页表的起始地址,然后在表中找到起始地址,最后加页内偏移
主要优点 简化了任意增长和收缩的数据段管理,利于进程间共享过程和数据 消除了页外碎片 结合了段与页的优点,便于控制存取访问
主要缺点 段外碎片降低了利用率 存在页内碎片 提高复杂度,增加硬件存在页内碎片
请登录后发表评论

    没有回复内容