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