操作系统作业.docx
《操作系统作业.docx》由会员分享,可在线阅读,更多相关《操作系统作业.docx(48页珍藏版)》请在冰点文库上搜索。
![操作系统作业.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/718df087-3bf0-48ca-a83e-444891ff41cf/718df087-3bf0-48ca-a83e-444891ff41cf1.gif)
操作系统作业
操作系统作业
12
23
34
45
57
69
716
821
923
1025
1128
1229
1331
1432
1
1.Whatarethethreemainpurposesofanoperatingsystem?
答:
管理计算机硬件;提供应用程序的基础;充当用户和计算机硬件之间的媒介
2.Whatisthemainadvantageofmultiprogramming?
答:
可以使CPU总有一个作业可以执行,提高CPU的利用率
3.Inamultiprogrammingandtime-sharingenvironment,severaluserssharethesystemsimultaneously.Thissituationcanresultinvarioussecurityproblems.
a.Whataretwosuchproblems?
b.Canweensurethesamedegreeofsecurityinatime-sharedmachineaswehaveinadedicatedmachine?
Explainyouranswer.
答:
用户之间相互窃取或者复制彼此的程序或数据;可能会没有合理的预算来使用资源
答:
不能,虽然分时系统有相应的保护措施,但不能完全确保其安全和不被破解
4.Definetheessentialpropertiesofthefollowingtypesofoperatingsystems:
a.Batch
b.Interactive
c.Timesharing
d.Realtime
e.Network
f.Distributed
批处理操作系统
早期的一种大型机用操作系统。
可对用户作业成批处理,期间勿需用户干预,分为单道批处理系统和多道批处理系统。
交互式操作系统
人机交互是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与机器之间的信息交换过程。
基于此,为达到人机交互目的而为机器所编写的操作系统称为交互式操作系统。
分时操作系统
利用分时技术的一种联机的多用户交互式操作系统,每个用户可以通过自己的终端向系统发出各种操作控制命令,完成作业的运行。
分时是指把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
实时操作系统
一个能够在指定或者确定的时间内完成系统功能以及对外部或内部事件在同步或异步时间内做出响应的系统,实时意思就是对响应时间有严格要求,要以足够快的速度进行处理.分为硬实时和软实时两种。
网络操作系统
一种在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。
它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。
计算机系统中能同时执行两个或更多个处理机
分布式操作系统
分布式软件系统,是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。
它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
5.describethedifferencesbetweensymmetricandasymmetricmultiprocessing.Whatarethreeadvantagesandonedisadvantageofmultiprocessorsystem?
答:
对称对处理的所有处理器都对等,处理器之间没有主从关系,每个处理器都并发运行一个操作系统的拷贝,这些拷贝根据需要相互通信;非对称处理每个处理器都有各自特定的任务,一个主处理器控制系统,其他处理器或者想主处理器要任务或做预先固定的任务,主处理器为从处理器调度和安排工作多处理系统的优点:
增加计算量;规模经济;增加可靠性
多处理系统的缺点:
软硬件更加复杂
6.thinking:
whatkindoffeaturesmayexistinCC,IOTorCPS?
//物联网
物联网(IoT)是通过信息传感设备,按照约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的泛在网络。
第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。
信息-物理融合系统(CPS)是一个综合计算、网络和物理环境的多维复杂系统,通过3C(Computation、Communication、Control)技术的有机融合与深度协作,实现大型工程系统的实时感知、动态控制和信息服务。
CPS实现计算、通信与物理系统的一体化设计,可使系统更加可靠、高效、实时协同,具有重要而广泛的应用前景。
2
1.Howdoesthedistinctionbetweenmonitormodeandusermodefunctionasarudimentaryformofprotection(security)system?
答:
答:
管理状态,也是特权状态,可以执行全部指令,包括特权指令和非特权指令,访问所有资源并且具有改变处理器状态的能力
用户状态,也叫目态,只能执行非特权指令
2.Whatarethedifferencesbetweenatrapandaninterrupt?
Whatistheuseofeachfunction?
答:
中断是处理程序提供的服务而不是当前需要的。
中断通过中断向量保存中断发生的位置。
中断不能再其他中断发生的时候改变数据,这样为中断提供了一种保护机制。
由于与现行指令无关的中断信号发出的,通常在两条机器指令之间才可以响应中断,一般来说,中断处理程序提供的服务不是当前进程所需要的。
一般发生在硬件里。
陷阱是有软件的错误或者请求导致的。
是由处理器正在执行的指令导致的,一条指令执行期间允许响应陷入,通常陷入处理程序提供的服务是当前进程所需要的。
一般发生在软件层。
操作系统的运行是一种中断驱动机制。
3.Whichofthefollowinginstructionsshouldbeprivileged?
a.Setvalueoftimer.b.Readtheclock.
c.Clearmemory.d.Turnoffinterrupts.
e.Switchfromusertomonitormode.
答:
A,C,D,E
特权指令:
(1)允许和禁止中断,控制中断禁止屏蔽位
(2)在进程间切换处理
(3)存取用于主存保护的寄存器
(4)执行I/O操作
(5)停止一个中央处理机的工作
(6)清理内存
(7)设置时钟
(8)建立存储键
(9)加载PSW4.Protectingtheoperatingsystemiscrucialtoensuringthatthecomputersystemoperatescorrectly.Provisionofthisprotectionisthereasonbehinddual-modeoperation,memoryprotection,andthetimer.Toallowmaximumflexibility,however,wewouldalsoliketoplaceminimalconstraintsontheuser.Thefollowingisalistofoperationsthatarenormallyprotected.Whatistheminimalsetofinstructionsthatmustbeprotected?
a.Changetousermode.b.Changetomonitormode.
c.Readfrommonitormemory.d.Writeintomonitormemory.e.Fetchaninstructionfrommonitormemory.
f.Turnontimerinterrupt.
g.Turnofftimerinterrupt.答:
B,C,D,G
3
1.Whatarethefivemajoractivitiesofanoperatingsysteminregardtoprocessmanagement?
答:
用户和系统进程的创建和删除
进程的挂起和恢复
提供进程同步的机制
提供进程通信的机制
提供死锁处理的机制
2.Whatarethethreemajoractivitiesofanoperatingsysteminregardtomemorymanagement?
答:
跟踪内存使用情况(哪一部分被使用、谁使用)
当内存空间可使用的时候,确定将哪一部分进程条路内存(job调度)
按需要分配和回收内存
3.Whatarethethreemajoractivitiesofanoperatingsysteminregardtosecondary-storagemanagement?
答:
剩余空间的管理;存储分配;磁盘调度
4.Whatarethefivemajoractivitiesofanoperatingsysteminregardtofilemanagement?
答:
文件创建和删除
目录创建和删除
目录和文件操作原语的支持
文件到二级储存的映射
将文件备份到非易失存储设备
5.Whatisthepurposeofthecommandinterpreter?
Whyisitusuallyseparatefromthekernel?
答:
读取命令(从用户或者命令文件)并执行(转化成系统调用)
可能会经常改变
6.Whatisthepurposeofsystemcalls?
答:
让用户级进程可以请求操作系统锁提供的服务
7.Whatisthepurposeofsystemprograms?
答:
为程序开发和运行提供了方便的环境
给用户提供基本的公共功能函数,为用户在不用自己写代码的情况下提供解决公共问题
4
1.Describethedifferencesamongshort-term,medium-term,andlong-termscheduling.
答:
长期调度从缓冲池中选择进程,并装入内存以准备执行。
中期调度将进程从内存中移出,从而降低多道程序设计的难度。
短期进程调度程序或CPU调度程序从准备执行进程中选择程序,并调度给CPU。
2.Describetheactionsakerneltakestocontextswitchbetweenprocesses.
答:
当发生上下文切换时,内核会将旧程序的状态保存在其PCB中,然后装入经调度要执行的并已保存的新进程的上下文。
3.Whatarethebenefitsanddetrimentsofeachofthefollowing?
Considerboththesystemsandtheprogrammers’levels.
a.Symmetricandasymmetriccommunication
b.Automaticandexplicitbuffering
c.Sendbycopyandsendbyreference
d.Fixed-sizedandvariable-sizedmessages
答:
a.对称的和非对称通信:
对称通信的影响是它允许发送者和接受者之间有一个集合点。
缺点是阻塞发送时,不需要集合点,而信息不能异步传输。
因此,消息传递系统,往往提供两种形式的同步。
b.自动和显式缓冲:
自动旱冲提供了一个无线长度的队列,从而保证了发送者在复制消息时不会遇到阻塞,如果提供自动缓存的规范,一个方案也许能够保存足够大的内存,但许多内存被浪费明确指定缓存区的大小。
在这种状况下,发送者不能再等待可用空间队列中被阻塞。
然后、二,缓冲明确的内存不太可能被浪费。
c.复制发送的已用发送:
复制发送不允许接受者改变参数的状态,应用发送允许的优点之一是它允许程序员写一个分布式版本的一个集中的应用程序。
d.固定大小和可变大小的消息:
设计的太多是有关缓冲问题,带有定长信息。
一个拥有具体规模的缓冲池容纳一直数量的信息缓冲能容纳的可变信息了是未知的。
4.Thecorrectproducer–consumeralgorithmintheppt,allowsonlyn-1bufferstobefullatanyonetime.Modifythealgorithmtoallowallbufferstobeutilizedfully.
答:
while
(1)
{
while(count==0)
;/*donothing*/
nextConsumed
=buffer[out];
out=out%BUFFER_SIZE;
count--;/*加入计数器*/
}
5.Considertheinterprocess-communicationschemewheremailboxesareused.
a.SupposeaprocessPwantstowaitfortwomessages,onefrommailboxAandonefrommailboxB.Whatsequenceofsendandreceiveshoulditexecute?
b.WhatsequenceofsendandreceiveshouldPexecuteifPwantstowaitforonemessageeitherfrommailboxAorfrommailboxB(orfromboth)?
c.Areceiveoperationmakesaprocesswaituntilthemailboxisnonempty.Eitherdeviseaschemethatallowsaprocesstowaituntilamailboxisempty,orexplainwhysuchaschemecannotexist.
答:
a.receive(A,m1),receive(B,m2)...send(c,m3)
receive(B,m1),receive(A,m2)...send(c,m3)
b.receive(A,m1),receive(B,m2)...send(c,m3)
receive(B,m1),receive(A,m2)...send(c,m3)
receive(A,m1),send(c,m3),receive(B,m2)
receive(B,m1),send(c,m3),receive(A,m2)
c.不能,因为一个程序很大的时候将会出现大面积的程序等待。
6.阅读分析Linux终止进程的源码
答:
一个进程可能处于五种状态:
新建,就绪,运行,等待,终止。
当一个进程结束了运行或在半途中止了运行,那么内核就需要释放该进程所占用的系统资源。
这包括进程运行时打开的文件、申请的内存等。
当一个用户程序调用exit()系统调用时,就会执行内核函数do_exit()。
该函数会首先释放进程代码段和数据段占用的内存页面,关闭进程打开着的所有文件,对进程使用的当前工作目录、根目录和运行程序的i节点进行同步操作。
如果进程有子进程,则让init进程作为其所有子进程的父进程。
如果进程是一个会话头进程并且有控制终端,则释放控制终端,并向属于该会话的所有进程发送挂断信号SIGHUP,这通常会终止该会话中的所有进程。
然后把进程状态置为僵死状态TASK_ZOMBIE。
并向其原父进程发送SIGCHLD信号,通知其某个子进程已经终止。
最后do_exit()调用调度函数去执行其他进程。
由此可见在进程被终止时,它的任务数据结构仍然保留着。
因为其父进程还需要使用其中的信息。
在子进程执行期间,父进程通常使用wait()或waitpid()函数等待其某个子进程终止。
当等待的子进程被终止并处于僵死状态时,父进程就会把子进程运行所使用的时间累加到自己的进程中,最终释放已终止子进程任务数据结构所占用的内存页面,并置空子进程在任务数组中占用的指针项。
7.编程,实现一个简单网络聊天程序,用到socket和fork()(接受和发送在fork出的进程中)
5
1.Providetwoprogrammingexamplesofmultithreadinggivingimprovedperformanceoverasingle-threadedsolution.
答:
如web
2.Providetwoprogrammingexamplesofmultithreadingthatwouldnotimproveperformanceoverasingle-threadedsolution.
答:
任何形式的顺序程序对线程来说都不是一个好的形式。
例如一个计算个人报酬的程序。
另一个例子是一个空壳程序。
这种程序必须密切监测其本身的工作区间。
如打开的文件、环境变量和当前工作目录。
3.Whataretwodifferencesbetweenuser-levelthreadsandkernel-levelthreads?
Underwhatcircumstancesisonetypebetterthantheother?
答:
对用户线程的支持通常处于内核之上,通过一个用户级线程库实现。
线程库提供了对线程的创建、调度和管理的支持,这无需来自内核的支持。
所有的线程创建和调度工作都在用户空间完成,而且整个过程不受内核的干涉。
内核线程由操作系统直接支持:
内核在内核空间内实现了线程的创建、调度和管理。
用户线程的优点
性能:
线程操作低消耗
灵活性:
特殊的调度
可移植性:
可移植性高
用户线程的缺点
如果一个用户线程陷入内核当中,整个用户线程都要陷入内核当中。
没法你用多线程的优点。
4.Whatresourcesareusedwhenathreadiscreated?
Howdotheydifferfromthoseusedwhenaprocessiscreated?
答:
TCB寄存器组,栈,调度信息
PCB所有与进程执行和调度相关的资源与信息,内存,打开的文件,环境变量
5.WriteamultithreadedPthreadorJavaprogramthatoutputsprimenumbers.Thisprogramshouldworkasfollows:
Theuserwillruntheprogramandwillenteranumberonthecommandline.Theprogramwillthencreateaseparatethreadthatoutputsalltheprimenumberslessthanorequaltothenumberthattheuserentered.
答:
publicclassTestThread1
{
publicstaticvoidmain(Stringargs[])
{
Runner1r=newRunner1();
r.start();
for(inti=0;i<100;i++)
{
System.out.println("MainThread:
------"+i);
}
}
}
classRunner1extendsThread
{
publicvoidrun()
{
for(inti=0;i<100;i++)
{
System.out.println("Runner1:
"+i);
}
}
}
6.编程,实现一个简单网络聊天程序,用到socket和pthread(接受和发送在pthread创建的线程中)
6
1.ACPUschedulingalgorithmdeterminesanorderfortheexecutionofitsscheduledprocesses.Givennprocessestobescheduledononeprocessor,howmanypossibledifferentschedulesarethere?
Giveaformulaintermsofn.
答:
n个进程的排列问题。
可能性有n!
种。
2.Definethedifferencebetweenpreemptiveandnonpreemptivescheduling.Statewhystrictnonpreemptiveschedulingisunlikelytobeusedinacomputercenter.
答:
如果一个进程只能从运行状态切换到等待状态,或者进程终止的状况就是非抢占调度;否则就是抢占性调度。
采用非抢占调度,一旦CPU分配一个进程,那么该进程会一直使用CPU指导进程种子或切换到等待状态。
3.Considerthefollowingsetofprocesses,withthelengthoftheCPU-bursttimegiveninmilliseconds:
TheprocessesareassumedtohavearrivedintheorderP1,P2,P3,P4,P5,allattime0.
a.DrawfourGanttchartsillustratingtheexecutionoftheseprocessesusingFCFS,SJF,anonpreemptivepriority(asmallerprioritynumberimpliesahigherpriority),andRR(quantum=1)scheduling.
b