计算机操作系统——知识梳理

▪第一章 操作系统引论

1.1 操作系统的目标和作用

操作系统的概念

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

▪ 操作系统定义2(Operating System, OS):操作系统是位于硬件层(HAL)之上,所有其它系统软件层之下的一个 系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统。

1.1.1 操作系统的目标

▪方便性: 操作系统使计算机更易于使用。

▪有效性: 操作系统允许以更有效的方式使用计算机系统资源。

▪提高系统资源利用率

▪提高系统的吞吐量

▪可扩展性: 在操作系统中,允许有效地开发,测试和引进新的系统功能。

▪开放性: 实现应用程序的可移植性和互操作性,要求具有统一的开放的环境。

1.1.2 OS的作用

  • 作为用户与计算机硬件系统之间的接口

用户命令 Interface(用户接口)/命令接口 命令的表示形式(字符形式、菜单形式、图形形式)

System Call(系统调用) 程序接口/应用编程 接口(Application Programming Interface,API)

  • 作为资源管理者的操作系统(软硬件资源)

  1. 处理机管理, 用于分配和控制处理机;

  2. 存储器管理,主要负责内存的分配与回收;

  3. I/O设备管理,负责I/O设备的分配与操纵;

  4. 文件管理,负责文件的存取、共享和保护。

▪ 对于多用户系统,需要管理共享资源,避免发生冲突。

多路复用(共享)资源 1. 在时间上复用 2. 在空间上复用

  • 作为扩展机器的操作系统

裸机:完全无软件的计算机系统。

扩充机器或虚机器:通常把覆盖了软件的机器

1.2 操作系统的发展过程

  1. 无操作系统

1、人工操作方式 2、脱机输入输出方式

  1. 单道批处理操作系统

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

  • 主要特征:自动性、顺序性、 单道性。

  • 主要优点:减少人工操作, 解决了作业的自动接续。

  • 主要缺点:平均周转时间长, 没有交互能力。

  1. 多道批处理操作系统

  • 概念: 在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行。多道程序带来的好处: 1、提高CPU的利用率。 2、提高内存和I/O设备利用率。 3、增加系统吞吐率。

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

  • 主要优点:提高了资源利用率和吞吐能力。

  • 主要缺点:平均周转时间长,没有交互能力。

  • 需要解决的5个问题 :1、处理机管理:分配和控制CPU。 2、存储器管理:内存分配与回收 3、I/O设备管理:I/O设备的分配与操纵。 4、文件管理:文件的存取、共享和保护。 5、作业管理:如何组织作业运行。

  1. 分时操作系统(time-sharing system)

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

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

  • 实现的方法 ▪ 简单分时系统 ▪ 具有“前台”和“后台”的分时系统 ▪ 多道分时系统

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

  • 典型系统: ▪Multics (MIT) ▪UNIX

  1. 实时操作系统(real time system)

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

  • 实例:1、实时控制系统:工业控制,军事控制,医疗控制,…….

      2、实时信息处理系统:航班定票,联机情报检索,……

  • 特点: (1)响应及时(prompt response) (2)可靠性高(high reliability)

  • 实时任务的类型:

  1. 按任务执行是否为周期性来化分 ▪ 周期性实时任务 ▪ 非周期性实时任务

  2. 按截止时间来化分 ▪ 硬实时任务 ▪ 软实时任务

  • 实时系统的特征:

  1. 多路性:能对多个对象进行控制。

  2. 独立性:独立运行,不混淆,不破坏。

  3. 交互性:仅限于访问系统中某些特定的专用服务程 序。

  4. 可靠性:高可靠性,应具有多级容错防护能力。

  5. 及时性:不同的系统要求不一样,控制对象必须在 截止时间内完成。

1.3 操作系统的基本特征

现代OS的四个基本特征:

1、并发性最重要的特征

2、共享性

3、虚拟性

4、异步性

1.3.1 并发

1、并发——并行性和并发性,并发执行的过程。

▪ - 并行性:是指两个或多个事件在同一时刻发生。

▪ - 并发性:是指两个或多个事件在同一时间间隔内发生。

▪ 任务共行 - 从宏观上看,任务共行是指系统中有多个任务同时运行 - 从微观上看,任务共行是指单处理机系统中的任务并发 (Task Concurrency:即多个任务在单个处理机上交替运行)或多处理机系统中的任务并行(Task Parallelism: 即多个任务在多个处理机上同时运行)。

2. 引入进程

▪ 程序:静态实体

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

3. 引入线程

  • 进程作为资源分配的基本单位

  • 线程作为独立运行和调度的基本单位

1.3.2 共享

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

1、互斥共享方式:

- 把在一段时间内只允许一个进程访问的资源,称为临界资源。如打印机、栈、表格等

- 系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进程使用,称为互斥共享方式。

2、同时访问方式:

-从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源。

- 从微观上看,多个进程交替互斥地使用系统中的某个资源。例如磁盘。

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

1.3.3 虚拟性

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

1.时分复用技术 ▪虚拟处理机:分时实现 ▪虚拟设备:SPOOLING技术

2.空分复用技术 ▪虚拟磁盘技术:逻辑分区 ▪虚拟存储器:虚拟存储管理实现

1.3.4 异步性

1、执行结果不确定,程序不可再现

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

1.4 操作系统的主要功能

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

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

    • 1、处理机管理(CPU)

    • 2、存储器管理

    • 3、设备管理

    • 4、文件管理

    • 5、方便用户使用的用户接口。

1.5 操作系统的结构设计

▪ 操作系统是一个大型系统软件,其结构已经历了四代的变革:

第一代的OS是无结构的;

第二代OS采用了模块式结构

第三代是层次式结构

现代OS结构是微内核结构

传统的操作系统结构:

▪操作系统中增加了越来越多的功能,并且随着 底层硬件更高的性能,更加通用,操作系统的 大小和复杂性也随着增加。 ▪为了控制该软件的复杂性,在开发OS时,先后 引入了分解、模块化、抽象和隐蔽等方法。开 发方法的不断发展,促进了OS结构的更新换代。

1.5.1 无结构操作系统

▪ 在早期开发操作系统时,设计者只是把他的注意力放在功 能的实现和获得高的效率上,缺乏首尾一致的设计思想。

▪ OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,有人把它 称为整体系统结构。

▪ 缺陷: ▪设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。 ▪编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担。

1.5.2 模块化OS结构

(1)模块化结构(模块-接口法) ▪ 使用分块结构的系统包含若干module(模块);其中, 每一块实现一组基本概念以及与其相关的基本属性。 ▪ 块与块之间的相互关系: - 所有各块的实现均可以任意引用其它各块所提供的概念及属性。

(2)模块化OS的优缺点

优点: ①提高了OS设计的正确性、可理解性和可维护性。 ②增强了OS的可适应性。 ③加速了OS的开发过程。

缺点: ① 对模块的划分及对接口的规定要精确描述很困难。 ②从功能观点来划分模块时,未能将共享资源和独占资源加以区别。

1.5.3 分层式OS结构

▪ 使用分层系统结构包含若干layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性。

层与层之间的相互关系: - 所有各层的实现不依赖其以上各层所提供的概念及其属性只依赖其直接下层所提供的概念及属性; - 每一层均对其上各层隐藏其下各层的存在

▪ 层次的设置时应考虑的几个因素

(1)程序嵌套。通常OS的每个功能的实现,并非是只用一个程序便能完成的,而是要经由若干个软件层才有可 能完成,因此在考虑实现OS时,每个功能可能形成的 程序嵌套。

(2)运行频率将那些经常活跃的模块放在最接近硬件的层

(3)公用模块。把供多种资源管理程序调用的公用模块, 设置在最低层, 以便调用

(4)用户接口。命令接口、程序接口以及图形用户接口。 这些接口应设置在OS的最高层直接提供给用户使用

1.5.4 操作系统层次化体系结构

 

 

DeltaCORE的体系结构:层次+模块结构

客户/服务器模式(Client-Server Model)

▪ 优点: ▪提高了系统的可扩展性 ▪增强了系统的可靠性 ▪可移植性好 ▪提供了对分布式系统的支持

▪ 缺点: ▪运行效率有所降低: 消息传递开销+模式切换 开销

面向对象的程序设计技术 (OOP)

1) 面向对象技术的基本概念

所谓对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。 OS中的各类实体如进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程对象、存储器对象等。

2) 面向对象技术的优点

(1) 可修改性和可扩充性。由于隐蔽了表示实体的数据和操作,因而可以改变对象的表示而不会影响其它部分, 从而可 以方便地改变老的对象和增加新的对象

(2) 继承性。继承性是面向对象技术所具有的重要特性。继承性是指子对象可以继承父对象的属性,这样,在创建一个 新的对象时, 便可减少大量的时空开销

(3) 正确性和可靠性。由于对象是构成操作系统的基本单元, 可以独立地对它进行测试,这样,比较易于保证其正确性和可靠性,从而比较容易保证整个系统的正确性和可靠性

1.5.5 微内核OS结构

▪ 所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同, 它更小更 精炼,它不仅运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存。

▪ 当前比较流行的、能支持多处理机运行的OS几乎全部都采用了微内核结构,如Mach OS,windows 2000

• 微内核所提供的功能,通常都是一些最基本的功能,如进程管理、低级存储器管理、中断和陷入处理、进程间通信、 低级I/O功能

• 微内核特点 ➢足够小的内核 ➢基于客户/服务器模式 ➢应用“机制与策略分离”原理 ➢采用面向对象技术

持续更新ing

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值