第一章知识点目录:
第一章:操作系统引论
1.1操作系统目标和作用
1.1.1操作系统目标
1.1.2操作系统的作用(3个,每一个作用里面都有很多知识点)
1.OS作为用户和计算机硬件系统之间的接口。(通过命令方式、系统调用方式等实现自身与OS的通信)
2. OS作为计算机系统资源文件、处理机、存储器、I\0设备的管理者(硬+软=计算机系统资源)
3. OS实现了对计算机资源的抽象(虚拟机)
1.1.3推动操作系统的主要动力
1.2操作系统的发展过程
1.2.1未配置操作系统的计算级系统
1.人工操作方式(此阶段无操作系统)
2.脱机输入\输出方式
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.4.6现代操作系统的新功能
1.5 OS结构设计
1.5.1 传统操作系统结构
1.5.1.1 无结构操作系统
1.5.1.2模块化结构OS
1.5.1.3分层式结构OS
1.5.2微内核OS结构
什么是操作系统?
操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
总的来说:例如,用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机、存储器、设备、文件几个部件构成),工人有熟练的技能,能够控制和协调各个部件的工作,这就是操作系统对资源的管理;同时,工人必须接收雇主的命令, 这就是"接口";有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”。
1.方便性 2.有效性 3.可扩充性 4.开放性
操作系统还提供了用户接口。操作系统提供的接口主要分为两类:
一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;
另一类是程序接口,编程人员可以使用它们来请求操作系统服务。
(1) 命令接口
使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令
接口和脱机命令接口。 联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户通过
控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令, 控制权就转给操作系统的命令解释程序,然后由命令解
释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端,此时用户又可输入下一条命令。联机命令接口可以这
样理解:“雇主”说一句话,"工人”做一件事,并做出反馈,这就强调了交互性。 脱机命令接口又称批处理命令接口,适用于批处理系统,
它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一
起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。脱机命
令接口可以这样理解:"雇主”把要"工人”做的事写在清单上,"工人”按照清单命令逐条完成这些事,这就是批处理。
(2) 程序接口
程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设
备、申请分配和回收内存及其他各种要求。 当前最为流行的是图形用户界面(GUI),即图形接口。GUI最终是通过调用程序接口实现的, 用
户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。严格来说, 图形接口不是操作系统的一部分,但图形
接口所调用的系统调用命令是操作系统的一部分。
文件、处理机、存储器、I\0设备
的管理者(硬+软=计算机系统资源)处理机管理
存储器管理
文件管理
设备管理
不断提高计算机资源利用率
方便用户
器件的不断更新换代
计算机体系结构的不断发展
不断提出新的应用需求
早期的操作方式是由程序员将事先已穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。
缺点:1. 用户独占系统 2. CPU 等待人工操作
程序员将穿孔的纸带通过外围机将纸带上的数据输入到磁盘里,再从磁盘上把数据高速调入内存,输出的结果再通过外围机到相应的输出设备输出。
这样可以解决人机矛盾以及CPU与I/O设备速度不匹配的矛盾。
单道批处理系统的处理过程
为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。
目的:提高利用率和吞吐量
特点:1.单道性 2.顺序性 3.自动性
缺点:资源得不到充分利用
多道程序设计的基本概念
在多道程序设计系统中,用户提交的作业先放在外存上,并排成一个队列,称为后备队列。
然后由作业调度程序按照一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
计算机内存中加载多个程序,变成进程
特点:1.多道性 2.无序性 3.调度性 宏观上并行,微观上串行
优点:1.资源利用率高 2.资源吞吐量大
缺点:1.平均周转时间长 2.无交互能力
多道批处理系统需要解决的问题
处理机争用问题
内存分配和保护问题
I/o设备分配问题
文件的组织和管理问题
作业管理问题
用户与系统的接口问题
分时系统的特征(最重要的是及时性)
1、多路性。 允许一台主机上联接多台终端,系统按分时原则为每个用户服务;
2、独立性。 每个用户各占一个终端,独立操作,互不干扰;
3、及时性。 用户的请求能在很短的时间内获得响应;
4、交互性。 用户可通过终端与系统进行广泛的人机对话。
缺点:不能有效处理紧急任务操作系统对各个用户 / 作业都是完全公平的,循环地为每个用户 /
作业服务一个时间片,不区分任务的紧急性。
实时系统的特征(多了一个可靠性)
多路性
独立性
及时性
交互性
可靠性(实时性系统比分时性系统高)
优点: 能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
按照字长分:
字长:在同一时间中处理二进制数的位数
8位 16位 32位 64位
按照运行方式分:
1. 单用户单任务操作系统: CP/M、MS-DOS
2.单用户多任务操作系统 单用户多任务操作系统的含义是,只允许一个用户上机,但允许用户把程序分成若干个任务,使他们并行执行,从而有效改善系统的性能 代表性:早期的WIN
3.多用户多任务操作系统
允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。 在大、中和小型机中所配置的大多是多用户多任务操作系统,而在32位微机上,也有不少配置的是多用户多任务操作系统,其中最有代表性的是UNIX OS。
并发,共享,虚拟,异步(友好性,安全性都不是基本特征)
并行与并发
并行: 两个或多个事件在同一时刻发生
并发: 两个或多个事件在同一时间间隔内发生 注:宏观同时发生,微观交替发生
并发是提高系统资源利用率,增加系统的吞吐量的主要手段单处理机并发执行和多处理机的并发/并行执行
引入进程
进程是指 是计算机中的程序关于某数据集合上的一次运行活动,没引入线程之前是系统进行资源分配和调度的基本单位
引入进程可实现并发执行
定义:资源共享也称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。
互斥共享方式
临界资源:一段时间内只允许一个进程访问的资源
例如:打印机,系统表格
同时访问方式
系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访
磁盘、共享代码、共享库等
生活实例:
互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
在OS中,通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为虚拟。
时分复用:虚拟处理机(多道程序)技术、虚拟设备技术
空分复用:多道程序共享内存,多文件共享磁盘, 用以提高存储空间的利用率
在多道程序环境下,系统允许多个进程并发执行。在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。
可见,由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,而是以"停停走走”的方式运行。
主要功能: 创建和撤销进程,对进程的运行进行协调,实现进程之间的信息交换,以及按照一定算法把处理机分配给进程。
进程控制
进程同步
进程通信
调度
主要任务: 是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并才能够逻辑上扩充内存。
内存分配
内存保护
地址映射
内存扩充
主要任务: 完成用户进程提出的IO请求,为用户进程分配所需的I/O设备,并完成指定的IO操作;提高CPU和IO设备的利用率,提高IO速度,方便用户使用I/O设备。
缓冲管理
设备分配
设备处理
主要任务: 对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。
文件存储空间的管理
目录管理
文件的读/写管理和保护
用户接口(命令接口)
(1)联机用户接口
(2)脱机用户接口
(3)图形用户接口
程序接口(由系统调用组成)
程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。
系统安全
认证技术
密码技术
访问控制技术
反病毒技术
网络的功能和服务
网络通信
资源管理
应用互操作
支持多媒体
接纳控制功能。
实时调度。
多媒体文件的存储
OS结构
传统结构OS
现代结构OS
无结构OS
模块化结构OS
分层次结构OS
在早期开发操作系统时,设计者只把注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。
此时的OS是为数众多的一组过程的集合,每个过程可以任意地相互调用其它过程,致使OS内部既复杂又混乱,因此这种OS是无结构的。
模块化程序设计技术的基本概念
该技术是20世纪60年代出现的一种结构化程序设计技术。该技术基于“分解”和“模块化”的原则来控制大型软件的复杂度。
为使OS具有较清晰的结构,OS是按其功能精心地划分为若干个具有一定独立性和大小的模块。
模块独立性
在模块-接口法中,关键问题是模块的划分和规定好模块之间的接口。
注意:
在划分模块时不能将模块划分得太小或过大。
划分模块时注意模块的独立性问题。
衡量模块独立性的两个标准:内聚性和耦合度
优点:
(1)提高OS设计的正确性、可理解性和可维护性。
(2)增强OS的可适应性。
(3)加速OS的开发过程。
缺点: (1)在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。 (2)模块化结构设计中,各模块的设计齐头并进,无法寻找一个可靠的决定顺序,造成各种决定的“无序性”,这将使程序人员很难做到“设计中的每一步决定”都是建立在可靠的基础上。
分层式结构基本概念
在用这种方法构建OS时,已将一个OS分为若干层次,每层又由若干模块组成,各层之间只存在着单向的依赖关系。
优点:
(1)易保证系统的正确性。
(2)易扩充和易维护性。
缺点: 效率降低
微内核:提供OS核心功能的内核的精简版本。
微内核OS特点:集各种技术优点之大成。 举例:Mach、Minix、Windows NT、鸿蒙OS
目前从内核架构来划分可分为:微内核和宏内核
宏内核
宏内核一般是将系统的主要核心组件全部在内核实现。可以想象,这样设计的内核各组件之间的关联很大,也就是常说的耦合性很大,不利于模块化设计。
优点也显而易见,就是速度快。各组件之间的通信全部在内核模式下完成,没有进程间的切换,也没有从用户模式到内核模式的切换。
典型代表是Linux操作系统和UNIX系统。
微内核OS基本概念
1. 总够小的内核
2. 基于客户\服务器模式
3. 应用“机制与策略分离”原理
4. 采用面向对象技术
微内核基本功能
现在一般都采用“机制与策略分离”的原理,将机制部分以及与硬件紧密相关的部分放入微内核中。
1)进程(线程)管理
2)低级存储器管理
3)中断和陷入处理
微内核操作系统优点
微内核OS结构建立在模块化、层次化结构的基础上的并采用了客户/服务器模式和面向对象的程序设计技术。
(1)提高了系统的可扩展性
(2)增强了系统的可靠性
(3)可移植性强
(4)提供了对分布式系统的支持
(5)融入了面向对象技术
微内核操作系统存在的问题
较之早期的操作系统,微内核操作系统的运行效率有所降低。
原因:在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换。