2022年操作系统习题答案 4.pdf

上传人:H****o 文档编号:39715132 上传时间:2022-09-07 格式:PDF 页数:11 大小:74.26KB
返回 下载 相关 举报
2022年操作系统习题答案 4.pdf_第1页
第1页 / 共11页
2022年操作系统习题答案 4.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年操作系统习题答案 4.pdf》由会员分享,可在线阅读,更多相关《2022年操作系统习题答案 4.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 2 章 操作系统用户界面Page 36 2.1 什么是作业?什么是作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标

2、代码文件。2.2 作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。2.3 作业的输入方式有哪几种?各有什么特点?答:作业的输入方式有5 种:(1)联机输入方式:用户和系统通过交互式会话来输入作业。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。(3)直接耦合方式:直接

3、耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。(4)SPOOLING 系统:SPOOLING 又可译作外围设备同时联机操作。在 SPOOLING 系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。(5)网络输入方式:网络输入方式以上述几种输入方式为基础。当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式2.4 试述 SPOOLING 系统的工作原理。答:在 SPOOLING 系统中,多台外围设备通过通

4、道或DMA 器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个是写过程,负责把缓冲区的信息送到外存输入井中。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后,系统为该作

5、业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。2.5 操作系统为用户提供哪些接口?它们的区别是什么?答:操作系统为用户提供两个接口界面。一个是系统为用户提供的各种命令接口界面。用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用。编程人员使用系统调用来请求操作系统提供服务。操作系统的命令控制界面就是用来组织和控制作业运行的。2.6 作业控制方式有哪几种?调查你周围的计算机的作业控制方式。答:作业控制的主要方式有两种:联机和脱机方式。脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。作业

6、控制语言的语句就是作业控制命令。不同的批处理系统提供不同的作业控制语言。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -联机控制方式不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。2.7 什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序有什么区别?答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一

7、个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。区别:系统调用是在核心层执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。2.8 简述系统调用的实现过程。答:用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。2.9 为什么说分时系统没有作业的概念?名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -答:因为在分时系统中,每个用户得到的时间片有限,用户的程序和数

8、据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入运行,而不必进入外存输入井等待作业调度程序选择。因此,分时系统没有作业控制表,也没有作业调度程序。2.10 Linux操作系统为用户提供哪些接口?试举例说明。答:操作系统为用户提供两种接口,即面向操作命令的借口Shell和面向编程用户的接口,即系统调用。常见的Shell命令如:login,logout,vi,emacs,cp,rm,ls,cc,link,adduser,chowm,chmod,service,pgrep等;常见的系统调用如:read,write,openg,close,creat,mount,fork,wait,exit

9、,socket 等。2.11 编写一个简单的 Shell 程序,完成一个已有数据文件的复制和打印。答:#.xt02cplp.sh#copy file cat copy.c copy.bak#print file cat copy.c /dev/lp 2.12 用 Linux 文件读写的相关系统调用,编写一个copy 程序。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -答:/homeosxt02copy.c/usage copy src dst#include#include#include#include#include#include#define BUFSIZE

10、 8192 int main(int argc,char*argv)printf(argv0:%sn,argv0);printf(argv1:%sn,argv1);printf(argv2:%sn,argv2);if(argc!=3)printf(nusage:copy src dst n);return-1;int src,dst;char bufBUFSIZE;int n;src=open(argv1,O_RDONLY);dst=open(argv2,O_RDWR|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR|S_IXUSR);while(n=read(src,buf,B

11、UFSIZE)0)if(write(dst,buf,n)!=n)printf(write error!);if(n0)printf(read error!);close(src);close(dst);printf(nSuccess!n);exit(0);2.13 略名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 11 页 -第 3 章 进程管理Page 8.3 3.10 设在书 3.6节中所描述的生产者-消费者问题中,其缓冲部分为 m个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度,以及生产者和消费者可对缓冲区同时操作。重新描述发送过程deposit(data)

12、和接收过程 remove(data)。答:1:设第 i 块缓冲区的公用信号量为mutexi,保证生产者进程和消费者进程对同一块缓冲区操作的互斥,初始值为1。2:设信号量 avail 为生产者进程的私有信号量,初始值为m。3:设信号量 full 为消费者进程的私有信号量,初始值为0。Deposit(data)Begin P(avail)选择一个空缓冲区 bufi P(mutexi)bufi data V(full)V(Mutexi)End Remove(data)Begin P(full)选择一个满缓冲区 bufi P(mutexi)Data bufi 名师资料总结-精品资料欢迎下载-名师精心整

13、理-第 7 页,共 11 页 -V(avail)V(Mutexi)End 3.11 两进程 PA,PB通过两 FIFO 缓冲区队列连接(如图),每个缓冲区长度等于传送消息长度。进程PA,PB之间的通信满足如下条件:(1)至少有一个空缓冲区存在时,相应的发送进程才能发送一个消息。(2)当缓冲队列中至少存在一个非空缓冲区时,相应的接收进程才能接收一个消息。(3)接受与发送进程可以同时操作缓冲区队列。试描述发送过程send(i,data)和接收过程receive(i,data)。这里 i 代表缓冲队列。答:1:定义数组 buf0(图中上面的缓冲区),buf1(图中下面的缓冲区)2:设 bufempt

14、y0,buffull1 为 PA的私有信号量,初始值分别为 n,0 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 11 页 -3:设 bufempty1,buffull0 为 PB的私有信号量,初始值分别为 n,0 send(i,data)begin P(bufemptyi)按 FIFO方式选择一个空缓冲区 bufij Bufij data V(buffulli);End remove(i,data)begin P(buffulli)按 FIFO方式选择一个满缓冲区 bufij Bufij data V(bufemptyi);End 3.14 设有 5 个哲学家,共享一张放有五

15、把椅子的桌子,每人分得一把椅子。但是,桌子上总共只有5 支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。条件:(1)只有拿到两支筷子时,哲学家才能吃饭。(2)如果筷子已在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。(3)任一哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 11 页 -试:(1)描述一个保证不会出现两个邻座同时要求吃饭的通信算法。(2)描述一个既没有两邻座同时吃饭,又没有人饿死(永远拿不到筷子)的算法。(3)在什么情况下,5 个哲学家全部吃不上饭?答:(1)设

16、信号量 c0c4,初始值为 1,分别表示第i 号筷子(i=0,1,2,3,4)。sendi:第 I 个哲学家要吃饭begin P(ci)/左手边的筷子 P(ci+1 mod 5)/右手边的筷子吃饭 V(ci+1 mod 5)V(ci)End(2)解决思路:奇数号的哲学家先取右手边的筷子,偶数号的哲学家先取左手边的筷子;Send(i)Begin If I mod 2=0 then P(ci)/左手边的筷子 P(ci+1 mod 5)/右手边的筷子吃饭名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 11 页 -V(ci+1 mod 5)V(ci)Else P(ci+1 mod 5)/右手边的筷子 P(ci)/左手边的筷子吃饭 V(ci+1 mod 5)V(ci)(3)算法(1)能保证相邻两个哲学家不会同时吃饭,但会出现5 个哲学家一人拿一支筷子,谁也吃不上饭的情况。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 11 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁