第一章 计算机操作系统引论

第一章 操作系统引论

  • 前言
  • 1.1、操作系统的目标和作用
    • 1.1.1 操作系统的目标
    • 1.1.2 操作系统的作用
    • 1.1.3 推动操作系统发展的主要动力
  • 1.2 操作系统的发展史
    • 1.2.1 未配置操作系统的计算机系统
    • 1.2.2单道批处理系统
    • 1.2.3 多道批处理系统
    • 1.2.4 分时系统(时间片轮转方式)
    • 1.2.5 实时系统
    • 1.2.6 微机操作系统的发展
  • 1.3 操作系统的基本特性(并发、共享、虚拟、异步)
    • 1.3.1 并发
    • 1.3.2 共享
    • 1.3.3 虚拟
    • 1.3.4 异步性(不确定性)
  • 1.4 操作系统的主要功能
    • 1.4.1 处理机管理功能
    • 1.4.2 存储器管理
    • 1.4.3 设备管理
    • 1.4.4 文件管理功能
    • 1.4.5 操作系统与用户之间的接口
  • 1.5 OS结构设计
    • 1.5.1 传统操作系统结构
    • 1.5.2 客户/服务器模式
    • 1.5.3 微内核OS结构(第四代OS)


前言

本学期开始学习《计算机操作系统》,这是计算机专业非常重要的一门基础专业课,所以决定通过写博客的方式来总结知识重点。所用的教材是《计算机操作系统》(第四版)汤小丹
如有错误,欢迎指正。


1.1、操作系统的目标和作用

1.1.1 操作系统的目标

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

  1. 有效性
    改善资源利用率,提高系统吞吐量
    提高系统资源利用率是推动OS发展主要动力
  2. 方便性
    使计算机系统使用起来更方便
  3. 可扩充性
    能够不断适应发展的要求
  4. 开放性
    使来自不同厂家的计算机和设备能够有效地协同工作,实现应用的可移植性和互操作性

1.1.2 操作系统的作用

  1. OS作为用户与计算机硬件系统之间的接口
    含义:OS处于用户和计算机硬件系统之间,用户通过OS来使用计算机系统。
    第一章 计算机操作系统引论_第1张图片

由图可知:用户可以通过命令方式、系统调用方式和图形、窗口方式使用计算机

  1. OS作为计算机系统资源的管理者
    硬件资源:处理器、存储器、I/O设备
    信息资源:程序和数据
    OS的主要功能正是对以下四类资源进行有效的管理:
    处理机管理:用于分配和控制处理机
    存储器管理:主要负责内存的分配与回收
    I/O设备管理:负责I/O设备的分配(回收)与操作
    文件管理:实现对文件的存取、共享和保护

  2. OS实现对计算机资源的抽象
    当计算机上覆盖了操作系统后,便为用户提供了一台功能显著增强,使用更加方便,效率明显提高的虚拟计算机
    第一章 计算机操作系统引论_第2张图片由上图可知,用户需要了解物理接口的实现细节;利用机器指令进行编程。
    第一章 计算机操作系统引论_第3张图片
    由上图可知,用户无需了解物理接口的实现细节;在窗口环境下使用计算机。

通常把覆盖了上述软件的机器成为扩充机器虚机器

OS是铺设在计算机硬件上的多层软件的集合。他们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节。实现了对硬件操作的多个层次的抽象模型。

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

  1. 不断提高计算机资源利用率
    计算机价格昂贵!从单个作业到批处理作业,从单道程序到多道程序,以及SPOOLing,虚拟存储器和网络环境下允许所有网络用户访问文件系统和数据库系统
  2. 方便用户
    改善用户上机、调试程序时的环境
  3. 器件的不断更新换代
    微电子技术的迅猛发展,推动着计算机器件的更新换代。如芯片从8位→16位 →32位→64位。存储设备从磁盘→移动硬盘→闪存盘→扫描仪等。
  4. 计算机体系结构的不断发展
    单处理机系统到多处理系统,支持网络的网络操作系统
  5. 不断提出新的应用需求

1.2 操作系统的发展史

第一章 计算机操作系统引论_第4张图片

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

  1. 人工操作方式
    程序通过插板或卡片装入
    特点:无任何软件;有人工干预;用户独占全机;CPU等待人工操作
    缺点:人工操作方式严重降低了计算机资源利用率----人机矛盾,CPU—I/O速度不匹配的矛盾
  2. 脱机输入/输出方式
    事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。
    第一章 计算机操作系统引论_第5张图片
    程序和数据的输入和输出都是在脱离书记的情况下进行。
    优点:(1)减少CPU空闲时间;(2)提高I/O 速度

1.2.2单道批处理系统

工作方式:把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个连续处理。
工作过程:由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统这样一个作业一个作业地进行处理,直至磁带(盘)上的所有作业全部完成。

由工作特点可知,单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。

特点:自动性:作业能够自动地逐个依次运行,无须人工干预
顺序性:各道作业的完成顺序与进入内存的顺序相同
单道性:内存中仅有一道程序运行(最主要的缺点,造成系统资源得不到充分利用)

单道程序运行情况
第一章 计算机操作系统引论_第6张图片

1.2.3 多道批处理系统

多道程序设计原理】:在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行,共享CPU和外设等资源。采用多道程序设计技术的批处理系统称为多道批处理系统

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

多道批处理的优缺点

  1. 资源利用率 :内存中的多道程序可以共享资源,使得资源充分利用,提高CPU利用率,可提高内存和I/O设备的利用率
  2. 系统吞吐量大:CPU及其它资源保持忙碌,切换较少,系统开销小,使得系统在单位时间内所完成的总工作量较大
  3. 平均周转时间长(缺点):由于 作业需要排队,依次处理,周转时间较长
  4. 无交互能力(缺点):用户一旦将作业提交给系统,将不能与自己的作业交互,修改和调试程序不方便

多道程序运行情况
利用因I/O操作而暂停执行时的CPU空挡时间,调度另一道程序运行
第一章 计算机操作系统引论_第7张图片
多道批处理系统的特征
1.多道性:在内存中可驻留多道程序
2.无序性:多个作业完成的先后顺序与它们进入内存的顺序之间并无严格的对应关系
3.调度性:作业从提交给系统开始直至完成需要经历作业调度和进程调度

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

  1. 处理机管理问题:在多道程序之间如何共享处理机,使CPU既能满足各程序运行的需要,又能提高处理机的利用率。
  2. 内存管理问题:为各个作业分配必要的内存空间,使他们各得其所。
  3. I/O设备管理问题:有多种类型的I/O设备供多道程序共享,如何分配设备?如何既方便用户使用又能提高设备利用率?
  4. 文件管理问题:如何组织这些以文件形式存在的数据和程序?
  5. 作业管理问题:有的作业是I/O型,有些是计算型,有的要求系统能及时响应。如何组织这些作业?
  6. 用户接口问题: 为了方便用户使用,操作系统应提供用户使用的接口

单道与多道的对比
第一章 计算机操作系统引论_第8张图片
区分多道程序系统和多处理系统:
多道程序系统:多个程序在内存中交替运行(并发)
多处理系统:多个处理器(并行)

多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。

例题1:有3个作业A、B、C, A是计算作业、 B是检索磁带上数据的作业, C是打印作业。3个作业单道运行时间分别为5分钟、15分钟和10分钟。假设可在15分钟内并行完成这3个作业。则各资源的利用率分别为:
单道:CPU(A):5/30≈17% 磁带机(B):15/30 = 50% 打印机(C):10/30 = 33.3%
多道:CPU(A):5/15≈33.3% 磁带机(B):15/15 = 100% 打印机(C):10/15 = 66.6%
单道一次一个作业,总用时30min,多道一次多个作业:总用时按最多单个作业时间算

例题2:在有一台CPU和两台输入/输出设备(磁盘机和磁带机)的多道程序系统中,同时投入运行2个程序A和B。这2个程序对CPU和磁盘和磁带的使用顺序和使用时间为:
程序A:磁带(30S)、CPU(10S)、磁盘(30S)、CPU(10S)、磁带(20S)
程序B:磁盘(20S)、CPU(30S)、磁带(40S)
假定:CPU、磁盘和磁带都能并行工作
试问:在单道和多道两种方式下,
1、程序A和B从投入运行到运行完成所用的时间分别是多少?
2、CPU、磁盘和磁带的利用率是多少?

程序A、B同时运行情况如图:
第一章 计算机操作系统引论_第9张图片
由图知:(1)单道:A需要100s,B需要90s; 多道:A,B 共需120s (这类题画图最为直观)
(2)
第一章 计算机操作系统引论_第10张图片
例题3:采用多道程序设计技术能充分发挥__CPU外设__并行工作的能力
例题4:在主机控制下进行的输入/输出操作称为 _ 联机输入/输出 __操作。
例题5:引入多道程序技术的前提条件之一是系统具有(中断功能)。

1.2.4 分时系统(时间片轮转方式)

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

分时系统产生原因:1.人机交互的需求(主要动力)。 2.共享主机。 3.方便用户

工作方式:
1.一台主机连接了若干个终端
2.每个终端有一个用户在使用
3.交互式的向系统提出命令请求
4.系统接受每个用户的命令
5.采用时间片轮转方式处理服务请求
6.并通过交互方式在终端上向用户显示结果
7.用户根据上步结果发出下道命令
如图:
第一章 计算机操作系统引论_第11张图片
分时系统实现的关键问题

  1. 及时接收:利用多路卡,根据输入速度等因素同时接收多个终端的数据并暂存在缓冲区
  2. 及时处理:作业直接进入内存、采用轮转运行方式

分时系统特征

  1. 多路性:多用户同时操作、使用计算机
  2. 独立性:各终端用户感觉到自己独占了计算机;
  3. 及时性:用户的请求能在较短时间内响应;
  4. 交互性:用户能与计算机进行人——机对话。

1.2.5 实时系统

定义:系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
应用(类型)

  1. 实时控制:生产过程控制,火炮的自动控制系统、飞机的自动驾驶系统以及导弹的制导系统等。
  2. 实时信息处理系统:如飞机订票系统, 期货、股票交易系统、情报检索系统等。
  3. 多媒体系统:直播
  4. 嵌入式系统:芯片

任务类型:(1)周期性实时任务和非周期性(有开始和结束时间)实时任务(2)硬实时任务和软实时任务

实时系统与分时系统对比
第一章 计算机操作系统引论_第12张图片

除以上操作系统外,此处再补充:
网络操作系统:在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。

分布式系统:是只由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上。分布式计算机系统又简称为分布式系统。 从硬件上讲,它与计算机局域网没有任何区别,关键是软件。
分布式操作系统:是指配置在分布式系统上的操作系统。它能直接对分布式系统中的各种资源进行动态分配,并能有效地控制和协调分布式系统中各任务的并行执行,同时还向用户提供了一个方便的、透明的使用整个分布式系统的界面。
分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。

嵌入式操作系统:是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件

1.2.6 微机操作系统的发展

  1. 单用户单任务操作系统
    只允许一个用户上机,且只允许用户程序作为一个任务运行。如DOS。
  2. 单用户多任务操作系统
    只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善系统的性能。如Windows XP等。
  3. 多用户多任务操作系统
    允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而提高资源利用率和系统吞吐量。如Unix等。

例题1:_____批处理_____系统不允许用户随时干预自己程序的运行

1.3 操作系统的基本特性(并发、共享、虚拟、异步)

1.3.1 并发

  两个或多个事件在同一时间间隔内发生。与并行(parallel)不同,并行是指两个或多个事件在同一时刻发生。
  在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行并发,微观上交替执行(在单处理器情况下) 。如果系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。
  程序的静态实体可执行文件,而动态实体进程(或称作任务),所谓进程是在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成,是一个能独立运行的活动实体,并发指的是进程的并发

1.3.2 共享

  多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。

主要实现资源共享的方式有如下两种

  1. 互斥共享方式(如打印机),资源分配后到释放前,不能被其他进程所用。在规定时间内只允许一个进程访问该资源。
  2. 同时访问方式(如可重入代码,磁盘文件),允许一段时间内由多个进程“同时”对资源进行访问。“同时”,在单处理机环境下是宏观意义上的,在微观上是这些进程对资源的交替访问。

并发共享是多用户(多任务)OS的两个最基本的特征。他们又是互为存在的条件。

1.3.3 虚拟

  定义:通过某种技术将一个物理实体(实际存在)变为若干个逻辑上的对应物(虚的)的功能称为“虚拟”。

  虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。

  主要通过以下两个技术来 实现:

  1. 时分复用技术:利用某设备为一用户服务的空闲时间,转去为其他用户服务,使设备得到充分利用(虚拟后,设备n个,每台平均速度≤物理设备速度的1/n)
    虚拟处理机技术——每个用户(进程)都认为有一台“虚处理机”为其服务。(利用多到程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行。)
    虚拟设备技术——将一台物理I/O设备虚拟为多台逻辑上的I/O设备。如虚拟为多台逻辑上的打印机。
  2. 空分复用技术:利用存储器的空闲时间分区域存放和运行其他的多道程序,以此提高内存利用率。(虚拟后,设备n个,平均内存≤物理设备的1/n
    虚拟磁盘技术——一台硬盘虚拟成多个卷。
    虚拟存储器技术——请求调入或置换功能,可以使得一个100MB的应用程序运行在20MB的内存空间。

1.3.4 异步性(不确定性)

  异步性也称不确定性,指进程的执行顺序执行时间的不确定性。
  多道程序设计环境下,程序按异步方式运行。多个进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。
  如果没有很好的同步机制,可能会导致程序执行结果不确定,不可再现。相同输入与环境下多次运行结果不同。
  但只要在OS中配置有完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也都会获得完全相同的效果(当前操作系统中,都配置有很好的同步机制,保证程序多次运行的结果相同)。因此异步运行方式是允许的,而且是操作系统的一个重要特征。

1.4 操作系统的主要功能

1.4.1 处理机管理功能

  1. 进程控制:创建进程,撤销(终止)已结束进程,控制进程的运行状态转换。
  2. 进程同步:为使多个进程能有条不紊地运行,系统中必须设置相应的进程同步机制。设置进程同步信息,以协调系统中各进程的运行。最常用工具为信号量机制。最常用的两种方式互斥和同步方式。
  3. 进程通信:负责进程间的信息交换。
  4. 调度:主要包括两步
    作业调度:从后备队列中选择若干作业,分配所需资源。调入内存后,建立 进程并将其插入就绪队列。
    进程调度:从进程的就绪队列中,按一定的算法选出一个进程,把处理机分配给它,并为其设置运行现场,使进程投入执行。若是多线程OS,则是从就绪线程队列中选出一线程,并将处理机分配给它。

1.4.2 存储器管理

  1. 内存分配:为每道程序分配内存空间,并在作业结束后收回其所占用内存。进一步可分为静态分配(每个作业内存空间装入时确定,不允许再申请新的)和动态分配(装入时也是确定的,但允许申请新的)。
  2. 内存保护:保证每道程序之间不能互相侵犯,尤其是不能侵犯操作系统。 地址映射,实现逻辑地址到物理地址的转换。
  3. 内存扩充:借助虚拟存储技术,通过建立虚拟存储系统来实现内存逻辑上的扩充。常用请求调入功能和置换功能来实现

1.4.3 设备管理

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

  1. 缓冲管理:设立I/O缓冲区,并对缓冲区进行有效管理。
  2. 设备分配:按一定策略和设备使用情况,分配并回收设备。
  3. 设备处理:即设备驱动程序,实现CPU和设备控制器之间的通讯等

1.4.4 文件管理功能

  对用户文件和系统文件进行管理,解决文件资源的存储、共享、保密和保护。包括以下方面:

  1. 文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。
  2. 目录管理:为每一文件建立目录项,并对目录实施有效的组织与管理。
  3. 文件的读写管理和保护:解决信息安全问题。系统设口令“哪个用户”、用户分类“哪个用户组”、文件权限“针对用户或用户组的读写权”。

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

  1. 用户接口:提供用户使用的接口。
    进一步分为以下三种:
    联机用户接口:为联机用户提供,是一组键盘操作命令。
    脱机用户接口:为批处理作业用户提供。有一组作业控制语言组成,委托系统代替用户对作业进行控制和干预。
    图形用户接口:图形化的操作界面。
  2. 程序接口:提供给程序员在编程时使用的接口。

1.5 OS结构设计

  操作系统是一个大型的系统软件,其结构经历了四代变革。早期的无结构OS(第一代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都成为传统结构的OS,而把微内核结构的OS称为现代结构的OS。

1.5.1 传统操作系统结构

  1. 无结构OS (第一代)特点:
    ①缺乏首尾一致的设计思想
    ②该类OS庞大又杂乱,缺乏清晰的程序结构(数量众多的一组过程的集合,每个集合可以任意地调用其他过程)
    ③程序错误很多,给调试带来很大麻烦
    ④程序难以阅读和理解,维护困难

  2. 模块化结构OS(第二代) 特点:
    ①基于“分解”和“模块化”原则控制大型软件的复杂度
    ②OS将被划分为多个功能模块,每个模块具有某方面的管理功能,各模块细分为若干个具有一定功能的子模块…
    ③ 各模块间通过预定义好的接口通信

  利用模块-接口法(无序模块法)开发的OS比无结构OS有以下优点
  (1)提高OS设计的正确性、可理解性、可维护性
  (2)增强OS的可适应性
  (3)加速OS开发过程

   存在的问题(缺点):
  (1)设计OS时的错误可能会导致模块匹配的困难(设计接口时很难满足实际需求)
  (2)功能观点划分的模块无法区分共享资源和独占资源,模块间的复杂依赖关系也无法完全描述与实现

  1. 分层式结构OS(第四代)
       从资源管理观点出发,划分层次。在某一层次上的代码只能调用低层次上的代码,使模块间的调用变得有序。系统每加一层,就构成一个比原来功能更强的虚拟机。提高了系统的维护性和可靠性。
       自底向上的分层设计的基本原则是:每一步设计都建立在可靠的基础上。

   分层原则

  • 被调用功能在低层:如文件系统管理->设备管理->设备驱动程序
  • 活跃功能在低层:提高运行效率
  • 资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作
  • 存储器管理放在次低层:便于利用虚拟存储功能
  • 最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。
  • 资源分配策略放在最外层,便于修改或适应不同环境

1.5.2 客户/服务器模式

   客户/服务器系统由:客户机、服务器和网络系统组成。
   优点:(1)数据的分布处理和存储 (2)便于集中管理 (3) 灵活性和可扩充性 (4)易于改编应用软件。
   不足:存在着不可靠性和瓶颈问题

1.5.3 微内核OS结构(第四代OS)

  微内核操作系统结构,是20世纪80年代后期发展起来的。Mach OS,Windows 2000/XP操作系统,都采用了微内核结构。

  微内核操作系统特点:(1)足够小的内核(2)基于客户/服务器模式;(3)应用“机制与策略分离”原理(4)采用面向对象技术

  微内核操作系统的基本功能:(1)进程(线程)管理(2)低级存储器管理(3)中断和陷入处理

  微内核操作系统的优点:(1)提高了系统的可扩展性(2)增强了系统的可靠性 (3)可移植性强 (4)提供了对分布式系统的支持 (5)融入面向对象技术

  微内核操作系统存在的问题:主要是OS的运行效率有所降低。

你可能感兴趣的:(计算机操作系统,操作系统,1024程序员节)