计算机操作系统1-操作系统引论(ppt76)-经营管理(编辑修改稿)内容摘要:

素的限制 , 使进程的执行通常都不是 “ 一气呵成 ” ,而是以 “ 停停走走 ” 的方式运行。 第一章 操作系统引论 内存中的每个进程在何时能获得处理机运行 , 何时又因提出某种资源请求而暂停 , 以及进程以怎样的速度向前推进 , 每道程序总共需多少时间才能完成 , 等等 ,都是不可预知的。 由于各用户程序性能的不同 , 比如 ,有的侧重于计算而较少需要 I/O;而又有的程序其计算少而 I/O多 , 这样 , 很可能是先进入内存的作业后完成; 而后进入内存的作业先完成。 或者说 , 进程是以人们不可预知的速度向前推进 , 此即进程的异步性。 尽管如此 ,但只要运行环境相同 , 作业经多次运行 , 都会获得完全相同的结果。 因此 , 异步运行方式是允许的 , 是操作系统的一个重要特征。 第一章 操作系统引论 操作系统的主要功能 处理机管理功能 1. 在传统的多道程序环境下 , 要使作业运行 , 必须先为它创建一个或几个进程 , 并为之分配必要的资源。 当进程运行结束时 , 立即撤消该进程 , 以便能及时回收该进程所占用的各类资源。 进程控制的主要功能是为作业创建进程 、撤消已结束的进程 , 以及控制进程在运行过程中的状态转换。 在现代 OS中 , 进程控制还应具有为一个进程创建若干个线程的功能和撤消 (终止 )已完成任务的线程的功能。 第一章 操作系统引论 2. 进程同步 为使多个进程能有条不紊地运行 , 系统中必须设置进程同步机制。 进程同步的主要任务是为多个进程 (含线程 )的运行进行协调。 有两种协调方式: ① 进程互斥方式 , 这是指诸进程 (线程 )在对临界资源进行访问时 , 应采用互斥方式; ② 进程同步方式 , 指在相互合作去完成共同任务的诸进程(线程 )间 , 由同步机构对它们的执行次序加以协调。 为了实现进程同步 , 系统中必须设置进程同步机制。 最简单的用于实现进程互斥的机制 , 是为每一个临界资源配置一把锁 W, 当锁打开时 , 进程 (线程 )可以对该临界资源进行访问;而当锁关上时 , 则禁止进程 (线程 )访问该临界资源。 第一章 操作系统引论 3. 进程通信 在多道程序环境下 , 为了加速应用程序的运行 , 应在系统中建立多个进程 , 并且再为一个进程建立若干个线程 , 由这些进程 (线程 )相互合作去完成一个共同的任务。 而在这些进程 (线程 )之间 , 又往往需要交换信息。 例如 , 有三个相互合作的进程 , 它们是输入进程 、 计算进程和打印进程。 输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据进行计算 , 并把计算结果传送给打印进程;最后 , 由打印进程把计算结果打印出来。 进程通信的任务就是用来实现在相互合作的进程之间的信息交换。 当相互合作的进程 (线程 )处于同一计算机系统时 , 通常在它们之前是采用直接通信方式 , 即由源进程利用发送命令直接将消息 (message)挂到目标进程的消息队列上 , 以后由目标进程利用接收命令从其消息队列中取出消息。 第一章 操作系统引论 4. 调度 在后备队列上等待的每个作业 , 通常都要经过调度才能执行。 在传统的操作系统中 , 包括作业调度和进程调度两步。 作业调度的基本任务 , 是从后备队列中按照一定的算法 , 选择出若干个作业 , 为它们分配其必需的资源 (首先是分配内存 )。 在将它们调入内存后 , 便分别为它们建立进程 , 使它们都成为可能获得处理机的就绪进程 , 并按照一定的算法将它们插入就绪队列。 而进程调度的任务 , 则是从进程的就绪队列中选出一新进程 , 把处理机分配给它 , 并为它设置运行现场 , 使进程投入执行。 值得提出的是 , 在多线程 OS中 , 通常是把线程作为独立运行和分配处理机的基本单位 , 为此 , 须把就绪线程排成一个队列 , 每次调度时 , 是从就绪线程队列中选出一个线程 , 把处理机分配给它。 第一章 操作系统引论 存储器管理功能 1. 内存分配 OS在实现内存分配时 , 可采取静态和动态两种方式。 在静态分配方式中 , 每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间 , 不允许该作业再申请新的内存空间 , 也不允许作业在内存中 “ 移动 ” ; 在动态分配方式中 , 每个作业所要求的基本内存空间 , 也是在装入时确定的 , 但允许作业在运行过程中 , 继续申请新的附加内存空间 , 以适应程序和数据的动态增涨 , 也允许作业在内存中 “ 移动 ”。 第一章 操作系统引论 为了实现内存分配 , 在内存分配的机制中应具有这样的结构和功能: ① 内存分配数据结构 , 该结构用于记录内存空间的使用情况 , 作为内存分配的依据; ② 内存分配功能 , 系统按照一定的内存分配算法 , 为用户程序分配内存空间; ③ 内存回收功能 , 系统对于用户不再需要的内存 ,通过用户的释放请求 , 去完成系统的回收功能。 第一章 操作系统引论 2. 内存保护的主要任务 , 是确保每道用户程序都只在自己的内存空间内运行 , 彼此互不干扰。 为了确保每道程序都只在自己的内存区中运行 , 必须设置内存保护机制。 一种比较简单的内存保护机制 , 是设置两个界限寄存器 , 分别用于存放正在执行程序的上界和下界。 系统须对每条指令所要访问的地址进行检查 , 如果发生越界 ,便发出越界中断请求 , 以停止该程序的执行。 如果这种检查完全用软件实现 , 则每执行一条指令 , 便须增加若干条指令去进行越界检查 , 这将显著降低程序的运行速度。 因此 , 越界检查都由硬件实现。 当然 , 对发生越界后的处理 , 还须与软件配合来完成。 第一章 操作系统引论 3. 一个应用程序 (源程序 )经编译后 , 通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。 这些程序的地址都是从 “ 0”开始的 , 程序中的其它地址都是相对于起始地址计算的; 由这些地址所形成的地址范围称为 “ 地址空间 ” , 其中的地址称为 “ 逻辑地址 ” 或 “ 相对地址 ”。 此外 , 由内存中的一系列单元所限定的地址范围称为 “ 内存空间 ” , 其中的地址称为 “ 物理地址 ”。 在多道程序环境下 , 每道程序不可能都从 “ 0”地址开始装入 (内存 ), 这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。 使程序能正确运行 , 存储器管理必须提供地址映射功能 , 以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。 该功能应在硬件的支持下完成。 第一章 操作系统引论 4. 内存扩充 存储器管理中的内存扩充任务 , 并非是去扩大物理内存的容量 , 而是借助于虚拟存储技术 , 从逻辑上去扩充内存容量 , 使用户所感觉到的内存容量比实际内存容量大得多; 或者是让更多的用户程序能并发运行。 这样 , 既满足了用户的需要 , 改善了系统的性能 , 又基本上不增加硬件投资。 为了能在逻辑上扩充内存 , 系统必须具有内存扩充机制 , (1) 请求调入功能。 (2) 置换功能。 第一章 操作系统引论 设备管理功能 设备管理用于管理计算机系统中所有的外围设备 , 而设备管理的主要任务是 , 完成用户进程提出的 I/O请求; 为用户进程分配其所需的 I/O设备;提高 CPU和 I/O设备的利用率;提高 I/O速度;方便用户使用 I/O设备。 为实现上述任务 , 设备管理应具有缓冲管理 、 设备分配和设备处理 , 以及虚拟设备等功能。 第一章 操作系统引论 1. 缓冲管理 CPU运行的高速性和 I/O低速性间的矛盾自计算机诞生时起便已存在。 而随着 CPU速度迅速 、 大幅度的提高 , 使得此矛盾更为突出 , 严重降低了 CPU的利用率。 如果在 I/O设备和 CPU之间引入缓冲 , 则可有效地缓和 CPU和 I/O设备速度不匹配的矛盾 , 提高 CPU的利用率 , 进而提高系统吞吐量。 因此 , 在现代计算机系统中 , 都毫无例外地在内存中设置了缓冲区 , 而且还可通过增加缓冲区容量的方法 , 来改善系统的性能。 最常见的缓冲区机制有单缓冲机制 、 能实现双向同时传送数据的双缓冲机制 , 以及能供多个设备同时使用的公用缓冲池机制。 第一章 操作系统引论 2. 设备分配 设备。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。