第一章操作系统引论
操作系统的目标:方便性、有效性、可扩充性、开放性。
方便性
通过OS命令操纵计算机,方便用户
有效性
提高系统资源的利用率,提高系统吞吐量
可扩充性
OS必须具有很好的可扩充性 ,与OS的结构有紧密的联系
开放性
遵循世界标准规范。特别是开放系统互连OSI
操作系统的作用
OS作为用户与计算机硬件系统之间的接口:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机硬件系统
OS作为计算机系统资源的管理者:处理机管理( 分配和控制处理机) 、存储器管理(内存的分配和回收) 、I/O设备管理( I/O设备的分配与操纵)、文件管理(文件的存取、共享和保护)
OS实现了对计算机资源的抽象
推动操作系统发展的主要动力
不断提高计算机系统资源的利用率
方便用户
器件不断更新换代
计算机体系结构不断发展
不断提出新的应用需求
人工操作方式:1用户独占全机、2CPU等待人工操作
单道批处理系统
编程语言:汇编语言、FORTRAN语言
输入输出:磁带
第一次在程序员、操作员和维护员之间有了明确的分工
缺点:系统资源得不到充分的利用。
多道程序设计的概念
多道程序设计指把一个以上的作业存放在主存中,并且同时处于运行状态,使这些作业共享处理机时间和外部设备等其它系统资源。
就微观而言,在任一特定时刻,在处理机上运行的作业只有一个。
分时系统:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可通过自己的终端以交互方式使用计算机
多路性允许将多台终端同时连接到一台主机,并分时使用。
独立性感觉用户独占主机。
及时性用户的请求能在很短时间内获得响应(1~3秒)。
交互性用户可通过终端与系统进行广泛的人机对话
实时系统:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
多路性、独立性、 及时性、交互性、可靠性
嵌入式系统
为了完成某个特定功能而设计的系统,或是有附加机制的系统,或是其他部分的计算机硬件与软件的结合体
系统内核小、系统精简、具有可配置性、高实时性
网络OS的概念:在计算机网络环境下对网络资源进行管理和控制,实现数据通信及对网络资源的共享,为用户提供与网络资源接口的一组软件和规程的集合
网络OS的特征:硬件独立性、接口一致性、资源透明性、系统可靠性、执行并行性
网络OS的功能:数据通信、应用互操作、网络管理
分布式系统
定义:基于软件实现的一种多处理机系统,是多个处理机通过通信线路互连而构成的松耦合系统。
特征:分布性、透明性、同一性、全局性。
分布式OS
定义:配置在分布式系统上的公用OS。
例子:万维网、鸿蒙OS。
分布式OS的功能
单处理机OS的主要功能;网络OS所拥有的全部功能;
还包括:通信管理功能、资源管理功能、进程管理功能
操作系统的基本特征
并发
并行性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时间间隔内发生
共享:系统中的资源可供内存中多个并发执行的进程共同使用
虚拟:通过某种技术把一个物理实
体变为若干个逻辑上的对应物
时分复用技术:虚拟处理机、虚拟I/O设备
空分复用技术:虚拟存储
异步:进程是以人们不可预知的速度向前推进
单核CPU同一时刻只能运行一个程序,各个程序只能并发的执行(交替的使用CPU)!
多核CPU同一时刻可以执行多个程序,多个程序可以并行的执行(同时发生运行)
进程,是指在系统中能独立运行并能作为资源分配对象的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交
操作系统内核
支撑功能:中断处理、时钟管理、原语操作
由若干条指令组成,用于完成一定功能。
原子操作:要么不做,要么全做,不可分割。
资源管理功能:进程管理、存储器管理、设备管理
特权指令:在内核态下运行的指令
不仅能访问用户空间,还能访问系统空间。
如启动外部设备、设置系统时钟、中断、切换执行状态、I/O指令。
非特权指令:在用户态下运行的指令
应用程序所使用的都是非特权指令。
防止应用程序的运行异常对系统造成破坏。
仅能访问用户空间
中断(interrupt):由硬件引起。
异常/陷阱(trap):由软件引起。
出错(如除数为零或无效存储访问)。
用户程序的特定请求(故意的、执行OS的某个服务)。
操作系统的主要功能
处理机管理功能、文件管理功能、内存管理功能、操作系统与用户之
间的接口、设备管理功能、现代OS的新功能
简单结构
OS是无结构的,是为数众多的一组过程的集合,内部复杂、混乱也称整体系统结构
模块化结构
将OS按功能划分成若干个模块,并规定好各模块间的接口,称为“模块-接口法”
优点:提高OS设计的正确性、可理解性和易维护性、增强OS的可适应性、加速OS的开发过程
分层式结构
操作系统划分为若干层,在低层上构建高层。
高层仅依赖于紧邻它的底层。底层(0层)为硬件;最高层(N层)为用户层。
优点:易保证系统的准确性。可保证系统的易维护性和可扩充性。
缺点:系统效率低。
微内核OS结构
基本概念:内核只保留必不可少的部分、将“机制与策略分离'、采用面向对象技术、基于客户/服务器模式
基本功能:进程管理、低级存储器管理、中断和陷入处理
微内核系统优点:
◼ 提高了系统的可扩展性
◼ 增强了系统的可靠性
◼ 可移植性强
◼ 提供了对分布式系统的支持
◼ 融入了面向对象技术
微内核系统存在的问题:
◼ 运行效率有所降低
◼ 主要原因:在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模型与上下文的多次切换
外核结构
基本思想:内核不提供传统OS中的进程、虚拟存储器等抽象,而是专注于物理资源的隔离(保护)与复用。
◼ 内核非常小,负责保护系统资源;
◼ 应用程序管理硬件资源。
系统调用的基本概念
系统调用目的:使应用程序可以通过它间接调用OS内核中的相关过程,取得相应的服务。
系统调用概念:应用程序请求OS内核完成某功能时的一种过程调用;用户与内核的接口。
与一般过程调用的区别:运行在不同的系统状态、状态的转换、返回问题、嵌套调用