作者:闲看云天的快乐生活 | 来源:互联网 | 2023-06-14 10:56
文章目录计算机操作系统第一章操作系统引论一、操作系统目标和作用1、目标2、作用3、主要发展动力二、操作系统的发展过程1、未配置操作系统的计算机系统2、批处理系统3、分时系统4、实时
文章目录
- 计算机操作系统
- 第一章 操作系统引论
- 一、操作系统目标和作用
- 二、操作系统的发展过程
- 1、未配置操作系统的计算机系统
- 2、批处理系统
- 3、分时系统
- 4、实时系统
- 三、操作系统的基本特性
- 四、操作系统的主要功能
- 五、OS结构设计
- 1、传统的操作系统结构
- 2、客户/服务器模式
- 3、面向对象的程序设计
- 4、微内核OS结构
- 5、微内核与单内核(宏内核)操作系统结构比较
- 参考文献
计算机操作系统
由于本学期学习了计算机操作系统,所以打算边学习边整理,一方面帮助自己梳理知识结构,另一方面可以帮助大家理解。
注意:该总结用的是汤小丹第四版!
关于知识脑图,我是边学边做的,推荐大家也自己做脑图,而不是直接拿走照搬,因为只有自己梳理的东西才是自己的。
做知识脑图的好处是可以对知识整体结构有好的把握,不会让自己迷失于细节;还可以复习时快速找到知识点等。
废话不多说,赶紧开始吧。
链接:https://pan.baidu.com/s/1RogFGFpzdAL1eCFvF3uvRg
提取码:aoic
第一章 操作系统引论
一、操作系统目标和作用
1、目标
目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重。通常在计算机硬件上配置的OS,其目标有以下几点:
- 方便性
便于理解计算机
通过接口方便地使用 - 有效性
提高系统资源利用率
提高系统吞吐量 - 可扩充性
OS应方便修改、增加新模块或功能,以适应计算机硬件、 体系结构以及应用发展的要求。 - 开放性
OS应提供统一的开放环境,以实现应用的可移植性和互操作性
不同的设备能通过网络加以集成,并能正确、有效地协同工作
2、作用
- 提供用户与计算机硬件系统之间的接口
(1)命令方式:指由OS提供了一组联机命令 (语言), 用户可通过键盘输入有关命令,来直接操纵计算机系统。
(2)系统调用方式:OS提供了一组系统调用,用户
可在自己的应用程序中通过相应的系统调用,来操纵
计算机。
(3)图标–窗口方式:用户通过屏幕上的窗口和图
标来操纵计算机系统和运行自己的程序。
(4)其他方式
- 计算机系统资源的管理者
在一个计算机系统中,硬件和软件资源归纳起来可分为四类:处理器、存储器、 I/O设备以及文件(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理。 - 实现了对计算机资源的抽象
一台完全无软件的计算机系统(即裸机
),即使其功能再强,也必定是难于使用的。通常把覆盖了软件的机器称为扩充机器或虚机器
。
总结来说:
操作系统
是控制和管理计算机系统的硬件和软件资源,合理的组织计算机工作流程以及方便 用户使用的程序和数据的集合。
3、主要发展动力
- 不断提高计算机资源利用率
- 方便用户(如接口)
- 器件的不断更新换代 (如CPU芯片的发展)
- 计算机体系结构的不断发展(如多处理机、网络)
- 不断提出新的应用需求 (如多媒体、嵌入)
二、操作系统的发展过程
1、未配置操作系统的计算机系统
- 人工操作方式
这种人工操作方式有以下两方面的缺点:
(1) 用户独占全机。
(2) CPU等待人工操作。 - 脱机输入/输出(Off–Line I/O)方式
这种脱机I/O方式的 主要优点如下:
(1) 减少了CPU的空 闲时间。
(2) 提高I/O速度。
2、批处理系统
- 单道批处理系统
单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身
,而并非是现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系统已有很大进步。
- 形式
批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。
在内存中只保持一道作业的批处理系统。 - 特征
(1) 自动性
(2) 顺序性
(3) 单道性 - 缺点
系统资源利用不充分。
- 多道批处理系统
- 形式
多道程序设计:多个作业存放在主存中,使它们同时处于运行状态,这些作业共享处理机时间和外围设备等资源
- 好处
(1) 提高CPU的利用率。
(2) 可提高内存和I/O设备利用率。
(3) 增加系统吞吐量。 - 需要解决的问题
(1) 处理机管理问题。
(2) 内存管理问题。
(3) I/O设备管理问题。
(4) 文件管理问题。
(5) 作业管理问题。
3、分时系统
推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。或者说,分时系统是为了满足 用户需求所形成的一种新型OS。它与多道批处理系统之间,有着截然不同的性能差别。
在操作系统中加入了分时技术:即将处理机的运行时间分为时间片,将时间片轮流分配给各联机作业使用。
- 表现
(1) 人—机交互。
(2) 共享主机。
(3) 便于用户上机。 - 特征
1.多路性
2.独立性
3.及时性
4.交互性
4、实时系统
所谓“实时”,是表示“及时”,而实时系统(RealTime System)
是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
- 按任务执行时是否呈现周期性来划分
(1)周期性实时任务。
(2)非周期性实时任务。 - 根据对截止时间的要求来划分
(1) 硬实时任务(hard real-time task)
(2) 软实时任务(Soft real-time task)
三、操作系统的基本特性
- 并发
- 区别并行和并发
并行
是指这一个时刻上面有着多个事件在执行,是一个瞬间的状态。
并发
是指在某一段时间间隔以内有着多个事件同时进行。
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交 替执行。
- 引入进程
程序为静态的,进程为程序的执行 - 引入线程
进程的更小的可执行单位,一个进程可以包含若干个线程
- 共享
在操作系统环境下,所谓共享
是指系统中的资源可供内
存中多个并发执行的进程(线程)共同使用。由于资源属
性的不同,进程对资源共享的方式也不同,目前主要有
以下两种资源共享方式:
- 互斥共享方式
系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源,我们把这种资源共享方式称为互斥式共享
。
临界资源或独占资源
:一段时间内只允许一个进程访问的资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。 - 同时访问方式
允许在一段时间内由多个进程 “同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件。
- 虚拟
操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。
时分复用技术
(即分时使用方式)
⑴虚拟处理机技术:在虚拟处理机技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。
⑵虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每 个用户占用一台逻辑上的I/O设备,这样便可使原来仅允许在 一段时间内由一个用户访问的设备(即临界资源),变为在一 段时间内允许多个用户同时访问的共享设备。
在操作系统中,虚拟的实现主要是通过分时使用的方法。显然,如果 nnn 是某物理设备所对应的虚拟的逻辑设备数,则虚 拟设备的平均速度必然是物理设备速度的1/n1/n1/n。空分复用技术
⑴虚拟磁盘技术:将硬盘划分为若干个卷,机器上便会有若 干个虚拟盘。
⑵虚拟存储器技术:将一台机器的物理存储器变为虚拟存储 器,以便从逻辑上来扩充存储器的容量。
- 异步
由于资源等因素的限制,使进程的执行通常都不是“一气呵成”, 而是以“停停走走”的方式运行。
内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。由于各用户程序性能的不同,比如,有的侧重于计算而较少需要 I/O;而又有的程序其计算少而I/O多,这样,很可能是先进入内存的作业后完成;而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性
。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果。因此,异步运行方式是允许的,是操作系统的一个重要特征。
四、操作系统的主要功能
该部分不展开,详细内容见后续具体的章节或PPT。
- 处理机管理功能
- 存储器管理功能
- 设备管理功能
- 文件管理功能
- 操作系统与用户之间的接口
- 现代操作系统的新功能
五、OS结构设计
本节也不细讲。
1、传统的操作系统结构
- 无结构操作系统
在早期开发操作系统时,设计者只是把注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时的OS是为数众多的一组过程的集合,每个过程可以任意地相互调用其它过程,致使操作系统内部既复杂又混乱。因此,这种OS是无结构的,也有人把它称为整体系统结构。 - 模块化的操作系统
模块化程序设计技术是20世纪60年代出现的一种结构化程序设计技术。该技术是基于“分解”和“模块化”原则来控制大型软件的复杂度。为使OS具有较清晰的结构,OS不再是由众多的过程直接构成,而是将OS按其功能精心地划分为若干个具有一定独立性和大小的模块;每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、I/O设备管理模块等,并仔细地规定好各模块间的接口,使各模块之间能通过该接口实现交互。
- 优点:
提高OS设计的正确性、可理解性和可维护性
增强OS的适应性
加速OS的开发过程
- 分层次结构OS
为了将模块―接口法中“决定顺序”的无序性变为有序性,引入了有序分层法。分层法的设计任务是,在目标系统AnA_nAn和裸机系统(又称宿主系统)A0A_0A0之间,铺设若干个层次的软件A1A_1A1、A2、A_2、A2、A3、A_3、A3、…、An−1、…、A_{n-1}、…、An−1,使AnA_nAn通过An−1A_{n-1}An−1、An−2、A_{n-2}、An−2、…、A2、…、 A_2、…、A2、A1、A_1、A1层,最终能在A0A_0A0上运行。在操作系统中,常采用自底向上法来铺设这些中间层。
- 优点:
易保证系统的正确性
易拓充
易维护 - 缺点:
系统效率降低
2、客户/服务器模式
客户机
服务器
网络系统
3、面向对象的程序设计
4、微内核OS结构
- 微内核的基本概念
为了提高操作系统的“正确性”、“灵活性”、“易维 护性”和”可扩充性”,在进行现代操作系统结构设计时, 即使在单处理机环境下,大多也采用基于客户/服务器模式的 微内核结构,将操作系统划分为两大部分:微内核和多个服务器。至于什么是微内核操作系统结构,现在尚无一致公认的定义,但我们可以从下面四个方面,对微内核结构的操作系统进行描述。
- 足够小的内核
在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是操作系统中最基本的部分,它通常用于:① 实现与硬件紧密相关的处理;② 实现一些较基本的功能; ③ 负责客户和服务器之间的通信。它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。 - 基于客户/服务器模式
由于客户/服务器模式具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。例如用于提供对进程(线程)进行管理的进程(线程)服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器等,它们都是被作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现信息交互的。下图示出了在单机环境下的客户/服务器模式。
- 应用“机制与策略分离”原理
在现代操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。 通常,机制处于一个系统的基层,而策略则处于系统的高层。在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。 - 采用面向对象技术
操作系统是一个极其复杂的大型软件系统,我们不仅可以通过结构设计来分解操作系统的复杂度,还可以基于面向对象技术中的“抽象”和“隐蔽”原则控制系统的复杂性, 再进一步利用“对象”、“封装”和“继承”等概念来确保操作系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,并提高操作系统的设计速度。正因为面向对象技术能带来如此多的好处,故面向对象技术被广泛应用于现代操作系统的设计中。
-
微内核的基本功能
- 进程(线程)管理
- 低级存储器管理
- 中断和陷入处理
-
优点:
提高了系统的可扩展性
增强了系统的可靠性
提高了系统的可移植性
提供了对分布式系统的支持
融入了面向对象技术
-
缺点:
系统运行效率有所降低
5、微内核与单内核(宏内核)操作系统结构比较
参考文献
- 汤子瀛, 哲凤屏, 汤小丹. 计算机操作系统[M]. 西安电子科技大学出版社, 2001.
- github的CS-Notes