第一章:操作系统引论
•操作系统是管理计算机资源的程序/软件
–管理硬件
–为应用程序提供基础
–充当计算机硬件和用户间的接口
•操作系统的目标
–执行用户程序,使用户的计算变得更加容易
–使计算机系统更方便使用
–计算机系统的高效执行
操作系统的主要功能
从资源管理观点看,操作系统具有四大功能:
•进程管理
主要任务
是对处理机的分配和运行实施有效管理。对处理机管理,可归结为对进程的管理。
进程管理的主要功能
•进程控制:创建和撤消进程以及控制进程的状态转换。
•进程同步:所谓进程同步是指系统对并发执行的进程进行协调。最基本的进程同步方式是使诸进程以互斥方式访问临界资源。
•对于彼此相互合作、去完成共同任务的诸进程,则应由系统对它们的运行速度加以协调。
•进程通信:
对于相互合作的进程,在它们运行时,相互之间往往要交换一定的信息,这种进程间所进行的信息交换称为进程通信。
•进程调度:当一个正在执行的进程已经完成,或因某事件而无法继续执行时,系统应进行进程调度,重新分配处理机。进程调度具有一些算法。
•存储器管理
主要任务:
•为多道程序的并发运行提供良好环境;
•便于用户使用存储器;
•提高存储器的利用率;
•为尽量多的用户提供足够大的存储空间。
存储器管理的功能
•**内存分配:**多道程序能并发执行的首要条件是,各道程序都有自己的内存空间,因此,为每道程序分配内存是存储器管理的最基本功能。
•**内存保护:**为保证各道程序都能在自己的内存空间运行而互不干扰,要求每道程序在执行时能随时检查对内存的所有访问是否合法。必须防止因一道程序的错误而扰乱了其它程序,尤其应防止用户程序侵犯操作系统的内存区。
•**地址映射:**在多道程序的系统中,操作系统必须提供把程序地址空间中的逻辑地址转换为内存空间对应的物理地址的功能。
•内存扩充:借助于虚拟存储技术,使系统能运行内存要求量远比物理内存大得多的作业,或让更多的作业并发执行。
•设备管理
设备管理的主要任务:
•为用户程序分配I/O设备;
•完成用户程序请求的I/O操作;
•提高CPU和I/O设备的利用率;
•改善人机界面。
设备管理程序应具有的功能 :
•**缓冲管理:**利用缓冲来缓和CPU和I/O设备间速度不匹配的矛盾,和提高CPU与设备、设备与设备间操作的并行程度,以提高CPU和I/O设备的利用率。
•**设备分配:**系统根据用户所请求的设备类型和所采用的分配算法对设备进行分配,并将未获得所需设备的进程放进相应设备的等待队列。
•**设备处理:**启动指定的I/O设备,完成用户规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。
•**虚拟设备功能:**系统可通过某种技术使设备成为能被多个用户共享的设备,以提高设备利用率及加速程序的执行过程。
•文件管理
文件管理的主要任务:
•文件存储空间的管理
•目录管理
•文件读、写管理
•文件保护
•向用户提供接口
•保护和安全
•保护 是控制程序、进程或用户访问由计算机系统定义的资源的机制。
•保护机制必须:
–区分已经授权用户和未经授权用户
–规定所有要进行的控制
–提供加强控制的方法
计算机系统体系结构
•通过采用的通用处理器的数量来分类
–单处理器系统
•有一个主CPU执行一个通用指令集,包括进程
–多处理器系统
•并行系统(parallel system)或紧耦合系统(tightly coupled system)
•优点
–增加吞吐量
–规模经济
–增加可靠性
•退化
容错
两种多处理模式
•对称多处理 (symmetric multiprocessing,SMP)
–每个处理器都运行同一个操作系统的拷贝
–多个处理器可同时运行,并在性能上不会有多大损失
**–大多数现代操作系统支持 SMP **
•Windows, Solaris, Mac OS X, Linux
•
•非对称多处理**(**asymmetric multiprocessing)
–每个处理器都有各自特定的任务
–主处理器为从处理器调度和安排工作
–更多用于超大型系统
–集群系统
•定义: 由两个或多个独立的系统耦合起来,共享存储并通过LAN网络紧密连接
•高可用性
•非对称集群**: 一台机器处于热备份模式,而另一台运行应用程序**
•对称集群**😗* 多个主机都运行应用程序
多道程序设计
什么是多道程序系统
允许多个作业同时位于内存,从而保证CPU总有一个作业可以执行.
优缺点
•**资源利用率高 **
•**系统吞吐量大 **
•**可提高内存和I/O设备利用率 **
•**平均周转时间长 **
•**无交互能力 **
分时系统(TSS)
什么是分时系统
•TSS 是多道程序设计的自然延伸 – 互式计算
–CPU 执行多个作业, 但由于切换非常之快,用户可以在每个程序运行期间与之交互
•交互式计算机系统提供用户与系统之间的直接通信
–响应时间较短
分时系统与多道程序设计系统的比较
•(1)多路性:允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。
•(2)独立性:每个用户各占一个终端,彼此独立操作,互不干扰。
•(3)及时性:用户的请求能在很短时间内获得响应。
•(4)交互性:用户可通过终端与系统进行广泛的人机对话。
影响响应时间的因素
•终端数目多少
•调度算法(时间片的选取)
•信息交换量和信息交换速度
•机器处理能力
•请求服务的时间长短及服务请求的分布
分布式系统
•共享计算任务
–通过网络提供功能
•松耦合系统
–每个处理器有各自的本地内存
–通过各种通信线路,如高速总线或电话线来通信
•分布式系统优点
–资源共享
–计算速度提高
–可靠性
–通信
实时系统
•通常用于控制特定应用的设备。如科学实验、医学成像系统、工业控制系统等
•有严格时间要求
•嵌入式系统几乎都运行实时操作系统
手持系统
•个人数字助理(PDAs)
–小, 轻, 省电
–功能有限
•手机
•问题
–内存少, 必须有效管理内存
–处理器慢
–屏幕小
–键盘小