UNIX初级教程 课后习题答案Chapter3
第3章思考题及习题3参考答案
第3章思考题及习题3参考答案第3章思考题及习题3参考答案一、填空访问SFR,只能使用寻址方式。
答:直接。
指令格式是由和组成,也可仅由组成。
答:操作码,操作数,操作码。
在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR假定累加器A中的内容为30H,执行指令1000H: MOVCA,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H在AT89S52中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。
答:程序,数据在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的。
答:地址下列程序段的功能是。
答:A的内容与B的内容互换。
PUSH AccPOP AccPOP B已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后,(A)=,(SP)=,(51H)=,(52H)=,(PC)=。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)=。
ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
假设(A)=55H,(R3)=0AAH,在执行指令“ANLA,R3”后,(A)=,(R3)=。
答:(A)=00H,(R3)=0AAH。
如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)=,(DPL)=,(SP)=。
unix操作系统命令练习 答案
unix操作系统命令练习答案unix操作系统命令练习-答案I.文件和目录操作1.如何创建一个目录?MkDirName2.如何一个命令创建多级目录src/main/java?mkdir psrc/main/java3.如何将文件修改为可执行?chmoda+xfilename4.如何查看当前目录的全路径?pwd5.如何重复执行最近执行过的netstat命令?上下方向键切换已连续执行的命令6.怎样用find命令列出/home/app下面所有子目录中的test.txt文件?查找/主页/应用程序名称测试。
txt7.怎样为/home/app/resin-3.1.11创建一个软链接/home/app/resin? ln-s/home/app/resin-3.1.11/home/app/resin8.如何删除/home/demo目录及子目录下三天前产生的所有log文件find/home/democmtime+3*.logcexecrm-r{}\\;9.请在系统任务要求中添加/home/shell/demo SH周一至周五9:00到15点每分钟执行一次并将回显写入到/home/log/demo.logcrontabce *9-15**1-5/主页/外壳/演示。
sh1>;/主页/日志/演示。
log2>;&一10.如何使用vi编辑器将一个文件内容所有“abc”替换成“def”?:1,$s/abc/def/g11.创建文件s.sh,将其复制到桌面上的主文件夹,并更改s.sh的权限为765touchdesktop/s.shcpdesktop/s.sh~/s.shchmod765~/s.sh12.在主目录下创建一个文件夹mx,在mx文件夹下面创建一个s.sh文1.s.sh的功能是在MX目录txtmkdircp~/mxtouch~/MX/s.sh中创建一个文本文件echo?touch../1.txt?>~/mx/s.shchmoda+x~/mx/s.sh13.将/TMP/K目录的权限更改为所有者读/写执行组用户读/写其他用户无权限chmod740/tmp/k14.列出当前目录中的所有文件用什么命令?lsca.15.使用什么命令显示当前目录路径?pwd16.用vi编辑文件时用什么命令保存文件?在命令模式下:wq17.在主目录中创建文件和文件夹,并分别用RM删除touch~/filemkdir~/dirrmdirfile1二过滤内容18.如何在文件内容中输出带有“ABC”的行?grep?abc?filename19.如何输出内容不包含“ABC”的行?格雷普科夫?abc?文件名20。
操作系统习题答案第 (3)
CH3 应用题参考答案1、有三个并发进程:R 负责从输入设备读入信息块,M 负责对信息块加工处理;P 负责打印输出信息块。
今提供;l )一个缓冲区,可放置K 个信息块;2 )二个缓冲区,每个可放置K 个信息块;试用信号量和P 、V 操作写出三个进程正确工作的流程。
答:1 ) var B : array [ 0 , k-1 ] of item ;sread : semaPhore : = k ;smanage : semaPhore : = 0 ;swrite : semaphore : = 0 ;rptr : integer : = O ;mptr : integer : = O ;wptr :integer : = 0 ;x : itemcobeginprocess reader ; process manager ; processwriter ;begin begin beginLI : read a message intox ; L2 : P ( smanage ) ; L3 : P( swnte ) ;P ( sread ) ; x:=B[mptr]; x:=B[swrite];B[rptr]:=x; mptr:=(mptr+1) mod k; wptr:=(wptr+1) mod k;Rptr:=(rptr+1) mod k; manage the message in x;V(sread);V(smanage); B[mptr]:=x; print the message in x;Goto L1; V(swrite); goto L3;End; goto L2; end;End;coend2 ) var A , B :array [ 0 , k -l ] of item ;sPut1 : semaphore:=k;SPut2: semaPhore:=k;sget1 : semaPhore : = 0 ;sget2 : semaphore : = 0 ;put1 :integer :=O ;put2:integer : = 0 ;get1 :integer :=O ;get2 : integer : = O ;cobeginprocess reader ; processn manager; process Writer ;begin begin beginLl : read a message into x ; L2 : P ( sgetl ) ; L3 :P ( sgetZ ) ;P ( SPut1 ) ; x : = A [ get1] ; x := B [get2];A [put1]:=x ; get1 :(get1+1 ) mod k ; get2:=(get2 + l ) mod k ;Put1:=(put1+1) mod k; V(sput1); V(sput2);V(sget1); manage the message into x; print the message in x;Goto L1; P(sput2); goto L3;Put2:=(put2+1) mod k;V(sget2);Goto L2;End;Coend2 设有n 个进程共享一个互斥段,如果:( 1 )每次只允许一个进程进入互斥段;( 2 )每次最多允许m 个进程(m 簇n )同时进入互斥段。
操作系统第三版第三章习题答案
第三章处理机调与死锁102260010065 黄兰10计科3班P1145.试说明低级调度的主要功能答:(1)保存处理的现场信息。
在进程调度进行调度时,首先需要保存当前进程的处理机的现场信息,如程序计数器、多个通用寄存器中的内容等,将它们送入该进程的进程控制块(PCB)中的相应单位。
(2)按某种算法选取进程。
低级调度程序按某种算法如优先数算法、轮转法等,从就绪队列中选取一个进程,把它的状态改为运行状态,并准备把处理机分配给它。
(3)把处理器分配给进程。
由分派程序把处理器分配给进程。
此时需为选中的静态进程恢复处理机现场,即把选中进程的进程控制块内有关处理机现场的信息装入处理器相应的各个寄存器中,把处理器的控制权交给该进程,让它从取出的断点处开始运行。
P1159.何谓静态和动态优先级?确定静态优先级的依据是什么?答:(1)静态优先级定义:静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。
一般地,优先权是利用某一个整数来表示的,例如,0~7或0~255中的某一整数,又把该整数称为优先数,只是具体用法各异:有的系统用“0”表示优先权,当数值越大时,其优先权越低;而有的系统恰恰相反。
(2)动态优先级定义:动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。
(3)确定优先级的依据:①进程类型。
②进程对资源的需要。
③用户要求。
10.试比较FCFS和SPF两种进程调度算法。
答:(1)相同点:两种调度算法都是既可用于作业调度,也可用于进程调度。
(2)不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将他们调入内存,为他们分配资源,创建进程,然后插入到就绪队列中。
该算法有利于长作业/进程,不利于短作业/进程。
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。
Unix部分习题解答.doc
12章习题1.答:美国AT&T贝尔实验室的研究员Ken Thompson等科学家。
2.答:Linux的诞生可以追溯到1990年秋天,它是以一种特殊的方式诞生的,然后在互联网上发展和不断壮大起來。
芬兰赫尔辛基大学(University of Helsinki)的学牛.LinusTorvald借鉴Andrew Tanenbaum教授开发的用于教学冃的的Minux操作系统,将之移植到PC机上,开发111一种运行在PC机上的Unix,称其为Linuxo Linux遵守IEEE POSIX」标准,因此属于类Unix操作系统。
3.什么是GNU项目?什么是GPL协议?答:GNU项目是FSF支持下的一个项目,支持了许多可以在Unix系统上运行的工具软件的开发,如Emacs编辑器、gcc编译器、bash 命令解释器、gawk等,为Linux的发展提供了强大的推动力。
GPL是通用许可协议,在遵守该协议的条件下,允许商业软件公司利用发布基于源代码软件Z上的自己的软件而获利,是开源软件的发展步入良性循环的轨道。
Linux以及该平台上的开源软件都接受该协议。
4.答:参见12.2节,因叙述明确详细,在此不再赘述。
5.答:一般的数据、各种应用程序创建的文档、以及程序均以文件的形式出现在文件系统中,存储在磁盘上。
Unix采用树形的多级目录结构来组织磁盘上的文件,整个文件系统就好像是一棵树,树中的节点就是目录和文件。
6.答:绝对路径法每次指明一个位置的时候,起始点都是根目录,然后指明子目录, 以及子目录的子目录,直至目标位置。
例子略。
相对路径法以文件系统中某个位置A为起始位置,利用和等具有特殊意义的位置指示符,指名相对于起始位置A的相对位置B的方法。
例子略。
13章习题1.答:Unix/Linux操作系统的主要人机界面就是Shell程序,它是一个命令解释程序,接收用户发送的命令,进行必耍的检查之后,启动相应的程序完成任务。
操作系统 第三章部分答案
操作系统第三章的作业书本110页7.设单处理器系统中有 5个进程P1、P2、P3、P4、P5并发执行,其运行时间分别为10、1、2、1、5,优先权分别为3、1、3、4、2,这些进程几乎同时到达,在就绪队列中的次序依次为P1、P2、P3、P4、P5,试计算采用时间片轮转(时间片为2),短进程优先、非抢占式优先权算法进行调度时的平均周转时间和平均等待时间。
解:(1)时间片轮转调度算法,时间片大小为2min采用时间片轮转调度算法进行调度时的平均周转时间为9.6 min,平均带权周转时间为 3.28 min,平均等待时间为 5.8 min。
(2)短进程优先调度算法采用短进程优先调度算法进行调度时的的平均周转时间为 7 min,平均带权周转时间为 1.74 min,平均等待时间为 3.2 min。
(3.1)非抢占式优先权算法(假设值越大,优先级越高)采用非抢占式优先权算法(假设值越大,优先级越高)进行调度时的的平均周转时间为 12.4 min,平均带权周转时间为 6.24 min,平均等待时间为 8.6 min。
(3.2)非抢占式优先权算法(假设值越小,优先级越高)8.有4个作业J1、J2、J3、J4,它们达到的时间分别为9:00、9:40、9:50、10:10,所需的CPU时间分别为70min、30min、10min、5min,分别采用先来先服务调度算法和短作业优先调度算法进行调度,试问它们的调度顺序、作业的周转时间和平均周转时间各是多少?解:(1)先来先服务调度算法(2)短作业优先调度算法9.一个能容纳两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用抢占式优先权算法。
表3-11列出了先后到达的几个作业的相关时间和优先级(值越小,优先级越高),试计算:①各作业进入内存的时间和完成时间;②平均周转时间。
表3-11 一个调度的例子解:本题中的批处理系统能容纳两道作业,即内存中最多允许存在两道作业。
第三章课后习题参考答案
第三章课后习题参考答案(一)填空题1.一台计算机的指令系统就是它所能执行的指令集合。
2.以助记符形式表示的计算机指令就是它的汇编语言。
3.按长度分,MCS-51指令有)一字节的、二字节的和三字节的。
4.在寄存器寻址方式中,指令中指定寄存器的内容就是操作数。
5.在直接寻址方式中,只能使用八位二进制数作为直接地址,因此其寻址对象只限于内部RAM 。
6.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
7.在变址寻址方式中,以 A 作为变址寄存器,以PC 或DPTR 作基址寄存器。
8.在相对寻址方式中,寻址得到的结果是程序转移的目的地址。
9.长转移指令LJMP addr16 使用的是相对寻址方式。
10.假定外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器 A 的内容为80H 。
MOV P2 ,#20HMOV R0 ,#00HMOVX A,@Ro11.假定累加器 A 的内容为30H,执行指令:1000H :MOVC A,@A+PC后,把程序存储器1031H 单元的内容送累加器 A 中。
12.假定DPTR的内容为8100H,累加器 A 的内容为40H,执行下列指令:MOVC A ,@A+DPTR后,送入 A 的是程序存储器8140H 单元的内容。
13.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:PUSH ACCPUSH B后,SP的内容为62H ,61H单元的内容为30H ,62H单元的内容为70H 。
14.假定(SP)=62H,(61H)=30H,(62H)=70H。
执行下列指令:POP DPHPOP DPL后,DPTR的内容为7030H ,SP的内容为60H 。
15.假定已把PSW的内容压入堆栈,再执行如下指令:MOV R0 ,SPORL @Ro ,#38HPOP PSW实现的功能是(修改PSW的内容,使F0、RS1、RS0三位均为1)。
操作系统第三版教材部分习题参考答案
第3章进程管理三、实训问题参考答案⑥cx程序运行时,一个父进程和两个子进程并发运行,所以多次执行的结果并不总是一样。
⑦系统中一个父进程和一个子进程并发运行,所以多次执行的结果并不总是一样。
如果注释“/*父进程line1*/”所在行和“/*父进程line2*/”所在行交换位置,程序多次运行的结果会相同,因为wait()函数的功能是:主进程暂停执行,等待子进程结束再继续执行主进程。
习题10. 答案:A: while(TRUE){ 生产消息;P(Sab);P(Sac);向缓冲区送消息;V(Sb);V(Sc); }B: while(TRUE){ P(Sb);从缓冲区取消息;V(Sab) }C: whe(TRUE){ P(Sc);从缓冲区取消息;V(Sac) }13. 答案:设置一个信号量S,代表机房内空位数目,初值为40,用来控制进入机房的上机进程数不超过40;再设置互斥信号量mutex,代表机房门这一临界资源,其初值为1,以实现多个上机进程对其互斥访问。
P(S);P(mutex);从机房门进入V(mutex);上机P(mutex);从机房门离开V(mutex);V(S);18. 答案:(1)mutex是互斥信号量,初值为1,表示开始时无进程在临界区。
SP是同步信号量,初值为n,表示开始时有n个空的缓冲区。
SC是同步信号量,初值为0,表示开始时有0个满的缓冲区。
(2)①处填 P(mutex)②处填 V(SC) ③处填 V(mutex) ④处填 V(SP)19. 死锁是计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争系统资源,而出现的一种互相等待的现象。
不是所有的进程都停止工作。
死锁的系统中并不是所有的资源都分配完毕。
20. 目前解决死锁的基本方法有以下三种:①预防死锁②避免死锁③检测和解除死锁22. 不会。
假定该系统死锁,那么就隐含其中的每一个进程已占有一个资源并正在等待另一个资源。
由于该系统只有3个进程且有4个资源,因此必有一个进程能获得其中的2个资源。
三四章
第3章UNIX系统编辑器
ed编辑器内部有一些特殊含义的字符。在 编辑器内部有一些特殊含义的字符。 编辑器内部有一些特殊含义的字符 ed中规定,当有些字符出现在搜索模式中或 中规定, 中规定 当有些字符出现在搜索模式中或s 命令的左边时,具有特定的含义。 命令的左边时,具有特定的含义。这些有特定 含义的字符称之为“元字符” 含义的字符称之为“元字符”。而使用元字符 进行匹配的模式称为“正则表达式( 进行匹配的模式称为“正则表达式(Regular Expressions)”。正则表达式是一种说明查 ) 。 找匹配模式的语法
第3章UNIX系统编辑器
正则表达式匹配模式 /^$ 空行, /^$/ 空行,即只有换行 非空行, / ./ 非空行,即至少包含一个字符 包含thing thing的行 / ^/ 所有行 ; /thing/ 包含thing的行 /^thing/ 行首为thing的行; thing$ thing的行 行尾为thing thing的行 /^thing/ 行首为thing的行;/thing$/ 行尾为thing的行 /^thing thing$ 只包含thing thing的行 /^thing$/ 只包含thing的行 thing. 行尾为thing thing加上任意一个字符 /thing.$/ 行尾为thing加上任意一个字符 thing\ 行尾为thing thing. /thing\.$/ 行尾为thing. /thingV\ 包含/thing/的行 /\/thingV\/ 包含/thing/的行 /[tT]hing/ 包含Thing或由thing Thing或由thing的行 /[tT]hing/ 包含Thing或由thing的行 thing[0 包含thing thing后跟一个数字的行 /thing[0-9]/ 包含thing后跟一个数字的行 thing[. 包含thing thing后跟一个非数字的行 /thing[.^0-9]/ 包含thing后跟一个非数字的行 thing[0 ][^0 包含thing thing跟一个数字及一个非数字的行 /thing[0-9][^0-9]/ 包含thing跟一个数字及一个非数字的行 *thing2 后为任意字符申,然后为thing thing2 /thing 1.*thing2/ thing 1后为任意字符申,然后为thing2的行 /^thingl *thing2 thingl. 行首为thing 行尾为thing thing2 /^thingl. *thing2$/ 行首为thing 1,行尾为thing2的行
UNIX操作系统课后习题答案
第1章 UNIX操作系统概述1、什么是操作系统,列出你知道的操作系统?2、操作系统的主要功能?3、什么是UNIX?4、UNIX版本的两大派系?5、操作系统的哪一部分直接与硬件交互?6、操作系统的哪一部分执行用户交换?A. ShellB. Kernel7、UNIX平台上最用的编辑器是?8、写出两种AIX的图形用户接口的名字?9、AIX只支持硬盘上的文件系统。
(T/F)10、Shell有哪些功能、UNIX上有哪些常见的Shell?第1章 UNIX操作系统概述1、操作系统(Operating System,简称OS)是控制和管理计算机系统内各种硬软件的平台,用户使用计算机的接口,为用户提供一个使用方便可扩展的工作环境。
常见的操作系统:DOS、Windows、Unix、Linux、Mac OS X、Vxworks2、操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。
主要功能包括:文件管理、进程与处理机管理、设备管理、存储管理、网络管理等,由操作系统内核实现3、分狭义和广义的概念狭义的概念•UNIX仅指操作系统内核(Kernel)•内核负责控制并管理计算机资源•多个用户可访问•负责进程的创建、控制、调度,为进程分配内存和外设•提供文件系统的管理功能广义的概念•UNIX不仅指系统内核,它是一个应用环境和程序设计环境,提供了丰富的软件开发工具,包括编辑器、编译程序、调试工具、数据库等等•为应用程序开发者开发的操作系统•提供硬件可移植性,设备独立的文件系统的操作系统•功能强大的多任务、多用户的操作系统4、1)贝尔实验室版本:第1-7版,System Ⅱ,Ⅲ,Ⅳ,Ⅴ UNIX System V Release 4.2 (SVR4.2)现今的AIX 、SCO UNIX等2)加州大学伯克利分校计算机系统研究小组(CSRG)的BSD UNIX(Berkeley Software Distributions)较有影响的版本4.3BSD 现今的 FreeBSD、Solaris等工作站上的UNIX 一般属于这一派系5、Kernel6、A7、VI8、AIXwindowsCommon Desktop Environment (CDE)9、F,AIX支持磁盘文件系统,光盘文件系统,网络文件系统mount –amount /etc/filesystems重启系统分别装载每个文件系统10、SHELL的功能执行用户命令、命令解释器、程序设计语言、进程控制、可定制、特性: 通配符,变量常见的SHELLBourne Shell:是贝尔实验室开发的Bourne Shell:BASH:是GNU的Bourne Again ShellBourne Shell:在大部分内容上与Bourne Shell兼容Bourne Shell:在BSD系统上开发的,语法类似于C语言第2章 UNIX基本操作命令1、登录UNIX系统时会以*号显示用户输入的密码。
第3章作业参考答案
第3章作业参考答案3.2写出下面程序的运行结果:#includeintmain(void){unignedint 某1=65535;int某2=-3;floaty1=123.4567,y2=123.4500;printf(\printf(\printf(\printf(\p rintf(\return0;}16位环境(题意默认为16位环境):某1=-1,177777,ffff,65535某2=-3,177775,fffd,65533y1=123.456700,123.457,123.457,123.457y2=123.450000,1.23450e+ 02,123.45某1(M)=-132位环境:某1=65535,177777,ffff,65535某2=-3,37777777775,fffffffd,4294967293y1=123.456700,123.457,123.457,123.457y2=123.450000,1.23450e+02, 123.45某1(M)=655353.3填入代码如下:(1)%c(2)%c(3)%f(4)%f(5)%lu(6)%hd(7)%d(8)%ld(9)%f(10)%Lf3.4根据变量说明指出下面的语句哪些是正确的,哪些是错误的。
charc='A';inti1=1;continti2=-1;longi3=3;unignedi4=0;float某1=1;double某2=3;longdouble某3=1000;printf(\//ERROR:除数为零putchar(c-'A'+'a'+1);printf(\printf(\//ERROR:输出longdouble类型的浮点数用%Lfprintf(\//ERROR:表达式值类型为longdouble,应用%Lf输出canf(\//ERROR:某2类型为double,格式字符串中语句应为%lfprintf(\putchar(i2=getchar());//ERROR:cannotmodifyacontobje ctprintf(\//ERROR:第一个参数应用%u输出,第二个参数char类型用%f 输出结果有误canf(\3.5编写一个程序,从终端输入一个字符,如果该字符时十六进制数字,则输出它对应的整数,否则输出它的字符码。
unix课后习题
unix课后习题第1章操作系统概述1、什么是操作系统?答:控制其他程序运⾏,管理系统资源并为⽤户提供操作界⾯的系统软件的集合。
2、操作系统有哪三种类型,他们之间有什么区别?答:单⽤户单进程、单⽤户多进程、多⽤户多进程。
第⼀个是操作系统在同⼀时间允许⼀个⽤户,同⼀时间只能运⾏⼀个进程。
3、对分时系统,给出⼀个清晰⽽准确的描述?答:多个⽤户分享使⽤⼀台JSJ,多个程序分时共享硬件和软件资源。
多路性、独占性、交互性和及时性。
4、⽬前典型操作系统的主要功能是什么?这些功能的基本⽤途是什么?答:功能,执⾏程序,程序的输⼊和输出操作进程间的通信,错误检测与报告,不同类型的⽂件操作,⽤户和安全管理。
5、分别列出字符⽤户界⾯和图形⽤户界⾯的⼀个优点和⼀个缺点?答:CUI执⾏效率⾼,外观不美观;GUI 便于使⽤,缺乏可扩展性。
6、分别列出字符⽤户界⾯和图形⽤户界⾯有什么不同?⽬前,在UNIX系统中最流⾏的图形⽤户界⾯是什么?它是由谁开发的?答:CUI通过输⼊命令来完成相关操作,GUI通过输⼊设备(如⿏标)来完成相关操作。
7、应⽤程序程序员接⼝(API)和应⽤程序⽤户接⼝(AUI)分别包括那些内容?答:AUI通过语⾔库和系统调⽤接⼝与操作系统内核联系在⼀起,应⽤软件构成了AUI,系统调⽤接⼝由⼀组为完成特定任务⽽执⾏内核代码的函数构成,语⾔库和系统调⽤接⼝构成API。
8、列出UNIX家族中常见的5种操作系统。
你现在使⽤的是哪⼀个UNIX系统?答:UNIX版本:AIX、BSD、FreeBSD、LINUX、system V。
第2章UNIX操作系统简史2、如果由你来设计POSIX标准,将包含那些内容?答:⽀持程序和命令互相兼容,易⽤性。
3、UNIX系统的前⾝是什么?UNIX及其前⾝最初在哪⾥,由谁开发的?答:前⾝是MULTICS,由Dennis Ritchie 和Ken Thompson在AT&T中研制。
第3章UNIX起步1、主存的作⽤是什么?答:主存⽤来存储正在运⾏的程序或进程。
操作系统习题答案第 (3)
CH3 应用题参考答案1、有三个并发进程:R 负责从输入设备读入信息块,M 负责对信息块加工处理;P 负责打印输出信息块。
今提供;l )一个缓冲区,可放置K 个信息块;2 )二个缓冲区,每个可放置K 个信息块;试用信号量和P 、V 操作写出三个进程正确工作的流程。
答:1 ) var B : array [ 0 , k-1 ] of item ;sread : semaPhore : = k ;smanage : semaPhore : = 0 ;swrite : semaphore : = 0 ;rptr : integer : = O ;mptr : integer : = O ;wptr :integer : = 0 ;x : itemcobeginprocess reader ; process manager ; process writer ; begin begin beginLI : read a message intox ; L2 : P ( smanage ) ; L3 : P ( swnte ) ;P ( sread ) ; x:=B[mptr]; x:=B[swrite];B[rptr]:=x; mptr:=(mptr+1) mod k; wptr:=(wptr+1) mod k;Rptr:=(rptr+1) mod k; manage the message in x; V(sread);V(smanage); B[mptr]:=x; print the message in x;Goto L1; V(swrite); goto L3;End; goto L2; end;End;coend2 ) var A , B :array [ 0 , k -l ] of item ;sPut1 : semaphore:=k;SPut2: semaPhore:=k;sget1 : semaPhore : = 0 ;sget2 : semaphore : = 0 ;put1 :integer :=O ;put2:integer : = 0 ;get1 :integer :=O ;get2 : integer : = O ;cobeginprocess reader ; processn manager; process Writer ;begin begin beginLl : read a message into x ; L2 : P ( sgetl ) ; L3 : P( sgetZ ) ;P ( SPut1 ) ; x : = A [ get1] ; x : = B [get2];A [put1]:=x ; get1 :(get1+1 ) mod k ; get2:=(get2 + l ) mod k ;Put1:=(put1+1) mod k; V(sput1); V(sput2);V(sget1); manage the message into x; print the message in x;Goto L1; P(sput2); goto L3;Put2:=(put2+1) mod k;V(sget2);Goto L2;End;Coend2 设有n 个进程共享一个互斥段,如果:( 1 )每次只允许一个进程进入互斥段;( 2 )每次最多允许m 个进程(m 簇n )同时进入互斥段。
计算机操作系统三章习题答案
第三章处理机调度与死锁``030110011020101进程调度是从选择一个进程投入运行。
A.就绪队列B.等待队列C.作业后备队列D.提交队列``030110011020100A``030110022020101支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。
A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一时件发生D.有新进程进入就绪状态``030110022020100D``030110032020101下列因素中,不一定是引起进程调度的因素。
A.一个进程运行完毕B.运行进程被阻塞C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来``030110032020100C``030110042020101若进程P一旦被唤醒就能投入运行,则系统可能是。
A.非抢占式调度方式,进程P的优先级最高B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低C.就绪队列为空队列D.抢占式调度方式,P的优先级高于当前运行的进程``030110042020100D``030110051020101在批处理系统中,周转时间是指。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间``030110051020100B``030110062020101下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``030110062020100D``030210012020201现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先算法,则平均周转时间为。
A.T1+T2+T3 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/3``030210012020200C``030210022020101下列算法中,操作系统用于作业调度的算法是。
课后题解答参考
5.《Unix环境高级编程》第3章习题3.3、3.4 (p69)目的:理解文件描述符及dup函数作用解答:3.3 参考答案int dup(int fd); 功能:返回新的文件描述符与参数fd共享同一个文件表项,且此时返回的新文件描述符一定是当前可用文件描述符中的最小值。
Open()功能:打开文件,若成功则返回文件描述符。
每次调用open函数就分配一个文件表项,如果两次打开的是相同的文件,则两个文件表项指向相同的v节点。
int fcntl(int fd, int cmd,…);该函数若执行成功则依赖于cmd,在本题中涉及:cmd=SETFD,表示fd设置文件描述符标记,新标志值按第三个参数设置。
(注意:每个文件描述符都有它自己的一套文件描述符标志。
)cmd=SETFL,表示fd的文件设置文件状态标志,即作用于所打开的文件表。
3.4 参考答案int dup(int fd1, int fd2); 功能:用fd2参数指定新的文件描述符值,且此文件描述符与参数fd1共享同一文件表项。
如果fd2已经打开,则先将其关闭,如若fd1=fd2,则dup2返回fd2,而不关闭它。
dup2(int oldfd,int newfd)是在当newfd已经指向一个文件时,关闭newfd(跟重定向效果一样),所谓的关闭只是将文件的引用计数减去1,当引用计数是0时,就将文件关闭,非0时都只是将引用计数减去1,文件并不关闭。
测试程序:#include <stdio.h>#include <fcntl.h>#include <sys/stat.h>#define BUF 4096#define RWXRWXRWX (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S _IROTH|S_IWOTH|S_IXOTH)int main(){int n;int fd0;int fd1;int fd2;int fd3;char buf[BUF];fd0=open("demo111",O_RDWR|O_CREA T,RWXRWXRWX);printf("before fd0=%d\n",fd0);dup2(fd0,fd1);dup2(fd0,fd2);dup2(fd0,fd3);printf("fd0=%d\n",fd0);printf("fd1=%d\n",fd1);printf("fd2=%d\n",fd2);}另外注意:close(fd)的功能是:关闭fd指向的文件,终止fd与其对应文件之间的联系,文件描述符被释放并能够重新使用。