- 系统调用是由操作系统提供内部调用的,它 只能通过用户程序间接使用
- 实时系统的进程调度,通常采用的算法是抢占式的优先级高者优先
- 操作系统对并发执行的进程进行控制和管理是通过进程控制块
- 当一个进程因在互斥信号量mutex上执行signal(mutex)操作而导致唤醒另一个进程时,则mutex的值为小于等于0
- 为了实现死锁的避免,则应采取的措施是防止系统进入不安全状态
- 在存储管理中,采用覆盖与交换技术的目的是 提高内存利用率
- 进程在执行中发生了缺页中断,经操作系统处理后,其继续执行的指令是被中断的那一条
- 设置当前工作目录的主要目的是 加快文件的检索速度
- 有些操作系统中将文件描述信息从目录中分离出来,这样做的好处是减少查找文件时的I/O信息量
- 通过DMA方式建立一条直接数据通路的是 I/O设备和主存
- 进程的实体是由程序段、相关的数据段和 进程控制块 三部分组成。
- 为了实现设备的独立性,系统必须设置一张 逻辑设备 表,用于将应用程序中所使用的逻辑设备名映射为物理设备名。
- 在操作系统中,使用 Spooling 技术实现虚拟设备
- 1、临界区: 每个进程中访问临界资源的那段代码叫临界区
- 2、周转时间:作业被提交给系统开始,到作业完成为止的这段时间隔称为周转时间
- 3、操作系统: 是一组有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
- 4、重定位:把在装入时对目标程序中指令和数据地址的修改过程称为重定位
- 5、进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
1、简述在文件系统中为什么提供打开和关闭文件操作?
(1)提供打开文件操作的目的:将要使用文件的目录项从外存复制到内存的“打开文件表”中。以后对文件多次操作时就不必检索外存,而从内存直接读取该文件的目录项,提高了检索速度。
(2)提供关闭文件操作的目的:将该文件的目录项从“打开文件表”中删除,以节省内存空间;保证用户文件的安全
2、操作系统中使用何种技术实现虚拟设备?该技术如何将现将独占设备改造为共享设备?
1)实现虚拟设备的技术:SPOOLing技术。
(2)将独占设备改造为共享设备的方法:因为在假脱机(SPOOLing)系统中,实际上并没有为任何进程分配设备,而只是在磁盘缓冲区中为进程分配一个空闲盘块和建立一张I/O请求表。这样,便把独占设备改造为共享设备。
3、请简要叙述进程与程序有哪些不同之处。
1)程序包括指令、数据;进程:指令、数据和PCB
(2)程序是静态的,是指令的集合,可永久存放在某种介质上;进程是动态的,是程序的一次执行过程,由创建而产生、调度而执行、撤消而消亡,即有生命周期。
(3)多个进程在内存中可以并发执行;程序是不能并发执行的。
(4)在传统OS 系统中,进程是调度、资源分配、运行的基本单位;程序是不能独立运行的
4、简述为什么分时系统具有交互性,并能及时响应用户的请求。
(1) 交互性的实现:在分时系统中,用户的终端型作业直接进入内存,用户可以和内存中的进程直接进行交互,因而分时系统实现了交互性。
(2) 及时性的实现:在分时系统中采用了时间片轮转的进程调度算法,每个进程只运行一个极短的时间片后就进行进程切换,因而可以使所有用户在极短的时间内得到相应,因而实现了及时性。
死锁:
死锁:是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
系统调用
系统调用:在操作系统的核心中设置了一组用于实现各种系统功能的子程序(过程),并将它们提供给应用程序调用。
周转时间
是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
进程调度算法有哪些?其中哪种算法有利于短进程而不利于长进程,为什么?
(1)先来先服务
(2)短进程优先调度
(3)高优先权优先调度
(4)时间片轮转调度(或简单的时间片轮转及多级反馈队列调度算法)
有利于短进程而不利于长进程:短进程优先调度算法
请简要叙述进程与程序有哪些不同之处。
(1)结构上:程序包括指令、数据:进程包括指令、数据和PCB
(2)动态性:程序是静态的,是指令的集合,可永久存放在某种介质上:进程是动态的,是程序的一次执行过程,由创建而产生、调度而执行、撤消而消亡,即有生命周期。
(3)并发性:多个进程在内存中可以并发执行;程序是不能并发执行的。
(4)独立性:在传统0S系统中,进程是调度、资源分配、运行的基本单位;程序是不能独立运行的。
(5)对应关系:一个进程中可以包含多个程序,而一个程序可以对应多个进程。至然中哪
Spooling系统由哪三个部分组成?简述Spooling系统是如何实现将独占设备改造为其享设备的
Spooling系统的组成:(1)输入井和输出井(2)输入缓冲区和输出缓冲区(3)输入进程和输出进程
当某进程请求独占设备时,系统并不是将独占设备分配给该进程,而是做两件事
(1)在输入井和输出井中为进程分配一个存储区
(2)建立一张I/0申请表,将该请求表挂入等待该设备的进程队列中而没有真正为进程分配设备。
请简要叙述操作系统的基本特征?其中最基本的特征是哪些?
操作系统的特征;
(1)并发性:指多个十五在同一个时间间隔内发生。
(2)共享性:并发的进程共享系统中的软、硬件资源。
(3)虚拟性:通过某种虚拟技术,将一台逻辑设备对应成若干台逻辑上的设备
(4)异步性:进程以不可预知的速度向前推进
最基本的特征:并发性和共享性
(1)先进先出:将新页面放入3号物理块,因为FIFO淘法的是装入时间最早的页面
(2)LRU:将新页面装入0号物理块,因为LRU置换的是最久没有访问的页面。
(3)简单的CLOCK:将新页面装入1号物理块,因为简单的CLOCK置换的是访问位=0的页面
(4)改进的CLOCK:将新页面装入2号物理块,因为改进的CLOCK置换的是访问位=0且修改位=0的页面。
2、某公司有一个可供项目组A和项目组B共享使用的房间,该房间只能容纳20人。为了保障项目组A和项目B的权益,公司规定了该房间的使用规则:
(1)只要房间没有人,则允许任何一方的成员使用该房间
(2)若房间中已有某项目组的成员,则只允许该项目组的成员进入房间
(3)只有等某一项目组的成员全部离开房间后,另一方的成员才可以进入房间
Semaphore mc=20、ma=1 mb=1,mr=1
int counta=0.countb=0:
void pa()
{wait(ma);
if(counta==0)wait(mr);
counta++;
signal(ma);
use room;
wait(ma);
if(counta==0 signal(mr);
signal(ma);
}
void pb()
{wait(mb);
if(countb==0)wait(mr);
countb++;
signal(mb);
use room;
wait(mb);
countb--;
if(countb==0)signal(mr);
signal(mb);
}
电梯调度算法(SCAN)
进程控制块(PCB);
PCB是系统对进程管理的主要数据结构,是进程存在作唯一标志。
动态重定位:
由硬件的地址转换机构在程序执行时,才对有关地址进行转换
作业调度;
按调度算法,对外存上处于后备队列中的作业,进行资游审移。分配必要的源,程序调入内存、建立进程,做运行前的准备和作业完成时的善后免理。
操作系统的主要功能是什么?
(1)处理机管理
(2)存储器管理
(3)设备管理
(4)文件管理
(5)作业管理(用户与操作系统的接口)
系统调用与一般的过程调用有什么区别?
系统调用是操作系统提供给用户程序的推一接口。系统调用是操作系统内核中提供的些系统子程序。用户程序中可通过特殊的系统调用指令来调用这些子程序,从而使用户在自已的程序中可获得操作系统提供的服务,如使用设备,打开文件等。
产生死锁的必要条件是什么?
(1) 互斥条件:进程对所分配到的资源进行排它性使用。
(2)请求和保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求。
(3)不判夺条件;进程在未使用完已获得的资源之前,不能被剥夺。
(4)环路等待条件;在发生死锁时,必然存在一个进程–资源的环形链。
Spooling系统的特点是什么?
(1)提高了IO的速度。
(2)将独占设备改造为共享设备。
(3)实现了虚拟设备功能
一个基本分段系统中的段表如下,请将逻辑地址(0.137),(1,4000),(5.230)转换成物理地址。
(1)50k+137=51337:(3分)
(2)段号合法,4000超过段长3k,产生越界中断:(2分)
(3)段号5越界,产生越界中断。(2分)
某系统采用页式存储管理策略,拥有逻辑空间32页,每页2k,拥有物理空间1M.(1)写出逻辑地址的格式。(2)若不考虑访间权限等,进程的页表最多有多少项?每项至少有多少位?
(1)逻辑地址中页号用5位描达。顶内地址用11位描述。(3分)
(2)每个进程最多32页。因此,进程页表最多32项。1M的物理空间可分成2**9个内存块,故每个页表项至少9位。(4分)
最佳置换算法(OPT)
最佳置换算法(OPT,Optimal):
每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面,
这样可以保证最低的缺页率。
在某文件系统中,为每个文件建立索引表,将分配给该文件的所有盘块号都记录在该索引表中。如果每个盘块大小为4KB,每个盘块号需用2个字节表示。请求出:(1采用一级索引表时所允许的最大文件长度是多少字节?(2)若采用二级索引表时所允许的最大文件长度可达多少字节?
(1)一个索引表可有2K个表日,存2k个块号,每块4KB,所以文件长度可选4KB **2k个块=8MB
(2)若采用二级索引表时,可存2k2k-4M个块号,每块4KB,所以文件长度可达4KB4M个块=16GB
文件采用多重索引结构搜索文件内容。设块长为512B,每个块号长2B,如果不考虑逻辑块号在物理块中所占的位置,分别计算二级索引和三级索引时可寻址的文件最大长度。
每个物理块中可存储的索引项为:512B/2B=256个,因此
(1)二级索引对应的文件的最大长度:256256512B=
(2)三级索引对应的文件的最大长度:256256256*512B=
基工厂有一个可存放设备的仓库,总共可存放100台设备。生产的每一台设备都必须入库,销售部门可以从仓库提出设备供应客户。设备的入库和出库都必须借助运输正具,现运输工具只有一台汽车。请用wait和signal操作设计一个能协调各部门工作的自动调度管理
begin s100.sl,so:semaphore;
s100:=100:s1:=1:s0:=0:
parbegin
produce producer
begin L1:生产一个设备:
wait(s100);
wait(sl);
设备入库;
signal (s0);
signal(s1);
goto L1;
end
process consumer
begin L2:wait(s0)
wait(s1)
出库一台设备:
signal(s1);
signal(s100)
销售设备;
goto L2
end
(4分)
end
parend
end
有一个阅览室,读者进入时必须在一张登记表上列出一个表目。读者离开时,要撤消登记表信息,假定阅览室有100个座位,并且任何时刻只允许一个人使用登记表。试用wait和signal操作描述上述过程。
semaphore sm=100;//资源信号量,控制并发度 1分
semaphore mutex=1;//登记表互斥使用 1分
void readeri()
{L1: wait(sm);//是否有位置
wait(mutex);//申请登记表
填写登记表;
signal(mutex);//释放登记表 3分
进入图书馆学习;
wait(mutex);//申请登记表
撤销登记表;
signal(mutex);//释放登记表
signal(sm);//释放位置
goto L1; 3分
}
某小型超级市场,可容纳50人同时购物。入口处备有篮子,每个购物者从入口入内购物,在出口处结账(出口和入口禁止多人同时通)。试用 wait(s)、signal(s)操作为同步机制写出它们并发执行时能正确工作的程序。
semaphore sm=50;
semaphore in_mut=1,out_mut=1;
void readeri()
{L1: wait(sm);//是否有位置
wait(in_mut);//申请入口
通过入口;
signal(in_mut);//释放入口
购物;
wait(out_mut);//申请出口
通过出口;
signal(out_mut);//释放出口
signal(sm);//释放位置
goto L1;}
- 下列选项中,操作系统提供给应用程序的接口是 系统调用
- 批处理系统的主要缺点是 无交互能力
- 下面哪种调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业 先来先服务调度算法
- 在下列死锁的解决方法中,属于死锁预防策略的是 资源有序分配算法
- 操作系统为保证多进程在主存中彼此互不干扰的环境下运行,实现的技术是 内存保护
- 下列是请求分页存储管理方式和基本分页存储管理方式的区别是 不必将作业全部装入内存
- 文件系统采用多级目录结构的目的是 解决命名冲突
- 下列文件的物理结构中,适合随机访问且易于文件扩展的是 索引结构
- 虚拟设备是指 把一个物理设备对应成若干个逻辑设备
响应时间:
是从用户通过键盘提交一个请求开始,直到屏幕上显示出处理结果为止的一段时间间隔。
并发
是指两个或多个事件在同一时间间隔内发生
逻辑设备
是以功能和特点相区别的一类设备。
高响应比优先调度算法的优点是什么?
高响应比优先调度算法全面考虑了各种作业
(1)如果作业的等待时间相同,则服务时间越短,其优先权越高,有利于短作业。
(2)当服务时间相同时,等待时间越长,其优先权越高,因而考虑了作业的到达时间
(3)对于长作业,当等待了足够长的时间以后,其优先级会升到最高,因而不可能长期得不到调度。
请简要叙述分页和分段存储管理方式有何区别?
(1)页是信息的物理单位,分页的目的是为了提高内存的利用率;而段是信息的逻辑单位,分段的目的是为了满足用户的需求。
(2)页的大小是固定且由系统决定;而段的长度不固定,由用户编写的程序决定。
(3)分页的用户程序地址空间是一维的,由地址转换机构将逻辑地址划分为页号和页内位移;而在分段系统中,逻辑地址是二维的,即用户必须给出段号和段内位移两部分。
高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
高级调度与低级调度的主要任务:
(1)高级调度的任务是按照一定的算法从外存的后备队列中选择多个作业进入内存的就绪队列,并为之分配必要的资源。
(2)进程调度的任务是按照选定的进程调度算法从就绪队列中选择一个进程,为之分配CPU
操作系统中引入中级调度的目的是为了提高内存的利用率。
SPOOLing系统有哪几部分组成?并以打印机为例说明如何利用SPOOLing技术实现多个进程对打印机的共享。
SPOOLing系统的组成:输入进程、输出进程,输入井、输出井,输入缓冲区、输出缓冲区。
多个进程对打印机共享的实现:因为在假脱机(SPOOLing)系统中,实际上并没有为任何进程分配设备,而只是在磁盘缓冲区中为进程分配一个空闲盘块和建立一张I/O请求表。这样,便把独占设备打印机改造为共享设备。