第一章 操作系统
1
在计算机中系统,操作系统有哪两个重要作用?
管理系统中的各种资源
为用户提供友好界面
2
根据操作系统的地位作用 ,请给出操作系统的非形式化的定义
操作系统是位于硬件层之上,所有其他系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统。
3
操作系统引入的目标是什么?
为了方便有效的使用软件
4
什么叫“假脱机“?
作业由读卡机到磁带机的传输、结果由磁带机到打印机的传输,由通道完成,这种非联机也非脱机的方式。
5
多核系统主要解决哪两个问题?
6
操作系统有哪四个特征、基本特征是?
并发性、共享性、异步性(不确定性)、虚拟性
基本特性:并发、共享
7
程序的并发性具体体现在哪三个方面?
(程序和操作系统两两并发)
用户程序和用户程序之间并发执行
操作系统和操作系统之间并发执行
用户程序和操作系统之间并发执行
8
程序并发和并行有什么区别?
并行要求微观上同时,即在绝对的同一时刻有多个程序同时向前推进;
并发不要求微观上同时,只需要宏观上看多个程序都在向前推进。
9
什么是资源共享性?
指操作系统与多个用户程序共有系统中的各种资源,这种共享是在操作系统的控制下实现的。
10
程序运行的异步性
程序执行结果的不确定性:同一程序、相同的输入、在相同环境下,可能产生不同结果
执行时间的不确定性:多道程序执行是以异步方式进行什么时候、什么顺序、所需时间均不确定。
11
什么是虚拟,如何体现虚拟?
虚拟是指把一个物理上的实体变成若干个逻辑上的对应物
通过分时使用 ,在一个CPU上同时执行多道程序(多道程序同时使用一台打印机等)
13
多道批处理操作系统具有哪两个特性?
多道:内存中存在多个正在处理的作业,而且外储存器输入井中还有多个尚待处理的作业。
成批:作业逐批的进入系统,逐渐批的处理,逐批的离开系统。作业与作业之间的过渡由操作系统控制,无须用户干预。
14
分时操作系统具有哪三个主要特征?
多路性 :一个主机可以和多个终端相连。
交互性 :系统以对话的方式为各个终端用户服务。
独占性 :每个终端用户实际上都拥有完全属于自己的虚拟机。
15
实时操作系统应该具有哪两个特征?
及时性 :能够对外部请求作出及时的响应和处理,实时操作系统要求响应速度,但整个响应速度是一个相对的量
可靠性 :与其他类型的系统相比,实时操作系统更加注重其稳定性和可靠性。
16
分布式操作系统除了网络操作系统的特征外,还具有那些特征?
统一的操作系统
资源的进一步共享
可靠性
透明性
17
从透明性和资源共享两个方面说明网络操作系统与分布式操作系统的差异?
资源共享:在网络操作系统中,有与HOST上的操作系统不统一,因而一个计算任务不能由一台HOST迁移到另一台HOST上处理。分布式操作系统因为HOST的操作系统界面一致,作业可以由一台HOST迁移到另一台HOST上处理。
透明性:网络用户能够感觉到本地的HOST于非本地HOST在地理位置上的差异。而分布式操作系统所有的HOST构成一个完整的,功能更强大的计算机系统,操作系统掩盖了不同HOST在地理位置上的差异
18
操作系统具备哪些基本功能?
处理机管理
存储器管理
设备管理
文件管理
作业管理
20
中断与程序并发之间有什么关系?操作系统何时获得控制权?
中断是程序并发的必要条件。如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处理机进行重新分配,一个程序将一直运行到结束而不会被打断。
发生中断后获得控制权
21
系统栈有哪些作用?根据用途说明堆与栈的差别?
保护中断现场
保存操作系统子程序间相互调用的参数、返回值、返回点、局部变量。
差别:栈是一块按后进先出规则访问的存储区域,用来实现中断嵌套(保存调用参数和返回断点);堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。
22
操作系统中把处理机划分成哪两个状态?它们分别可以执行哪类指令?两个状态如何转换?
管态、目态
管态:执行硬件所提供的全部命令(包括特权和非特权指令)
目态:只能执行非特权指令
处理机由目态转换为管态的唯一途径是中断。
管态转换为目态可以通过修改程序状态字来实现。
23
操作系统提供给用户程序什么接口?
作业级接口
程序接口
第二章 进程、线程和作业
1
什么是多道程序设计?为什么要引入多道程序设计?
允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法
引入多道程序设计是为了提高计算机系统资源的利用率
2
引入多道程序设计主要解决了哪些问题?
提高程序利用率
提高内存利用率
提高处理器利用率
表达程序内在的并行性
3
引入多道程序设计需要解决什么问题?
处理器资源管理问题
内存资源管理问题
设备资源管理问题
4
什么叫进程?
进程是具有一定独立功能的程序关于一个数据集合的一次运行活动
5
进程有哪三个基本状态?并说明这三个基本状态是何时转换的?
运行态、就绪态、等待态
就绪 => 运行:获得处理机
运行 => 就绪:剥夺处理机
运行 => 等待:申请资源未得到,启动IO
等待 => 就绪:得到资源,IO中断
6
什么是PCB?
进程控制块(Process Control Block)
是用来标识进程存在的数据结构,其中包含系统管理进程所需要的全部信息
7
操作系统进程分配的基本单位是什么?
进程是操作系统资源分配的基本单位
8
进程有几部组成?
进程控制块和程序,其中(程序包括代码和数据)
9
什么叫进程映像?
进程的程序(代码和数据)被叫做进程映像。
10
什么叫做系统开销?
一般是运行操作系统程序、对系统进行管理所花费的时间和空间。
11
进程分为哪两类?
系统进程和用户进程
12
什么叫做守护进程
这类进程属于操作系统的一部分,他们运行操作系统程序,完成操作系统的某些功能。
13
进程有哪些特性?
并发性 :可以与其它进程一道向前推进;
动态性 :动态产生、消亡,生存期内状态动态变化;
独立性 :一个进程是可以调度的基本单位;
交往性 :同时运行的进程可能发生相互作用;
异步性 :进程以各自独立,不可预知的速度向前推进;
结构性 : 每个进程有一个PCB。
14
下面程序运行过程中,操作系统共创建几个进程(实验一):
main(){ fork(); fork(); fork(); }
8个进程
15. 在程序设计中,用fork()系统调用创建一个子进程,如何区分父进程和子进程?
main(){ int pid; pid=fork(); if(pid==0){ /*代码(1)*/ } else{ /*代码(2)*/ } }
在上述程序中,代码(1)和代码(2)哪 一部分在父进程执行、哪一部分在子进程执行?
16
详细阐述系统调用fork()创建子进程的基本过程。
a) 子进程PCB
b) 子进程的进程空间
c) 子进程的代码
d) 子进程的PC等寄存器的值
等等。
17
进程和程序有什么联系和差异?
程序是构成进程的组成部分之一,一个进程存在的目的就是执行其所对应的程序。
差别 :
程序是静态的;进程是动态的。
程序可以长期保存;进程具有生命周期,创建后存在,撤销后消亡。
一个程序可以对应多个进程,一个进程只能执行一个程序。
18
什么是线程?为什么要引入线程?
进程内一个相对独立的执行流称为线程。
因为当处理器由一个进程切换到另一个进程时,整个上下文都要发生变化,系统开销较大,显得笨重,相关进程间的耦合度差。
19
用图形表示进程与线程的区别?
20
从现实角度看有哪两类基本线程?
用户级别线程
核心级别线程
22
用户级别线程在处理机什么状态实现的?核心级别线程在处理机什么状态下实现的?
用户线程----目态
核心线程-----操作系统
23
什么叫作业?
用户要求计算机系统为其完成计算机任务的集合称为作业。
24
分析作业、进程、线程三者的关系。
一个作业被调入内存执行时可能要为其创建多个进程
进程是资源分配的基本单位,一个进程可能对应若干个线程
线程是处理器调度的基本单位