操作系统期末总结
常见操作系统结构
简单结构、层次结构、微内核结构
1、传统操作系统结构:
(1)、无结构操作系统
(2)、模块化结构OS
(3)、分层式结构OS
单体式结构(Monolithic Structure这种结构将操作系统的所有功能模块都集中在一个单一的内核中。所有的系统调用和功能都由内核提供,这种结构简单直接,但缺乏模块化和可扩展性。
分层式结构(Layered Structure这种结构将操作系统划分为多个层次,每个层次都提供不同的功能。每个层次只能访问比自己更低层次的功能,这种结构具有良好的模块化和可维护性,但性能较差。
微内核结构(Microkernel Structure这种结构将操作系统的核心功能放在一个精简的微内核中,而将其他功能以服务的形式运行在用户空间。微内核只提供最基本的功能,如进程管理和内存管理,其他功能通过服务进行通信。这种结构具有良好的可扩展性和可维护性,但性能较差。
客户-服务器结构(Client-Server Structure这种结构将操作系统划分为多个独立的模块,每个模块都提供特定的功能,并通过消息传递进行通信。每个模块可以作为客户端或服务器,客户端向服务器发送请求并接收响应。这种结构具有良好的模块化和可扩展性,但增加了通信开销。
虚拟机结构(Virtual Machine Structure这种结构通过在硬件和操作系统之间引入虚拟机层,将物理资源虚拟化为多个逻辑资源。每个虚拟机都运行一个独立的操作系统,可以在不同的虚拟机之间隔离运行不同的应用程序。这种结构具有良好的隔离性和安全性,但增加了虚拟化开销。
组织方式
什么是原语,由什么构成,执行时有什么特点
原语 :由若干条指令组成的,用于完成一定功能的一个过程。
构成 :由若干条指令组成的。
特点:执行过程中不允许被中断。
管程的相干概念(管程里的什么是不可见的,外部函数怎么调用完成的)
管程中的共享变量在管程外部是不可见的,外部只能通过调用管程中所说明的外部过程(函数)来间接的访问管程中的共享变量
死锁检测的实质是检测什么
死锁检测的实质:是通过检测是否存在 循环等待 条件,以此来确定死锁的存在与否,并识别出与死锁有关的进程和资源。
检测死锁的实质是确定是否存在"循环等待"条件
识别出与死锁有关的什么
并识别出与死锁有关的进程和资源
存储管理的主要任务是什么
主存存储分配、地址变换、存储保护和存储扩充
地址转换 逻辑地址 物理地址 内存的分配和回收
什么是紧缩技术(内存管理的)
在内存中移动程序,将所有小的空闲区合并为较大的空闲区
紧缩时要考虑的问题:
系统开销、移动时机
文件按照用途分类,能分几类,哪几类
3类(系统文件、用户文件、库文件)
操作系统的主要功能有哪些
- 处理机管理功能
- 存储器管理功能
- 设备管理功能
- 文件管理功能
- 操作系统与用户之间的接口
- 现代操作系统的新功能
进程由什么组成
程序段、相关的数据段、PCB
分时系统和实时系统的区别
分时系统: 使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用(时间片的概念)。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。
特点: 交互性:用户与系统进行人机对话。 多路性:多用户同时在各自终端上使用同一CPU。 独立性:用户可彼此独立操作,互不干扰,互不混淆。 及时性:用户在短时间内可得到系统的及时回答。
实时系统: 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。其特点是及时响应和高可靠性。实时系统又分为硬实时系统和软实时系统,硬实时系统要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。
特点: 多任务:由于真实世界的事件的异步性,能够运行许多并发进程或任务是很重要的。多任务提供了一个较好的对真实世界的匹配,因为它允许对应于许多外部事件的多线程执行。系统内核分配CPU给这些任务来获得并发性。抢占调度:真实世界的事件具有继承的优先级,在分配CPU的时候要注意到这些优先级。基于优先级的抢占调度,任务都被指定了优先级,在能够执行的任务(没有被挂起或正在等待资源)中,优先级最高的任务被分配CPU资源。换句话说,当一个高优先级的任务变为可执行态,它会立即抢占当前正在运行的较低优先级的任务。
任务间的通讯与同步:在一个实时系统中,可能有许多任务作为一个应用的一部分执行。系统必须提供这些任务间的快速且功能强大的通信机制。内核也要提供为了有效地共享不可抢占的资源或临界区所需的同步机制。任务与中断之间的通信:尽管真实世界的事件通常作为中断方式到来,但为了提供有效的排队、优先化和减少中断延时,我们通常希望在任务级处理相应的工作。所以需要在任务级和中断级之间存在通信。
总结:1、系统的设计目标不同。
分时系统是设计成一个多用户的通用系统,交互能力强;而实时系统大都是专用系统。
2、交互性的强弱不同
分时系统是多用户的通用系统,交互性强;而实时系统是专用系统,仅允许操作并访问的有限的专用程序,不能随便修改,且交互能力差。
3、响应时间的敏感程度不同。
分时系统是以用户能接收的等待时间为系统的设计依据,而实时系统是以被测物体所能接受的延迟为系统设计依据。实时系统对响应时间的敏感程度更强。==
实时系统分时系统特征的比较
多路性、独立性、及时性、交互性、可靠性
产生死锁的主要原因
多个进程对资源的争夺
- 竞争不可抢占性资源
- 竞争可消耗资源
- 进程推荐顺序不当
spolling(假脱机)系统的相关概念
Spolling系统是由输入程序模块、输出程序模块、作业调度程序组成
提高了处理器的利用率
是用于将 IO 设备进行虚拟化的技术,主要解决的是速度不匹配的问题。
作业执行时,从磁盘上的输入井中读取数据,并把作业的执行结果暂时存放在磁盘上的输出井中。SPOOLing提高了设备利用率,缩短了用户程序执行时间,但不提高处理器利用率。
spolling组成:1、输入井和输出井
2、输入缓冲区和输出缓冲区
3、输入进程和输出进程
4、井管理程序
spolling特点:1、提高了I/O的速度
2、将独占设备改造为共享设备
3、实现了虚拟设备功能
假脱机打印机系统 :主要有以下3个部分1、磁盘缓冲区
2、打印缓冲区
3、假脱机管理进程和假脱机打印进程
虚拟存储器的主要特性
- 多次性
- 对换性
- 虚拟性
为文件分配外存空间时,常用的分配方法
连续分配、链接分配、索引分配