操作系统【一】

一、操作系统引论


0.基础概念和问题

什么是操作系统?

1、系统的基本特征

四个基本特征:并发、共享、虚拟和异步

(1)并发

并行性:两个或多个事件在同一时刻发生

并发性:两个或多个事件在同一时间间隔内发生

进程——在系统中能独立运行并作为资源分配的基本单位

(2)共享

在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用

  • 互斥共享方式(例如打印机,仅当 A 进程访问完并释放系统资源后,才允许另一进程访问该资源)
    • 临界资源(独占资源):一段时间内只允许一个进程访问的资源
  • 同时访问方式(如磁盘设备,一段时间内是可以同时访问的。这里的同时是宏观层面上的)

(3)虚拟

通过虚拟技术把一个物理上地实体变为若干个逻辑上的对应物

用于实现虚拟的技术,称为虚拟技术

  • 时分复用技术:通过利用处理机的空闲时间运行其它程序提高处理机的利用率
    • 把一个单一的大时间段分成多个时间片,交替执行各个进程。比如说虚拟处理器技术就是时分复用技术的一种 —— 单核计算机同时打开多个软件,在用户看来感觉像是多个 CPU 在跑这些软件。
  • 空分复用技术:通过利用存储器的空闲空间分区域存放和运行多道程序,提高内存的利用率
    • 虚拟存储器技术就是空分复用技术的一种 —— 计算机只有 4G 内存,虽然各个运行的软件消耗的总的内存远不止 4G,但它们还是可以正常运行,在用户看来感觉像是物理内存超过了 4G。

(4)异步

指进程的执行顺序和执行时间的不确定性

多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底的,以不可预知的速度向前推进。

2、系统的主要功能

(1)处理机管理功能

进程控制:为作业创建进程、撤销已结束的进程,以及控制进程在运行过程中的状态转换

进程同步:为多个进程(含线程)的运行进行协调

  • 协调方式:互斥和同步

进程通信:用来实现在相互合作的进程之间的信息交换;

调度:作业和进程的状态切换,包括作业调度和进程调度

(2)存储器管理功能

内存分配:为每道程序分配内存空间,提高存储器的利用率,允许正在运行的程序申请附加的内存空间;

存储保护:确保每道用户程序都只在自己的内存空间中运行,彼此互不干扰;

地址映射(变换):进程的逻辑地址到内存物理地址的映射。

内存扩充:用虚拟存储技术解决内存容量不足的问题;

(3)设备管理功能

缓冲管理:在 I/O 和 CPU 之间引入缓冲,匹配CPU和外设的速度,提高两者的利用率和并行操作程度;

  • 缓冲区机制包括:单缓冲机制、双缓冲机制、公用缓冲池机制

设备分配:根据用户请求的设备类型和采用的分配算法,对设备进行分配

设备处理:实现 CPU 与设备控制器之间的通信。

(4)文件管理功能

文件存储空间的管理:为文件分配外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度;

目录管理:为文件建立一个目录项,并对众多的目录项加以有效组织,实现方便的按名存取,能实现文件共享,提供快速的目录查询手段。

文件读写管理和保护:对外存中的文件进行读写,提供防护

(5)用户接口

命令接口(用户直接使用):联机用户接口、脱机用户接口

  • 联机用户接口:由一组磁盘操作命令和命令解释程序组成
  • 脱机用户接口:由一组作业控制语言JCL组成

程序接口(用户通过程序间接使用):让用户程序在执行中访问系统资源,是用户程序取得 OS 服务的唯一途径,有时候也叫做系统调用

图形用户接口

二、进程的描述与控制


操作系统学习笔记-3:初识进程和进程控制

1、前趋图和程序执行

只有在不存在前趋关系的程序之间才可能并发执行

程序并发执行时的特征

  • 间断性:相互制约导致并发程序具有“执行—暂停—执行”这种间断性的活动规律
  • 失去封闭性:程序在并发执行时,多道程序共享系统的资源,因而这些资源的状态由多道程序来改变,程序运行失去封闭性。一程序的运行受到其他程序的影响。
  • 不可再现性:程序在并发执行时,失去封闭性导致其失去可再现性。

程序在并发执行时,多道程序共享系统的资源, 程序运行失去封闭性。一程序的运行受到其他程序的影响, 失去封闭性导致其失去可再现性。

2、进程的描述

在多道程序设计的环境下,为了描述程序在计算机系统内的执行情况,必须引入新的概念--进程

(1)进程的特征

  • 结构性(结构特征):进程实体=程序段+进程控制块(PCB)+相关的数据段

  • 动态性

    • 进程:进程实体的一次执行过程,有生命周期。
    • 程序:程序是一组有序指令的集合,是静态的概念。
  • 并发性

    • 多个进程实体同存于内存中,在一段时间内同时运行,可以并发。

    • 程序不能并发执行。

  • 独立性:进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位,而程序则不是。

  • 异步性:进程按各自独立的、不可预知的速度向前推进

(2)进程的状态及转换

三态模型:在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化。进程一般有3种基本状态:运行、就绪和阻塞。

五态模型:对于一个实际的系统,进程的状态及其转换更为复杂。引入新建态和终止态构成了进程的五态模型。

  • 创建态:初始化 PCB,为进程分配系统资源

  • 就绪状态(Ready):进程已获得除CPU之外的所有必需的资源,一旦得到CPU控制权,立即可以运行。

  • 运行状态(Running) :该进程已获得运行所必需的资源,它的程序正在 处理机上执行。

  • 阻塞状态(Block)(等待或睡眠状态):正在执行的进程由于发生某事件而暂时无法执行时,便放弃处理机而处于暂停状态,则称该进程处于阻塞状态或等待状态。

  • 终止态(结束态):回收为进程分配的资源,撤销 PCB

(3)挂起操作及进程状态转换

挂起:前面所说的状态转换,是建立在内存资源够用的情况下 —— 当系统资源尤其是内存资源不够时,就需要将一些进程挂起(suspend),对换到外存中。

(2)原因:

引起进程挂起的原因是多样的,主要有:

  • 系统中的进程均处于阻塞态,处理器空闲,此时需要把一些阻塞进程对换出去,以腾出足够的内存装入就绪进程运行。
  • 进程竞争资源,导致系统资源不足,负荷过重,此时需要挂起部分进程以调整系统负荷,保证系统的实时性或让系统正常运行。
  • 把一些定期执行的进程(如审计程序、监控程序、记账程序)对换出去,以减轻系统负荷
  • 用户要求挂起自己的进程,以便根据中间执行情况和中间结果进行某些调试、检查和改正。
  • 父进程要求挂起自己的后代进程,以进行某些检查和改正。
  • 操作系统需要挂起某些进程,检查运行中资源使用情况,以改善系统性能;或当系统出现故障或某些功能受到破坏时,需要挂起某些进程以排除故障。
状态解释
活动就绪态 → 静止就绪态操作系统根据当前资源状况和性能要求,可能会把活动就绪态对换出去,成为静止就绪态。处于静止就绪态的进程不再被调度执行
静止就绪态 → 活动就绪态内存中没有进程处于活动就绪态,或者处于静止就绪态的进程具有更高的优先级,那么静止就绪态就会被对换回来,此时才可能被调度执行
活动阻塞态→ 静止阻塞态操作系统根据当前资源状况和性能要求,可能会把活动阻塞态对换出去,成为静止阻塞态。
静止阻塞态→ 静止就绪态常见的情况是,引起进程等待的事件发生之后,相应的静止阻塞态进程将转换为静止就绪态
静止阻塞态→ 活动阻塞态但有时候,如果静止阻塞态进程的优先级高于静止就绪队列中的任何进程、并且系统有把握它等待的事件即将完成,那么就会激活为活动阻塞态
运行态→ 静止就绪态优先级较高的静止阻塞态在等待的事件完成后,可能会抢占 CPU,若此时资源不够,则可能导致正在运行的进程挂起为静止就绪态
创建态→ 静止就绪态如果不分配给新建进程所需资源,则相应的进程将会转为静止就绪状态,对换到外存,不再参与调度,此时进程的创建工作尚未完成。

进程一旦被挂起,就意味着它被对换到了外存中,此时该进程无法再被 CPU 直接调度,除非它被对换回内存中,回到活动就绪态。比如静止就绪态、静止阻塞态,最后要得到 CPU 的调度,都必须经历回归到活动就绪态的过程。

(4)进程管理中的数据结构

存放进程的管理和控制信息的数据结构称为进程控制块。

PCB的作用

  • ①作为独立运行基本单位的标志。
    • 使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。
  • ②能实现间断性运行方式。在多道程序环境下,程序采用走走停停间断性的运行方式,当进程暂停运行时,必须保存运行时的CPU现场信息,有了PCB就可以将CPU现场信息保存在被中断进程的PCB中,供该进程下次被调度执行时恢复CPU现场时使用。
  • ③提供进程管理所需要的信息。系统根据进程PCB中记录的程序和数据在内存或外存中的地址来找到相应的程序和数据。在进程的整个生命周期中,操作系统总是根据PCB来实现对进程的控制盒管理。
  • ④提供进程调度所需要的信息。PCB中记录了进程所处的状态信息。进程调度时需要的其它信息如优先级、进程等待时间、已执行时间等信息也存放在进程的PCB中。
  • ⑤实现与其它进程的同步与通信。进程同步机制是用于实现多个进程的协调运行的,在采用信号量机制时,要求在每个进程的PCB中都设置有相应的用于同步的信号量。在进程的PCB中还具有用于实现进程通信的区域或通信队列指针。

它是进程管理和控制的最重要的数据结构,在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。

进程控制块是进程存在的唯一标志。

系统的所有PCB组织成链表或队列,常驻内存的PCB区。

  • 进程控制块是操作系统中最重要的记录型数据结构。
  • PCB中记录了OS所需的、用于描述进程情况及控制进程运行所需的全部信息。
    • 进程标识符:外部内部各一个
    • 处理机状态:通用寄存器、指令计数器、程序状态字 PSW,用户栈指针
    • 进程调度信息:进程状态、进程优先级、其它的进程调度信息
    • 进程控制信息:程序和数据的地址、进程同步和通信机制、资源清单、链接指针
  • OS是根据PCB来对并发执行的进程进行控制和管理的。
  • 在进程的整个生命期中,系统总是通过PCB对进程进行控制的,系统是根据进程的PCB而感知到该进程的存在的。
-----------------------本文结束 感谢阅读-----------------------
坚持原创技术分享,您的支持将鼓励我继续创作!恰饭^.^~