DJ1-2 操作系统引论

目录

一、操作系统的发展过程

1. 无操作系统

2. 单道批处理系统

3. 多道批处理系统

4. 分时操作系统

5. 实时系统

二、操作系统的基本特征

1. 并发性

2. 共享性

3. 虚拟性

4. 异步性

三、操作系统的主要功能

1. 处理机管理功能

2. 存储器管理功能

3. 设备管理功能

4. 文件管理功能

5. 用户接口


一、操作系统的发展过程

1. 无操作系统

(1)人工操作方式

一台计算机的所有资源由用户独占,降低了计算机资源利用率。同时人工操作慢,出现了严重的人机矛盾。总结为以下缺点:

  • 用户独占全机
  • CPU 等待人工操作

输入输出依靠穿孔卡片。

DJ1-2 操作系统引论_第1张图片

(2)脱机输入输出方式

在外围计算机的控制下,实现输入输出。
主要解决了CPU与设备之间不匹配的矛盾,提高了I/O速度

2. 单道批处理系统

(1)含义

系统对作业的处理都是成批进行的,且在内存中始终仅存一道作业运行,运行结束或出错,才自动调另一道作业运行,故称为单道批处理系统。

JCL(Job Control Language)

事先将需要运行的若干个作业整理成一个批处理文件,再送给计算机。任一时刻,内存中仅存一道作业运行,即该作业独占所有的资源。CPU 运行完一个作业后,计算机自动调用下一道作业,该过程不需要人工干预。

(2)特点

  • 单道批处理系统主要特征:自动性、顺序性、单道性。
  • 单道批处理系统主要优点:减少人工操作,解决了作业的自动接续。
  • 单道批处理系统主要缺点:平均周转时间长,没有交互能力。

Input 作业和 Output 作业时 CPU 处于等待状态,浪费资源;使用单道批处理系统将不能对程序进行调试,也不能中途键入内容等。

周转时长

周转时长是指从提交 Job 到 Job 运行结束所需要的时间,即等待时长 + 运行时长。如:Job2 的周转时长 = Job2 等待 Job1 运行完毕的时长 + Job2 运行的时长;Job1 的周转时长 = Job1 运行的时长。

一般来说,平均周转时长越短,意味着各个 Job 的等待时长越短。

3. 多道批处理系统

(1)含义

在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行。

多道 = 多少个作业,取决于 RAM 中能存放几个作业。

Input、CPU、Output 能同时工作,即当 Job1 进行 Output 时,CPU 能同时运行 Job2 。

多道批处理系统也是将作业一个一个地读入计算机,并且按照一定顺序进行运行。

(2)特点、优点、问题

主要特点:多道性、无序性、调度性(进程调度和作业调度)

主要优点:提高了资源利用率和系统吞吐率。

  • 提高 CPU 的利用率。
  • 提高内存和 I/O 设备的利用率。
  • 增加系统的吞吐率。

需要解决的 5 个问题:

  • 处理机管理:分配和控制 CPU
  • 存储器管理:内存分配与回收
  • I/O 设备管理:I/O 设备的分配与操纵
  • 文件管理:文件的存取、共享和保护
  • 作业管理:如何组织作业运行

由于单道批处理系统中一道作业独占所有资源,因此不需考虑上述问题。

(3)举例

设内存中有三道程序 A、B 和 C,它们按 A、B、C 的优先次序执行。它们的计算时间和 I/O 操作时间如下表所示。
假设三道程序能够使用相同的设备进行 I/O 操作,即程序以串行方式使用设备,试画出单道运行和多道运行的时间关系图(调度程序的执行时间忽略不计)。在两种情况下,完成这三道程序各要花多少时间?

A B C
计算 30ms 60ms 20ms
I/O 40ms 30ms 40ms
计算 10ms 10ms 20ms

单道批处理系统运行的甘特图

DJ1-2 操作系统引论_第2张图片

多道批处理系统运行的甘特图

多道批处理系统按照顺序来执行各个作业。对于红点标注位置,虽然为了避免程序切换过程一般采用非剥夺形式,但本例是按顺序执行各个程序,因此逻辑上需要进行抢占。

DJ1-2 操作系统引论_第3张图片

4. 分时操作系统

DJ1-2 操作系统引论_第4张图片

(1)分时系统的产生

用户需要:人机交互、共享主机、便于用户上机。

(2)分时系统实现中的关键问题

  • 及时接收:实现多个用户的信息及时接收。
  • 及时处理:及时控制作业的运行。

(3)分时系统实现的方法

  • 简单分时系统
  • 具有 “前台” 和 “后台” 的分时系统
  • 多道分时系统

(4)分时系统的特点

  • 多路性:一个主机与多个终端相连。
  • 独立性:彼此独立操作,互不干扰。
  • 及时性:系统能在很短的时间得到回答。
  • 交互性:能实现人机对话(区别于批处理系统)。

(5)典型的分时系统

  • Multics (MIT)
  • UNIX
  • Linux

5. 实时系统

(1)实时系统的含义

是指计算机及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致的运行。

规定时间内:开始截止时间 - 结束截止时间。

  • 实时控制系统:工业控制、军事控制、医疗控制等。
  • 实时信息处理系统:航班定票、联机情报检索等。

(2)实时系统的特点

  • 响应及时(prompt response)
  • 可靠性高(high reliability)

(3)实时系统的任务类型

DJ1-2 操作系统引论_第5张图片

硬实时任务失败将导致灾难性后果,软实时任务失败将导致坏的后果。

(4)实时系统的特征

  • 多路性:能对多个对象进行控制。
  • 独立性:独立运行,不混淆,不破坏。
  • 交互性:仅限于访问系统中某些特定的专用服务程序。
  • 可靠性:高可靠性,应具有多级容错防护能力。
  • 及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。

二、操作系统的基本特征

现代 OS 的四个基本特征:

  • 并发性(最基本特征)
  • 共享性
  • 虚拟性
  • 异步性

并发是最重要的特征,其它特征都以并发为前提,即并发性导致了共享性、虚拟性和异步性。

并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。

1. 并发性

(1)并行性和并发性

  • 并行性:是指两个或多个事件在同一时刻发生。(至少要有两颗 CPU)
  • 并发性:是指两个或多个事件在同一时间间隔内发生。

同一时刻,A 使用 CPU,B 使用 I/O,也是并行。

(2)任务共行

从宏观上看,任务共行是指系统中有多个任务同时运行;

从微观上看,任务共行是指单处理机系统中的任务并发或多处理机系统中的任务并行。

  • 任务并发(Task Concurrency)即多个任务在单个处理机上交替运行。
  • 任务并行(Task Parallelism)即多个任务在多个处理机上同时运行。

处理机就是指的 CPU 。

(3)进程

是指系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈等组成的独立运行的活动实体。

程序 进程
静态实体 动态实体
程序 + 数据 PCB + 程序 + 数据

(4)线程

由于切换进程的代价较大,因此引入线程的概念。

线程 进程
作为独立运行和调度的基本单位 作为资源分配的基本单位
程序 + 数据 PCB + 程序 + 数据

线程不持有任何资源,需要时使用相应进程的资源。

2. 共享性

是指系统中的资源可供内存中多个并发执行的进程共同使用。

(1)互斥共享方式

把在一段时间内只允许一个进程访问的资源,称为临界资源。如:打印机、栈、表格等。系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进程使用,称为互斥共享方式。

(2)同时访问方式

  • 从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源。
  • 从微观上看,多个进程交替互斥地使用系统中的某个资源,如:磁盘。

3. 虚拟性

虚拟:是指通过某种技术把一个物理实体映射为若干个逻辑上的对应物。

(1)时分复用技术

  • 虚拟处理机:分时实现
  • 虚拟设备:SPOOLING技术

(2)空分复用技术

  • 虚拟磁盘技术:逻辑分区
  • 虚拟存储器:虚拟存储管理实现

内存不够,硬盘来凑,即虚拟内存容量 = 内存容量 + 硬盘系统区容量。

DJ1-2 操作系统引论_第6张图片

RAM 里的内容运行完后,产生缺页中断。将已运行的部分从 RAM 送入硬盘,将未运行的部分从硬盘送入 RAM 。

4. 异步性

是指多道程序环境下程序(进程)以异步的方式执行,每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的。

导致执行结果不确定,程序不可再现。

三、操作系统的主要功能

操作系统的主要任务

为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。

操作系统应具有五方面的功能

  1. 处理机管理(CPU):控制器和运算器
  2. 存储器管理(RAM)
  3. 设备管理:输入输出设备
  4. 文件管理
  5. 用户接口

前 3 点是对冯诺依曼体系中硬件系统的五大部件的管理。

1. 处理机管理功能

主要功能 :按照一定的算法把处理机分配给进程(线程),并对其进行有效的管理和控制。

① 进程控制

② 进程同步和互斥

  • 进程互斥方式(考信号量)
  • 进程同步方式

③ 进程通信

④ 进程调度

2. 存储器管理功能

主要功能 :为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。

① 内存分配

② 内存保护

③ 地址映射

④ 内存扩充

3. 设备管理功能

主要功能 :完成用户进程提出的 I/O 请求;为用户进程分配其所需的 I/O 设备;提高 CPU 和 I/O 设备的利用率;提高 I/O 速度;方便用户使用 I/O 设备。

① 缓冲管理:有效地缓和 CPU 和 I/O 设备速度不匹配的矛盾 ,提高 CPU 的利用率。

② 设备分配:根据 I/O 请求,分配其所需的设备。(解决锁死)

③ 设备处理:设备处理程序又称为设备驱动程序。

4. 文件管理功能

主要功能 :对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。

① 文件存储空间的管理

② 目录管理

③ 文件的读/写管理和保护(权限管理:E/R/W)

5. 用户接口

(1)计算机用户需要的用户命令  

由 OS 实现的所有用户命令所构成的集合常被人们称为 OS 的 Interface (用户接口),有时也称为命令接口。

(2)应用软件需要的系统调用 System Call

由 OS 实现的所有系统调用所构成的集合被人们称为程序接口或应用编程接口(Application Programming Interface,API)。

你可能感兴趣的:(计算机操作系统,服务器,运维,学习,网络)