目录
一、操作系统的目标和作用
操作系统(Operating System,OS):
控制和管理整个计算机系统的硬件和软件资源。
合理组织调度计算机的工作和资源的分配。
提供给用户和其他软件方便的接口和环境。
计算机系统中最基本的系统软件。
功能①:系统资源的管理者
功能②:向用户提供服务,i.e.,用户和计算机硬件之间的接口
功能③:对硬件机器的扩展,i.e.,实现对计算机资源的抽象
操作系统功能和目标总结
方便性:通过OS命令操纵计算机,方便用户。
有效性:提高系统资源的利用率、 提高系统吞吐量。
可扩充性: OS必须具有很好的可扩充性 、与OS的结构有紧密的联系。
开放性 :遵循世界标准规范。特别是开放系统互连OSI。
二、操作系统的发展过程
推动OS发展的主要动力:
1.不断提高计算机资源利用率
2.方便用户
3.器件的不断更新换代
4.计算机体系结构的不断发展
5.不断提出的新的应用需求
1.手工操作阶段
人工操作方式 、脱机I/O方式
2.单道批处理系统:
3.多道批处理系统:
单道和多道程序运行对比:
4.分时系统:
分时系统关键问题:最关键的问题是如何使用户能与自己的作业进行交互。
及时接收(多路卡、命令缓冲区)
及时处理 :作业直接进入内存 、采用轮转运行方式
分时系统关键特征:
多路性:允许将多台终端同时连接到一台主机,并分时使用。
独立性:感觉用户独占主机。
及时性:用户的请求能在很短时间内获得响应(1~3秒)。
交互性:用户可通过终端与系统进行广泛的人机对话。
5.实时系统:
实时系统:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
最主要的特征:实时性
实时任务的类型:
根据任务执行时是否呈现周期性来划分 :周期性实时任务、非周期性实时任务
根据对截止时间的要求来划分: 硬实时任务、软实时任务
实时系统与分时系统的比较: 多路性 、独立性 、及时性、 交互性、 可靠性
6.微机操作系统的发展:
单用户单任务操作系统:CP/M,MS-DOS
单用户多任务操作系统:Windows 95/98
多用户多任务操作系统:Solaris OS、Linux OS、Windows、NT/Server
7.嵌入式操作系统:
嵌入式系统:
为了完成某个特定功能而设计的系统,或是有附加机制的系统,或是其他部分的计算机硬件与软件的结合体。
有实时限制,如响应速度、测量精度、持续时间等。
嵌入式OS:用于嵌入式系统的OS
µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、Android、iOS等
特点: 系统内核小、系统精简、高实时性、具有可配置性
8.网络操作系统:
网络OS的概念:
在计算机网络环境下对网络资源进行管理和控制,实现数据通信及对网络资源的共享,为用户提供与网络资源接口的一组软件和规程的集合。
UNIX、Linux、Window NT/2000/Server
网络OS的特征:硬件独立性、接口一致性、资源透明性、系统可靠性、执行并行性。
网络OS的功能:数据通信、应用互操作、网络管理
9.分布式操作系统:
分布式系统:
定义:基于软件实现的一种多处理机系统,是多个处理机通过通信线路互连而构成的松耦合系统。
特征:分布性、透明性、同一性、全局性。
分布式OS:
定义:配置在分布式系统上的公用OS。
例子:万维网、鸿蒙OS。
分布式OS的功能:
单处理机OS的主要功能;
网络OS所拥有的全部功能;
还包括:通信管理功能、资源管理功能、进程管理功能。
OS发展过程小结
三、操作系统的基本特征
并发(Concurrence):
并行性:两个或多个事件在同一时刻发生。
并发性:两个或多个事件在同一时间间隔内发生。
引入进程(任务):动态、并发
共享(Sharing):
系统中的资源可供内存中多个并发执行的进程共同使用:
互斥共享方式(临界资源)
同时访问方式
并发、共享:两个最基本的特征,二者互为存在条件。
虚拟(Virtual):
时分复用技术:虚拟处理机、虚拟设备
空分复用技术:虚拟存储
异步(Asynchronism):
进程的异步性:进程是以人们不可预知的速度向前推进的。
1.操作系统的特征——并发:
并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
常考易混概念——并行:指两个或多个事件在同一时刻同时发生。
事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
2.操作系统的特征——共享:
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
并发和共享的关系:
并发性指计算机系统中同时存在着多个运行着的程序。
共享性指系统中的资源可供内存中多个并发执行的进程共同使用。
3.操作系统的特征——虚拟:
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
空分复用技术:
时分复用技术:
4.操作系统的特征——异步:
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
知识回顾
四、操作系统的运行环境—硬件支持
引导程序:位于固件:定位OS内核并将其加载到内存中。
指令:处理及(CPU)能识别、执行的最基本命令。
事件:硬件中断或软件中断引起。
执行程序:位于内存。
程序:位于外存。
1.操作系统内核:
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。
常驻内存,通常与硬件紧密相关。
支撑功能:(与硬件关联较紧密)
中断处理:负责实现中断机制。
时钟管理:实现计时功能。
原语操作:
由若干条指令组成,用于完成一定功能。
处于操作系统最底层,是最接近硬件的部分。
原子性:要么不做,要么全做,不可分割。
运行时间较短、调用频繁。
对系统资源进行管理的功能:进程管理、存储器管理、设备管理。
2.处理机的双重工作模式:
特权指令:如果误用,有可能引起系统崩溃的指令。
内核态(管态、系统态):执行包括特权指令在内的一切指令。
用户态(目态):不能执行特权指令。
由硬件提供模式位:
提供了区分系统正在运行用户代码或内核代码的能力。
系统调用切换运行模式到内核态,并将调用结果返回给用户。
特权指令:在内核态下运行的指令(不允许用户程序使用)
不仅能访问用户空间,还能访问系统空间。
如启动外部设备、设置系统时钟、管中断、切换执行状态、I/O指令。
非特权指令:在用户态下运行的指令
应用程序所使用的都是非特权指令。
防止应用程序的运行异常对系统造成破坏。 仅能访问用户空间。
用户态到内核态的切换:
3.中断与异常:
操作系统是中断驱动的,OS总在等待某个事件的发生,事件总是由中断或异常引起的。
中断(interrupt):由硬件引起。
异常/陷阱(trap):由软件引起。
出错(如除数为零或无效存储访问)。
用户程序的特定请求(如执行OS的某个服务)。
中断的分类:
五、操作系统的主要功能
1.处理机管理功能:
进程控制:创建进程、撤消(终止)进程、状态转换
进程同步:信号量机制
进程通信:直接通信、间接通信
调度:作业调度、进程调度
2.存储器管理功能:
内存分配和回收:内存分配、内存回收
内存保护:
确保每个用户程序仅在自己的内存空间运行
绝不允许用户程序访问操作系统的程序和数据
地址映射:逻辑地址转换为物理地址
内存扩充 (虚拟存储技术):请求调入功能 、置换功能
3.设备管理功能:
主要任务:完成I/O请求;提高CPU和I/O设备的利用率。
(1)缓冲管理:缓冲区机制
(2)设备分配
(3)设备处理:设备驱动程序
4.文件管理功能:
(1)文件存储空间的管理
(2)目录管理:按名存取
(3)文件的读/写管理和保护
5.操作系统与用户之间的接口:
用户接口 :
联机用户接口 :命令行方式CLI。
脱机用户接口 :批处理系统:作业说明书(作业控制语言JCL)。
图形用户接口GUI
程序接口:统调用:能完成特定功能的子程序。
6.现代操作系统的新功能:
系统安全: 认证技术、密码技术、访问控制技术、反病毒技术。
网络功能和服务: 网络通信、资源管理、应用互操作。
支持多媒体 :接纳控制技术、实时调度、多媒体文件的存储。
六、操作系统的结构设计
1.简单结构:
OS是无结构的,是为数众多的一组过程的集合,内部复杂、混乱。
也称整体系统结构。
例子:MS-DOS,早期的UNIX。
2.模块化结构:
将OS按功能划分成若干个模块,并规定好各模块间的接口,称为“模块-接口法”。
优点:提高OS设计的正确性、可理解性和易维护性; 增强OS的可适应性 ;加速OS的开发过程。
大部分现代OS采用可加载的内核模块来设计:
内核有一组核心组件,提供核心服务。
其他服务可在内核运行时动态实现(动态链接)。
每个组件在需要时被加载到内核。
例子:Linux、Mac OS X、Solaris以及Windows。
3.Solaris 模块:
4.分层式结构:
操作系统划分为若干层,在低层上构建高层:
高层仅依赖于紧邻它的底层。
底层(0层)为硬件;最高层( N层)为用户层。
优点:易保证系统的准确性;可保证系统的易维护性和可扩充性。
缺点:系统效率低。
例子:THE、Multics。
5.分层操作系统:
6.微内核OS结构:
基本概念:足够小的内核、基于客户/服务器模式、应用“机制与策略分离”原理 、采用面向对象技术
基本功能:进程管理、低级存储器管理、中断和陷入处理
实例:Mach OS, Windows 2000/XP
微内核结构示意图:
微内核系统优点:
提高了系统的可扩展性。
增强了系统的可靠性。
可移植性强。
提供了对分布式系统的支持。
融入了面向对象技术。
微内核系统存在的问题:
运行效率有所降低。
主要原因:在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模型与上下文的多次切换。
7.外核结构:
基本思想:内核不提供传统OS中的进程、虚拟存储器等抽象,而是专注于物理资源的隔离(保护)与复用。
内核非常小,负责保护系统资源;
应用程序管理硬件资源。
实例:Aegis系统。
七、系统调用
目的:使应用程序可以通过它间接调用OS内核中的相关过程,取得相应的服务。
概念:应用程序请求OS内核完成某功能时的一种过程调用; 用户与内核的接口。
定义:
计算机的各种硬件资源是有限的,为了更好的管理这些资源,用户进程是不允许直接操作的,所有对这些资源的访问都必须由操作系统控制。为此操作系统为用户态运行的进程与硬件设备之间进行交互提供了一组接口,这组接口就是所谓的系统调用。
与一般过程调用的区别:运行在不同的系统状态、 状态的转换 、返回问题、 嵌套调用
系统调用的类型:(系统调用的相关处理需要在核心态下进行)
(1)进程控制类:创建和终止进程、获得和设置进程属性、等待某事件出现的系统调用。
(2)进程通信类:用于进程之间通信的系统调用。
(3)文件操纵类:打开和关闭文件、创建和删除文件、读写文件的系统调用。
(4)设备管理类:申请设备、释放设备、设备I/O重定向、获得和设置设备属性等系统调用。
(5)信息维护类:获得包括有关系统和文件的时间信息、OS版本、当前用户、空闲内存、磁盘等。