多道程序设计和分时
内容
简单批处理
多道程序设计
分时
简单批处理系统
最早的操作系统?
自动作业调度:自动从一个运行完的作业转换到下一个作业
常驻监控程序(Monitor):控制作业传输,调度作业运行
单道程序设计
批处理系统
批处理:用户将一批作业提交操作系统后就不再干预,由操作系统控制它们自动运行
批处理操作系统:采用批量处理作业技术的操作系统,单道批处理系统,多道批处理系统
批处理操作系统不具有交互性,提高CPU的利用率
多道程序系统
单用户通常不能总使得 CPU 和设备在所有时间内都忙碌
多道程序设计:在内存中同时存在多道作业,在管理程序控制下相互穿插运行
通过作业调度(Job Scheduling)选中一个作业并运行, 当该作业必须等待时 (如等待I/O), 切换到另一个作业
目的
提高CPU的利用率,充分发挥计算机系统部件的并行性
现代操作系统广泛采用多道程序设计技术
多道程序和单道程序运行例子
并行和并发区别
并行:两个或者多个作业在同一时刻运行
并发:两个或多个作业在同一时间间隔内依次运行, 一个时间段中,有几个作业在同一个处理机上运行,但任一个时刻点上只有一个作业在处理机上运行
随着多核处理器的出现,这两个概念并不严格区分
分时系统
分时系统(或多任务)是多道程序设计的延伸
作业分类:批处理作业,交互作业
时间片:把一段CPU时间按照固定单位进行分割,每个分割得到的时间段称为一个时间片,每个任务依次轮流使用时间片
分时系统
一种联机的多用户交互式的操作系统
一般采用时间片轮转方式使一台计算机为多个用户服务。在单位时间内,每个用户获得一个时间片并运行, 保证用户获得足够小的响应时间,并提供交互能力
原理
若某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮;此时,处理机让给另一个作业使用。
每个用户好象独占一台计算机(时间片小的原因)
第一个分时系统
- CTSS(Compatible Time-Sharing System)
- 1962年
- 第一个分时系统
- MIT开发
- 运行在IBM 7094机
- 支持32个交互式用户
分时系统例子
作业
下面关于分时系统的叙述错误的是()。
-
A.分时系统主要用于批处理作业
-
B.分时系统中每个任务依次轮流使用时间片
-
C.分时系统的响应时间好
-
D.分时系统是一种多用户操作系统
(多选)可以并行运行2个进程的计算机,必须具备的条件有()。
-
A.操作系统支持多道程序设计技术
-
B.程序员实现多进程技术
-
C.计算机中安装了多个单核处理器或一个多核处理器
-
D.计算机中安装了一个单核处理器
单道批处理系统的核心思想是把一批作业一次装入计算机。
-
A.✓
-
B.×
分时系统比多道批处理系统的系统开销大。
-
A.✓
-
B.×
多道批处理系统的CPU利用率比单道批处理系统高,但是设备利用率差不多。
-
A.✓
-
B.×
多道程序设计技术和分时技术的联系和区别
请从多道程序设计技术和分时技术的共同点和不同点出发,给出至少4个方面的不同和相同之处。
相同之处:1.都可以同时处理和执行多个作业。
2.都充分利用发挥了计算机系统部件的并行性。
3.都提高了CPU的利用率。
4.都需要在内存中同时保存多个作业。
5.分时技术本身就是多道程序设计技术的延伸。
不同之处:1.分时操作系统是给不同用户提供程序的使用,而多道程序系统则是不同程序间的穿插运行。
2.分时操作系统主要是针对于多用户来说的,而多道程序系统主要是针对于多程序来说的。
3.分时系统要求计算机系统是可交互的,而多道程序系统没有提供用户与计算机系统的交互。
4.分时系统中CPU的使用权变更比多道系统中频繁得多,因为分时系统需要保证多个用户同时的使用体验,CPU的切换必须非常快;而多道系统只强调效率,单个程序持续占用CPU的时间会长得多。
并行和并发的区别,请结合1-2个实例,讨论并行和并发的区别。
从定义上来看,并行指的是两个或多个作业在同一时刻同时运行;
并发指的是两个或多个作业在同一时间间隔内依次运行。
从实例来看,假设有两条队的人排队买咖啡,如果两条中同一行的人可以在同一时刻打到咖啡,这类似于并行;但如果两条队伍的人轮流从唯一一个咖啡机倒咖啡,则一次只能有一个人买到咖啡,这类似于并发。