408计算机考研 408计算机考研满分多少

一:手工操作阶段(此阶段无操作系统)你在学习编写程序时,有没有想过,古老年代的计算机程序是如何写出来的呢?
早些年代,会用一种古来的物理设备叫作打孔卡(Punched Card) 。用这种设备写程序,可没法像今天这样,掏出键盘就能打字,而是要先在脑海里或者在纸上写出程序,然后在纸带或者卡片上打洞 。这样,要写的程序、要处理的数据,就变成一条条纸带或者一张张卡片,之后再交给当时的计算机去处理

408计算机考研 408计算机考研满分多少

文章插图
  • 上世纪 60 年代晚期或 70 年代初期,Arnold Reinold 拍摄的 FORTRAN 计算程序的穿孔卡照片
为什么早期的计算机程序要使用打孔卡,而不能像我们现在一样,用 C 或者Python 这样的高级语言来写呢?原因很简单,因为计算机或者说 CPU 本身,并没有能力理解这些高级语言 。即使在 2021 年的今天,我们使用的现代个人计算机,仍然只能处理所谓的“机器码”,也就是一连串的“0”和“1”这样的数字
408计算机考研 408计算机考研满分多少

文章插图

如上图,用户在计算机上的所有工作都需要人工干预,比如程序的装入,运行,结果和输出等等 。随着计算机硬件的发展,人机矛盾越来越大,手工操作两个显著的缺点
  • 用户独占全机,资源利用率极低
  • CPU等待手工操作,CPU利用十分不充分
二:批处理阶段(操作系统开始出现)(1)单道批处理系统引入了脱机输入/输出技术,采用外围机+磁带完成,并由监督程序负责控制作业的输入和输出,这里的监督程序就是操作系统的雏形
各个程序员可以把自己的程序依次放到纸带机上,由外围机控制放入磁带,之后计算机可以直接从磁带读写数据,磁带速度相对较快
408计算机考研 408计算机考研满分多少

文章插图
  • 自动性:在顺利的情况下,磁带上的一批作业可以自动地逐个运行,而无须人工干预
  • 顺序性:磁带上的各道作业顺序地进入内存,各道作业的完成顺序与他们进入内存的顺序在正常情况下是完全一致的
  • 单道性:内存中仅有一道程序运行,监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换上后继程序继续投入内存运行
单道批处理系统 特点 如下
  • 优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
  • 缺点:它的缺点就是单道性——内存中仅能有一道程序运行,CPU有大量的时间是在等待I/O完成,资源利用率仍然很低
(2)多道批处理系统【408计算机考研 408计算机考研满分多少】多道程序技术允许多个程序同时进入内存并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬件软件资源 。当一道程序因为I/O请求而暂停运行时,CPU便立刻转去运行另一道程序 。它不采用某些机制来提高某一技术方面的瓶颈问题,而让系统的各个组成部分都尽量去“忙”,因此切换任务所花费的时间很少,可以实现系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍
408计算机考研 408计算机考研满分多少

文章插图

下面是单道程序和多道程序资源利用对比
408计算机考研 408计算机考研满分多少

文章插图

多道批处理系统的 特点 如下
  • 多道:计算机内存中同时存放多道独立的程序
  • 宏观上并行:同时进入系统的多道程序都处于运行过程中,也即它们先后开始各自的运行,但都未运行完毕
  • 微观上串行:内存中的多道程序轮流占有CPU,交替执行
多道批处理系统的 优缺点 如下
  • 优点:资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐量达,CPU和其他资源保持忙碌状态
  • 缺点:用户相应时间较长;未提供人机交互能力,用户无法了解自己的程序运行情况,又不能控制计算机
另外多道批处理系统要比单道批处理系统复杂,待运行的多个作业需要保留在内存中,因此就需要内存管理,此外准备运行多个作业时,处理器必须决定先运行哪个作业,因此又需要调度算法