吉林大学操作系统复习
吉林大学操作系统复习
一. 名词解释
1.Mutual exclusion(互斥):
确保在一个进程访问临界区时,其他进程不能访问,必须等待。
2.Processes(进程):
进程是具有独立功能的程序在一个数据集上的运行的过程,是系统进行资源分配的基本单位;
3.Thread(线程):线程是进程中的一个实体,又称轻量级进程,是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID,程序计数器,寄存器集合和堆栈等组成。
4.Operating System(操作系统):
操作系统是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合,操作系统是计算机系统中最基本的系统软件;
5.Race Conditions(竞争条件):两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序。
6.Deadlock(死锁):是指多个进程因竞争资源而造成的一种僵局(相互等待),若无外力作用,这些进程将无法向前推进。
7.System Calls(系统调用):操作系统给用户提供的接口,用户通过系统调用来请求操作系统为其提供服务
8.Multiprogramming(多道程序设计):允许多个程序同时进入内存,并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬软件资源。
9.Physical Address(物理地址):指一个存储单元在存储器中的实际地址,与逻辑地址相对应。
10.Critical Section(临界区):对共享内存进行访问的程序段称为临界区
11.Busy Waiting(忙等待):指当一个进程进入临界区时,其他要进入该临界区的进程都要不断循环等待。
12.Buffering(缓冲):
数据离开I/O设备通常不能直接送到目的地,而是需要通过缓冲,来进行约束或速度平衡。
13.i-nodes(i节点):
i节点,每个inode对应一个文件,用于存储文件的相关信息。
14.Monitors(管程):管程代表了共享资源的数据结构,以及由对该共享数据实施操作的一组过程所组成的资源管理程序。管程把对共享资源的操作封装起来,只能被管程内的过程所访问。每次仅允许一个进程进入管程,从而实现进程互斥
15.VIrtual Address(虚拟地址):由程序通过索引,基址寄存器,段寄存器等方式生成的地址
16.Interrupt(中断):cpu在程序运行过程中,遇到异常情况或特殊请求,这时就需要暂停当前程序,转去处理这些异常情况,之后再返回原程序断点,继续执行原程序
17.Semaphore(信号量):
在多道程序设计中,
信号量是一种功能较强的机制,
用于解决互斥和同步问题
,它有两个标准的原语wait(S) and signal(S)访问,也可记为p操作和v操作。
- Device driver(设备驱动程序):每个连接到计算机上的I/O设备都需要某些设备特定的代码来对其进行控制
19.Relocation(重定位):将逻辑地址转换为物理地址,也就是说在装入时对目标程序中指令和数据地址的修改过程。
20.Atomic Action(原子操作):是指完成某种功能且不被分割、不被中断执行的操作系列,通常可用硬件来实现。要么一起都执行,要么都不执行。
21.Device independence(设备独立性):用户程序在进行输入输出的时候,不需要考虑具体的输入输出设备,而可以用一种通用的方式进行输入输出。
22.Avoiding Locks(避免锁):通过读-复制-更新操作从而不需要使用锁,就可以实现共享数据的保护。
23.Read-Copy-Update(读-复制-更新):一种保护共享数据的机制,当要访问共享数据时,会先生成一个数据副本,对其进行更新,再通知读者停止使用旧数据,改为新数据。
简答题:
- 何为多道程序设计?
允许多个程序同时进入内存,并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬软件资源。
2.在一个操作系统中系统调用的目的是什么?
目的:为了让用户方便、快捷地操纵计算机硬件并运行自己的程序,操作系统给用户提供的接口,用户通过系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。
3.什么是进程?哪些事件会导致进程被创建?
进程是具有独立功能的程序在一个数据集上的运行
的过程,
是系统进行资源分配
的基本
单位;
导致进程创建的事件
- 系统初始化
- 正在运行的程序执行了创建进程的系统调用
- 用户请求创建一个新进程。
- 一个批处理作业的初始化。 4. 什么是信号量?对信号量有哪两种操作?
在多道程序设计中,
信号量是一种功能较强的机制,
用于解决互斥和同步问题
,它有两个标准的原语wait(S) and signal(S)访问,也可记为p操作和v操作。
5、动态分区的内存分配算法有哪些?
动态分区内存分配算法通常包括以下几种:
- 首次适应算法(First Fit):
空闲分区以地址递增的次序链接。分配内存时,从链首开始顺序查找,找到大小能满足要求的第一个空闲分区分配给作业。
- 邻近适应算法(Next Fit):
有首次适应算法演变而成,不同之处是,分配内存时从上次查找结束的位置开始继续查找。
3、最佳适应算法(Best Fit):
空闲分区按容量递增的次序形成空闲分区链,找到第一个能满足要求且最小的空间分区分配给作业,避免大材小用。
- 最坏适应算法(Worst Fit):
空闲分区以容量递减的次序链接,找到第一个,能满足要求的,即最大的分区,从中分割一部分存储空间给作业。
2012级《操作系统》考试试题
简答题:
- 操作系类型有哪些? (不考)
大型机操作系统、服务器操作系统、多处理器操作系统、个人计算机操作系统、掌上计算机操作系统、嵌入式操作系统、传感器节点操作系统、实时操作系统、智能卡操作系统
2、进程的基本状态有几种?画图说明状态之间的转换过程及原因。
基本状态三种:就绪、运行、阻塞
3.用户级线程与系统级线程的区别及优缺点
4.使用临界区的四个必要条件。
空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程立刻进入临界区。
忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待。
有限等待:对请求访问的进程,应保证能在有限时间内进入临界区。
让权等待:当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。
5.什么是信号量以及信号量相关的两个操作的执行流程?
6.存储管理中分页与分段的区别及优缺点。
6、操作系统保存中断现场信息的数据结构有哪些?何种情况下使用这些数据结构保存信息?。
保存中断现场,对于 中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;
7、在一个操作系统中系统调用的目的是什么?
请求系统服务。
操作系统给用户提供的接口,用户通过系统调用来请求操作系统为其提供服务
操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源。
8、当中断或系统调用将控制转移到操作系统时,通常使用与被中断进程的堆栈分离的内核堆栈区域。为什么?
首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。
9、发生资源死锁的条件是什么?
四个必要条件:
①互斥条件
②占有和等待条件
③环路等待条件
④不可抢占条件
10、请列出四种实现文件存储的方法?
①连续分配:实现简单,读写性能好
②链接分配
③索引分配;
适合随机访问且易于文件扩展
④索引+链接(eg:UNIX的文件物理结构)
11、位图的作用:对空闲磁盘空间管理的方法
文件控制块是操作系统为管理文件而设置的一组具有固定格式的数据结构,存放了为管理文件所需的所有有属性信息(文件属性或元数据)。
文件分配表FAT(File Allocation Table)用来记录文件所在位置的表格。
- 微内核操作系统
优点
①提高了可扩展性
②增强了安全性和可靠性:是因为微内核一定是精心设计和严格测试的,并且提供了规范的程序接口(API),而且所有服务器都运行在用户态,若出错,不会影响内核,也不会影响其他服务器
③提供了对分布式系统的支持
缺点
①难以整体优化
②进程间互相通信的开销变大