第1章 操作系统引论
1.1 什么是操作系统
裸机:由硬件系统组成的机器,提供机器语言支持
OS:是硬件之上的第1层软件,管理和控制系统软硬件资源,屏蔽硬件细节,向上层软件提供一个良好的使用环境。
- 操作系统的接口:
A.命令行接口:OS向用户提供一组命令,用户通过键入命令操纵计算机。
B.图形用户接口:OS采用图形化的操作界面,用各种图标将系统的功能直观地表示出来。用户通过屏幕上的窗口和图标来使用计算机。
C.程序接口:系统调用方式,OS提供了一组系统调用,用户可在应用程序中通过调用相应的系统调用来操纵计算机。
操作系统是配置在计算机硬件上的第一层系统软件,是对硬件系统的首次扩充。主要作用是管理和控制计算系统中硬件和软件资源,合理的组织计算机工作流程,提高他们的利用率和系统的吞吐量。为用户和应用程序提供方便接口,便于用户使用。
OS性质:系统软件;
功能:管理资源;
目的:方便用户.
操作系统的作用(用户,资源管理、资源抽象):
- OS为用户与计算机硬件系统之间的接口:用户能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。OS是一个系统软件,因而这种接口是软件接口。
- OS作为计算机系统资源的管理者:OS管理计算机系统的硬件和软件资源,是计算机系统的“管家”。系统中运行的多个程序,在执行过程中可能会要求使用系统中的各种资源,OS就是资源的管理者和仲裁者,由它负责在各个程序之间调度和分配资源,保证系统中的各种资源得以有效利用。
- OS实现了对计算机资源的抽象:
1)使用裸机必须掌握物理接口的实现细节,较困难。
2)虚拟机:OS屏蔽了硬件的具体细节,使用方便。
通常把覆盖了软件的机器称为扩充机器或虚机器。
3)输入输出:裸机覆盖上一层I/O设备管理软件,用户便可利用它所提供的I/O命令,来进行数据输入和打印输出。此时用户所看到的机器,功能更强。
4)文件管理:文件管理软件,用户可利用文件存取命令,进行文件的存取。此时,用户所看到的是功能更强的虚机器。
5)内存管理:内存+内存管理,形成内存很大的虚机器。
操作系统的目标:
- 方便性:方便用户使用计算机。
- 有效性:提高系统资源(CPU等)的利用率,系统的吞吐量。
- 可扩充性:方便增添新的功能和模块。
- 开放性:兼容遵循购机标准所开发的硬件和软件,实现互联。
注意:方便性和有效性是OS最重要的两个目标,需要平衡。
1.2 操作系统的发展过程
1.2.1 未配置操作系统的计算机系统
1) 手工操作方式
1)由程序员将事先已穿孔的纸带(或卡片)装入纸带输入机;
2) 启动它们将程序和数据输入计算机,然后启动计算机运行;
3) 当程序运行完毕并取走计算结果后,才让下一个用户上机。
4) 计算机操作是由用户采用人工操作方式直接使用计算机硬件系统。
人工操作方式的缺点:
用户独占全机资源
CPU等待人工操作
CPU和I/O设备串行工作
1.2.2 单道批处理系统(第二代计算机-晶体管计算机)
• 多个程序一起提交,系统按顺序一个个运行
• 操作系统雏形——监督程序
程序员首先将命令、程序和数据用汇编语言或FORTRAN语言写在纸上,然后用穿孔机制成卡片,最后将卡片交给操作员。
该系统的主要特征: (1) 自动性; (2) 顺序性; (3) 单道性
1.2.3 多道批处理程序技术 (第三代晶体管)
- 后备队列:用户所提交的作业都先存放在外存上,排成一个队列;
- 作业调度程序:按算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
- 批处理:用户提交的作业首先存放在外存,排成一个队列。然后,由作业调度程序从该队列中一次选取一个或若干个作业,装入内存执行。
- 多道:允许多个程序同时存在主存中,按照某种原则分派处理机,逐个执行程序。
- 处理机自动切换:当某个程序占用处理机执行过程中遇到了输入/输出语句,处理机切换到另一个程序执行 。
多道程序设计技术的优缺点:
- 资源利用率高:
并行性:程序之间、设备之间、设备与CPU之间。- 增加系统吞吐量:
在保持CPU、I/O设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量,从而降低作业加工所需的费用。- 平均周转时间长:
作业排队依次进行执行,要等待。- 无交互能力:
提交作业后,直至作业完成,用户无法交互。
例题分析
设某计算机系统有一台输入机,一台打印机,现有两道程序同时投入运行,且程序A先开始运行,程序B后运行。
程序A的运行轨迹,计算50ms,打印100ms,再计算50ms,打印100ms,结束;
程序B的运行轨迹,计算50ms,输入数据80ms,再计算100ms,结束。
1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?
2)两道程序有无等待现象?若有,在那段时间内等待?
解:
1)cpu在程序B输入数据的前50ms空闲等待;
2)A程序没有等待,B程序在等待50ms后才开始执行,在输入数据完成的20ms后才进行最终的计算。
多道处理系统需要解决的问题:
- 处理机管理(进程管理)
•如何为内存中的多道程序分配处理机。
•运行哪个程序?多长时间?- 内存分配和保护问题
• 程序必须装入内存才能运行。
• 内存分配收回:按照算法为程序分配地址空间,程序运行完成后及时收回来。
• 内存保护:保证每道程序都在自己的内存空间运行,互不干扰。
• 内存扩充:借助于虚拟存储技术,从逻辑上扩充内存容量。- I/O设备分配问题:
• 屏蔽硬件细节,为用户提供一个统一的接口,使外部设备在操作系统的控制下协调工作。
• 如何分配I/O设备,以及如何收回。- 文件的组织和管理问题(磁盘管理)
• 实现按名存取(文件存取,文件共享,文件保护)
文件存取:使每个用户对自己的文件进行访问。
文件共享:提供某种手段,使文件可以同时为多个程序使用。
文件保护:保护文件的合法应用。- 用户与系统的接口问题
1.2.4 分时系统- Time Sharing System
- 每个用户都有一个联机终端,把CPU的运行时间分成很短的时间片,按时间片轮流把CPU分配给多个联机作业使用。
- 需求:人—机交互、共享主机、便于用户上机。
- 特点:多路性、独立性、及时性、交互性。
- 分时系统的实质:在多道程序技术的基础之上,为多个用户配置一个联机终端 。
1.2.5 实时系统(Real Time System)
实时系统指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时系统的类型:
1)工业武器控制系统。
如:工业生产控制系统,飞机的自动驾驶,导弹制导系统。
2)信息查询系统。如:飞机或火车票订票系统。
3)多媒体系统。多媒体播放系统
4)嵌入式系统
1.3 操作系统的基本特性
四个基本特征:并发、共享、虚拟、异步
- 并发(Concurrence)
并行性指两个或多个事件在同一时刻发生;
并发性是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,微观上这些程序是分时交替执行。
2、共享 (Sharing)
系统中的资源可供内存中多个并发执行的进程共同使用。由于资源属性的不同,进程对资源共享的方式也不同,有以下两种资源共享方式。
1)互斥共享方式:打印机、磁带机
临界资源或独占资源:在一段时间内只允许一个进程访问的资源,把这种资源共享方式称为互斥式共享。
计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。
2)同时访问方式:磁盘
系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。
3、虚拟(Virtual)
虚拟性:指将一个物理实体映射为多个逻辑实体。
物理实体:是物理存在;
逻辑实体:是虚的,是用户感觉上的东西。
虚拟处理机:利用多道程序设计技术,把一台物理上的CPU虚拟为多台逻辑上的CPU。把用户所感觉到的CPU称为虚拟处理器.虽然只有一台处理机,但它能同时为多个用户服务,使每个终端用户都认为是有一个CPU在专门为他服务。
虚拟存储器:可以通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。此时,虽然物理内存如32MB, 但它可以运行比它大得多的用户程序(如128 MB)。我们把用户所感觉到的存储器称为虚拟存储器。
虚拟打印机:多个逻辑上的打印机
4、异步性
不确定性:由于资源等不可预知因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行,即进程是以人们不可预知的速度向前推进,此即进程的异步性。
尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果。因此,异步运行方式是允许的,是操作系统的一个重要特征。
1.4 操作系统的主要功能
1.5 常用操作系统介绍
第一代:无结构的OS 第二代:模块化结构的OS
第三代:分层式结构的OS 第四代:微内核结构的OS
DOS和Windows
UNIX
LINUX
MAC OS
练习及参考答案
一、选择题
-
( A)对实时系统最重要
A. 及时性
B.交互性
C.共享性
D.运行效率 -
现代操作系统的两个基本特征是(C)和资源共享。
A.多道程序设计
B.中断处理
C.程序并发执行
D.实现分时与实时处理 -
现代OS具有并发性和共享性,是由(D)的引入而导致的
A.单道程序
B.磁盘
C.对象
D.多道程序 -
要求在规定的时间内对外界的请求必须给予及时相应的OS是(B)
A.多用户分时系统
B.实时系统
C.批处理系统时间
D.网络操作系统 -
如果分时操作系统的时间片一定,那么(B ),则响应时间越长。
A.用户数越少
B.用户数越多
C.内存越小
D.内存越大 -
(B )对多用户分时系统最重要
A.实时性
B.交互性
C.共享性
D.运行效率 -
实时操作系统必须在(D)内处理来自外部的事件
A.一个机器周期
B.被控制对象规定时间
C.周转时间
D.时间片 -
应用程序在(A)系统上,相同的数据的条件下多次执行,所需要的时间是可能不同的
A.多道批处理
B.单道批处理
C.单用户单任务 -
(B)功能不是操作系统直接完成的功能
A.管理计算机硬盘
B.对程序进行编译
C.实现虚拟存储器
D.删除文件 -
以下哪个不能用于描述操作系统(D)
A.使计算机方便使用
B.可以管理计算机硬件
C.控制应用软件的执行
D.负责生成应用软件 -
( D)对多道批处理系统最重要
A. 实时性
B.交互性
C.共享性
D.运行效率 -
下面对OS不正确的描述是(D“ 系统态程序的集合”指的是内核 ,而不是指整个操作系统。)
A. OS是系统资源管理程序
B.OS是为用户提供服务的程序
C.OS是其他软件的支撑程序
D.OS是系统态程序的集合 -
用户可以通过(B)两种方式来使用计算机
A.命令接口和函数
B.命令接口和系统调用
C.命令接口和文件管理
D.设备管理方式和系统调用 -
特权指令可以在(C )中执行
A.目态
B.浏览器中
C.任意的时间
D.进程调度中 -
在下面关于并发性的叙述众正确的是(C)
A.并发性是指若干事件在同一时刻发生
B.并发性是指若干事件在不同时刻发生
C.并发性是指若干事件在同一时间间隔发生
D.并发性是指若干事件在不同时间间隔发生 -
操作系统是对( C)进行管理的软件
A.硬件
B.软件
C.计算机资源
D.应用程序 -
下面六个系统中,必须是实时操作系统的有(C,具体哪几个有争议,有的人说是1、2、3,有人说是1、2、5)个。 (1)航空订票系统 (2)过程控制系统 (3)机器口语翻译系统 (4)计算机辅助系统 (5)办公自动化系统 (6)计算机激光照排系统
A.1
B.2
C.3
D.4 -
一般来说,为了实现多道程序设计,计算机最需要(A)
A.更大的内存
B.更多的外设
C.更快的CPU
D.更先进的终端 -
(B )是多道操作系统不可缺少的硬件支持
A.打印机
B.中断机构
C.软盘
D.鼠标 -
多道程序设计是指(B)
A.有多个程序同时进入CPU运行
B.有多个程序同时进入主存并行运行
C.程序段执行不是顺序的
D.同一个程序可以对应多个不同的进程 -
操作系统的主要功能有(C)
A.进程管理、存储器管理、设备管理、处理机管理
B.虚拟存储管理、处理机管理、进程调度、文件系统
C.处理机管理、存储器管理、设备管理、文件系统
D.进程管理、中断管理、设备管理、文件系统 -
(A)不是多道程序系统
A.单用户单任务
B.多道批处理系统
C.单用户多任务
D.多用户分时系统 -
CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是( C )。
A.运行进程修改程序状态字
B.中断屏蔽
C.系统调用
D.进程调度程序 -
在单处理机计算机系统中,下面哪一个不是多道程序的执行特点。(D)
A.程序执行宏观上并行
B.程序执行微观上串行
C.设备和处理机可以并行
D.设备和处理机只能串行 -
用户要求(D)系统对用户的请求在一定的时间内给予及时响应。
A.多道批处理
B.单道批处理
C.网络操作系统
D.实时系统
二、判断题
- 用户在一次计算过程中,或者一次事物处理中,要求计算机完成所做的工作的集合,这是指作业。(对)
- 计算机中的CPU的工作分为系统态和用户态,系统态运行操作系统程序,用户态运行应用程序。(对)
- 虚拟机不需要硬件的支持.(错)
- 操作系统的所有程序是常驻内存的。(错)
- 分时系统不需要多道程序技术的支持。(错)
- 现代操作系统的两个最基本的特征是并发和共享。(对)
- 操作系统完成的主要功能是与硬件相关的。(错,操作系统实现对系统硬件和软件资源的管理。)
- 并发是指两个或多个活动在同一给定的时间间隔中进行,是宏观上的概念。(对)
- 批处理系统不允许用户随时干涉自己程序的运行。(对)
- 实时系统应具有的两个基本特征是及时性和可靠性。(对)
三、简答题
- 什么是多道程序设计?多道程序设计的特点是什么?
解:多道程序设计技术是指把多个程序同时存放在内存中,使他们同时处于运行状态。这些作业共享处理机时间和外部设备以及其他资源。多道程序设计技术的主要特点是:多道、宏观上并行、微观上串行。多道是指计算机内存中同时存放多道相互独立的程序。宏观上并行是指同时进入系统中的多道程序都处于运行过程中。微观上串行是指在单处理机环境中,内存中的多道程序轮流占有CPU,交替执行。
- 将手工操作、单道批处理、多道批处理、多用户分时系统按CPU的有效利用率,由小到大进行排列。
解:手工操作、单道批处理系统、多用户分时系统、多道批处理系统。(多道批处理、多用户分时系统都是多道程序,但是多用户是每个时间片都要切分为多用户使用,而多道批处理只是在完成一个程序之后才切换,花费时间更少)