整理自:中国大学MOOC——操作系统原理第一章(田丽华)
目录
1 操作系统简介
1.1 为什么要有操作系统?
计算机硬件(裸机)难以使用。
- 用户几乎不可能使用裸机
- 计算机硬件只能识别0、1二值机器码
- 机器码直接性差,容易出错,难以交流
- 因此,通常在计算机硬件上会覆盖一层软件,以方便用户使用计算机
1.2 什么是操作系统?
(1)第一层理解
- CPU是计算机硬件的核心,是计算机系统的心脏
- 操作系统则是计算机软件的核心,是计算机系统的大脑
- 操作系统是整个计算机系统的控制中心,是计算机系统中首要的、最重要的、最复杂的系统软件
(2)第二层理解
- 操作系统是管理计算机硬件的程序
- 在计算机用户和计算机硬件之间起媒介作用的一种程序
(3)第三层理解
操作系统是硬件之上的第一层软件,是对硬件的首次扩充,又是其他软件运行的基础。
关于系统部件
①Hardware 硬件:提供基本的运算资源
②Operating system 操作系统:在各种应用程序和用户之间控制与协调对硬件的使用。
③Applications programs 应用程序:定义解决用户问题的资源使用方式(编译、数据库、视频游戏、事务程序等)
④Users 用户:人,机、其他计算机。
1.3 操作系统的目标是什么?
- 执行用户程序并使用户问题更容易解决。
- 使计算机系统更易使用。
- 以一种有效的方式使用硬件。
1.4 操作系统的其他定义
Resource allocator资源分配者:manages and allocator resources管理和分配资源。
Control program 控制程序:ontrols the execution of user programs and operations of I/O devices。控制用户程序的运行和I/O设备的操作。
Kernel 内核:the one program running all the time(all else being application programs)在全时运行的一个程序(其他的是应用程序)。
1.5 操作系统有什么作用?
(1)计算机硬件、软件资源的管理者
(2)用户使用计算机硬件、软件的接口
2 操作系统的发展
2.1 发展动力
①资源利用角度:为提高计算机资源的利用率和系统性能,从单道道多道、集中到分布、从专用到泛在等
②用户角度:方便用户,人机交互
③技术角度:物理器件发展,CPU位宽度(指令和数据)、快速外存、光器件等、以及计算机体系结构的不断发展:单处理机,多处理机、多核、计算机网络
2.2 发展过程
操作系统类型发展:无操作系统→简单批处理系统→多道程序批处理系统→分时系统→实时系统→嵌入式系统→并行系统→分布式系统
(1)手工操作方式
工作方式 编程语言:机器语言;I/O:纸带或卡片
缺点:用户独占全机,设备利用率低;CPU等待用户(手工装入/卸下卡片)
(2)单道批处理系统(50-60年代)
工作原理:a.把一批作业以脱机输入方式输入到磁带;
b.利用磁带把任务分类编成作业顺序执行
c.每批作业由专门的监督程序(monitor)自动依次处理
运行特征:a.顺序性:磁带上各道作业是顺序进入内存,各作业的完成顺序与他们进入内存的顺序相同
b.单道性:内存中仅有一道程序运行
c.自动性
优点:减少了CPU的空闲时间,提高了主机CPU和I/O设备的使用效率,提高了吞吐量。
缺点:CPU和I/O忙闲不均。
(3)多道批处理系统(60年代-70年代)
多道含义:内存中同时存放几个作业,使之都处于执行的开始点和结束点之间多个作业共享CPU、内存、外设等资源。
多道目的:利用多道批处理提高资源的利用率。
60年代通道和中断技术的出现,解决了输入输出等待计算的问题。
①通道:是一种专门的部件,负责外部设备与内存之间的信息的传输。
②中断:指主机接到外界的信号(来自CPU外部或内部)时,立即终止原来的工作,转去处理这一外来事件,处理完
后,主机又回到原来工作点继
续工作。
由上图可知:
在内存中同时有多个作业,CPU在其中切换。
只要系统中总是存在可执行的作业,CPU就永远不会因无事可干而闲着。
多道通过组织作业使得CPU总是在执行其中一个作业,从而提高了CPU的利用率。
多道程序批处理的运行特征:
①多道性:内存中同时驻留多道程序并发执行,从而有效地提高了资源利用率和系统的吞吐量。
②无序性:作业的完成顺序与它进入内存的顺序之间无严格的对应关系
③调度性:作业调度、进程调度
多道程序批处理的优缺点:
①优点:资源利用率高(CPU,内存,I/O设备)
系统的吞吐量大
②缺点:无交互能力,用户响应时间长
作业平均周转时间长
(4)分时系统(70年代中期至今)
1.分时系统是在多道的基础上用户的新需求(多任务多用户,交互服务)。
2.分时:指多个用户分享使用同一台计算机,分时共享硬件和软件资源。
3.实现方式:
①多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用
户输入时由CPU执行,
处理完一次用户输入后程序暂停,等待下一次用户输入--时走时停。
②前台和后台程序分时:后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程
序(输入焦点)之外,其他
程序均作为后台。
通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间。
4.分时系统-交互式计算
①作业直接进入内存
②每个作业一次只运行很短的时间
③分时技术:把CPU的响应时间分成若干个大小相等 (或不等)的时间单位,称为时间片(如100毫秒),每个终端用户
获得CPU(获得一个时间片) 后开始运行,当时间片到,该用户程序暂停运行, 等待下一次运行。
5.分时系统特点
人机交互性好,共享主机:多个用户同时使用
①多路性:众多联机用户可以同时使用一台计算机;
②独占性:各终端用户感觉到自己独占了计算机;
③交互性:用户与计算机之间进行“会话”;
④及时性:用户的请求能在很短的时间内获得相应。