文章预览:
操作系统(OS:Operation System)
操作系统的目标和作用
- OS是硬件上的第一层软件,是对硬件系统的首次扩充。
- 主要是为了管理好系统资源,提高对系统资源的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。
- OS是现代操作系统中,最基本和最重要的系统软件,而其他的一些系统软件,以及大量的应用软件,都直接依赖于操作系统的支持,取得OS所提供的服务。
OS的目标
- 方便性:如果没有配备OS,操作计算机必须使用机器语言书写程序;如果配备了OS,就可以将高级编程语言翻译成机器代码,极大的方便了用户。
- 有效性:首先,提高了系统资源的利用率;其次,提高了系统的吞吐量。
- 可扩充性:微内核结构能方便地添加新的功能和模块,以及对原有的功能和模块进行修改。
- 开放性:OS遵循OSI国际标准,可兼容所有遵循OSI标准开发的软件和硬件。
OS的作用
- OS作为用户与计算机硬件系统之间的接口:用户通过三种方法(命令方式、系统调用方式、图标-窗口方式)实现与操作系统的通信,并取得他们的服务。
- OS作为计算机系统资源的管理者:处理机、存储器、I/O设备、文件管理。
- OS实现了对计算机资源的抽象:所谓的抽象,就是在裸机、硬件上覆盖软件,使之称为扩充机器或虚机器。也可以在软件上在覆盖软件。随着抽象层数越高,抽象接口所提供的功能就越强,用户使用就越方便。
为什么说OS实现了对计算机资源的抽象
- OS是铺设在计算机硬件多层软件的集合,既增强了系统的功能,又隐藏了硬件操作的具体细节,实现了对计算机资源的多个层次的抽象模型。
OS发展的主要动力
- 1、需要不断提高计算机资源的利用率:由于早期计算机系统十分昂贵,人们就想尽办法提高计算机资源的利用率。实现了由多道批系统、SPOOLing系统、虚拟存储器技术、数据库文件系统、数据库系统的发展。
- 2、方便用户:图形用户界面的出现。
- 3、器件的不断更新换代:微机芯片的不断发展,由8位->16位->32位->64位的发展,使得OS的性能有了显著的提高,现在OS已经能够操作很多设备,包括光盘、移动硬盘、U盘、扫描仪、数码相机等。
- 4、计算机体系结构的不断发展:单处理机->多处理机->网络操作系统
- 5、不断提出的新的应用需求
操作系统的基本特性
OS有那几大特征?
- 1、并发:使得OS有效地提高了<系统资源的利用率>和<系统的吞吐量>。
- 2、共享:
- OS环境下的<资源共享>或称为<资源复用>,是指系统中的资源可供内存中多个并发执行的进程共同使用
- 因为系统中的资源远少于多道程序需求的总和,会形成它们对共享资源的争夺
- 由于资源属性的不同,进程对资源的复用的方式也不同,目前主要实现资源共享的方式有两种:互斥共享方式、同时共享方式。
- 3、虚拟:通过时分复用或空分复用技术,将一道物理信道变为若干条逻辑信道,使原来之能供一对用户通话的物理信道,变为可供多个用户同时通话的逻辑信道。
- 4、异步:进程是以人们不可预知的速度向前推进的。
并发和共享
并行 vs 共享 的关系?
- 并行和共享是操作系统最基础的两个特征。
- 并行和共享互为存在的条件。一方面,资源的共享是以进程的并发为前提;另一方面,若系统不能对资源共享进行有效的管理,就会影响到并发。
并行 vs 并发?
- 并行:在同一时刻,有两个或者多个事件同时发生。
- 并发:在同一时间间隔内,有两个或者多个时间同时发生。
互斥共享方式 vs 同时访问方式 or 对独占资源应该采用那种共享方式?
- 互斥共享方式:对于某些临界资源,规定在一段时间内,只允许一个进程访问该资源。
- 同时访问方式:有些资源,允许在一段时间内由多个进程同时对他们进行访问。<宏观上同时,微观上交替进行>
虚拟
什么是时分复用技术(多道程序技术)?
- 通过利用处理机的空闲时间运行其他程序,提高处理机的利用率。
- 时分复用技术是将不同的信号交织在不同的时间段内,沿着同一个信道传输;在接收端再用某种方法,将各个时间段内的信号提取出来还原成原始信号的通信技术。
时分复用技术能提高资源利用率的根本原因?
- 利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
时分复用技术可以利用在哪些地方?
- 虚拟处理机技术:在一台处理机上,利用分时复用的方法,能实现为多个用户服务,使每个终端用户都认为是有一个处理机在专门为他服务。-- 即将一台物理上的处理机虚拟为多台逻辑上的处理机。
- 虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(临界资源),变为允许多个用户同时访问的共享设备。
什么是空分复用技术?
- 利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。
- 空分复用技术是将一个频率范围比较宽的信道划分成多个频率范围较窄的信道(称为频带),其中的任何一个频带都仅供一对用户通话。
时分、空分复用技术着重指出点
- 采用时分复用技术,某物理设备所对应的虚拟设备为N台,则每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N。
- 采用空分复用技术,N为某台物理设备对应的虚拟设备台数,一台虚拟设备平均占用的空间必然也等于或低于物理设备所占有空间的1/N。
异步
为什么会有异步的特征?
- 在多道程序环境下,系统允许多个程序并发执行,但由于资源因素的限制,使进程的执行通常不可能"一气呵成",而是以"走走停停"的方式进行,所以产生了异步。
- 比如:有的程序侧重于计算而较少需要I/O,而有的程序其计算少而I/O多,这样,很可能先进入内存的作业后完成,而后进入内存的作业先完成,都是不可预知的。
操作系统的发展过程
- 为配备操作系统的计算机系统
- 单道批处理系统
- 多道批处理系统
- 分时系统
- 实时系统
- 微机操作系统
为配备操作系统的计算机系统
人工操作方式的缺点?
- 用户独占全机
- CPU等待人工操作
脱机输入/输出方式(Off-Line I/O)为何发展和形成?
- 为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾。
- 将数据提前输入到磁带上,当cup需要这些程序和数据时,再从磁带上高速地调入内存。
何为脱机I/O和联机I/O?
- 联机I/O(On-Line I/O):在主机的直接控制下进行输入/输出的方式。
- 脱机I/O:在脱离主机的控制下进行输入/输出的方式。
脱机I/O方式的主要优点
- 1、减少了cpu的空闲时间
- 2、提高了I/O速度
单道批处理系统(Simple Batch Processing System)
单道批处理系统的处理过程?
- 单道批处理系统:在监督程序(Monitor)的控制下,使作业能一个接一个地连续处理。
单道批系统形成和发展的主要动力是什么?
- 为了能充分提高系统资源的利用率和系统吞吐量
- 解决人机矛盾和CPU与I/O设备速度不匹配的问题。
单道批处理系统的缺点
- 缺点:系统中的资源等不到充分的利用
- CPU长时间空闲。
- 计算机配置较大容量的内存时,会造成内存的浪费。
多道批处理系统(Multiprogrammed Batch Processing System)
多道批处理系统的处理过程?
- 用户所提交的作业先存放到外存上,并排成一个队列,称为后备队列。
- 然后,由作业调度程序按照一定的算法,从后备队列中挑选若干个作业调入内存,使他们共享CPU和系统中的各种资源。
推动多道批处理系统形成和发展的主要动力?
- 提高系统资源的利用率
- 提高系统的吞吐量
多道批处理系统的优缺点
- 优点:
- 资源利用率高:CPU、内存、I/O的利用率都提高
- 系统吞吐量大:CPU保持忙碌、系统开销小
- 缺点:
- 平均周转时间长:由于作业要排队依次进行处理
- 无交互能力:用户把作业提交后,直到作业完成,用户都无法与自己的作业交互,修改和调试程序极不方便。
多道批系统需要解决什么问题?
- 处理机争用问题:既要满足各程序运行的需要,又要能提高处理机的利用率。
- 内存分配和保护问题:要为每道程序分配必要的内存,又要保证不会因为某个程序出异常而影响其他程序。
- I/O设备分配问题:适当分配以方便用户使用,又提高设备利用率。
- 文件的组织和管理问题:有效组织,既方便用户使用,又保证数据的安全。
- 作业管理问题:合理组织,满足用户要求。
- 用户与系统的接口问题:OS还应提供与OS之间的接口。
分时系统(Time Sharing System)
什么是分时系统?
- 在一台主机上连接了多个配有显示屏和键盘的终端,并由此所组成的系统。
- 该系统允许多个用户同时通过自己的终端,以交互的方式使用计算机,共享主机中的资源。
推动分时系统形成和发展的主要动力?
- 满足用户对人—机交互的需求
实现分时系统的关键问题是什么?如何解决?
- 关键问题:如何使用户能与自己的作业进行交互
- 解决方法:允许有多个用户同时通过自己的键盘输入命令,系统也应能全部及时接收并处理。
分时系统怎么及时接收?
- 只需在系统中配置一个多路卡,就可以及时接收多个用户键入的命令或数据。
- 多路卡的作用:实现分时多路复用,在每个终端停留很短的时间用于接收数据。
人—机交互的关键?
- 关键在于,用户输入命令后,能对自己的作业及其运行及时地实施控制,或进行修改。
分时系统怎么及时处理?
- 作业直接进入内存:因为作业在磁盘上不能运行,所以直接进入内存。
- 采用轮转运行方式:每个作业每次只能运行一个时间片。
分时系统的特征
- 多路性:允许多个用户共享一台计算机。
- 独立性:每个用户都感觉一人独占一台主机。
- 及时性:及时接收,及时处理。
- 交互性:实现人—机交互。
实时系统(Real Time System)
什么是硬实时系统和软实时系统?试举例说明
- 硬实时系统(Hard Real-time Task,HRT):系统必须满足对截止时间的要求,否则会出现难以预测的结果。
- 例如:工业(武器)控制系统
- 软实时系统(soft Real-time Task,SRT):也联系着一个截止时间,但并不严格,若错过了影响也不大。
- 例如:信息查询系统、多媒体系统、嵌入式系统
微机操作系统
- 随着VLSI和计算机体系结构的发展,以及应用需求的不断扩大,操作系统仍然在继续发展。
微机操作系统按运行方式,分为几类?
- 单用户单任务操作系统:CP/M、MS-DOS
- 单用户多任务操作系统:Windows
- 多用户多任务操作系统:UNIX OS、Solaris OS、Linux OS
操作系统的主要功能
处理机管理功能
处理机管理的主要功能?其主要任务是什么?
- 处理机管理地主要功能:进程控制,进程同步,进程通信,调度。
- 主要任务:提高资源利用率和系统吞吐量
进程控制
- 进程控制就是为作业创造进程、撤销(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
进程同步
- 设置相应的进程同步机制,使得多个进程能有条不紊的运行。
- 通常有进程同互斥方式和进程同步方式两种
进程通信
- 实现进程之间的信息互换
- 由源进程利用发送命令将消息挂到目标进程的消息队列上,以后由目标进程利用接收命令从消息队列中取出消息。
调度
- 作业调度;从后备队列中选择若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为它们建立线程,使之成为可能获得处理机调度的就绪进程,并插入就绪队列。
- 进程调度:选出进程,将处理机分配给他,并为他设置运行现场,使其投入运行。
存储器管理功能是什么?其主要任务是什么?
- 主要功能:内存分配、内存保护、内存扩充、地址映射
- 主要任务:为多道程序地运行提供良好地环境,提高存储器地利用率,方便用户使用,并能从逻辑上扩充内存。
设备管理功能是什么?其主要任务是什么?
- 主要功能:缓冲管理、设备管理、设备处理
- 主要任务:
- 完成用户进程提出的I/O操作,为用户进程分配所需的I/O设备,并完成指定的I/O操作。
- 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
文件管理功能的功能是什么?其主要任务是什么?
- 主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护
- 主要任务:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
操作系统与用户之间的接口
用户接口
程序接口
现代操作系统的新功能
系统安全
为什么产生系统安全的问题?
- 一些重要的、大量的信息,必须高度集中地存储在计算机系统中。
- 入保确保在计算机系统中存储和传输数据的保密性、完整性和系统可用性,便成为信息系统待解决的重要问题,而保障系统安全性的任务也责无旁贷地落到了现代OS的身上。
举例说明保障系统安全的几个技术问题
- 认证技术
- 密码技术
- 访问控制技术
- 反病毒技术
网络的功能和服务
- 网络通信
- 资源管理
- 应用互操作
支持多媒体
- 接纳控制功能
- 实时调度功能
- 多媒体文件的存储
OS结构设计
传统操作系统结构
无结构操作系统
模块化结构OS
- 模块化程序设计技术:该技术基于“分解” 和“模块化”的原则控制大型软件的复杂度,称之为模块-接口法。
- 分为各个模块,每个模块具有具体的管理功能,如进程管理模块、存储器管理模块、I/O设备管理模块等。
- 规定了各模块间的接口,使各模块之间按接口实现交互。
- 模块独立性
- 如果模块较多,虽然降低了模块本身的复杂度,但是会引起模块之间联系过多造成混乱;如果将模块划分的过大,又会增加模块内部的复杂度,使内部的联系增加。
- 模块的独立性越高,各模块间的交互就越少,系统的结构也就越清晰。
- 衡量模块独立性有两个标准:
- 内聚性:模块内部紧密程度。内聚性越高越独立。
- 耦合性:模块间的紧密程度。耦合度越小越独立。
模块接口法的优缺点?
优点:
- 提高了OS设计的正确性、可理解性和可维护性。
- 增强了OS的可适应性。
- 加速了OS的开发过程。
缺点: - 在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。
- 在OS设计阶段,会造出各种决定的"无序性"。
分层式结构OS
分层结构的优缺点
优点:
- 易保证系统的正确性
- 易扩充和易维护
缺点: - 系统效率降低,由于层次结构时分层单向依赖的,必须在每层之间都建立层次间的通信机制,OS每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统地通信开销,从而导致系统效率地降低。
客户服务器模型(Client/Server Model)
C/S模型的组成
组成:客户机、服务器、网络系统
C/S之间的交互
一次完整的交互可分为四步:
- 客户发送请求参数
- 服务器接收消息
- 服务器回送消息
- 客户机接收消息
C/S模式的优点
- 数据的分布处理和存储
- 便于集中管理
- 灵活性和可扩充性
- 易于改编应用软件
基本C/S模型的不足之处是什么?
- 基本C/S模型的不足之处在于存在着不可靠性和瓶颈问题。
- 在系统仅有一个服务器时,一旦服务器故障,将导致整个网络瘫痪。
- 当服务器在重负荷下工作时,会因忙不过来而显著地延长对用户请求地响应时间。
- 如果在网络中配置多个服务器,并采取相应的安全措施,则这种不足可加以改善。
面向对象的程序设计(Object-Orientated Programming)
- 对象
- 对象类
- 继承
面向对象技术类的优点
- 通过"重用"提高产品质量和生产率
- 使系统具有更好的易修改性和易扩展性
- 更易于保证系统的"正确性"和"可靠性"
微内核OS结构
为什么使用微内核OS结构?
- 为了提高操作系统的"正确性"、“灵活性”、“易维护性"和"可拓展性”。
什么是微内核OS?
- 足够小的内核
- 基于C/S模式
- 应用机制和策划分离原理
- 采用面向对象技术
微内核的基本功能
- 进程(线程)管理
- 低级存储器管理
- 中断和陷入处理
微内核OS的优点
- 提高了系统的可拓展性
- 增强了系统的可靠性
- 可移植性强
- 提供了分布式系统的支持
- 融入了面向对象技术