今天的题目是关于多道程序设计的理解,看到就一次性掌握它!

(图片是操作系统层次的结构)

1什么是多道程序设计? 它的主要优点是什么?
【分析与解答】所谓多道程序设计, 是指把一个以上的程序存放在内存中, 并且同时处于运行状态, 这些程序共享 CPU 和其他计算机资源。其主要优点如下。( 1 ) CPU 的利用率高。在单道程序环境下, 程序独占计算机资源, 当程序等待 I / O 操作时, CPU 空闲, 造成 CPU 资源的浪费。在多道程序环境下, 多个程序共享计算机资源,当某个程序等待 I / O 操作时, CPU 可以执行其他程序, 这大大地提高了 CPU 的利用率。 ( 2 ) 设备利用率高。在多道程序环境下, 内存和外设也由多个程序共享, 无疑也会提高内存和外设的利用率。( 3 ) 系统吞吐量大。在多道程序环境下, 资源的利用率大幅度提高。减少了程序的等待时间, 提高了系统的吞吐量。
【扩展】根据上面的分析,采用多道程序设计,可以有很多的优点,主要是效率的提高。这个主要是理解上的问题,希望大家可以一次性掌握80%的理解,后面接触多了理解自然会加深。
那么如何提高效率的呢?

  1. 进程休息的时候马山切换到其他进程接着执行,提高CPU的利用率;

  2. 充分利用外围设备资源。采用多道程序并行工作时, 只要把使用不同外围设备的 程序搭配在一起, 并同时装入主存储器, 那么系统中的各种外围设备经常会处于忙碌状态, 使系统中的设备资源被充分利用;

  3. 发挥了处理器与外围设备, 以及外围设备之间的并行工作能力。多道程序设计实 际上是利用了硬件的并行工作能力, 但也只有多道程序设计才能发挥它们的并行工作能力;

主要就是这几个方面。

另外一个问题,多道程序设计一定是改善资源使用情况,提高了系统效率吗?

( 1 ) 可能延长程序执行时间。多道程序设计提高了系统的吞吐量, 但延长了某些程序 的执行时间。

( 2 ) 并行工作道数与系统效率不成正比。实际上并行工作的道数与系统的效率是不成 正比的, 并行的道数要根据系统配置的资源和用户对资源的要求而定。首先, 主存储空间的 大小限制了可同时装入的程序数量; 其次, 外围设备的数量也是一个制约条件; 再次, 多个 程序同时要求同一资源的情况也会经常发生。因此人们希望主存中的多道程序在使用设备时 不发生冲突。这就要求操作系统选择程序装入主存储空间时进行合理搭配, 由于用户向系统 提交程序在时间上的随机性和程序性及执行速度的不确定性, 使得达到上述的理想状态是很 困难的。

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

而且,多道程序之间来回切换也是相当花费CPU时间的,所以设计系统的时候一般要考虑很多的因素。设计一个合理的阈值,多道的确会使得系统更加的高效~

2下面关于计算机系统和操作系统的叙述中错误的是 ( ) 。A. 操作系统是独立于计算机系统的, 它不属于计算机系统B. 计算机系统是一个资源集合体, 包括软件资源和硬件资源C. 操作系统是一种软件D. 计算机硬件是操作系统赖以工作的实体, 操作系统的运行离不开计算机硬件的支持【分析】操作系统是计算机系统的一种系统软件, 由它统一管理计算机系统的资源和控制程序的执行, 计算机硬件是操作系统赖以工作的实体, 操作系统的运行离不开计算机硬件的支持。 【答案】 A。

与你一起成长!

转载于:https://www.cnblogs.com/robin2ML/p/6863180.html

【操作系统】多道程序的理解相关推荐

  1. 「操作系统」深入理解死锁(什么是死锁?死锁形成条件?如何避免死锁?如何排查死锁?)

    「操作系统」深入理解死锁(什么是死锁?死锁形成条件?如何避免死锁?如何排查死锁?) 参考&鸣谢 什么是线程死锁?形成条件是什么?如何避免? Java圈子 面试官:如何快速排查死锁?如何避免死锁 ...

  2. 从根上理解高性能、高并发(三):深入操作系统,彻底理解I/O多路复用

    本文原题"终于明白了,一文彻底理解I/O多路复用",转载请联系作者. 1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早就了然与胸,什 ...

  3. 从根上理解高性能、高并发(四):深入操作系统,彻底理解同步与异步

    本文原题"从小白到高手,你需要理解同步与异步",转载请联系作者. 1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早就了然与胸,什么线 ...

  4. 操作系统——信号量(理解什么是信号量,信号量如何解决同步互斥问题,信号量一些注意点)

    信号量是什么 信号量(semaphore)是操作系统用来解决并发中的互斥和同步问题的一种方法. 信号量是一个与队列有关的整型变量,你可以把它想象成一个数后面拖着一条排队的队列,如图: 那信号量上面值n ...

  5. 从根上理解高性能、高并发(七):深入操作系统,一文读懂进程、线程、协程

    本文引用了"一文读懂什么是进程.线程.协程"一文的主要内容,感谢原作者的无私分享. 1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早 ...

  6. 从根上理解高性能、高并发(五):深入操作系统,理解高并发中的协程

    本文原题"程序员应如何理解高并发中的协程",转载请联系作者. 1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早就了然与胸,什么线程池 ...

  7. 从根上理解高性能、高并发(二):深入操作系统,理解I/O与零拷贝技术

    1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早就了然与胸,什么线程池.零拷贝.多路复用.事件驱动.epoll等等名词信手拈来,又或许你对具有这些技术特 ...

  8. 操作系统 作业调度实验报告

    题目要求 一. 实验目的 用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解. 二. 例题 为单道批处理系统设计一个作业调度程序. 由于在单道批处理系统中,作业一投入运行,它 ...

  9. 操作系统之进程调度——优先权法和轮转法(附上样例讲解)

    操作系统之进程调度--优先权法和轮转法(附上样例讲解) 操作系统之银行家算法-详解流程及案例数据 操作系统之多线程编程-读者优先/写者优先详解 操作系统之存储管理--FIFO算法和LRU算法 操作系统 ...

最新文章

  1. CVPR 2021 | MI-AOD: 少量样本实现高检测性能
  2. 使用Ultra Librarian转换芯片的Altium Designer封装格式
  3. 记录每次更新到仓库 —— Git 学习笔记 10
  4. Nacos源码NacosAutoServiceRegistration
  5. 【今晚7点半】:超低延迟下的实时合唱体验升级
  6. python idle退出_【ZZ】windows+python2.7在IDLE中执行sys.exit()出现的问题及解决方案
  7. oracle 修索引改空间_Oracle如何更改表空间的数据文件位置详解
  8. c bool 类型检查_第3篇:C/C++ 检查数字类型的最高有效位(MSB)
  9. toString方法和valueOf方法以及Symbol.toPrimitive方法的学习
  10. 委托作为参数传递时,可以直接传入方法名称
  11. windows配置jdk环境变量、mysql环境变量、tomcat环境变量、maven环境变量、git环境变量、node环境变量
  12. laravel5.5通过yansongda/pay组件实现支付宝电脑网站支付
  13. bootstrap datepicker 在bootstrap modal中不显示问题
  14. 进制转换: 十进制转换成其他进制(一)
  15. 电影爱好者福利,一些电影网站汇总
  16. vscode英文界面转换为中文界面
  17. 图片哈希概述(image hash)
  18. 一体式计算机内存怎么变大,一体机电脑内存多大合适?
  19. AI伪原创混剪软件脚本,短视频伪原创剪辑工具必备神器
  20. c语言三日通 下载,sama

热门文章

  1. User-mode Linux (简体中文)
  2. Editor扩展之查看Prefab用在那儿
  3. VMware中CentOS设置静态IP
  4. [水力建模]EPANET代码解读1
  5. mysql测试题汇总_总结:SQL练习【SQL经典练习题】
  6. vue使用 xterm_为什么我坚持使用xterm
  7. linux 窗口管理器_您最喜欢的Linux窗口管理器是什么?
  8. 2017年闰秒linux_2017年Linux专业人员的4个热门技能
  9. copyleft_什么是copyleft?
  10. 熔接机使用方法_熔接机社区版,欧盟委员会开源审核以及更多新闻