单道批处理程序 内存仅有一道作业
多道批处理系统(Multiprogrammed Batch Processing System)
- 当内存中仅有一道程序时,每逢该程序在运行中发出I/O请求后,CPU空闲,必须在其I/O完成后才继续运行。尤其因I/O设备的低速性,更使CPU的利用率显著降低
尤其因I/O设备的低速性,更使CPU的利用率显著降低
分时系统(Time-Sharing System)的产生-----用户需求。 人机交互 在一台主机上连接多个带有显示器和键盘的终端。
实时系统 及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
多个CPU可以并行执行。
所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用
两种资源共享方式
1. 互斥共享方式 仅当A进程访问完并释放该资源后, 才允许另一进程对该资源进行访问 而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
2. 同时访问方式 系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问
并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件
OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等
用户态,内核态 Dual-mode机制 我们把用户所感觉到的CPU称为虚拟处理器。
操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
虽然物理内存的容量可能不大(如32 MB), 但它可以运行比它大得多的用户程序(如128 MB)。
异步性(Asynchronism)
进程是以人们不可预知的速度向前推进,此即进程的异步性
操作系统的主要功能
进程控制的主要功能是为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换。 在现代OS中,进程控制还应具有为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能。
进程的目的就是多道程序能够并发进行
为了让程序可以并行作用,系统为每个程序建立进程。为使多个进程能有条不紊地运行,系统中必须设置进程同步机制。
有两种协调方式: ① 进程互斥方式, 这是指诸进程(线程)在对临界资源进行访问时, 应采用互斥方式;
② 进程同步方式,指在相互合作去完成共同任务的 诸进程(线程)间,由同步机构对它们的执行次序加以协调。
临界资源是指每次仅允许一个进程访问的资源。
为了实现进程同步,系统中必须设置进程同步机制。最简单的用于实现互斥的机制,是为每一个临界资源配置一把锁W,当锁打开时,进程(线程)可以对该临界资源进行访问;而当锁关上时,则禁止进程(线程)访问该临界资源。
进程通信 输入进程---> 计算进程 --->打印进程 当相互合作的进程(线程)处于同一计算机系统时,通常用的是直接通信方式
调度 作业调度, 后备队列,内存中的队列叫就绪队列。
进程调度 则是从进程的就绪队列中选出一新进程,把处理机分配给它,并为它设置运行现场,使进程投入执行。
在多线程OS中,通常是把线程作为独立运行和分配处理机的基本单位,为此,须把就绪线程排成一个队列,每次调度时,是从就绪线程队列中选出一个线程,把处理机分配给它。
1.4.2 存储器管理功能
- 内存分配 静态(作业装入时确定,不能移动,不能继续申请),动态(作业装入时确定,能移动,能继续申请)。应该具有内存分配数据结构,还有内存分配功能,和内存回收功能。
- 内存保护 一种比较简单的内存保护机制,是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界,软件实现影响性能,硬件实现 当然, 对发生越界后的处理, 还须与软件配合来完成。
- 地址映射 地址空间中的逻辑地址----> 内存空间中与之对应的物理地址 。该功能应在硬件的支持下完成。
- 内存扩充 并非是物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量 (1) 请求调入功能。 在一部分数据的时候就运行,如果需要再加。 (2) 置换功能。 把暂时不用的还到硬盘上。
1.4.3 设备管理功能
缓冲管理 --在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量,还可以增加缓存量。最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,以及能供多个设备同时使用的公用缓冲池机制。
设备分配