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