1.1 操作系统的目标、作用和模型
OS的目标 :
1、方便性: 用户无需了解底层硬件,无需用0、1机器语言操作。(可以说不用手,用工具,进入石器时代了。)
2、有效性: CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。
3、可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。
4、开放性: 网络环境,遵循开放互联标准。
OS的作用:
1) 作为用户与计算机硬件系统之间的接口 * 达成了方便性的目标。*
2) 作为计算机系统资源的管理者 * 达成有效性目标 *
3) 用作扩充机器
1.2 操作系统的发展过程
1. 人工操作方式
工作方式: 用户:既是程序员又是操作员;用户是计算机专业人员;
编程语言:机器语言;
输入输出:纸带或卡片;
特点: 用户独占全机,资源利用率极低; CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
主要矛盾: 人机矛盾----人工操作严重降低了计算机资源的利用率
提高效率的途径: 脱机输入/输出技术。
2. 脱机输入/输出(Off-Line I/O)方式
等待人工操作纸带输入数据的不是CPU,而是外围机,一定程度上解决人机矛盾。
脱机I/O方式的主要优点: 减少了CPU的空闲时间 提高I/O速度
脱机I/O方式的主要缺点: 系统开销大!
3. 单道批处理系统(Simple Batch Processing System)
作业成批、脱机方式输入到磁带或磁盘上 进一步减少脱机I/O中装卸磁带等耗时操作 系统监督程序(Monitor)控制作业自动过渡,一个接一个的连续处理。单道批处理系统:作业成批处理 内存中只有一道。
特征: 单道性 顺序性 自动性
优点: 一定程度解决人机矛盾,CPU与I/O速度矛盾; 提高了资源利用率和系统吞吐量; 算做OS的前身,但还不是现在所理解的OS;
4. 多道批处理系统
用户作业、外存上排队,称为“后备队列”; 作业调度程序、按一定的算法、从后备队列中选择若干作业 调入内存 入内存的作业、共享CPU和系统中的各种资源,自动批量处理。
“多道”程序有什么好处?
1.CPU利用率提高:减少了CPU等待时间(正在运行的程序若因为I/O操作暂停,可调度其他程序执行,不必装卸。)
2.内存利用率提高:容量尽可能多的被利用
3.多种I/O设备并发被使用,也提高了利用率
总体上说:系统吞吐量增加(虽然CPU总是串行的,但一段时间内被运行的作业数相对要多)
多道批处理系统的特征:
多道性
无序性 作业入内存由算法决定,不按提交顺序。入内存后顺序执行。
调度性 包括作业调度、进程调度
多道批处理系统的优缺点:
优点:
资源利用率高:CPU和内存利用率较高;
系统吞吐量大:单位时间内完成的工作总量大;
缺点:
平均周转时间长:短作业的周转时间显著增长;
无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
多道批处理系统解决的五大问题:
处理机管理问题 、内存管理问题 、I/O设备管理问题 、文件管理问题 、作业管理问题
操作系统定义:
一组控制和管理计算机硬件和软件资源, 合理地对各类作业进行调度(多道), 方便用户使用的程序的集合。
5.分时系统(time-sharing system)
1)分时系统的产生 :用户的新需求是主要动力: 人—机交互 共享主机 便于用户上机
2)分时系统实现中的关键问题
交互:当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。
共享:强调即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。
(1)及时接收:多路卡,缓冲区
(2)及时处理:终端请求作业直接进入内存,设置时间片
分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统是多道程序的逻辑扩充
4)分时系统的特征:
多路、独立、及时、交互
多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。
宏观上:是多个人同时使用一个CPU
微观上:多个人在不同时刻轮流使用CPU
独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。
及时性:通过时间片技术和轮转调度算法保证及时响应。
交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。
6. 实时系统(Real-Time System)
实时系统是指:
系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时系统的实现
系统必修有能够保证其承担的多个任务在规定的时间完成,调度和能力是关键。
按任务执行时是否呈现周期性来划分
周期性实时任务
非周期性实时任务——截止时间
根据对截止时间的要求来划分
硬实时任务
软实时任务
操作系统四大基本特性:共享、虚拟、并发、异步
1.处理机管理功能
1)进程控制: 为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等。 (可理解为对单个进程基本信息进行管理)
2)进程同步: 为多个进程运行进行协调(包括互斥和同步)
3)进程通信: 用来实现在相互合作进程间的信息交换;(直接通信和网络通信)
4)调度: 作业调度(入内存)和进程调度(分配CPU)
2. 存储器管理功能
1)内存分配:为每道程序分配内存空间(包产到户)具体分配涉及许多细节: 分配方式:动态、静态 分配机制需要的数据结构、分配算法、回收内存功能
2)内存保护:确保每道用户程序都只在自己的内存空间中运行 需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查
3)地址映射(变换):进程的逻辑地址到内存物理地址的映射。 程序编译形成的目标程序地址都是从0开始,是逻辑地址 真正调入内存某个空间存放的地址是物理地址
4)内存扩充:用虚拟存储技术解决内存容量不足的问题; 请求调入功能 页面置换功能
3.设备管理功能
1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
2)设备分配:按某种设备分配策略,为之分配所需的设备; 应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同
3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。
4. 文件管理功能
1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度; 需要相应的数据结构,记录文件存储空间的使用情况;要有对存储空间分配和回收的功能
2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享。
3)文件的读写管理和保护:读写操作与有效的存取控制功能。
5. 用户接口
1)命令接口 用户可通过键盘终端发出命令以控制作业的运行。 联机用户接口:由一组磁盘操作命令和命令解释程序组成。 脱机用户接口:由一组作业控制语言组成,如批处理文件。
2)程序接口 用户程序在执行中访问系统资源而设置,由一组系统调用组成。 早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。
3)图形接口
操作系统的三个基本类型是: 批处理操作系统、分时系统、实时系统。
批处理操作系统的主要缺点是: 缺少交互性
允许多个用户以交互方式使用计算机的操作系统称为(分时);允许多个用户将多个作业提交给计算机集中处理的操作系统称为(批处理);计算机系统能及时处理过程、控制数据并做出响应的操作系统称为(实时)
现代操作系统的两个最基本的特征是: 并发和共享。
实时系统应具有两个基本特征: 及时性 和 高可靠性。
操作系统的五大管理功能是: 处理机管理、存储器管理、设备管理、文件管理、作业管理