目录
- 前言
- 1. 思考题
- 2. 应用题
前言
本系列文章是针对操作系统教程第六版(骆斌、葛季栋、费翔林)的习题解答,其中简答题部分为博主自己搜索整理的,错漏之处在所难免。应用题部分有答案为依据。
1. 思考题
(1)简述现代计算机系统的组成及层次结构
(2)试述计算机系统用户视图与程序员视图
(3)什么是操作系统,操作系统在计算机系统中的主要作用是什么?
操作系统是计算机系统中最基础的系统软件,它统一管理计算机软硬件资源,控制程序的执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好的运行环境。
操作系统控制和协调各用户的应用程序对硬件的分配和使用。
(4)什么是批处理操作系统,什么是分时操作系统,什么是实时操作系统?
批处理操作系统服务于成为批的一系列作业。把批中的作业预先输入作业队列中,由操作系统按照作业说明书的要求来调度控制作业执行,大幅减少人工干预,形成自动转接和连续的作业流。多道程序设计根据预先预定的调度策略选择若干作业并发执行,优点有系统资源利用率高,作业吞吐量大,批量处理集中,多道程序运行,用户脱机工作,缺点是作业周转时间延长,不具备交互式计算能力,不利于程序的开发和调试。
分时操作系统是目前常见的操作系统,多个联机用户同时使用一个计算机,在各自终端进行交互式会话,在会话中提供程序数据和命令,以问答方式控制程序运行。系统把处理器的时间分为时间片轮流分配给各个联机终端,若时间片用完则产生时间中断,将控制权转至操作系统并重新进行调度。
实时操作系统是另一类应用范围较大的操作系统,用于满足实时控制和实时信息处理的需要,当外部事件或数据产生时,实时操作系统能够及时对其予以接收并以足够快的速度进行处理,即一方面对单个实时任务保证在规定时间内控制其生产过程或对控制对象做出快速响应,另一方面能够协调安排所有实时任务的运行,提供即时响应和高可靠性是实时操作系统的主要特点。
(5)计算机系统资源可分为哪些类型,试举例说明。
计算机系统包含各种各样的硬件资源和信息资源,硬件资源包括处理器主存和各类外围设备,信息资源则以数据与程序的形式呈现。
(6)什么是多道程序设计,多道程序设计有哪些特点?
多道程序设计技术允许多个程序同时进入内存并允许他们在cpu中交替地进行,这些程序共享系统中的各种软硬件资源。当一道程序因io请求而暂停运行时,cpu便立即转去运行另一道程序,它不采用某些机制来提高某一技术方面的瓶颈问题,而让系统各个组成部分都尽量去忙,因而切换任务所花费的时间很少,可实现系统各部件之间的并行工作,使其整体在单位时间内效率翻倍。
特点:多道,宏观上并行,微观上串行
(7)操作系统的操作控制接口分为哪些类型?
命令接口
程序接口
(8)什么是系统调用,可分为哪些类型?
系统调用把应用程序的访问请求传送至内核,调用相应的服务例程完成所需时间,再将处理结果返回应用程序。
按功能访问一下6类:
- 进程管理
- 文件管理
- 设备管理
- 存储管理
- 进程通信
- 信息维护
(9)试述现代操作系统常用人机交互方式
命令行界面
图形用户界面
触摸屏界面
语音用户界面
(10)什么是WIMP页面
特征标准定义了4个重要组件,多窗口,触发多窗口的图标,窗口操作的菜单以及指示装置包括拖拽单击双击,左键右键等,被简称为WIMP界面。
(11)什么是虚拟现实系统,试述其思路
根据观察点及观察点改变的导航和对周围对象的操作,在三维环境中模拟身临其境的感觉,以及实现该场景所必要的一系列硬件设备与软件设备作为支撑。
(12)组成操作系统的构件有哪些?试简单叙述之。
内核(Kernel):内核是操作系统的核心部分,负责管理和控制计算机硬件资源,提供基本的服务和功能。它包括进程管理、内存管理、文件系统、设备驱动程序等模块。
进程(Process):进程是指计算机中正在运行的程序实例。操作系统通过进程管理来控制和调度各个进程的执行,分配和管理CPU时间片,保证进程的正常运行。
内存管理(Memory Management):内存管理模块负责管理计算机的物理内存和虚拟内存,包括内存分配、回收、地址映射、页面置换等操作,以提供给应用程序足够的内存空间。
文件系统(File System):文件系统管理计算机存储设备上的文件和目录,提供文件的创建、读取、写入和删除等操作,以及对文件存储空间的分配和管理。
设备驱动程序(Device Drivers):设备驱动程序用于控制和管理计算机系统中的各种硬件设备,如打印机、键盘、鼠标、网络适配器等,并向操作系统提供统一的接口。
网络协议栈(Network Protocol Stack):网络协议栈是操作系统中用于处理网络通信的模块,负责网络配置、数据传输、安全认证等功能,实现不同网络协议的支持。
用户界面(User Interface):用户界面是用户与操作系统交互的方式,可以是命令行界面(如Shell)或图形用户界面(GUI),使用户能够方便地操作和控制计算机系统。
(13)什么是操作系统内核?简单解释单内核操作系统与微内核操作系统的区别及其优缺点。
操作系统采用进程概念,但是有一部分基本操作系统程序却不可能用进程概念实现,必须用一组基本软件对硬件资源进行首次改造,以便为进程的执行提供良好的运行环境,该软件就是内核。
单内核:指内核中各部件杂然混居的形态。各管理模块之间共享信息,能有效利用相互之间的有效特性。但不够灵活。
微内核:强调结构性部件与功能性部件分离。结构优良但通信代价大,性能不佳。
(14)试述操作系统资源管理的主要技术:资源复用,资源虚拟,资源抽象。
资源复用技术可以创建虚拟资源以解决物理资源不足的问题,包括空分复用和时分复用两种。
资源虚拟技术是对资源进行转化模拟或整合,把一个或多个物理资源转变成一个或多个逻辑上的对应物。
资源抽象则用于处理系统复杂性,重点解决资源易用性,通过编制软件来屏蔽硬件资源的物理特性和实现细节,简化对硬件资源的操作控制和使用,不考虑物理细节而对资源执行的操作。
(15)试述操作系统的三个基础抽象,进程抽象,虚拟抽象和文件抽象。
进程是对进入主存执行的程序在处理器上操作的状态集的一种抽象,他涉及执行程序及处理器,进程是对处理器的一种抽象。
虚存是对主存的一种抽象,本质上是在物理主存的基础上,通过结合cache主存和外存设备实现虚拟存储器,以提供一个比实际主存大得多的受保护的地址空间。
文件是设备的一种抽象,通过将文件的字节映射到存储设备物理块中实现文件抽象。
2. 应用题
-
有一台计算机,具有 1MB 内存,操作系统占用 200KB,各个用户进程分别占用200KB。假设用户进程等待及执行 I/O 操作的时间平均占比80%,若增加 1MB 内存空间则CPU的利用率能够提高多少?
-
某个计算机系统有一台输入机和一台打印机,现有两道程序投入运行,且程序 A先开始运行,程序B后开始运行。程序A 的运行轨迹为:计算 50ms、打印 100ms、再计算50ms、打印 100ms,结束。程序B 的运行轨迹为:计算 5ms、输入 80ms、再计算 100ms结束。试说明:@两道程序运行时,CPU 是否存在空闲等待?若是,在哪段时间内等待?为什么等待?@程序A、B 是否有等待 CPU 的情况?若有,指出发生等待的时刻。
-
某计算机拥有单 CPU 和两台 I/0(1、1设备,支持多道程序设计,同时投入3个程序运行。其执行轨迹如下:
Pl: I2 (30ms),CPU (10ms) ,1 (30ms) ,CPU (10ms) ,12 (20ms)P2: I1 (20ms),CPU (20ms) ,12 (40ms)
P3: CPU (30ms) ,I1 (20ms) ,CPU (10ms) ,I1 (10ms)如果 CPU、I1 和12 并行工作,优先级从高到低依次为 P1、P2和 P3,CPU 可根据优先级抢占,但设备 I1 和12 不可抢占。试求:每个运行程序从投入到完成分别所需要的时间2CPU的利用率:3IO 设备利用率。
-
某计算机系统拥有单 CPU 和两台 I/0(I1、12)设备,支持多道程序设计,同时投入3 个程序运行。其执行轨迹如下:
PI : I2 (30ms),CPU (10ms) ,I (30ms),CPU (10ms)
P2 : I1 (20ms),CPU (20ms) ,12 (40ms)
P3 : CPU (30ms),I1 (20ms)如果CPU、I1和12并行工作,优先级从高到低依次为 P1、P2和P3,CPU 可根据优先级抢占,但设备 I1 和12 不可抢占。试求:每个运行程序从投入到完成分别所需要的时间:2CPU的利用率;3I/O 设备利用率。
-
若内存中有 3 道程序A、B、C,按照 A、B、C 的优先次序运行。各程序的计算轨
迹为:
A:计算(20ms),I/0(30ms) ,计算(10ms)B:计算(40ms),I/0(20ms),计算(10ms)
C:计算 (10ms),I/0(30ms),计算(20ms)如果 3 道程序都使用相同的设备进行 /O 操作(即程序以串行方式使用设备,调度开销忽略不计),试分别画出单道和多道运行的时间关系图。在两种情况下,CPU 的平均利用
率各是多少?
-
. 若内存中有3 个程序A、B、C,其优先级从高到低依次为 A、B和 C,其单独运行时的 CPU 和 O占用时间如表所示。
若 3 道程序并发执行,调度开销忽略不计,但优先级高的程序可以中断优先级低的程序优先级与I/O 设备无关。试画出多道运行的时间关系图,并指出最早与最迟结束的程序是哪个?每道程序执行至结束分别花费多少时间?计算3个程序全部运行结束时的CPU利用率。
- 在单机系统中,有 CPU 和两个设备 DEV1、DEV2,它们能够同时工作。现有两个程序A、B 同时到达,程序B 的优先级高于程序 A,但当程序A 占用CPU 时,程序B 不能抢占。程序在 CPU与O 设备之间的切换开销忽略不计。如果这两个程序使用CPU、DEV1DEV2的顺序和时间如下表所示。
试解答下列问题:@哪个程序先结束?@程序全部执行结束需要多长时间?3程序全部执行完毕时,CPU的利用率是多少?程序A 等待 CPU的累计时间是多少?程序B 等待
CPU的累计时间是多少?
-
有两个程序,程序A 按顺序使用:(CPU)10s、(设备甲)5s、(CPU) 5s(设备乙)10s、(CPU) 10s。程序 B 按顺序使用:(设备甲) 10s、(CPU)10s、(设备)5s、(CPU)5s、(设备乙)10s。若先执行程序A,再执行程序 B,求总的 CPU 利用率是多少?
-
试写出命令解释程序的程序处理逻辑。
-
试述系统调用的实现原理,并写出系统调用的处理逻辑。