操作系统
第一章 操作系统概述
1.1.1 操作系统的概念
计算机系统自上而下可粗分为四个部分:硬件、操作系统、应用程序和用户。
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。计算机操作系统是随着计算机研究和应用的发展逐步形成并发展起来的,它是计算机系统中最基本的系统软件。
1.1.2 操作系统的特征
1.并发
并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指在计算机系统中同时运行着多个程序,因此,它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使程序能并发执行。
注意同一时间间隔和同一时刻的区别。在多道程序环境中,一段时间内,宏观上,有多个程序同时执行,而在每一时刻,单处理机环境下实际上只能有一道程序执行,故微观上这些程序还是分时交替执行。
2.共享
资源共享即共享,是指操作系统中的资源可供多个并发执行的进程共同使用。共享可分为以下两种:
1)互斥共享方式
系统中的某些资源,如:打印机、磁带机,虽然他们能供多个进程使用,但规定在一段时间内只允许一个进程访问该资源。
计算机系统中的大多数物理设备,以及某些软件中所使用的栈、变量,都属于临界资源,他们都要求被互斥访问。
2)同时访问方式
系统中还有一些资源,允许在一段时间内由多个进程“同时”对他们进行访问。这里的“同时”是宏观上的,而在微观上,这些进程可能交替地对资源进行访问即“分是共享”。
并发和共享是操作系统中两个最基本的特征。
3.虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。操作系统中利用了多种虚拟技术,分别用来实现虚拟处理器、虚拟内存和虚拟外部设备等。
在虚拟处理器技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一个处理器。此时,只有一个处理器,但它能同时为多个用户服务,使每个终端用户都感觉有一个中央处理器为他们专门服务,利用多道程序设计技术,把一个物理上的CPU虚拟为多个逻辑上的CPU,成为虚拟处理器。
操作系统的虚拟技术可分为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器。
4.异步
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
异步性使得操作系统运行在一种随机的环境下,可能导致导致进程产生与时间有关的错误。但是只要运行环境相同,操作系统必须保证多次运行进程,都获得相同的结果。
1.1.3操作系统的目标和功能
操作系统应具备以下功能:处理机管理、存储器管理、设备管理和文件管理。为了方便用户使用操作系统,还必须向用户提供接口。(四大资源管理和一个接口)
1.操作系统作为计算机系统资源的管理者
(1)处理机管理
在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。进程管理的主要功能有:进程控制、进程同步、进程通信、死锁处理、处理机调度等。
(2)存储器管理
存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用以及提高内存的利用率,主要包括:内存分配、地址映射、内存保护与共享和内存扩充等功能。
(3)文件管理
计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分成为文件系统,文件管理包括:文件存储空间的管理、目录管理及文件读写管理和保护等。
(4)设备管理
设备管理的任务主要是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,包括:缓冲管理、设备分配、设备处理和虚拟设备等功能。
2.操作系统作为用户与计算机硬件系统之间的接口
(1)命令接口
用户利用这些操作命令来组织和控制作业的执行。按作业控制方式的不同,可分为:联机命令接口和脱机命令接口。
(2)程序接口
编程人员可以使用它们来请求操作系统服务。程序接口由一组系统调用命令组成。
3.操作系统用做扩充机器
没有任何软件支持的计算机称为裸机,它仅构成计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。通常把覆盖了软件的机器称为扩充机,又称之为虚拟机。
例题:
一、单选
1.操作系统是指一种()。
A.通用软件 B 系统软件 C 应用软件 D 软件包
2.操作系统是对 () 进行管理的软件。
A 软件 B 硬件 C 计算机资源 D应用程序
3.下面那个资源不是操作系统应该管理的()。
A CPU B 内存 C 外存 D 源程序
4下列选项中,()不是操作系统关心的问题。
A 管理计算机裸机
B 设计、提供用户程序和硬件系统的界面
C 管理计算机系统资源
D 高级程序设计语言的编译器
5.操作系统的基本功能()
A提供功能强大的管理工具 B 提供用户界面方便用户使用
C 提供方便的可视化的编辑程序 D 控制和管理系统内的各种资源
6现代计算机系统中最基本的两个特征是()
A 并发和不确定 B 并发和共享
C 共享和虚拟 D 虚拟和不确定
7 关于并发性的叙述中正确的是()
A 并发性是指若干事件在同一时刻发生
B 并发性是指若干事件在事件在不同时刻发生
C 并发性是指若干事件在同一时间间隔内发生
D 并发性是指若干事件在不同时间间隔内发生
8 单处理机系统中,可并行的是()
I 进程与进程 2.处理机与设备 3 处理机与通道 4 设备与设备
A 1、2、3 B1、2、4 C 1、3、4 D 2、3、4
9用户可以通过()两种方式来使用计算机
A命令接口和函数 B 命令接口和系统调用
C 命令接口和文件管理 D设备管理方式和系统
10系统调用是由操作系统提供给用户的,它()
A 直接通过键盘交互方式使用 B 只能通过用户程序间接使用
C 是命令接口中的命令 D 与系统的命令一样
11下列选项中,操作系统提供给应用程序的接口是()
A系统调用 B 中断 C库函数 D 原语
12操作系统提供给编程人员的接口是()
A 库函数 B 高级语言 C 系统调用 D子程序
13 系统调用的目的是()
A 请求系统服务 B 终止系统服务
C 申请系统资源 D 释放系统资源
14操作系统向用户提供的命令接口,分为()
A 联机用户接口和推挤用户接口 B 程序接口和图形接口
C 联机用户接口和程序接口 D 脱机用户接口和图形接口
15 用户在程序中试图读某文件的第100个逻辑块,使用操作系统提供的()
A系统调用 B 键盘命令 C 原语 D 图形用户接口
16 操作系统与用户通信接口通常不包括()
A shell B 命令解释器 C 广义指令 D 缓存管理指令
17 下列选项中,不属于多道程序设计的基本特征的是()
A 制约性 B 间断性 C 顺序性 D共享性
18 关于操作系统的叙述中错误的是()
A 操作系统是管理资源的程序
B操作系统是管理用户程序执行的程序
C 操作系统是能使系统提高效率的程序
D 操作系统是用来编程的程序
19计算机开机后,操作系统最终被加载到()
A.BIOS B ROM C.EPROM D RAM
二、综合
说明库函数和系统调用的区别和联系
答案
一、单选
1-5 BCDDD 6-10 BCDBB 11-15ACAAA 16-19 DCDD
二、库函数是语言或应用程序的一部分,可以运行在用户空间中。而系统调用是操作系统的一部分,是内核提供给用户的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能。
1.2.1 手工操作阶段(此阶段无操作系统)
用户在计算机上的所有工作都需要人工干预,如程序的装入、运行、结果的输出等。随着计算机硬件的发展,人机矛盾(速度和资源利用)越来越大,必须寻求新的解决办法。
手工操作阶段有两个突出的缺点:1、用户独占全机。2、CPU等待手工操作,CPU的利用不充分。
1.2.2 批处理阶段(操作系统开始出现)
为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。他按发展历程又可分为:单道批处理操作系统、掇刀批处理系统
1. 单道批处理系统
1) 自动性
2) 顺序性
3) 单道性
2. 多道批处理系统
多道程序设计技术允许多个程序同时进入内存并运行。及同时把多个程序放入内存,并允许他们交替在CPU中运行,他们共享系统中的各种软、硬件资源。
多道程序设计的特点:多道、宏观上并行、微观上串行。
1) 多道:计算机程序中同时存放多道相互独立的程序。
2) 宏观上并行:同时进入系统的多道程序都处在运行过程中,即它们先后开始了各自的运行,但都未运行完毕。
3) 微观上串行:内存中的多道程序轮流交替占有CPU,交替执行。
多道程序设计技术需要解决的问题:
1) 如何分配处理器
2) 多道程序的内存分配问题
3) I/O设备如何分配
4) 如何组织和存放大量的数据和程序,以便于用户使用和保证其安全性和一致性。
优点:资源利用率高;系统吞吐量大。
缺点:用户响应时间长,不能提供人机交互能力。
1.2.3 分时操作系统
在操作系统中采用分时技术就形成了分时系统。所谓分时技术就是把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。
实现分时系统最关键的问题是:如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并处理该命令。
主要特征:
1) 同时性
2) 交互性
3) 独立性
4) 及时性
1.2.4 实时操作系统
为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:硬实时系统:某个动作必须绝对的在规定时刻发生;软实时系统:接受偶尔违反时间规定,并且不会引起任何永久性的损害。
主要特征:及时性和可靠性
1.2.5 网络操作系统和分布式计算机系统
网络操作系统是把计算机网络中的各台计算机有机的结合起来,提供统一、经济而有效使用各台计算机的方法,实现各个计算机之间的相互通信。
主要特征:网络中的各种资源共享和各台计算机之间的通信
分布式计算机系统是由各台计算机组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息;系统中的每一台计算机都具有同等的低位,即没有主机也没有从机。
特点:分布性和并行性
分布式计算机系统和网络操作系统本质上的不同之处在于在分布式计算机系统中,若干台计算机相互协同完成同一任务。
例题:
一、 单选
1. 提高单机资源利用率的关键技术是()
A.脱机技术 B 虚拟技术 C 交换技术 D 多道程序设计技术
2.批处理系统的主要缺点是()
A 系统吞吐量小 BCPU利用率不高 C 资源利用率低 D无交互能力
3 下列选项中,不属于多道程序设计的基本特征的是()
A 制约性 B间断性 C顺序性 D共享性
4 操作系统的基本类型有()
A 批处理系统、分时系统和多任务系统
B 批处理系统、分时系统和实时系统
C 单用户系统、多用户系统和批处理系统
D 实时系统、分时系统和多用户系统
5实时系统必须在()内处理来自外部的事件
A 一个机器周期 B 被控制对象规定的时间 C 周转时间 D时间片
6实时系统的进程调度,通常采用()算法
A先来先服务 B 时间片轮转 枪战士的优先级高者有限D高响应比优先
7()不是设计实时系统的主要追求目标
A安全可靠 B资源利用率 C及时响应 D快速处理
8下列()应用工作最好采用实时操作系统平台
(1)航空订票 (2)办公自动化 (3)机床控制 (4)AutoCAD
(5) 工资管理系统 (6)股票交易系统
A. 1、2 和3 B .1、3 和 4 C.1、5和6 D.1、3和6
9分时系统的一个重要特征是系统的响应时间,对操作系统()因素进行改进有利于改善系统的响应时间
A加大时间片 B采用静态页式管理
C 优先级+非抢占式调度算法 D代码可重入
10分时系统追求的目标是()
A 充分利用I/O设备 B 比较快速响应用户
C 提高系统吞吐率 D充分利用内存
11在分时系统中,时间片一定时,()响应时间越长。
A内存越多 B 内存越少 C用户越多 D用户越少
12 在分时系统中,为使多个进程能够与系统交互,最关键的技术是能在短时间内,使所有就绪进程都能运行。当就绪进程数为100时,为保证响应时间不超过2s,此时的时间片最大为()
A 10ms B20ms C 50ms D 100ms
13 操作系统有多种类型,允许多个用户以交互的方式使用计算机的操作系统,称为();允许多个用户将若干个作业提交给计算机系统集中处理的操作系统,称为();在()的控制下,计算机能及时处理有过程控制反馈的数据,并及时作出响应;在IBM-PC中,操作系统称为()。
A 批处理系统 B分时操作系统 C实时操作系统 D微型计算机操作系统
二、 综合
1.批处理系统、分时操作系统和实时操作系统各有什么特点?
答案
一单选
1-5 DDCBB 6-10 CBDCB 11-13 C B B、A、C、D
二综合
1 批处理系统:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行,交互能力差。
分时操作系统:同时性、独立性、及时性和交互性
实时操作系统:及时性和可靠性
1.3.1 操作系统的运行机制
在计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序,另一种是用户自管程序或系统外层的应用程序。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程序”要执行一些特权指令,而“被管理者”出于安全考虑不能执行这些指令。所谓特权指令,是指计算机中不允许用户直接执行的指令,如I/O指令、置中端指令。操作系统在具体上划分为用户态(目态)和核心态(管态)。
大多数的操作系统内核包括4个部分
1时钟管理
时钟的功能一是:计时;二是:实现进程的切换
2中断机制
引入中断技术的目的是提高多道程序运行环境中的CPU利用率。
中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的我并行处理能力。
3原语
按层次结构设计的操作系统,底层必然是一些可被调用的共用小程序,它们各自完成一个规定的操作。其特点是:
1)处于操作系统的最底层,最接近硬件部分。
2)这些程序具有原子性
3)这些程序的运行时间较短
4系统控制的数据结构和处理
系统中用来登记状态信息的数据结构有很多,比如作业控制块、进程控制块、设备控制块等。为了有效的管理,系统需要提供一些基本的操作,常见的操作有以下三种:
1)进程管理:
2)存储器管理:
3) 设备管理:
核心态指令实际上包括系统调用类指令和一些正对时钟、中断和原语的操作指令
1.3.2 中断和异常的概念
当中断或异常发生时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的。
中断,也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入/输出请求。时钟中断,表示一个固定的时间片已到,让处理机处理计时。
异常,也称内中断、例外或陷入,值源自CPU执行指令内部的事件,如程序的地址越界、算数溢出等引起的事件。
1.3.3 系统调用
所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能,系统调用可被看做是特殊的公共子程序。系统调用可大致分为以下几类:
*设备管理:完成设备的请求、释放及设备的启动等。
*文件管理:完成文件的读、写、创建和删除等功能。
*进程控制:完成进程的创建、撤销、阻塞和唤醒等功能。
*进程通信:完成进城之间的消息传递户信号传递功能。
*内存管理:完成内存的分配、回收机获取作业占用内存区大小及始址等功能。
例题:
一、单选
1 下列关于操作系统的说法中,错误的是()
1) 在通用操作系统管理下的计算机上运行程序,需要向操作系统预定运行时间
2)在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个起始地址开始
3)操作系统需要提供高级程序设计语言的编译器
4)管理计算机系统资源是操作系统关心的主要问题
A 1、3 B 2、3 C 1、2、3、4 D 以上答案都正确
2 下列说法正确的是()
1)批处理系统的主要缺点是需要大量内存
2)当计算机提供了核心态和用户态时,输入/输出指令必须在核心态下运行
3)操作系统中采用多道程序设计技术的主要原因是为了提高CPU和外部设备的可靠性
4)操作系统中,通道技术是一种硬件技术
A 1、2 B 1、3 C 2、4 D 2、3、4
3 下列关于系统调用的说法中正确的是()
1) 用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和陷入指令
2)用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断指令
3)系统调用功能是操作系统向用户程序提供的接口
4)用户及其应用程序和应用系统是通过系统调用提供的支持和服务来使用系统资源完成的
A 1、3 B 2、4 C 1、3、4 D2、3、4
4()是操作系统必须提供的功能
A图形用户界面 B 为进程提供系统调用命令
C 中断处理 D编译程序
5用户程序在用户态下要使用特权指令引起的中断属于()
A硬件故障中断 B 程序中断 C 外部中断 D 访管中断
6 处理器执行的指令被分为两类,其中一类称为特权指令,他只允许()使用
A 操作员 B 联机用户 C 目标程序 D 操作系统
7下列操作系统的各个功能组成部分中,()可不需要硬件的支持
A进程管理 B 时钟管理 C 地址映射 D 中断系统
8在中断发生后,进入中断处理的程序属于()
A用户程序 B 可能是应用程序,也可能是操作系统程序
C 操作系统 D既不是应用程序,也不是操作系统程序
9当计算机为了区分核心态和用户态指令之后,从核心态到用户态的转换是由操作系统程序执行后完成的,而用户态到核心态的转换则是由()完成的
A硬件 B 核心态程序 C 用户程序 D 中断处理程序
10 下列选项中看,在用户态执行的是()
A 命令解释程序 B缺页处理程序 C 进程调度程序 D 时钟中断处理程序
11 下列选项中,不可能在用户态发生的事件是()
A 系统调用 B外部中断 C进程切换 D 缺页
12 只能在核心态下运行的指令是()
A读时钟指令 B 置时钟指令 C 取数指令 D 寄存器清零
13“访管”指令()使用
A 仅在用户态下 B仅在核心态下
C 在规定时间内 D在调度时间内
14当CPU执行操作系统代码时,处理器处于()
A自由态 B 用户态 C 核心态 D 就绪态
15 在操作系统中,只能在核心态下执行的指令是()
A 读时钟 B 取数 C 广义指令 D 寄存器清零
16 下列选项中,必须在核心态下执行的指令是()
A 从内存中读数 B 将运算结果装入内存 C算术运算 D 输入/输出
17当CPU处于核心态时,他可以执行的指令是()
A 只有特权指令 B 只有非特权指令
C只有“访管”指令 D 除访管指令的全部指令
18下列选项中,会导致用户进程从用户态切换到核心态的是()
1)整数除以0 2)sin()函数调用 3)read系统调用
A 1、2 B 1、3 C2、3 D 1 、2 和3
19 ()程序可以执行特权指令
A 同组用户 B 操作系统 C 特权用户 D 一般用户
20中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存的内容是()
A 程序计数器 B 程序状态字寄存器
C 通用数据寄存器 D 通用地址寄存器
二、综合
1.处理器为什么要区分核心态和用户态两种操作方式?在什么情况下进行两种方式的切换?
2为什么说直到出现中断和通道技术后,多道程序概念才变为有用?
答案:
一、1-5 ACCCD 6-10 DACAA 11-15 CBACC 16-20DDBBB
二 1.区分执行态的主要目的是保护系统程序。用户态到和心态的转换发生在中断产生时,而核心态到用户态的转换则发生在中断返回用户程序时。
2.多道程序并发执行是指有的程序在CPU执行时,而另一些程序正在I/O设备上进行传输,即通过CPU操作与外部设备传输在时间上重叠必须有中断和通道技术的支持。
现代操作系统的内部结构通常包括两部分:一是内核;二是核外部分。
1.4.1 内核在操作系统中的地位
操作系统的内核是对硬件的首次扩充,是实现操作系统各项功能的基础。
操作系统的内核具有两方面的接口:一方面是内核与硬件的接口;另一方面是内核与shell的接口。
操作系统的内核部分是指在系统保护状态(核心态)下运行的那部分程序,它为系统的基本工作单位。传统的操作系统的内核,通常包含以下功能模块:
1)进程、线程及其管理
2)存储管理
3)I/O管理
4)文件管理
1.4.2 强内核和微内核
操作系统有两种内核组织方式:强内核,微内核。
操作系统传统的强内核结构,是基于传统的集中式操作系统的内核结构。系统调用是通过陷入内核实现的,在内核完成所需要的服务,最后返回结果给用户程序。
微内核是一种新的结构组织方式,它体现了操作系统结构设计的新思想。微内核的设计目标是使操作系统的内核尽量的小,使其它所有操作系统服务都放在核外用户级完成。微内核几乎不做任何工作,仅仅提供一下四种服务:
1) 进程间通信机制
2)某些存储管理
3)有限的低级进程管理和调度
4)低级I/O
微内核的基本思想是:良好的结构化、模块化,最小的公共服务。
1.并行性和并发性的联系和区别
并行性是指:两个或两个以上的事件在同一时刻发生。
并发性是指:两个或两个以上的事件在同一时间间隔内发生。
2.特权指令和非特权指令
所谓特权指令是指具有特殊权限的指令,由于这类指令的权限最大,如果使用不当,将导致系统崩溃。为了保证系统安全,这类指令只能有操作系统执行,不直接提供给用户使用。
为了防止用户程序使用特权指令,用户态下只能使用非特权指令,核心态下可以使用全部指令。
3.访管指令和访管中断
访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识的使用访管指令,从而产生一个中断事件,将操作系统转换为核心态,称为访管中断。