[关闭]
@zongwu 2017-06-22T01:31:57.000000Z 字数 1604 阅读 376

软考 - 操作系统章节(摘要)

软件架构师


操作系统类型

操作系统:是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理地组织计算机工作流程和有效利用资源,在计算机与用户之间起接口的作用。

根据使用环境和对作业的处理方式,操作系统可分为:批处理、分时、实时、网络、分布式操作系统

批处理系统的主要特征:有用户脱机使用计算机、成批处理、多道程序运行。
分时系统的主要特征:交互性、多用户同时性和独立性。
实时操作系统的主要特征:即时响应、高可靠性。
网络操作系统的主要特征:互操作性、协作处理。
分布式操作系统的主要特征:【待整理】。

无论何种操作系统都应具备5个基本功能:处理器管理、存储管理、设备管理、文件管理、作业管理

操作系统结构(架构)

操作系统的结构可以分为:无序结构、层次结构、面向对象、对称多处理结构、微内核结构。

无序结构(整体结构、模块组合结构):面向过程的操作系统,主要理由模块化设计来解耦。
层次结构:面向大型系统分解若干单向依赖的层次,如:MVC、MVP、MVVM等。
面向对象结构:适用于网络操作系统和分布式操作系统。
对称多处理结构:系统中的所有处理机运行且共享同一内存(内存储器、主存、实存)。
微内核结构:把系统的公共部分抽象出来,形成底层核心。提供最基本的服务,其它功能以服务器的形式建立在微内核之上。如:gulp符合微内核的架构,自身提供5个基本function用于定义任务、调度时机,其它服务由plugin实现。

原文是“结构”但总是觉得词不达意,理解成“架构”更恰当。

处理器管理

静态角度:进程由程序、数据、进程控制块(Process Control Block,PCB)组成。
动态角度:进程是计算机状态的有序集合。

PCB是进程存在的唯一标志,描述了进程的基本情况。主要分为:调度信息执行信息两部分。

三态模型

  1. 运行态:正在占用处理器。
  2. 就绪态:具备运行条件,等待系统分配处理器以便运行。
  3. 阻塞态:不具备运行条件,等待资源释放。

image_1bj6k6m2p1gj41oh4e7h1ohicskm.png-12.5kB

五态模型

三态模型假设所有进程都在内存中,但实际上可能出现由于进程不断创建,导致系统已不能满足进程运行的要求。这时候就必须挂起某些进程,对换到磁盘中(序列化写到本地,释放占用的内存)。

image_1bj6kphk6175f16vohgo7t7lob13.png-24.7kB

信号量与PV操作

在操作系统中,进程之间经常会存在互斥和同步两种关系。为了有效处理这两者,提出了信号量和PV操作。

  1. P(信号量)
  2. ...
  3. ----临界区----
  4. ...
  5. V(信号量)

互斥控制

  1. 假设只允许1个进程进入临界区,即设置S=1。
  2. 当进程调度发生时首先执行P操作,即S=S-1。
  3. 此时S=0,不满足S<0的条件即进程可以进入临界区。我们假设临界区的代码执行完毕需耗时3秒。
  4. 此时又有进程发生调度,即S=S-1。得到此时的结果S=-1,不满足可调度的状态该进程将会pause。并且如果S<0,则S的绝度值则表示等待调度的进程数量。
  5. 3秒后第一个进程已经访问临界区完毕,则执行V操作S=S+1,得到结果是0。则之前阻塞的进程就绪被调度到临界区。
  6. ……(省略)

同步控制

同步控制可以理解成为上述互斥控制的演化。

  1. 进程A | 进程B
  2. ... | ...
  3. ... | void pay();
  4. P(信号量) | V(信号量)
  5. ... | ...

需求是在B执行pay()完成之前,不允许进程A执行P(信号量)以下的方法。则我们需要设置S=0,这样需要依赖V操作,这样P操作才不会阻塞。

上面这个例子赋予一定的语义,就可以理解为最简单的生产消费模式。如:进程B先使用支付购买了提货券,然后进程A使用提货券进行消费。

理解PV操作

信号量的初值表示资源的可用数,如信号量初值=0,则会先做V操作。

PV操作一定是成对出现的。在互斥关系中它是在一个进程中成对出现,在同步关系中它是在多个进程中成对出现。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注