1、文档仅供参考,如有不当之处,请联系改正。1-cont.n2.What is the main advantage of multiprogramming?n高效地使用CPU,经过重合来自不一样用户对CPU和I/O设备需求n增加CPU利用,设法让CPU执行有意义指令第1页文档仅供参考,如有不当之处,请联系改正。1-cont.n3.In a multiprogramming and time-sharing environment,several users share the system simultaneously.This situation can result in various s
2、ecurity problems.na.What are two such problems?nb.Can we ensure the same degree of security in a time-shared machine as we have in a dedicated machine?Explain your answer.n用户之间相互偷数据、代码n对系统资源使用记账信息第2页文档仅供参考,如有不当之处,请联系改正。1-cont.n4.Define the essential properties of the following types of operating sys
3、tems:na.Batchn相同需求Job分批、成组在计算机上执行,Job由操作员或自动Job程序装置装载;n能够经过采取 buffering,off-line operation,spooling,multiprogramming 等技术使CPU 和 I/O不停忙来提升性能n批处理适合于需要极少用户交互Job。nb.Interactiven由许多短交易组成,下一次交易结果可能不可预知n需要响应时间短第3页文档仅供参考,如有不当之处,请联系改正。1-cont.nc.Time sharingn使用CPU调度和多道程序提供对系统经济交互式使用,CPU快速地在用户之间切换n普通从终端读取控制,输出马
4、上打印到屏幕nd.Real timen在专门系统中使用,从传感器读取信息,必须在要求时间内作出响应以确保正确执行第4页文档仅供参考,如有不当之处,请联系改正。1-cont.ne.Networkn在通用OS上添加n联网、通信功效n远程过程调用n文件共享nf.Distributedn含有联网、通信功效n提供远程过程调用n提供多处理机统一调度调度n统一存放管理n分布式文件系统第5页文档仅供参考,如有不当之处,请联系改正。1-cont.n5.Describe the differences between symmetric and asymmetric multiprocessing.What ar
5、e three advantages and one disadvantage of multiprocessor systems?nSymmetric multiprocessing中全部处理器同等对待,I/O能够在任意CPU上处理。nAsymmetric multiprocessing含有一个主CPU和多个从CPU,主CPU将任务分配到从CPU,I/O通常只能由主CPU处理。n多处理机系统优点n比多个计算机系统可能更省钱(一样CPU个数)n执行程序更加快n可靠性更高n缺点:软硬件更复杂n6.thinking:what kind of features may exist in CC,IOT
6、 or CPS?第6页文档仅供参考,如有不当之处,请联系改正。Chapter 2n1.How does the distinction between monitor mode and user mode function as a rudimentary form of protection(security)system?n经过建立一组只能在monitor mode才能执行特权指令集,OS能够确保总是能控制整个系统。第7页文档仅供参考,如有不当之处,请联系改正。2-cont.n2.What are the differences between a trap and an interrup
7、t?What is the use of each function?nAn interrupt是硬件产生系统内流改变nA trap是软件产生“中止”。ninterrupt能够被I/O用来产生完成信号,从而防止CPU对设备轮询 nA trap能够用来调用OS例程或者捕捉算术错误 第8页文档仅供参考,如有不当之处,请联系改正。2-cont.n3.Which of the following instructions should be privileged?na.Set value of timer.nb.Read the clock.nc.Clear memory.nd.Turn off in
8、terrupts.ne.Switch from user to monitor mode.na.Set value of timer.nc.Clear memory.nd.Turn off interrupts.ne.Switch from user to monitor mode.第9页文档仅供参考,如有不当之处,请联系改正。2-cont.n4.Protecting the operating system is crucial to ensuring that the computer system operates correctly.Provision of this protecti
9、on is the reason behind dual-mode operation,memory protection,and the timer.To allow maximum flexibility,however,we would also like to place minimal constraints on the user.The following is a list of operations that are normally protected.What is the minimal set of instructions that must be protecte
10、d?na.Change to user mode.nb.Change to monitor mode.nc.Read from monitor memory.nd.Write into monitor memory.ne.Fetch an instruction from monitor memory.nf.Turn on timer interrupt.ng.Turn off timer interrupt.nb.Change to monitor mode.nc.Read from monitor memory.nd.Write into monitor memory.ng.Turn of
11、f timer interrupt.第10页文档仅供参考,如有不当之处,请联系改正。Chapter 3n1.What are the five major activities of an operating system in regard to process management?n用户和系统进程地创建和删除n 进程挂起和恢复n 提供进程同时机制n 提供进程通信机制n 提供死锁处理机制第11页文档仅供参考,如有不当之处,请联系改正。3-cont.n2.What are the three major activities of an operating system in regard
12、to memory management?n跟踪内存使用情况(哪一部分被使用、谁使用)n当内存空间可用时候,确定将哪些进程调入内存(job调度)n按需要分配和回收内存第12页文档仅供参考,如有不当之处,请联系改正。3-cont.n3.What are the three major activities of an operating system in regard to secondary-storage management?n剩下空间管理n存放分配n磁盘调度第13页文档仅供参考,如有不当之处,请联系改正。3-cont.n4.What are the five major activit
13、ies of an operating system in regard to file management?n文件创建和删除n目录创建和删除n目录和文件操作原语支持n文件到二级存放映射n将文件备份到非易失存放设备第14页文档仅供参考,如有不当之处,请联系改正。3-cont.n5.What is the purpose of the command interpreter?Why is it usually separate from the kernel?n读取命令(从用户或者命令文件)并执行(转化成系统调用)n可能会经常改变第15页文档仅供参考,如有不当之处,请联系改正。3-cont.n
14、6.What is the purpose of system calls?n让用户级进程能够请求操作系统所提供服务第16页文档仅供参考,如有不当之处,请联系改正。3-cont.n7.What is the purpose of system programs?n为程序开发和运行提供了方便环境n给用户提供基本公共功效函数,为用户在不用自己写代码情况下处理公用问题n8.试着安装虚拟机试着安装虚拟机VMWARE,然后在这台虚拟机上安,然后在这台虚拟机上安装一个操作系统装一个操作系统n9.阅读阅读Linux源码,给出某一个源码,给出某一个system call源码并分源码并分析,分析析,分析init
15、/main.c给出流程图给出流程图第17页文档仅供参考,如有不当之处,请联系改正。Chapter 4n1.Describe the differences among short-term,medium-term,and long-term scheduling.nShort-term,CPU调度nLong-term,job调度nMedium-term,分时系统中中间调度级第18页文档仅供参考,如有不当之处,请联系改正。4-cont.n2.Describe the actions a kernel takes to context switch between processes.n保留正在运
16、行进程状态、恢复欲调度到CPU进程状态第19页文档仅供参考,如有不当之处,请联系改正。4-cont.n3.What are the benefits and detriments of each of the following?Consider both the systems and the programmers levels.na.Symmetric and asymmetric communicationnb.Automatic and explicit bufferingnc.Send by copy and send by referencend.Fixed-sized and
17、variable-sized messages第20页文档仅供参考,如有不当之处,请联系改正。4-cont.n4.The correct producerconsumer algorithm in the ppt,allows only n-1 buffers to be full at any one time.Modify the algorithm to allow all buffers to be utilized fully.第21页文档仅供参考,如有不当之处,请联系改正。4-cont.n5.Consider the interprocess-communication schem
18、e where mailboxes are used.na.Suppose a process P wants to wait for two messages,one from mailbox A and one from mailbox B.What sequence of send and receive should it execute?nb.What sequence of send and receive should P execute if P wants to wait for one message either from mailbox A or from mailbo
19、x B(or from both)?nc.A receive operation makes a process wait until the mailbox is nonempty.Either devise a scheme that allows a process to wait until a mailbox is empty,or explain why such a scheme cannot exist.nanreceive(A,m1)receive(B,m2)send(c,m3)nreceive(B,m1)receive(A,m2)send(c,m3)nbnreceive(A
20、,m1)receive(B,m2)send(c,m3)nreceive(B,m1)receive(A,m2)send(c,m3)nreceive(A,m1)send(c,m3)receive(B,m2)nreceive(B,m1)send(c,m3)receive(A,m2)第22页文档仅供参考,如有不当之处,请联系改正。4-cont.n6.阅读分析阅读分析Linux终止进程源码终止进程源码n7.编程,实现一个简单网络聊天程序,用到编程,实现一个简单网络聊天程序,用到socket和和fork()(接收和发送在(接收和发送在fork出进程中)出进程中)第23页文档仅供参考,如有不当之处,请联系改
21、正。Chapter 5n1.Provide two programming examples of multithreading giving improved performance over a single-threaded solution.n能够并发多任务nWeb浏览器,数据可并行处理n2.Provide two programming examples of multithreading that would not improve performance over a single-threaded solution.n不能够并发单任务n用多个线程读一个文件n后续结果必须依赖于前
22、面第24页文档仅供参考,如有不当之处,请联系改正。5 cont.n3.What are two differences between user-level threads and kernel-level threads?Under what circumstances is one type better than the other?n内核可知与不可知n调度者不一样n与进程关系n运行效率、内核复杂度、用户可控程度n4.What resources are used when a thread is created?How do they differ from those used wh
23、en a process is created?nTCB,存放器组,栈,调度信息nPCB,全部与进程执行和调度相关资源与信息,内存,打开文件,环境变量第25页文档仅供参考,如有不当之处,请联系改正。5-cont.n5.Write a multithreaded Pthread or Java program that outputs prime numbers.This program should work as follows:The user will run the program and will enter a number on the command line.The prog
24、ram will then create a separate thread that outputs all the prime numbers less than or equal to the number that the user entered.n6.编程,实现一个简单网络聊天程序,用到编程,实现一个简单网络聊天程序,用到socket和和pthread(接收和发送在(接收和发送在pthread创建线程中)创建线程中)第26页文档仅供参考,如有不当之处,请联系改正。Chapter 6n1.A CPU scheduling algorithm determines an order f
25、or the execution of its scheduled processes.Given n processes to be scheduled on one processor,how many possible different schedules are there?Give a formula in terms of n.nN个进程排列问题nPnn=n!n2.Define the difference between preemptive and nonpreemptive scheduling.State why strict nonpreemptive scheduli
26、ng is unlikely to be used in a computer center.n对CPU控制权主动还是被动放弃n不可能采取纯非剥夺机制:考虑到多道程序、分时共享,公平和轻重缓急第27页文档仅供参考,如有不当之处,请联系改正。6-cont.n3.Consider the following set of processes,with the length of the CPU-burst time given in milliseconds:nThe processes are assumed to have arrived in the order P1,P2,P3,P4,P5
27、,all at time 0.na.Draw four Gantt charts illustrating the execution of these processes using FCFS,SJF,a nonpreemptive priority(a smaller priority number implies a higher priority),and RR(quantum=1)scheduling.nb.What is the turnaround time of each process for each of the scheduling algorithms in part
28、 a?nc.What is the waiting time of each process for each of the scheduling algorithms in part a?nd.Which of the schedules in part a results in the minimal average waiting time(over all processes)?第28页文档仅供参考,如有不当之处,请联系改正。6-cont.n6.3 na.n b.n c.nd.SJF第29页文档仅供参考,如有不当之处,请联系改正。6-cont.n4.Suppose that the f
29、ollowing processes arrive for execution at the times indicated.Each process will run the listed amount of time.In answering the questions,use nonpreemptive scheduling and base all decisions on the information you have at the time the decision must be made.na.What is the average turnaround time for t
30、hese processes with the FCFS scheduling algorithm?(8-0)+(12-0.4)+(13-1.0)/3=10.53 nb.What is the average turnaround time for these processes with the SJF scheduling algorithm?(8-0)+(13-0.4)+(9-1.0)/3=9.53nc.The SJF algorithm is supposed to improve performance,but notice that we chose to run process
31、P1 at time 0 because we did not know that two shorter processes would arrive soon.Compute what the average turnaround time will be if the CPU is left idle for the first 1 unit and then SJF scheduling is used.Remember that processes P1 and P2 are waiting during this idle time,so their waiting time ma
32、y increase.This algorithm could be known as future-knowledge scheduling.(14-0)+(6-0.4)+(2-1.0)/3=6.87第30页文档仅供参考,如有不当之处,请联系改正。6-cont.n5.Consider the following preemptive priority-scheduling algorithm based on dynamically changing priorities.Larger priority numbers imply higher priority.When a process
33、 is waiting for the CPU(in the ready queue but not running),its priority changes at a rate A;when it is running,its priority changes at a rate B.All processes are given a priority of 0 when they enter the ready queue.The parameters A and B can be set to give many different scheduling algorithms.na.W
34、hat is the algorithm that results from BA0?nb.What is the algorithm that results from AB0?nFCFSnLIFO第31页文档仅供参考,如有不当之处,请联系改正。6-cont.n6.Many CPU scheduling algorithms are parameterized.For example,the RR algorithm requires a parameter to indicate the time slice.Multilevel feedback queues require param
35、eters to define the number of queues,the scheduling algorithms for each queue,the criteria used to move processes between queues,and so on.These algorithms are thus really sets of algorithms(for example,the set of RR algorithms for all time slices,and so on).One set of algorithms may include another
36、(for example,the FCFS algorithm is the RR algorithm with an infinite time quantum).What(if any)relation holds between the following pairs of sets of algorithms?na.Priority and SJF(最短job优先级最高)nb.Multilevel feedback queues and FCFS(MLFQ最低级是FCFS)nc.Priority and FCFS(FCFS给存在时间最长优先级最高)nd.RR and SJF(none)
37、第32页文档仅供参考,如有不当之处,请联系改正。6-cont.n7.Suppose that a scheduling algorithm(at the level of short-term CPU scheduling)favors those processes that have used the least processor time in the recent past.Why will this algorithm favor I/O-bound programs and yet not permanently starve CPU-bound programs?n8.阅读分析阅读分析Linux sched.c第33页