当前位置:文档之家› 2013年操作系统思考题

2013年操作系统思考题

2013-2014 学年第一学期操作系统思考题第一章 操作系统概论1、 在计算机系统中,操作系统有哪两个重要作用 管理系统中软件硬件资源 为用户(应用程序)提供良好的服务(界面) 2、 根据操作系统的地位和作用,请给出操作系统的非形式化的定义。

负责启动和终止执行用户程序:启动过程执行管理结束处理,使得每个用户程序可 以很方便、灵活地启动和终止 在用户程序运行中,负责完成所有的硬件相关、和应用无关的工作:通过系统调用或中 断方式,调用或进入操作系统来完成用户的作业,为用户程序方便使用计算机提供统一 的帮助和管理 为用户对计算机进行基本操作提供现成的实用程序和相应的管理, 以便这些操作能够方 便、有效地完成。

如文件复制、移动与删除,磁盘目录管理,磁盘格式化等 改善工作的效率和安全问题,使得计算机系统的各个部分和整个计算机系统得以高效、 安全使用 3、 操作系统引入的目标是什么? 4、 什么叫做“假脱机”? 作业由读卡机到磁带机的传输、结果由磁带机到打印机的传输,由通道完成,这种非联 机、也非脱机的方式。

5、 多核系统主要需要解决哪两个问题? 1、并发控制:单处理机和单核系统的并发控制是在指令级,多处理机和多核的并 发控制是在指令周期级别上; 2、调度:如何合理安排多线程在多处理机或多核上运行,以达到更高的性能。

6、 操作系统有哪四个特征?其中哪两个是基本特征? 程序并发性, 资源共享性, 资源虚拟性, 不确定性(异步性) 7、 程序的并发性具体体现在哪三个方面? 多个用户程序并发;OS 程序与用户程序并发. 多个程序在宏观上同时向前推进 并发(concurrent) vs. 并行 (parallel) 8、 程序并发和并行有什么区别? 幷發的實質是一個物理 CPU(也可以多個物理 CPU)在若干道程序之間多路復用,并發 性是對有限物理資源强制行駛多用戶共享以提高效率。

實現幷發技術的關鍵之一是如何對系統內的多個活動(進程)進行切換。

并行性指的是兩個或兩個以上的事件或活動在同一時刻發生。

在多道程序環境下,并行 性使多個程序同一時刻可在不同 CPU 上同時執行。

9、 何谓资源共享性? a) 多个程序共用系统中的各种软硬件资源 b) 在操作系统的协调和控制下 10、在计算机系统中,为什么会呈现出程序运行的异步性? a) 程序执行的结果的不确定性:同一程序,相同的输入、在相同的环境下, 可能产生不同的结果; b) 执行时间的不确定性:多道程序执行是以异步方式进行,什么时候、什 么顺序、所需时间均不确定。

11、何谓虚拟?操作系统如何体现其虚拟性? 虚拟是指把一个物理上的实体变成若干个逻辑上的对应物; 如:通过分时使用,在一个 CPU 上同时执行多道程序;多道程序同时使用一台打印机 等 12、多道批处理系统具有哪两个特性? a) 多道:系统内存中同时容纳、处理多个作业 b) 成批:作业分批进入系统 13、分时操作系统具有哪三个主要特征? a) 多路性:一台主机与多个终端相连; b) 交互性:以对话的方式为用户服务; c) 独占性:每个终端用户仿佛拥有一台虚拟机。

14、实时操作系统应具有哪两个特征? 响应及时(prompt response) 可靠性高(high reliability) 15、分布式操作系统出了网络操作系统的特征外,还具有哪些特征? a) 统一的操作系统 b) 资源的进一步共享 c) 可靠性 d) 透明性(NOS 与 DOS 的最大差异) 16、从透明性和资源共享两个方面说明网络操作系统与分布式操作系统的差异。

从透明性上看,分布式操作系统优于网络操作系统。

网络用户能够感觉到所访问的资源 是在本地还是在远地;而在分布式系统中,用户感觉不到所访问的资源是否在本地。

分 布式操作系统掩盖了资源在地理位置上的差异。

从资源共享上看,分布式操作系统比网 络操作系统能共享更多的资源。

在网络操作系统中,一个计算任务不能由一台主机任意 迁移到另外一台主机上运行;而在分布式操作系统中,所有作业可以由一台主机任意迁 移到另外一台主机上处理,即可实现处理机和存储资源的共享,从而达到整个系统的负 载平衡。

17、操作系统应具备哪些基本功能? 18、为什么说操作系统是中断驱动的? 中断是程序切换的必要条件; 中断将引出新的 PSW:目态管态 19、中断与程序并发之间有什么关系?操作系统何时获得控制权? 中断是程序并发的前提条件。

如果没有中断,操作系统不能获得系统控制权,无法按调 度算法对处理机进行重新分配,一个程序将一直运行到结束而不会被打断。

20、系统栈有哪些作用?根据用途说明堆与栈的差别。

作用 保存中断现场 保存子程序转移返回点、参数、局部变量、返回值  栈内存分配: (典型的函数:alloca) char* AllocStrFromStack() { char pstr[100]; return pstr; } 什么也返回不了,返回是空的  堆内存分配: (典型的函数:malloc) char* AllocStrFromHeap(int len) { char *pstr; if ( len <= 0 ) return NULL; pstr =( char* ) malloc( len ); return pstr; } 可以返回一个内存供其他函数使用 21、在操作系统中把处理机划分成哪两个状态?它们分别可以执行哪类指令?两个状态如 何转换? 系统态,用户态  Mode transition(状态转换)  Kernel mode  User mode(置程序状态字)  User mode  Kernel mode(中断,trap 陷阱) 22、操作系统提供给用户程序什么接口? 用户接口:  作业级接口  程序接口:系统调用第二章 进程、线程和作业1、 为什么要引入多道程序设计? 引入多道程序设计技术是为了提高计算机系统资源的利用率。

2、 引入多道程序设计需要解决哪三个问题? 处理机利用率低 设备利用率低 内存利用率低 3、 什么叫进程?a) 可参与并发执行的程序称为进程。

b) 进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。

4、 进程有哪三个基本状态?并说明这三个基本状态是何时转换的? 进程状态(基本状态) a) 运行态(RUN): 占有 CPU 正在向前推进 b) 就绪态(READY): 可以运行,但未得到 CPU c) 等待态(WAIT): 等待某一事件发生 状态转换 d) 就绪运行:获得处理机 e) 运行就绪:剥夺处理机 f) 运行等待:申请资源未得到,启动 IO g) 等待就绪:得到资源,IO 中断 5、 什么是 PCB? 进程控制块(PCB) 6、 一个进程由哪两部分组成? a) 进程控制块(process control block) i. 建立进程建立 PCB ii. 撤销 PCB撤销进程 iii. 存放在系统空间: OS 对其访问,用户程序不能访问. b) 程序 i. 代码(code):在多道系统中, 内存同时存在多个程序, 程序在内存中的 位置是随机的,问题? ii. 数据(data) iii. 堆栈(stack+heap) 7、 什么叫做进程映像? 进程映像也称进程图像,是进程执行的上下文环境,包括处理机中各通用寄存器的值, 进程的内存映像,打开文件的状态和进程占用资源的信息等 8、 什么叫做系统开销? 运行操作系统程序,实现系统管理所花费的时间和空间称为系统开销。

9、 从操作系统角度,可以把进程划分成哪两类?  系统进程 用户进程 10、 什么叫做守护进程? 系统进程属于操作系统的一部分,他们运行操作系统程序,完成操作系统的某些功能, 也被称为守护进程 11、 进程具有哪些特征?      并发性:可以与其它进程一道向前推进; 动态性:动态产生、消亡,生存期内状态动态变化; 独立性:一个进程是可以调度的基本单位; 交往性:同时运行的进程可能发生相互作用; 异步性:进程以各自独立,不可预知的速度向前推进; 结构性:每个进程有一个 PCB。

12、 下面程序运行过程中,操作系统共创建几个进程: (实验一) main(){ fork(); fork(); fork(); } 3 13、 进程和程序有什么联系?进程和程序有哪些差异? 进程与程序的联系 a) 进程包括一个程序 b) 进程存在的目的就是执行这个程序 进程与程序的差别 c) 程序静态,进程动态 d) 程序可长期保存,进程有生存期 e) 一个程序可对应多个进程,一个进程只能执行一个程序 14、 什么是线程?为什么要引入线程? 线程是进程中一个相对独立的执行流 15、 用图形表示进程与线程的区别。

进程是资源分配单位 线程是执行单位,是 CPU 的调度单位 16、 从实现角度看,有哪两类基本线程? 用户线程,核心线程 17、 从下面四个方面阐述用户级别线程和核心级别线程的差别、优缺点: (1)创建速度 (2)切换速度 (3)并行性 (4)TCB 存储位置 用户:线程创建、撤销、状态转换在目态完成 TCB 在用户空间,每个进程一个系统栈 切换速度快 同一进程中多个线程不能真正并行 核心:系统调用创建, TCB 保存在系统空间 同一进程内多线程可以并行执行 系统开销大,同一进程内多线程切换速度慢18、 用户级别线程在处理机什么状态实现的?核心级别线程在处理机什么状态下实现 的? a) 在目态完成 19、 什么叫做作业? 用户要求计算机系统为其完成的计算任务集合 20、 分析作业、进程、线程三者的关系。

作业与进程 a) 作业进入内存后变为进程b) 一个作业通常与多个进程相对应 进程与线程 c) 不支持多线程的系统,可视为单线程进程 d) 一个进程一般包含多个线程,至少包含一个线程 21、 请解析命令“ls -il”给出的信息。

(实验一) ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。

22、 在 Linux 系统中,如何区分普通文件、目录文件、块设备文件、字符设备文件? 最前面的一个字符用来区分文件类型: 普通文件 :— 目录文件:d 块设备文件:b 字符设备文件:C 23、 在 Linux 系统中,如何区分硬链接文件和符号链接文件? 24、 熟练掌握用命令“chmod”修改各组用户对文件的操作权限。

(实验一)25、掌握命令“ps -ax”查看 Linux 进程,解析该命令给出的信息,以及终止进程的操作。

26、 掌握用命令“gcc”编译链接一个程序。

(实验一) 27、 请说明管道操作“|” 、输入重定向“<” 、输出重定向“>”和“>>”的区别和用法。

相关主题