【操作系统】01-操作系统引论

计算机操作系统——引论



第一章 操作系统引论

操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序的集合。


1.1 操作系统目标和作用

1.1.1 操作系统目标

  1. 方便性
  2. 有效性
  3. 可扩充性
  4. 开放性

1.1.2 操作系统的作用

  1. OS作为用户与计算机硬件系统之间的接口
  2. OS作为计算机系统资源的管理者
    资源:处理机、存储器、I/0设备以及文件(数据和程序)
  3. OS实现了对计算机资源的抽象

1.1.3 推动操作系统的主要动力

  1. 不断提高计算机资源利用率
  2. 方便用户
  3. 器件的不断更新换代
  4. 计算机体系结构的不断发展
  5. 不断提出新的应用需求

1.2 操作系统的发展过程

OS的发展和计算机硬件技术、体系结构相关。

第1代(1946-1955年):电子管时代
第2代(1955年-1965年):晶体管时代
第3代(1965-1970年):中小规模集成电路时代
第4代(1970年-至今):大规模和超大规模集成电路时代

1.2.1 未配置操作系统的计算机系统

1、人工操作方式

处理过程

早期的操作方式是由程序员将事先已穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。

缺点

  1. 用户独占系统
  2. CPU 等待人工操作

2、脱机输入/输出(Off-Line I/O)方式

处理过程

事先将装有用户程序和数据的纸带(或卡片) 装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当 CPU 需要这些程序和数据时,再从磁带上将其高速地调入内存。

优点:可以解决人机矛盾以及CPU与I/O设备速度不匹配的矛盾。

  1. 减少了CPU的空闲时间
  2. 提高了I/O速度

1.2.2 单道批处理系统

处理过程

首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。

目的:提高系统资源的利用率和系统吞吐量

特征:自动性;顺序性;单道性

缺点:系统资源得不到充分利用

1.2.3 多道批处理系统

处理过程

在系统中,用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。

特征:调度性;无序性;多道性

优点:提高 CPU 的利用率;提高内存和 I/O 设备利用率;增加系统吞吐量。

  1. 资源利用率高
  2. 资源吞吐量大

缺点

  1. 平均周转时间长
  2. 无交互能力

多道批处理系统需要解决的问题

  1. 处理机争用问题
  2. 内存分配和保护问题
  3. I/O设备分配问题
  4. 文件的组织和管理问题
  5. 作业管理问题
  6. 用户与系统的接口问题

1.2.4 分时系统

分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。

用户需求

  1. 人–机交互
  2. 共享主机
  3. 便于用户上机

处理过程

主机以很短的时间片为单位,把CPU轮流分配给每个终端使用;直到所有作业被运行完。若某个作业在分配给它的时间片内未完成计算,则该作业暂停运行,把处理器让给其他作业使用,等待下一轮再继续使用。若终端数量不多,每个终端很快就能重新获得CPU,使得每个终端得到及时响应。

  • 及时接收:配置多路卡和缓冲区

  • 及时处理:实现人-机交互的方式:

    1. 作业直接进入内存
    2. 采用轮转运行方式

特征

  1. 多路性:系统允许将多台终端连接到一台主机上,并按分时原则为每个用户服务。
  2. 独立性:每个用户在各自的终端上进行操作,彼此之间互不干扰。
  3. 及时性:用户的请求能在很短的时间内获得响应。
  4. 交互性:用户可通过终端与系统进行广泛的人机对话。

缺点:不能有效处理紧急任务,不区分任务的紧急性。

1.2.5 实时系统

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

应用需求

  1. 实时控制
  2. 实时信息处理

实时系统类型

  1. 工业(武器)控制系统
  2. 信息查询系统
  3. 多媒体系统
  4. 嵌入式系统

实时任务类型

  1. 按任务执行时是否呈现周期性来划分
    • 周期性实时任务:外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。
    • 非周期性实时任务:无明显的周期性,但都必须联系着一个截止时间(Deadline)。它又可分为开始截止时间(某任务在某时间以前必须开始执行) 和完成截止时间(某任务在某时间以前必须完成)两部分
  2. 根据对截止时间的要求来划分
    • 硬实时任务(Hard real-time Task,HRT):系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
    • 软实时任务(Soft real-time Task,SRT):也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。

特征

  1. 多路性
  2. 独立性
  3. 及时性
  4. 交互性
  5. 可靠性(实时系统比分时系统要求更高度可靠)

优点: 能够优先响应一些紧急任务,某些紧急任务不需时间片排队。

1.2.6 微机操作系统的发展

  1. 单用户单任务操作系统:只允许一个用户上机,且只允许用户程序作为一个任务运行。
    代表:CP/M、MS-DOS
  2. 单用户多任务操作系统:只允许一个用户上机,但允许用户把程序分成若干个任务,使他们并行执行,从而有效改善了系统的性能。
    代表:Windows
  3. 多用户多任务操作系统:允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。
    在大、中和小型机中所配置的大多是多用户多任务操作系统,而在32位微机上,也有不少配置的是多用户多任务操作系统。代表:UNIX OS

1.3 操作系统的基本特性

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

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

1.3.1 并发(Concurrence)

并发执行,使OS能有效提高系统中的资源利用率,增加系统的吞吐量。

并行与并发

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

单处理机:并发执行
多处理机:并发 / 并行执行

进程(Process)

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

进程在没引入线程之前是系统进行资源分配和调度的基本单位。在引入线程的 OS 中,通常都是把进程作为分配资源的基本单位,而把线程(Threads) 作为独立运行和独立调度的基本单位

1.3.2 共享(Sharing)

在操作系统环境下,所谓共享,是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种资源共同使用称为资源共享,或称为资源复用

实现方式

  1. 互斥共享方式
    临界资源:在一段时间内只允许一个进程访问的资源,例如:系统的大多数物理设备如打印机,以及某些软件中所用的栈、变量和表格等。
  2. 同时访问方式
    系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。例如:磁盘、共享代码、共享库等。

1.3.3 虚拟(Virtual)

操作系统中的所谓虚拟,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。相应地,用于实现虚拟的技术称为虚拟技术

实现方式

  1. 时分复用技术:虚拟处理机技术、虚拟设备技术
  2. 空分复用技术:虚拟磁盘技术、虚拟存储器技术

如果虚拟的实现是通过时分复用的方法来实现的,即对某一物理设备
进行分时使用,设 N 是某物理设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速度必然等于或低于物理设备速度的 1/N。

类似地,如果是利用空分复用方法来实现虚拟,此时一台虚拟设备平均占用的空间必然也等于或低于物理设备所拥有空间的 1/N。

1.3.4 异步(Asynchronism)

在多道程序环境下,系统允许多个进程并发执行。
在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。

可见,由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,而是以“停停走走”的方式运行。进程是以人们不可预知的速度向前推进的,此即进程的异步性。


1.4 操作系统的主要功能

1.4.1 处理机管理功能

主要功能:创建和撤消进程(线程),对诸进程(线程)的运行进行协调,实现进程(线程) 之间的信息交换,以及按照一定的算法把处理机分配给进程(线程)。

  1. 进程控制
  2. 进程同步:常用协调方式:进程互斥方式;进程同步方式。
  3. 进程通信
  4. 调度:在传统OS中,调度包括作业调度和进程调度两步。

1.4.2 存储器管理功能

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

  1. 内存分配
  2. 内存保护
  3. 地址映射
  4. 内存扩充

1.4.3 设备管理功能

主要任务:完成用户进程提出的IO请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。

  1. 缓冲管理
  2. 设备分配
  3. 设备处理

1.4.4 文件管理功能

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

  1. 文件存储空间的管理
  2. 目录管理
  3. 文件的读/写管理和保护

1.4.5 操作系统与用户之间的接口

  1. 用户接口:为了便于用户直接或间接地控制自己的作业。
    1. 联机用户接口
    2. 脱机用户接口
    3. 图形用户接口
  2. 程序接口:为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。

1.4.6 现代操作系统的新功能

  1. 系统安全

    认证技术
    密码技术
    访问控制技术
    反病毒技术

  2. 网络的功能和服务

    网络通信
    资源管理
    应用互操作

  3. 支持多媒体

    接纳控制功能
    实时调度
    多媒体文件的存储


1.5 OS结构设计


posted @ 2022-11-07 14:01  0dot7  阅读(151)  评论(0编辑  收藏  举报