1.1操作系统的概念
1.1.1 操作系统的定义
操作系统是硬件之上的第一层软件。
-
用户观点 ——人机交互接口
用户与计算机硬件系统之间的接口,该接口在使用便捷性、资源利用率方面表现突出。
-
系统观点
操作系统是:
-
控制程序 – 控制用户程序的执行和I/O设备的操作
-
资源分配器 – 管理和分配资源,解决资源冲突
-
内核 – 一直运行在计算机上的程序 (其他程序则为应用程序)
-
操作系统是管理计算机硬件的程序.它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介
操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度,以及方便用户的程序的集合
总结 操作系统就是一组管理与控制计算机软硬件资源并对各项任务进行合理化调度,且附加了各种便于用户操作的工具的软件层次。
1.2操作系统的特征
-
并发(Concurrence):程序、进程、线程
-
共享(Sharing):互斥共享、同时访问
-
虚拟(Virtual)
-
异步性(Asynchronism)
其中并发性是操作系统最重要的特征,其它三个特性均基于并发性而存在。
拓展: 程序:在外存中未运行的代码 进程:在内存中已经运行了的程序
1.2.1 并发性
区分两个概念:并发和并行。
-
若在一个时间段内发生了一个以上的事件,则称这几个事件具有并发性
-
而并行性指的是多个事件在同一时刻点发生
在单处理机系统中,程序是具有并发性,不具有并行性的。
1.2.2 共享性
多个并发执行的程序按照一定的规则共同使用操作系统所管理的软硬件资源。
操作系统所管理的软硬件资源按照使用方式可以分为同时访问方式和互斥访问方式
-
同时访问方式指的是在一段时间内允许多个程序并发访问。
-
互斥访问方式指的是在一段时间内只允许一个程序访问的资源,这类资源被称为临界资源。
1.2.3 虚拟性
虚拟性是将计算机体系结构中的各种物理设备映射为多个逻辑设备。这种映射通常是利用分时共享的方式实现的,被映射的物理设备有多种(内存、CPU、外设等)。
工作模式不同的各个设备所使用的映射方法不同:
-
虚拟存储器技术
-
虚拟处理器技术
-
虚拟设备技术
虚拟特性的实现主要依靠分时共享和多道程序设计技术,虚拟方法不会造成多个用户长期等待其他用户操作完成,同时能够极大地提高资源利用率。
1.2.4 异步性
异步性指的是操作系统中的各个程序的推进次序无法预知。
异步性的产生是由现代操作系统的并发性引起的
1.3操作系统的功能
1.3.1 处理机管理的功能
处理机管理的主要任务是对处理机的分配和运行实施有效管理。
-
进程控制:进程创建、撤销及状态转换
-
进程同步:协调并发执行的进程
-
进程通信:不同进程间的信息交换
-
调度:
-
作业调度(外存到内存的调度)
-
进程调度(内存到CPU的调度)
-
1.3.2 存储器管理的功能
存储器管理的主要任务就是将各种存储器件统一管理,保证多道程序的良好运行环境,同时还要兼顾内存利用率、逻辑上扩充内存的需求以及用户的感受,提供优良的控制、存取功能,为用户提供操控存储器的手段。
-
内存分配:
为每道程序分配合适的内存空间
-
分配内存空间时应尽量提高内存空间的利用率,减少不可用内存空间
-
响应正在运行的程序发出的动态空间申请,以便满足新增指令和数据对新空间的需求
内存分配通常采用的方式有动态和静态两种方式
-
静态分配:程序在装入内存时需要估计所需空间,一旦进入内存开始运行,就不能再申请新的空间,也不能将该程序所占空间“搬运”到其它位置。
-
动态分配:尽管程序装入内存时申请了一定的空间,但在程序运行期间还可以为运行过程中所需的新的程序和数据再申请额外的空间,以满足程序空间动态增长的需要。
-
-
内存回收
内存回收指的是当程序运行完毕后,将各程序在装入内存时所分配的空间重新置为空闲分区,并交由OS统一管理,以备其它程序申请使用。
-
记录当前内存使用和分配情况
-
配置内存分配数据结构(为后期分配和回收提供依据)
-
-
内存保护
为了保证每个用户的各个程序独立运行,不会相互影响
主要任务就是确保每道程序都在自己的内存空间运行,决不允许任何程序访问或存取其它程序的非共享程序和数据。
-
常见保护方法是利用上下界限寄存器。这两个寄存器中存放的数值是当前进程的内存空间的起始地址和终止地址,每当CPU要求访问某个地址的程序或数据时,OS会先利用上下界限寄存器与之比较,若在这两个界限内,则可以正确访问,否则就拒绝此次的内存访问。
-
-
地址映射
-
虚拟内存
核心内容是请求调入功能和置换功能
-
请求调入功能允许程序仅向内存装入保证启动的必需数据和指令,当程序在运行过程中若需要新的数据和程序时,先中断自身运行,并向OS提出调入请求,由其从磁盘将所需数据和指令调入内存,然后继续从被中断的地方执行。
-
置换功能指的是在OS将所需新数据或指令调入内存时,若发现内存空间不足,需要从现处于内存中的数据或程序中选择部分暂时不用的调出到磁盘上,腾出的空间则用来调入当前的急需数据。
-
1.3.3 设备管理的功能
设备管理的主要作用是使用统一的方式控制、管理和访问种类繁多的外围设备。
-
缓冲管理: CPU与 I/O速度不匹配
-
设备分配:根据I/O请求,以及资源使用情况分配设备——类控制表
-
设备驱动:实现CPU和设备控制器之间的通信
-
虚拟设备:一台物理设备虚拟为多台逻辑设备。
1.3.4 文件管理的功能
有效保护文件安全,提高资源利用率,为用户提供快速检索和使用文件的手段
-
文件存储空间的管理
-
目录管理
-
文件的操作管理
-
文件保护
1.3.5 人机接口
-
图形用户接口
-
命令接口
-
程序接口
1.4 操作系统的性能指标
-
系统吞吐量指的是在单位时间内系统所能处理的数据量,该指标可以用来衡量系统的处理效率。
-
资源利用率指的是各类资源在单位时间内为用户工作所服务的比例,它表明资源能力利用是否合理。
-
响应速度指的是系统从接收到用户请求到完成请求处理、反馈响应信息的完整过程的速度,它的优劣大大影响到用户感受。
1.5操作系统的形成和发展
1.5.1 人工操作阶段
工作流程:
缺点:
-
计算机由一个用户独占,除非该用户工作完成,下一个用户总是需要长期等待。
-
CPU利用率低。用户在安装卡片、启动输入设备进行输入时,CPU并没有工作,而是等待数据输入。
1.5.2 单道批处理系统
工作过程:
多个用户任务利用外围机输入磁带后,启动批处理系统自动按顺序读入并处理全部任务,同时依序将结果输出到另一个磁带上,直到全部任务完成,工作人员再将结果利用输出外围机输出即可
特性:
-
顺序执行
-
自动运行
-
单道运行
优点:
-
提高了机器利用率:减少了人工操作时间,提高了CPU利用率和系统吞吐量
-
自动性:OS(监督程序)驻留在内存中,其任务是使控制自动地从一个作业转向下一个作业
缺点:
-
资源利用率仍然不高:CPU经常空闲
1.5.3 多道批处理系统
基本思想:引入多道程序技术
工作过程:
-
所有用户的作业先在外存排队等待装入内存,此时形成的作业队列被称为“后备队列”。
-
接着由作业调度程序按照选定的调度算法从后备队列中选择一个或多个作业装入内存的不同分区,这些分区相互不重叠。
-
最终,该作业可能必须等待另一个任务(如I/O操作)的完成而进入等待状态,此时,OS使CPU切换到另一个作业并执行,当该执行作业进入等待过程时,CPU又会切换到一个可以执行的作业执行……,只要有一个任务可以执行,CPU就不会空闲
-
在作业运行期间,各作业仅能访问分配给自己的内存空间中的程序和数据,每次要求访问指定地址的信息时,操作系统要主动检查其是否超出本作业的内存空间,以防止越界访问和操作。
优点:
-
多道
-
宏观上并行、微观上串行
-
提高CPU的利用率
-
提高内存和I/O设备利用率
-
多个程序共处内存可以尽量减少内存的空间浪费 。
-
多个I/O设备同时被多个不同程序使用,在单位时间内,每个设备的利用率都得到了提升。
-
-
增加系统吞吐量
-
缺点:
-
平均周转时间长
-
无交互能力
-
用户任务响应时间大大延长
-
修改和调试程序均需要等待本批作业处理完成才能进行
1.5.4 分时系统
一台主机上连接了多个带有显示器和键盘的终端,并允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源
设计思想:(基于多道程序设计思想)
-
分时系统将CPU处理时间进行分割,形成多个特定大小的时间片段,这些片段被称为时间片。而分时系统中的每个用户在获取CPU控制权后,最长只能执行一个时间片长度,然后就必须让出CPU,交给其他等待用户使用。
特征:
-
多路性:指的是多个用户终端同时联接在一台主机之上,系统按照时间片轮转的方式将CPU轮流交予各个用户进程使用。
-
用户:单位时间内每个用户都感觉自己独占终端并得到响应
-
系统:每个小时间片内
-
-
及时性:指的是用户请求的响应时间要短。
-
独立性:指的是每个用户均感觉自己独占了一台终端,且不知道其他用户的存在,即每个用户均独立运作自己的程序,相互之间不干扰。
-
交互性:指的是用户使用终端与系统进行对话,以便向系统请求各种不同的系统服务,这些服务可以帮助用户完成不同类型的需求。
1.5.5 个人计算机系统
大规模集成电路出现以后,也随之出现了第四代——个人计算机
-
单用户单任务操作系统
-
单用户多任务操作系统
-
多用户多任务操作系统
1.5.6 实时系统
实时任务
两种实时系统:
-
实时控制
-
生产过程的控制均需要依赖计算机对数据的快速组织处理能力,由硬件采样装置采集上来的样本值被及时(或即时)传送到控制主机中,由主机根据事先制定的控制规则自动指定相关硬件动作,以完成产品的加工。
-
-
实时信息处理
-
此类系统所管理的数据均放在服务器上,由多个终端通过网络关联,服务器接收各终端发来的远程服务请求,分析请求后对信息进行检索和处理,然后将处理结果返回给提出申请的用户。
-
特征:
-
及时性
-
可靠性
-
并发性
-
独立性
1.5.7 网络操作系统
网络用户和网络之间的接口,除实现通用操作系统功能外,还需要管理网络中的共享资源,实现用户之间的通信,同时还要向用户提供多种系统服务。
基本功能:
-
基本操作系统功能
-
数据通信
-
资源共享
-
网络管理
网络操作系统部署于单机,其运行性能取决于本地计算机。
1.5.8 分布式系统
分布式系统是一个逻辑上的全局操作系统,由若干个独立的计算机构成,这些不同的处理器通过互联网构成一个统一的系统。
组成分布式系统的各个主机体系(包括处理器、存储器、外设)既可以独立处理本地任务,又可以合作完成大型工作。
特征:
-
多机合作:多个处理器共同协作,由操作系统自动对任务进行分配和协调。分布式系统具有多机合作功能,使得其具有响应时间短、系统吞吐量高、可靠性高等优点。
-
健壮性:当系统中的一个甚至多个处理器出现故障时,剩余的处理器仍能自动重新构成一个新的基于较少处理器的操作系统,该系统仍能继续工作,甚至在配置了冗余处理器的分布式系统中,重构的新系统可以继续失效部分的全部工作。一旦故障排除,系统将自动恢复为原来的状态。