计算机操作系统第四版第一章笔记

作者:许东明
邮件:leafsunshin@163.com
最近更新时间:2019/9/26
教材:计算机操作系统第四版

1.1操作系统的目标和作用

1.1.1操作系统的目标
  1. 方便性
  2. 有效性
  • 提高系统资源利用率
  • 提高系统吞吐量
  1. 可扩展性
  2. 开放性
1.1.2操作系统的作用
  1. OS作为用户与计算机硬件系统之间的接口
    • 命令方式
    • 系统调用方式
    • 图标–窗口方式

  1. OS作为计算机系统资源的管理者
  2. OS实现对计算机资源的抽象

在这里插入图片描述

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

1.2操作系统的发展过程

1.2.1未配置操作系统的计算机系统
  1. 人工操作方式

    • 用户独占全机
    • CPU等待人工操作
    • 严重降低了计算机资源的利用率
  2. 脱机输入/输出(Off–Line I/O)方式

    • 减少了CPU的空闲时间
    • 提高了I/O速度
    • 效率仍然不理想

1.2.2单道批处理系统
  1. 单道批处理系统的处理过程
    • 单道批处理系统是在解决人机矛盾和CPU与IO设备速度不匹配矛盾的过程中形成的
    • 换言之,批处理系统旨在提高系统资源的利用率和系统吞吐量
    • 但这种单道批处理系统仍然不能充分地利用系统资源,故现已很少使用。

在这里插入图片描述

  1. 单道批处理系统的缺点
    • 系统中的资源得不到充分的利用

1.2.3多道批处理系统
  1. 多道程序设计的基本概念

  1. 多道批处理系统的优缺点

    • 资源利用率高
    • 系统吞吐量大
    • 平均周转时间长
    • 无交互能力
  2. 多道批处理系统需要解决的问题

    • 处理机争用问题
    • 内存分配和保护问题
    • I/O设备分配问题
    • 文件的组织和管理问题
    • 作业管理问题
    • 用户和系统的接口问题
1.2.4分时系统(Time Sharing System)
  1. 分时系统的引入

    • 人-机交互
    • 共享主机
  2. 分时系统实现中的关键问题

    • 及时接收
    • 及时处理
      • 作业进入内村
      • 采用轮转运行方式
  3. 分时系统的特征

    • 多路性
    • 独立性
    • 交互性
    • 及时性
1.2.5实时系统(Real Time System)
  1. 实时系统的类型

    • 工业(武器)控制系统
    • 信息查询系统
    • 多媒体系统
    • 嵌入式系统
  2. 实时任务的类型

    • 周期性实时任务和非周期性实时任务
    • 硬实时任务和软实时任务
  3. 实时系统与分时系统特征的比较

    • 多路性
    • 独立性
    • 及时性
    • 交互性
    • 可靠性
1.2.6微机操作系统的发展
  1. 单用户单任务操作系统

    • CP/M
    • MS-DOS
  2. 单用户多任务操作系统

    • Windows
  3. 多用户多任务操作系统

    • Solaris OS
    • Linux OS

1.3操作系统的基本特性

1.3.1并发(Concurrence)
  1. 区别并行和并发
    • 并行性是指两个或多个事件在同一时刻发生→宏观并行,微观并行
    • 并发性是指两个或多个事件在同一时间间隔内发生→宏观并行,微观串行
    • 并发是进程宏观一起运行,微观上交替运行,而并行是指同时运行
  2. 引入进程
    • 进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体
1.3.2共享(Sharing)

OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用

  1. 互斥共享方式
    • 当进程A要访问某资源时,必须先提出请求。若此时该资源空闲,系统便可将之分配给请求进程A使用。此后若再有其它进程也要访问该资源,只要A未用完就必须等待。仅当A进程访问完并释放系统资源后,才允许另一进程对该资源进行访问。
    • 这种资源共享方式称为互斥式共享,把这种在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源)。
  2. 同时访问方式
    • 并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件
    • 允许在一段时间内由多个进程“同时”对它们进行访问
1.3.3虚拟(virtual)
  1. 时分复用技术
    (1)虚拟处理机技术。利用多道程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行
    (2)虚拟设备技术。我们还可以利用虚拟设备技术,也通过分时复用的方法,将一台物理IO设备虚拟为多台逻辑上的IO设备,并允许每个用户占用一台逻辑上的IO设备
    • 多道程序技术(时分复用技术)是通过利用处理机的空闲时间运行其它程序,提高了处理机的利用率
  2. 空分复用技术
    • 它是指将一个频率范围比较宽的信道划分成多个频率范围较窄的信道(称为频带),其中的任何一个频带都仅供一对用户通话
    • 空分复用技术则是利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率
1.3.4异步(asynchronism)
  • 在多道程序环境下,系统允许多个进程并发执行。在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待

1.4操作系统的主要功能

1.4.1处理机管理功能

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

  1. 进程控制
  2. 进程同步
    • 进程互斥方式
    • 进程同步方式(协同)
  3. 进程通信
  4. 调度
    • 作业调度
    • 进程调度
1.4.2存储器管理功能

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

  1. 内存分配
    • 主要任务:
      • 为每道程序分配内存空间,使它们“各得其所”
      • 提高存储器的利用率,尽量减少不可用的内存空间(碎片)
      • 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要
    • 静态分配
    • 动态分配
  2. 内存保护
    • 确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。
    • 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。
  3. 地址映射
  4. 内存扩充
    • 借助虚拟存储技术
    • 功能:
      • 请求调入功能
      • 置换功能
1.4.3设备管理功能

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

  1. 缓冲管理
    • 如果在IO设备和CPU之间引入缓冲,则可有效地缓和CPU和IO设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。
    • 还可通过增加缓冲区容量的方法来改善系统的性能。
    • 最常见的缓冲区机制有:
      • 单缓冲机制
      • 能实现双向同时传送数据的双缓冲机制
      • 能供多个设备同时使用的公用缓冲池机制。
      • 上述这些缓冲区都由OS缓冲管理机制将它们管理起来。
  2. 设备分配
  3. 设备处理
    • 设备处理程序又称设备驱动程序
1.4.4文件管理功能

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

  1. 文件存储空间的管理
    • 其主要任务是:
      • 为每个文件分配必要的外存空间
      • 提高外存的利用率
      • 进而提高文件系统的存、取速度
  2. 目录管理
  3. 文件的读写管理和保护
1.4.5操作系统与用户之间的接口
  1. 用户接口
    • 联机用户接口
    • 脱机用户接口
    • 图形用户接口
  2. 程序接口
1.4.6现代操作系统的新功能
  1. 系统安全
    • 认证技术
    • 密码技术
    • 访问控制技术
    • 反病毒技术
  2. 网络的功能和服务
    • 网络通信
    • 资源管理
    • 应用互操作
  3. 支持多媒体
    • 接纳控制功能
    • 实时调度
    • 多媒体文件的存储

1.5OS结构设计

1.5.1传统操作系统结构
  1. 无结构操作系统

  2. 模块化OS
    (1)模块化程序设计技术的基本概念

    (2)模块独立性

  • 在模块-接口法中,关键问题是模块的划分和规定好模块之间的接口。
  • 如果我们在划分模块时将模块划分得太小,虽然可以降低模块本身的复杂性,但会引起模块之间的联系过多,从而会造成系统比较混乱;
  • 如果将模块划分得过大,又会增加模块内部的复杂性,使内部的联系增加,因此在划分模块时,应在两者间进行权衡。
  • 另外,在划分模块时,必须充分注意模块的独立性问题,因为模块独立性越高,各模块间的交互就越少,系统的结构也就越清晰
    (1)内聚性,指模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越强。
    (2)耦合度,指模块间相互联系和相互影响的程度。显然,耦合度越低,模块独立性越好。

(3)模块接口法的优缺点

    利用模块-接口法开发的OS,较之无结构OS具有以下明显的优点:
    (1)提高OS设计的正确性、可理解性和可维护性。
    (2)增强OS的可适应性。
    (3)加速OS的开发过程。
    模块化结构设计仍存在下述问题:
    (1)在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。
    (2)在OS设计阶段,设计者必须做出一系列的决定(决策),每一个决定必须建立在上一个基础上
  1. 分层式结构OS
    (1)分层式结构的基本概念

     自底向上的分层设计的基本原则是:每一步设计都建立在可靠的基础上。为此规定,每一层仅能使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得更容易
    

    (2)分层结构的优缺点

     分层结构的主要优点有:
     (1)易保证系统的正确性。自下而上的设计方式使所有设计中的决定都是有序的,或者说是建立在较为可靠的基础上的,这样比较容易保证整个系统的正确性。
     (2)易扩充和易维护性。在系统中增加、修改或替换一个层次中的模块或整个层次时,只要不改变相应层次间的接口,就不会影响其他层次,这必将使系统维护和扩充变得更加容易。
     分层结构的主要缺点:
     (1)系统效率降低。
     (2)由于层次结构是分层单向依赖的,必须在每层之间都建立层次间的通信机制,OS每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而导致系统效率的降低。        
    
1.5.2客户/服务器模式(Client/Server Model)
  1. 客户/服务器模式的由来、组成和类型

    • 客户服务器系统主要由三部分组成。
      • 客户机
      • 服务器
      • 网络系统
  2. 客户/服务器之间的交互

     (1)客户发送请求消息
     —当客户机上的用户要请求服务器进行应用处理时,应输入相应的命令和有关参数。由客户机上的发送进程先把这些信息装配成请求消息,然后把它发往服务器:客户机上的接收进程则等待接收从服务器发回来的响应消息
     (2)服务器接收消息
     —服务器中的接收进程平时处于等待状态,一旦有客户机发来请求,接收进程就被激活,根据请求信息的内容,将之提供给服务器上的相应软件进行处理。
     (3)服务器回送消息
     —服务器的软件根据请求进行处理,在完成指定的处理后,把处理结果装配成一个响应消息,由服务器中的发送进程将之发往客户机。
     (4)客户机接收消息
     —客户机中的接收进程把收到的响应消息转交给客户机软件,再由后者做出适当处理后提交给发送该请求的客户。
    
  3. 客户/服务器模式的优点

    • 数据的分布处理和存储
    • 便于集中管理
    • 灵活性和可扩充性
    • 易于改编应用软件
  4. 基本客户/服务器模式的不足之处

    • 是存在着不可靠性和瓶颈问题,在系统仅有一个服务器时,一旦服务器故障,将导致整个网络瘫痪。
    • 当服务器在重负荷下工作时,会因忙不过来而显著地延长对用户请求的响应时间,如果在网络中配置多个服务器,并采取相应的安全措施,则这种不足可加以改善。
1.5.3 面向对象的程序设计(Object-Orientated Programming)
  1. 面向对象技术的基本概念

    • 对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物(事物可以是一个物理实体、一个概念或一个软件模块等)的抽象,而把其中的具体事物称为对象的实例

    • 如果在OS中的各类实体如进程、线程、消息、存储器和文件等都使用了对象这一概念,相应地,便有了进程对象、线程对象、消息对象、存储器对象和文件对象等。

        (1)对象
        - 在面向对象的技术中,是利用被封装的数据结构(变量)和一组对它进行操作的过程(方法)来表示系统中的某个对象的,如图1-8所示。
        - 对象中的变量(数据)也称为属性,它可以是单个标量或一张表。
        - 面向对象中的方法是用于执行某种功能的过程,它可以改变对象的状态,更新对象中的某些数据值或作用于对象所要访问的外部资源。
        - 对象中的变量(数据)对外是隐蔽的,因而外界不能对它直接进行访问,必须通过该对象中的一组方法(操作函数)对它进行访问。
      

     (2)对象类
     - 在实践中,有许多对象可能表示的是同一类事物,每个对象具有自己的变量集合,而它们所具有的方法是相同的。
     - 如果为每一个相似的对象都定义一组变量和方法,显然是低效的,由此产生了“对象类”的概念,利用“对象类”来定义一组大体相似的对象。
     - 一个类同样定义了一组变量和针对该变量的一组方法,用它们来描述一组对象的共同属性和行为。
     - 类是在对象上的抽象,对象则是类的实例。
     - 对象类中所定义的变量在实例中均有具体的值。
     
     (3)继承
     - 在面向对象的技术中,可以根据已有类来定义一个新的类,新类被称为子类(B),原来的类被称为父类(A),见图1-10所示。继承是父类和子类之间共享变量和方法的机制
    

     (4)面向对象技术的优点
     - 通过“重用”提高产品质量和生产率。
     - 使系统具有更好的易修改性和易扩展性。
     - 更易于保证系统的“正确性”和“可靠性”
    
1.5.4微内核os结构
  1. 微内核操作系统的基本概念

    • 足够小的内核
      • 与硬件处理紧密相关的部分
      • 一些较基本的功能
      • 客户和服务器之间的通信
    • 基于客户/服务器模式

    在这里插入图片描述

    • 应用“机制与策略分离”原理
    • 采用面向对象技术
  2. 微内核的基本功能

    • 进程(线程)管理
    • 低级存储器管理
    • 中断和陷入处理
  3. 微内核操作系统的优点

    • 提高了系统的可扩展性
    • 增强了系统的可靠性
    • 可移植性强
    • 提供了对分布式系统的支持
    • 融入了面向对象技术
  4. 微内核操作系统存在的问题

    • 微内核操作系统的运行效率有所降低
    • 效率降低最主要的原因是,在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换

为了改善运行效率,可以重新把一些常用的操作系统基本功能由服务器移入微内核中。这样可使客户对常用操作系统功能的请求所发生的用户/内核模式和上下文的切换的次数由四次或八次降为两次。但这又会使微内核的容量明显地增大,在小型接口定义和适应性方面的优点也有所下降,并提高了微内核的设计代价。

习题
1.设计现代OS的主要目标是什么?
答:(1)有效性	(2)方便性	(3)可扩充性   (4)开放性

2.的作用可表现在哪几个方面?
答:
(1)OS作为用户与计算机硬件系统之间的接口
(2)OS作为计算机系统资源的管理者
(3)OS实现了对计算机资源的抽象

3.为什么说操作系统实现了对计算机资源的抽象?
答: 
(1)OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;
(2)在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
(3)OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?
答:主要动力来源于四个方面的社会需求与技术发展:
(1)不断提高计算机资源的利用率;
(2)方便用户;
(3)器件的不断更新换代;
(4)计算机体系结构的不断发展。

5.何谓脱机和联机IO?
答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下, 把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机 I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?
答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?
答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。解决方法: 针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据; 为每个终端配置缓冲区,	暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

8.为什么要引入实时操作系统?
答:实时 操作系统 是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。引入实时	OS	是为了满足应用的需求,更好地满
足实时控制领域和实时信息处理领域的需要。

9.什么是硬实时任务和软实时任务?试举例说明。
答:硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。举例来说,运载火箭的控制等。
软实时任务是指它的截止时间并不严格,偶尔错过了任务的截止时间,对系统产生的影响不大。举例:网页内容的更新、火车售票系统。

10.试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较
答:
(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;	而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100 微妙。
(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。
(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。 因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。

11.OS有哪几大特征?其最基本的特征是什么?
答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

12.在多道程序技术的OS环境下的资源共享与一般情况下的资源共享有何不同?对独占资源应采取何种共享方式?
答:一般情况下的资源共享只要通过适当的安排,用户之间并不会产生对资源的竞争。在0S环境下的资源共享是指系统中的资源可供内存中多个并发执行的进程共同使用。
解决的方法:1.互斥共享方式。2.同时访问方式

13.什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么
答:时分复用技术,将资源在不同的时间片内分配给各种进程使该资源被重复利用,从而提高资源的利用率。如果采用时分复用技术的虚拟处理机,能够在不同的时间片内处理多个用户的请求,从而使得用户感觉自己独占主机,而处理机在这期间内也被充分的利用。

14.是什么原因使操作系统具有异步性特征?
答:操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向前推进。二是程序的不可再现性,即程序执行的结果有时是不确定的,即每个程序何时执行,执行顺序以及完成数据是不确定的。

15.处理机管理有哪些主要功能?其主要任务是什么?
答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。步:为程)的运行进进程同步:为多个进程(含线程)的运行进行协进程通信:用来实现在相互合作的进程之间的信息交换。
处理机调度:
(1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。

16.内存管理有哪些主要功能?其主要任务是什么?
答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址,内存扩充:用于实现请求调用功能,置换功能等。

17.设备管理有哪些主要功能?其主要任务是什么?
答:
主要功能有:缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务:完成用户提出的10请求,为用户分配0设备;提高CPU和0设备的利用率;提高0速度;以及方便用户使用10设备。

18.文件管理有哪些主要功能?其主要任务是什么?
答:
文件管理主要功能:文件存储空间的管理、目录管理、文件的读写管理和保护。
文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。

19.试说明推动传统OS演变为现代OS的主要因素是什么?
答:系统安全、网络的功能和服务、支持多媒体。

20.什么是微内核OS?
答:足够小的内核;基于客户\服务器模式;应用机制与策略分离原理;采用面向对象技术;

21.微内核操作系统具有哪些优点?它为何能有这些优点?
答:
1.提高了系统的可扩展性;
2.增强了系统的可靠性;
3.可移植性;
4.易于改编应用软件

22.现代操作系统较之传统操作系统又增加了哪些功能和特征?
答:进程管理、低级存储器管理、中断和陷入处理

23.在微内核OS中,为什么要采用客户/服务器模式?
答:C\S有独特的优点:
1、数据的分布和存储;
2、便于集中管理;
3、灵活性和可扩充性;
4、易于改编应用软件。

24.在基于微内核结构的OS中,应用了哪些新技术?
答:在基于微内核的中采用了面向对象的程序设计技术。

25.何谓微内核技术?在微内核中通常提供了哪些功能?
答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术,在微内核中通常提供了进程管理,低级存储器管理,中断和陷入处理等功能


  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值