博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统基础
阅读量:6975 次
发布时间:2019-06-27

本文共 1503 字,大约阅读时间需要 5 分钟。

  一、 多道程序设计

  1、什么是多道程序设计。

  让多个计算问题  同时装入  一个计算机系统的主存储器并行执行,这种设计技术称“ 多道程序设计 ”,这种计算机系统称“多道程序设计系统” 或简称“多道系统”。

  存储保护 :在多道程序设计的系统中,主存储器中同时存放了  多个作业的程序。

为避免相互干扰,必须提供必要的手段使得在主存储器中的各道程序  只能访问   自己的区域。

这样,每道程序执行时,都不会破坏其他各道的程序和数据。

特别是当某道程序发生错误的时,也不至于影响其它的程序。

  程序浮动 :在多道程序设计系统中,对程序有一些特殊要求,

也就是说,程序可以随机地从主存的一个区域移动到另一个区域,程序被移动后仍丝毫不影响它的执行,这种技术称为“程序浮动”。

  在多道程序设计的系统中,有三点基本要求:

  a.  用“存储保护”的方法     保证各道程序互不侵犯;

   b. 用“程序浮动”技术       让程序能灵活地改变存放区域  且    能正确执行;

  c. 必须对资源按一定的策略   分配和调度。

   2、 多道程序设计 利用了系统与外围设备的并行工作能力,从而提高工作效率

 具体表现为:

 (1) 提高了处理器的利用率;

 (2)充分利用外围设备资源:计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,

                     使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用;

 (3)发挥了处理器与外围设备以及外围设备之间的并行工作能力;

 (4)从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。

   3、 多道程序设计 对算题量和算题时间的影响。

 采用多道程序设计能改变系统资源的使用情况,提高系统效率。

 但是应注意以下两个问题:

  a.. 可能延长程序的执行时间;

  b.. 并行工作道数与系统效率不成正比。

从表面上看,增加并行工作道数就可提高系统效率,但实际上并行工作道数与系统效率是不成正比,因为并行的道数要根据系统配置的资源和用户对资源的要求而定:

  (1)主存储器的大小限制了可同时装入的程序数量;

  (2)外围设备的数量也是一个制约条件;

  (3)多个程序同时要求使用同一资源的情况也会经常发生。

   总之,多道程序设计能提高系统资源的使用效率,增加单位时间的算题量;但是对每个计算问题来说,从算题开始到全部完成所需要的时间可能延长,另外在确定并行工作道数时应综合系统的资源配置和用户对资源的要求。

 

  让多个计算机问题同时装入一个计算机系统的主存储器的并发执行,这种设计技术称为“多道程序设计”,这种计算机系统称为“多道程序设计系统”或简称“多道系统”。

  多道程序设计概念

  所谓多道程序设计是指允许一个计算机系统的主存储器同时容纳多个用户程序,这些程序在计算机系统中可以并发执行。设有两道程序A与B要在同一个CPU上允许,假定A在执行过程中需要I/O操作。如果将A、B程序都装入主存中,它们并发执行的过程如下:

  1. CPU先运行A。
  2. CPU运行A程序过程中有I/O请求,CPU暂停运行程序B
  3. 由通道控制I/O任务;此时程序可以运行程序B;
  4. 通道完成I/O过程以后向CPU发出中断请求,CPU暂停运行程序B,转向中断处理;
  5. 中断处理结束后,CPU从程序A的断点处恢复运行。

操作系统的作用

一:为应用程序提供如何使用硬件资源的抽象

二:管理硬件资源

 

 

 

                            -                                

转载于:https://www.cnblogs.com/freelandun/p/6627441.html

你可能感兴趣的文章
称重管理系统,您的磅房安装了吗
查看>>
11-vue的使用
查看>>
动态规划算法(java)
查看>>
os模块的几种方法
查看>>
tensorflow API _ 4 (Logging with tensorflow)
查看>>
常用模块------时间模块 , random模块 ,os模块 , sys模块
查看>>
10.02 T3 打表找递推式+十进制快速幂 九校联考凉心模拟DAY1T1
查看>>
leetcode — reverse-linked-list
查看>>
linux 命令 — sort、uniq
查看>>
[python]Python代码安全分析工具(Bandit)
查看>>
向继电器发送socket请求(python+java)
查看>>
20165201 2017-2018-2 《Java程序设计》第一周学习总结
查看>>
7. WebDriver API
查看>>
动软.NET代码生成器实例教程使用总结
查看>>
spring框架学习--依赖注入
查看>>
C语言难点4之动态内存分配
查看>>
[模板] 杜教筛 && bzoj3944-Sum
查看>>
第一次作业
查看>>
SpringBoot2.x的Maven依赖配置
查看>>
17.11.16
查看>>