写在前面
资料来源于我的操作系统老师——WYQ老师
感谢我的老师
1.1 操作系统的目标和作用
操作系统在计算机系统中的地位
管理者:
- 处理机管理
- 存储管理
- 设备管理
- 文件管理
操作系统是干什么的
(1)系统资源的管理:管理所有软硬件资源;
(2)程序的执行:
启动程序、结束程序;
完成与硬件相关的工作;
完成与应用无关的工作(具有共性的、基本服务、统一性的工作);
解决计算机系统的效率与安全问题。
(3)方便用户使用。
操作系统定义:是一组控制和管理计算机软硬件资源、合理地组织多道程序的运行、方便用户使用的程序的集合。
管家、调度、桥梁
1.1.1 操作系统的目标
1.方便性: 配置图形用户界面;
2.有效性: 提高资源利用率,提高系统吞吐量;
3.可扩充性:方便增加新的功能和模块;
4.开放性: 遵循世界标准规范,使软硬件兼容。
1.1.2 操作系统的作用
1.接口作用
使用方式:命令方式;图形、窗口方式;系统调用方式(用户程序对操作系统的调用)。
2. 资源管理者
3. OS用作扩充机器
- 硬件处在最底层——“裸机” ;
- 操作系统是附加在裸机上的第一层软件-“虚拟计算机”;
- 所有系统软件以及更上层的用户应用软件在操作系统虚拟机上运行。
练习题
1. 操作系统为用户程序完成与(B)的工作。
A、硬件无关和应用无关
B、硬件相关和应用无关
C、硬件无关和应用相关
D、硬件相关和应用相关
2. [2010年考研题 23]下列选项中,操作系统提供的给应用程序的接口是(A)
A、系统调用
B、中断
C、库函数
D、原语
3. 操作系统内核与用户程序、应用程序之间的接口是(C)。
A.shell命令
B.图形界面
C.系统调用
D.C语言函数
4. 系统调用的目的是(A)。
A.请求系统服务
B.终止系统服务
C.申请系统资源
D.释放系统资源
5. 0040 用户要在程序一级获得系统帮助,必须通过(D)。
A.进程调度
B.作业调度
C.键盘命令
D.系统调用
6. 系统调用是由操作系统提供的内部调用,它(B)。
A.直接通过键盘交互方式使用
B.只能通过用户程序间接使用
C.是命令接口中的命令
D.与系统的命令一样
7. CPU状态分为核心态和用户态,从用户态转换到核心态的途径是(C)。
A.运行进程修改程序状态字
B.中断屏蔽
C.系统调用
D.进程调度程序
1.1.3 推动操作系统发展的主要动力
1.器件的不断更新换代;
2.方便用户;
3.不断提高计算机资源利用率;
4.计算机体系结构的不断发展;
5.不断提出新的应用需求。
1.2 操作系统的发展过程
1.2.1 无操作系统时代
1.人工操作方式
1946-50年代:电子管时代,计算机速度慢,无操作系统,计算机资源昂贵;
工作方式:
- 用户:既是程序员又是操作员(专业人员)
- 编程语言:机器语言
- 输入输出:纸带或卡片
计算机的工作特点:
- 用户独占全机,资源利用率极低;
- CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
主要矛盾:
人机矛盾----人工操作严重降低了计算机资源的利用率
提高效率的途径:
脱机输入/输出技术。
2. 脱机输入/输出(Off-Line I/O)方式:
脱机I/O方式的主要优点:
- 减少了CPU的空闲时间
- 提高I/O速度
脱机I/O方式的主要缺点:
系统开销大
1.2.2 单道批处理系统
1.单道批处理系统的处理过程:
把一批作业以脱机方式输入到磁带或磁盘上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个的连续、自动处理。
单道批处理系统:作业成批处理,内存中只有一道。
2.单道批处理系统的特征:
- 自动性
- 顺序性
- 单道性
1.2.3 多道批处理系统
1.多道程序设计的基本概念:
- 多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;
- 当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序;
- 操作系统在引入多道程序设计技术后,使得系统具有了多道、宏观上并行、微观上串行的特点。
2.推动多道程序设计形成和发展的主要动力:
- 提高CPU的利用率
- 提高内存和I/O设备利用率
- 增加系统吞吐量
3.单道与多道程序运行情况的比较
4.多道批处理系统的特征:
- 多道性
- 无序性
- 调度性
作业调度
进程调度
5.单道与多道批处理的比较:
练习题
1. [2016考研试题 23]下列关于批处理系统的叙述中,正确的是(A)
Ⅰ.批处理系统允许多个用户与计算机直接交互
Ⅱ.批处理系统分为单道批处理系统和多道批处理系统
Ⅲ.中断技术使得多道批处理系统的I/O设备可与CPU并行工作
A.仅Ⅱ、Ⅲ
B.仅Ⅱ
C.仅Ⅰ、Ⅱ
D.仅Ⅰ、Ⅲ
解析:
允许多个用户以交互方式使用计算机的操作系统是分时操作系统。
2. 在单处理机系统中,有10个程序,每个程序以单道方式运行时需要10min完成,完成所有程序的运行需要的时间大于100min。
若采用多道方式运行,全部运行完成需要的总时间是(B)
A. 小于10min
B. 大于10min但小于等于100min
C. 大于100min
D. 以上都不对
解析:
多道情况下至少要有哪一个程序处理的时间,但是少于所有程序串行处理的总和。
3. [2012考研试题 29]一个多道批处理系统中仅有P1和P2两个作业,
P2比P1晚5ms到达,它们的计算和I/O操作顺序如下:
P1:计算60ms, I/O 80ms,计算20ms
P2:计算120ms,I/O 40ms,计算40ms
若不考虑调度和切换时间,则完成两个作业需要的时间最少是(B)
A. 240ms
B. 260ms
C. 340ms
D. 360ms
解析:
不抢:
抢:
所以是不抢快,260ms
4. [2016考研试题 24]某单CPU系统中有输入和输出设备各1台,现有3个并发执行的作业,每个作业的输入、计算和输出事件均为2ms、3ms和4ms,且都按输入、计算和输出的顺序进行,则执行完3个作业需要的时间最少是(B)
A.15ms
B.17ms
C.22ms
D.27ms
解析:
5. 在有一个CPU和两台外设D1和D2,且能够实现抢占式优先级调度算法的多道程序环境中,同时进入优先级由高到低的P1、P2、P3的三个作业,每个作业的处理顺序和使用资源的时间如下:
P1:D2(30ms)、CPU(10ms)、D1(30ms)、CPU(10ms)。
P2:D1(20ms)、CPU(20ms)、D2(40ms)。
P3:CPU(30ms)、D1(20ms)。
假设对于其他辅助操作时间忽略不计,CPU的利用率是多少? (D)
A.47.8%
B.57.8%
C.67.8%
D.77.8%
解析:
CPU利用率=CPU工作时间/总共花费时间
6.多道批处理系统需解决的问题:
- 处理机管理问题
- 内存管理问题
- 设备管理问题
- 文件管理问题
- 作业管理问题
7.多道批处理系统的优缺点:
优点:
- 资源利用率高:CPU和内存利用率较高;
- 系统吞吐量大:单位时间内完成的工作总量大;
缺点:
- 平均周转时间长:短作业的周转时间显著增长;
- 无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
1.2.4 分时系统
1. 分时系统的产生:
主要动力:用户的需求
表现形式:
- 人—机交互
- 共享主机
- 便于用户上机
含义:
分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
2. 分时系统实现中的关键问题:
- 及时接收
- 及时处理
响应时间RT(response time):用户从终端发出命令到系统予以应答所需的时间叫RT。在分时系统中,响应时间≈时间片×用户数。
时间片:就是分配给进程运行的一段时间(time slice)。
练习题
1. 非影响分时系统响应时间的是(C)。
A. 进程调度和对换的时间
B. 分时用户的数目
C. 分时用户所运行程序的特性
D. 时间片的大小
2. 在一个分时系统中,当用户数为100时,若响应时间为2s,系统设置的时间片长度应为(D)(忽略系统的开销)
A. 50ms
B. 100ms
C. 10ms
D. 20ms
3.改变批处理系统的运行方式:
- 作业直接进入内存
- 系统采用时间片轮转方式处理服务请求
4.分时系统的特征:
- 多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。
- 独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。
- 及时性:通过时间片技术和轮转调度算法保证及时响应。
- 交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。
宏观上:是多个人同时使用一个CPU
微观上:多个人在不同时刻轮流使用CPU
[例]就CPU利用率的高低,对手工操作、单道批处理、多道批处理和多用户分时系统进行排序。
CPU利用率逐渐提高的顺序为:
手工操作、单道批处理、多用户分时系统、多道批处理。
1.2.5 实时系统
实时:及时响应并快速处理。
实时操作系统是一种能在限定时间内对输入进行快速处理并做出响应的计算机处理系统。
1. 实时系统的引入
(1)实时控制:如工业自动控制、飞机自动驾驶、导弹制导等。
(2)实时信息处理:如飞机订票、情报检索等。
2. 实时任务的类型
(1)按任务执行时是否呈现周期性来划分
- 周期性实时任务
- 非周期性实时任务——截止时间
(2)根据对截止时间的要求来划分
- 硬实时任务
- 软实时任务
实时系统与分时系统的比较
3.三种基本操作系统的比较
练习题
1. 在下列操作系统中,强调吞吐能力的是(B)。
A.分时系统
B.多道批处理系统
C.实时系统
D.网络系统
2. 批处理系统的主要缺点是(B)。
A.CPU的利用率不高
B.失去了交互性
C.不具备并行性
D.系统吞吐量小
3. 分时操作系统的主要目的是(A)
A.计算机系统的交互性
B.计算机系统的实时性
C.计算机系统的可靠性
D.提高软件的运行速度
4. 不同类型的操作系统提供不同的功能,假定有如下的应用环境,请你为他们选择合适的操作系统:
(1)飞机的导航;
(2)办公自动化系统;
(3)航空订票系统;
(4)复杂的科学计算;
(5)图书检索系统。
解答:
(1)硬实时操作系统;
(2)分时操作系统;
(3)软实时操作系统;
(4)批处理系统;
(5)软实时操作系统。
5. 属于实时控制系统的是(A)。
== A. 飞机自动驾驶系统==
B. 飞机订票系统
C. 电子商务系统
D. 管理信息系统
注意实时控制系统与实时信息处理系统的区别
6. 一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?
① 优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业;
② 把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中;
③ 有终端作业进程就绪时,优先让其按“时间片轮转”法先运行。没有终端作业时再按确定算法选批处理作业就绪进程运行。
1.2.6 操作系统的进一步发展
1. 微机操作系统:
单用户操作系统,主要有MS-DOS、 OS/2、 Windows等。 这类系统具有如下特征:
(1) 个人使用。
(2) 界面友好。
(3) 管理方便。
(4) 适于普及。
2.网络操作系统:
计算机网络具有如下特征:
(1) 分布性。
(2) 自治性。
(3) 互连性。
(4) 可见性。
3.分布式操作系统:
分布式系统是以计算机网络为基础的,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。
分布式系统的特点:
(1) 透明性。
(2) 灵活性。
(3) 可靠性。
(4) 高性能。
(5) 可扩充性。
4.嵌入式操作系统:
微型化、专业化的OS 。系统实时高效性、硬件的相关依赖性、软件固态化、应用的专用性。
几种操作系统的对比
1.批处理系统:用户可以把作业一批批地输入系统,直到作业运行完毕后,才根据输出结果分析作业运行情况
2.分时OS:将CPU的时间划分成时间片,轮流接收和处理各个用户从终端输入的命令。
3.实时OS:对信号的输入、计算和输出都能在一定的时间范围内完成。
4.网络OS:网络通信+资源共享,能够协调各个主机上任务的运行,并向用户提供统一、高效、方便易用的网络接口。
5.分布式OS:具有高级的操作系统,管理整个系统(包括网络)中的所有资源,负责所有资源的分配和调度、任务的划分和具体安排、信息传递和控制。
分布式OS的主要特点:
- 各节点的自治性;
- 资源共享的透明性;
- 各节点间的协同性;
- 系统的坚定性。
6.嵌入式OS:与应用紧密结合、专用性很强、可裁剪。
嵌入式OS的主要特点: 微型化和实时性。
操作系统发展史
1.3 操作系统的基本特征
四个基本特征:并发、共享、虚拟、异步
1.并发
并行性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时间间隔内发生在多道程序系统(单处理器)中,宏观上并行,微观上串行(交替执行)。
练习题
1.[2009年考研试题之一 23]在单处理机系统中,可并行的是(D)。
Ⅰ. 进程与进程
Ⅱ. 处理机与设备
Ⅲ. 处理机与通道
Ⅳ. 设备与设备
A、Ⅰ、Ⅱ、Ⅲ
B、Ⅰ、Ⅱ、Ⅳ
C、Ⅰ、Ⅲ、Ⅳ
D、Ⅱ、Ⅲ、Ⅳ
2.共享:
在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
共享方式:
互斥共享方式:资源分配后到释放前,不能被其他进程所用;
临界资源(独占资源):一段时间内只允许一个进程访问的资源;
同时访问方式:在一段时间内允许多个进程“同时”访问。
3.虚拟
虚拟——通过某种技术把一个物理实体变为若干个逻辑上的对应物。
- 虚拟是操作系统管理系统资源的重要手段,可提高系统效率、资源利用率。
- 用于实现虚拟的技术-时分复用技术与空分复用技术。
实现虚拟技术的两种方式
- 时分复用技术
亦即分时使用方式。
可以实现虚拟处理机、虚拟外部设备等,以提高资源的利用率。 - 空分复用技术
用来提高存储空间的利用率。
磁盘分区技术允许将一个硬盘划分为多个逻辑驱动器;虚拟内存技术使用外存空间从逻辑上扩充内存空间。
OS中的虚拟技术
- 虚拟处理机
- 虚拟外部设备
- 虚拟内存
- 虚拟磁盘(RAM盘)/磁盘高速缓存
- 虚拟信道(多路复用技术)
4.异步性
指在多道程序环境下,程序的执行顺序和执行时间的不确定性!
操作系统的不确定性:
使用同样一个数据集的同一个程序在同样的计算机环境下运行,每次执行的顺序和所需的时间都不相同。
操作系统的不确定性不是指程序执行结果的不确定。程序执行结果不确定的原因往往是由于程序设计本身的错误或由于用户程序之间的配合(同步、互斥)不当而引起的。
练习题
1. 现代操作系统的两个基本特征是 © 和资源共享。
A.多道程序设计
B.中断处理
C.程序的并发执行
D.实现分时与实时处理
2. 操作系统中,要对并发进程进行同步的主要原因是(C)
A. 进程必须在有限的时间内完成
B. 进程具有动态性
C. 并发进程是异步的
D. 进程具有结构性
3. 操作系统具有并发、共享的基本特性,为了实现这些特性,操作系统必须解决哪些问题?
解答:
- 处理机的管理与调度;
- 存储器的分配与保护;
- 设备的管理和驱动;
- 文件的修改、查找、保护和共享。
1.4 操作系统的主要功能
1.4.1 处理机管理功能
- 进程控制:为作业创建进程、撤销已结束的进程,以及控制进程在运行过程中的状态转换
- 进程同步:为多个进程的运行进行协调(协调方式:互斥和同步)
- 进程通信:用来实现在相互合作的进程之间的信息交换;
- 进程调度:包括作业调度、进程调度、线程调度。
1.4.2 存储器管理功能
存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率并能从逻辑上扩充内存。包括功能有:
- 内存分配与回收:为每个进程分配/释放内存空间;
- 内存共享与保护:提供共享手段,同时检查地址的合法性防止越界访问;
- 地址映射:实现逻辑地址到物理地址的映射;
- 内存扩充:采用虚拟存储技术解决“供小于求”的问题。
请求调入功能
页面置换功能
1.4.3 设备管理功能
设备管理的主要任务:完成用户进程提出的I/O请求,为用户进程分配其所需的I/O设备,提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
设备管理的功能有:
- 缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
- 设备分配:根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备;
- 设备处理:设备驱动程序用于实现CPU和设备控制器之间的通信。
- 设备独立性和虚拟设备:
1.4.4 文件管理功能
文件系统的主要任务:对文件进行有效管理、方便用户使用、提高存储空间利用率、保证文件系统安全性。
文件管理的主要功能:
- 文件存储空间的管理:为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度;
- 目录管理: 为每个文件建立其目录项,并对众多的目录项加以有效组织,实现方便的按名存取,能实现文件共享,提供快速的目录查询手段。
- 文件的读写和保护:根据用户请求,从外存中读取数据,或将数据写入外存;并实现对文件的保护。
1.4.5 用户接口
1. 命令接口:
用户可通过该接口向作业发出命令以控制作业的运行。
- 联机用户接口:
由一组键盘操作命令和命令解释程序组成。 - 脱机用户接口:
由一组作业控制语言JCL组成。
2.程序接口:
- 为用户程序在执行中访问系统资源而设置,由一组系统调用组成。
- 每一个系统调用都是一个能完成特定功能的子程序。
- 系统调用是操作系统提供给编程人员的接口, 因而也称为程序员界面。
- 从操作系统内部实现的层次结构上看, 系统调用处于核心的最高层, 离用户层最近。
3.图形接口: - 系统调用和命令方式给用户提供的是一维空间界面, 是最基本的用户界面, 也称为第一代用户界面。
- 以微软Windows操作系统为代表给用户提供了图形界面, 这是在二维空间中动态活动的窗口。
- 图形界面为用户提供了方便、 直观、 灵活、 有动感的工作环境。
- 用户利用鼠标、 窗口、 菜单、 图标、 流动条等图形工具和部件与系统会话, 使人机交互水平上升了一个台阶。
- 图形界面也称为第二代用户界面。
操作系统的主要功能
1.资源管理:
- 处理机管理功能
- 存储器管理功能
- 设备管理功能
- 文件管理功能
2.用户接口:
- 命令接口
- GUI接口
- 系统调用
3.多道程序并发:
- 进程方式
- 线程方式
操作系统的服务
不同OS所提供的服务并不尽同,但有一部分公共服务是相同的。
OS的公共服务类型:
1)创建进程、执行进程
2)I/O操作
3)文件系统操纵(信息存取)
4)通信服务
5)差错检测和处理
4.系统调用
系统调用的作用
- 系统调用是操作系统为应用程序提供服务的重要手段。
- 系统调用本身也是一个由若干个指令构成的过程,但与一般过程不同;
- 系统调用是运行在系统态,一般过程是运行在用户态。
系统调用的类型
1)进程控制类系统调用
2)内存管理类系统调用
3)文件操纵系统调用
4)设备管理系统调用
5)通信用系统调用
6)信息维护
5.广义指令(访管指令)
- 系统调用是为扩充机器指令、增加系统功能、方便用户使用而提供的内部函数。
- 请求系统调用的命令又被称为“广义指令”或“访管指令”。
6.中断
处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。
中断系统:
- 中断装置(硬件)
- 中断处理程序(软件)
发现并响应中断的硬件机构:
- 识别中断源:当有多个中断源时,按紧迫程度排队;
- 保存现场;
- 引出中断处理程序。
中断源与中断字:
- 中断源:引起中断的事件。
- 中断寄存器:保存与中断事件相关信息的寄存器。
- 中断字:中断寄存器的内容。
中断类型:
- 强迫中断
- 自愿中断
7.CPU的两种执行状态
(1)系统态:CPU能执行任何指令,能访问任何寄存器、存储器。
管态、核心态:程序在OS内核执行称为管态、核心态、系统态.
(2)用户态:不能执行特权指令,不能随意访问寄存器、存储器。
目态、用户态:程序在OS外壳执行称为目态、用户态.
核心态/用户态
- 在计算机系统中存在两类性质不同的程序:操作系统内核程序、用户自编程序以及系统的实用和应用程序。
- 前者是后者的管理者和控制者,所以操作系统内核应该享有某些特权。
- 为此将CPU的运行状态分为核心态(管态)和用户态(目态)。
- 系统(核心,特权)态—具有较高特权,能执行一切指令,访问所有存储区,系统内核程序在此状态执行。
- 用户(目态,用户)态——具有较低特权,只能执行部分指令,访问指定存储区,用户程序(系统实用程序)运行在此状态。
- 目的:保护内核不被破坏;
CPU状态的转换
- 用户态—核心态(目态-管态):
其转换的途径是通过系统调用、异常、外部中断-中断。 - 核心态–用户态(管态–目态):
可用设置PSW来实现。
8.特权指令与非特权指令
- 特权指令:允许操作系统使用,不允许一般用户使用:
(1)修改程序状态字;
(2)开/关中断;
(3)设置中断屏蔽:
(4)启动I/O设备;
(5)清内存;
(6)设置时钟等 - 非特权指令:用户均可用的。
练习题
1.为了支持操作系统,现代处理器一般都提供哪两种工作状态,以隔离操作系统和普通程序?两种状态各有什么特点?
解答: 管态和目态。
管态一般指操作系统管理程序运行的状态,具有较高的特权级别,能运行一切指令;
目态一般指用户程序运行时的状态,具有较低的特权级别,只能运行非特权指令。
2.硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处?代价是什么?
解答: 便于设计安全可靠的操作系统。
代价是用户程序运行速度减慢即系统效率的降低。
3.何谓特权指令? 如果允许用户进程执行特权指令会带来什么后果?
解答:
- 在现代计算机中,一般都提供一些专门供操作系统使用的特殊指令,这些指令只能在管态执行,称为特权指令。
- 这些指令包括:停机指令、置PSW指令、中断操作指令(开中断、关中断、屏蔽中断)、输入输出指令等。
- 用户程序不能执行这些特权指令。
- 如果允许用户程序执行特权指令,有可能干扰操作系统的正常运行,甚至有可能使整个系统崩溃。
4. [2015年考研题24]假定下列指令已装入指令寄存器。则执行时不可能导致CPU 从用户态变为内核态(系统态)的是( C )
A.DIV R0,R1;
B.INT n;
C.NOT R0;
D.MOV R0,addr;
解析:
(R0)/(R1)→R0
产生软中断
寄存器R0 的内容取反
把地址处的内存数据放入寄存器R0 中
5. [2014年考研题25]下列指令中,不能在用户态执行的是(D) 。
A.trap指令
B.跳转指令
C.压栈指令
D.关中断指令
6. 下列不是特权指令的是(A)
A. 访管指令
B. 设置程序状态字指令
C. 启动、测试、控制外设指令
D. 存取特殊硬件寄存器指令
解析:
访管指令:在目态下执行的指令。处理器在取到访管指令后会产生中断,中断系统将处理机转入核心态进行处理。具有中断性质的特殊机器指令。
主要功能是:
- 实现从用户态到系统态的改变;
- 在系统态下由操作系统代替用户完成其请求;
- 操作系统工作完成后由系统态返回到用户态。
7. 只能在核心态下执行的指令是(B)
A、读时钟日期
B、屏蔽所有中断
C、改变文件内容
D、调用库函数
8. 下面关于管态和目态的叙述中不正确的是(D)
A、中央处理器执行系统程序的状态是管态
B、中央处理器执行用户程序的状态是目态
C、目态下不允许执行特权指令
D、访管指令只能在管态下执行
9. 下列选项中,在用户态执行的是(A)
A、命令解释程序
B、缺页处理程序
C、进程调度程序
D、时钟中断处理程序
10. 在用户程序中要将一个字符送到显示器上显示,应使用操作系统提供的 ( A ) 。
A.系统调用
B.函数
C.原语
D.子程序
11. 若操作系统管理的某用户程序当前正占有中央处理器,该用户程序欲读磁盘上的文件信息,那么用户程序中相应的指令应该是(D)
A.启动I/O指令
B.等待I/O指令
C.转移指令
D.访管指令
12.[2012年考研题23]下列选项中,不可能在用户态发生的事件是©
A、系统调用
B、外部中断
C、进程切换
D、缺页
**13.**下列属于软中断的中断事件是( B )。
A、硬件故障
B、访管
C、外部
D、输入/输出
**14.**操作系统程序都是在核心态下才能运行。(×)
15. [2013考研题28]下列选项中,会导致用户进程从用户态切换到内核态的操作是(B)
I. 整数除以零
II. sin( )函数调用
III. read 系统调用
A. 仅 I、II
B. 仅 I、III
C. 仅 II、III
D. I、II和 III
16. CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是(C)。
A.运行进程修改程序状态字
B.中断屏蔽
C.系统调用
D.进程调度程序
17. 不属于“强迫性中断事件”的是©
A、硬件故障中断
B、程序性中断
C、访管中断
D、输入/输出中断
E、外部中断
18. 访管指令的作用是(C)。
A、嵌套调用
B、用户使用的命令
C、用户态转换为核心态
D、保证运行在不同状态
1.4.6 现代操作系统的新功能
现代操作系统是在传统操作系统基础上发展起来的,它除了具有传统操作系统的功能外,还增加了面向安全、面向网络和面向多媒体等功能。
1.系统安全:认证、密码、访问控制、反病毒技术。
2.网络服务:网络通信、资源管理、应用互操作。
3.支持多媒体:接纳控制功能、实时调度、多媒体文件的存储。
1.5 操作系统的结构设计
1.5.1 软件工程的基本概念
1、软件的含义:
程序的集合;
软件=程序+数据结构+文档;
2、软件工程的含义:
- 运用系统的、规范的和可定量的方法,来开发、运行和维护软件;
- 采用工程的概念、 原理、 技术和方法,来开发与维护软件;
- 目的是为了解决在软件开发中所出现的编程随意、软件质量不高及维护困难等问题。
1.5.2 传统的操作系统结构
1.整体式(无)结构
- OS是一个由若干过程组成的单独的目标程序。
- 过程之间可以不加控制地互相调用和转移,致使操作系统内部既复杂又混乱。
- 信息的传递方式可以根据需要随意约定,因而造成过程间的循环调用。
2.模块化结构
优点:
- 提高设计的正确性、可理解性和可维护性;
- 增强可适应性;
- 加速开发过程。
缺点:
- 可靠性低;
- 无序性。
3.层次式结构
优点:
- 整体问题局部化
- 正确性有保证
- 错误不扩张
- 便于系统维护、扩充
缺点:
- 层次之间单向依赖
- 模块间需要通信机制
- 系统开销大、效率低
- 具有理论研究价值,可操作性不强
1.5.3 微内核OS结构
内核
- 是操作系统的常驻部分,是对硬件的首次扩充。
- 提供支持系统运行的基本功能。
- 由原语、中断处理和设备驱动程序组成。
内核的分类:
- 微内核:使内核尽量小。系统服务通过消息传递来联系。优点:开放、灵活、易扩充。
- 强内核:包含系统服务的所有模块,模块间通过函数调用联系。优点:效率高。
- Unix、Linux是强内核操作系统,Mach是微内核操作系统,Windows2000/XP为微内核式的C/S结构 。
内核的基本功能:
- 中断处理
- 进程调度
- 低级存储管理
1、客户/服务器模式(Client-Server Model)
- 将操作系统分成两大部分,一是运行在用户态并以C/S方式活动的进程;二是运行在核心态的内核。
- 除了内核部分外,OS的其它部分被分成若干相对独立的进程,每个进程实现一类服务,称服务器进程(如文件服务、进程管理服务、存储管理服务、网络通信服务等)。
- 如果用户(客户)进程需要某种服务,就发出消息,通过内核将消息传给服务器进程,服务器执行相应操作,再通过内核用消息把结果返回给用户。
- 内核只实现极少任务,主要起信息验证、交换的作用,因而,称微内核(Microkernel),这种结构也就称为客户/服务器与微内核结构。
2、面向对象的程序设计技术(Object-Orientated Programming)
途径:
(1)把传统意义上属于操作系统的代码由低层移向高层,由核心移向用户,要增加新功能仅需加结点。
(2)消息传送机制Client/Server
优点:
- 易于扩充,易于移植
- 提高系统的可靠性
- 提供多种操作环境
- 适宜于分布计算模式
- 有助于多处理器系统的实现
- 支持实时任务
缺点:
消息传递方式增加开销,使响应变慢
3、微内核技术
优点
(1)安全可靠:微内核降低了内核的复杂度,减少了发生故障的概率,也就增加了系统的安全性。
(2)接口统一:进程所面对的是一个统一的进程通信接口方式。
(3)可扩充性好:
(4)灵活性高:操作系统具有良好的模块化结构,可以独立地对模块进行修改,也可随意对功能进行增加和删除,因此操作系统可以按用户的需要进行剪裁。
(5)兼容性:许多系统都希望能运行在多种不同的处理器平台上,这在微内核结构下是比较容易实现的。
(6)提供了对分布式系统的支持:在微内核结构下操作系统必须采用客户/服务器模式。这种模式适合于分布式系统,可以对分布式系统提供支持。
缺点
在微内核结构下,一次系统服务过程需要更多的模式(在用户态和核心态之间)转换和进程地址空间的切换,增加开销,影响执行速度。
各体系结构相关特性比较
练习题
1. 相对于单一内核结构,采用微内核结构设计和实现操作系统具有诸多好处,下列哪些是微内核结构的特点©。
I、使系统更高效
II、添加系统服务时,不必修改内核
III、微内核结构没有单- -内核稳定
IV、使系统更可靠
A. I、III、IV
B.I、II、IV
C. II、IV
D. I、IV
1.6 本章要点与课堂练习
1. 设内存中有三道程序A、B、C,它们按A、B、C的优先次序执行。它们的计算和I/O操作的时间如下表所示(单位:ms)。
假设三道程序使用相同设备进行I/O操作,即程序以串行方式使用设备,试画出单道运行和多道运行的时间关系图(调度程序的执行时间忽略不计)。在两种情况下,完成这三道程序各花多少时间(多道时CPU按照A、B、C的优先级抢占)?
解答:
单道运行的时间关系图:
多道运行的时间关系图:
**2.**一个操作系统能否管理任何种类的计算机?
解答: 操作系统是与计算机硬件关系最密切的软件,负责管理计算机系统的硬件资源,不同种类的计算机有不同体系结构,不同的处理器,不同的指令系统,不同硬件配置,操作系统能够管理的软硬件资源受到一定的限制,一种操作系统只能安装到特定种类的计算机上。如,Windows98只能用于管理IBM PC兼容机,而不能用于管理APPLE公司的Machintosh计算机。
**3.**实现多道程序系统的最主要硬件支持是什么?
解答: 中断系统和通道技术。
(1) 进程的切换是由时钟中断引起的,尤其是分时系统。用户程序进行系统调用时通过软中断来实现。通道和外设的操作也要向操作系统发送中断。
(2) 在多道程序系统中,当CPU要求在主存和外设间传输数据时,通过发出I/O指令命令通道工作,通道独立地在内存和外设间进行数据传输,I/O操作完成后,通道以中断方式通知CPU,从而实现了CPU计算与I/O操作的并行 。
4. 在多道程序设计技术的系统中,操作系统怎样才会占领中央处理器?
解答: 只有当中断装置发现有事件发生时,它才会中断当前占用中央处理器的程序执行,让操作系统的处理服务程序占用中央处理器并执行之。