您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 山东大学操作系统OS作业1-5
操作系统作业1-5章软件5班张**201200301311第一章1.1a.个人的程序或者数据可能遭到窃取多人同时使用时可能造成cpu拥堵b.不能。所有保护机制都有可能被外人破译,所以共用系统一定没有单独使用系统安全。1.10(1)现代操作系统是由中断驱动的,中断可以改变对系统的控制权。中断可以使一些需要立即响应的进程及时得到处理,并且不影响原进程的运行。(2)陷阱即为异常,是一种软件中断,源于出错。而中断不一定是出错,可能是来自I/O的一个命令,可能为硬件中断。(3)用户可以有意生成陷阱。目的是为了避免一个进程的错误影响到很多进程,如死循环发生时就可以通过陷阱避免影响。1.12操作系统需要在任何时刻都可被控制,故可以构建的安全的操作系统为:所有用户程序通过软件实现。所有的程序都有高级编程语言编写,以便所有目标代码都被编译出来1.17a.批处理:具有相似需求的作业被成批的集合起来,并把它们作为一个整体通过一个操作员或自动作业程序装置运行通过计算机。通过缓冲区,线下操作,后台和多道程序,运用尝试保持CPU和I/O一直繁忙,从而使得性能被提高。批处理系统对于运行那些需要较少互动的大型作业十分适用。它们可以被更迟地提交或获得。b.交互式:这种系统由许多短期交易构成,并且下一个交易的结果是无法预知的。从用户提交到等待结果的响应时间应该是比较短的,通常为1秒左右。c.分时:分时系统中,CPU通过在作业之间的切换来执行多个作业,但是由于切换的频率很高,用户可以在程序运行期间与之进行交互。d.实时:系统能够在限定的时间内提供用户要求的服务。e.网络:提供给操作系统一个特征,使得其进入网络,比如文件共享。f.并行:有多个紧密通信的CPU,它们共享计算机总线,有时还有时钟,内存,外设等。g.分布:这种系统在几个物理处理器中分布式计算,处理器不共享内存或时钟。每个处理器都有它各自的本地存储器。它们通过各种通信线路在进行通信,比如:一条高速的总线或一个本地的网络。h.集群:集群系统是由两个或多个独立的系统耦合起来的,将多个CPU集中起来完成计算任务。集群通常用来提供高可用性服务,即使集群中的一个或多个系统出错,服务仍然继续。i.手持:方便性与便携性极强。但但物理内存与处理器速度都十分受限,而因缺乏物理空间对I/O也有一定限制。第二章2.1(1)一组操作系统服务提供对用户很有用的函数(2)另一组服务确保系统本身高效运行第一组服务是针对用户,解决用户需求。而第二组服务不是以帮助用户为目的2.3a.通过寄存器来传递参数b.参数存放在内存的块或表中,并将块的地址通过寄存器来传递c.通过程序放在或压入堆栈中,并通过操作系统弹出2.4(1)操作系统提供程序的时间表,以表示一个程序在某个位置或某些位置执行所花的时间。时间表要求具有跟踪功能或定时时间中断,在每次出现定时中断时,会记录程序计数器的值。如果有足够频繁的时间中断,就可得到程序各部分所用时间的统计。(2)获得时间简表有助于调试程序,发现程序陷阱。2.12(1)优点:便于扩充操作系统,使操作系统容易从一种硬件平台设计移植到另一种硬件平台设计,提供了更好的安全性和可靠性(2)用户程序和系统服务通过进程间通信机制进行交互,通信以信息传递形式提供。(3)缺点:微内核必须忍受由于系统功能总开销的增加而导致系统性能的下降2.14(1)虚拟机可以在并行运行几个不同的执行环境(操作系统)时能够共享相同的硬件(2)a.可以通过共享小型磁盘来共享文件,这种方案模拟了共享物理磁盘,但通过软件实现b.可以定义一个虚拟机的网络,使每台虚拟机通过虚拟通信网络来传递消息第三章3.1a.长期:从大容量存储设备的缓冲池中选择进程,并装入内存以准备执行。执行的不频繁,控制多道程序设计的程度(内存中进程数量)。只有当进程离开系统后,才可能调用长期调度程序。由于每次执行时间较长,长期调度程序能使用更多时间来选择执行进程b.中期:核心思想是能将进程从内存或从cpu竞争中移出,从而降低多道程序设计的程度。c.短期:从准备执行的进程中选择进程,并为之分配cpu。必需频繁的为cpu选择新进程,由于每次执行时间较短,短期调度程序必需快。3.2发生上下文切换时,内核会将旧进程的状态保存在其PCB中,然后装入经调度要执行的并已经保存的新进程的上下文。3.4当控制回到父进程时,它的值会保持在5,而子进程将更新并拷贝这个值。3.5a.对称和非对称通信:对称通信的影响是它允许发送者和接收者之间有一个集合点。缺点是阻塞发送时,不需要集合点,而消息不能异步传递。因此,消息传递系统,往往提供两种形式的同步。b.自动和显式缓冲:自动缓冲提供了一个无限长度的队列,从而保证了发送者在复制消息时不会遇到阻塞,如何提供自动缓存的规范,一个方案也许能保存足够大的内存,但许多内存被浪费缓存明确指定缓冲区的大小。在这种状况下,发送者不能在等待可用空间队列中被阻塞。然而,缓冲明确的内存不太可能被浪费。c.复制发送和引用发送:复制发送不允许接收者改变参数的状态,引用发送是允许的。引用发送允许的优点之一是它允许程序员写一个分布式版本的一个集中的应用程序。Java’sRMI公司提供两种发送,但引用传递一个参数需要声明这个参数是一个远程对象。d.固定大小和可变大小消息:涉及的太多是有关缓冲问题,带有定长信息,一个拥有具体规模的缓冲课容纳已知数量的信息缓冲能容纳的可变信息数量是未知的。考虑Windows2000如何处理这种情况。带有定长信息(256bytes),信息从发送者的地址空间被复制至接受进程的地址空间。更大的信息(如变长信息)使用共享内存传递信息。第四章4.1多线程会使程序的执行速度降低,但是会减少用户的响应时间多线程比单线程效率低的例子:计算某个学生成绩的程序空壳程序4.2用户线程之间的上下文切换和内核线程之间的相互转换非常相似。但它依赖于线程库和怎样把用户线程指给内核程序。一般来说,用户线程之间的上下文切换涉及到用一个用户程序的轻量级进程(L和用另外一个线程来代替。这种行为通常涉及到寄存器的节约和释放。4.4共享堆内存和全局变量第五章5.1操作系统响应I/O请求的速度很慢,所以cpu约束程序执行时间要比I/O约束程序短很多。如果不加以区别,那么调度算法的效率将受到很大影响,使调度程序执行效率变低。另外,如果加以区分,cpu和I/O设备的利用率也将得到提高。5.2a.响应时间是从提交请求到产生第一响应的时间。如果单方面要求响应时间提高,就需要cpu及时响应请求,即cpu应该处于相对空闲的状态。故cpu使用率高和响应时间短一定程度上是矛盾的。b.周转时间是从进程提交到进程完成,包括等待进入内存、在就绪队列中等待、在cpu上执行和I/O执行。如果要满足最大等待时间,就不能得到平均周转时间,即产生了矛盾。c.I/O的使用是由中断产生的,需要不断地进行上下文切换,这对cpu的使用率产生一定影响,故当I/O使用率很高时cpu使用率不可能很高,反之也成立。5.4(1)FCFSp1p2p3p4p501011131419周转时间:p1.10p2.11p3.13p4.14p5.19等待时间:p1.0p2.10p3.11p4.13p5.14(2)SJF(抢占)p1p2p4p3p5p100124919周转时间:p1.17p2.1p3.4p4.2p5.9等待时间:p1.9p2.0p3.2p4.1p5.4(3)非抢占优先级p1p2p5p3p401011161819周转时间:p1.10p2.11p3.18p4.19p5.16等待时间:p1.0p2.10p3.16p4.18p5.11(4)RRp1p2p3p4p5p1p3p5p1p5p1p5p1p5p1周转时间:p1.19p2.2p3.7p4.4p5.14等待时间:p1.9p2.1p3.5p4.3p5.9d.平均等待时间最短的是抢占式的SJF5.5短作业优先和优先级会导致饥饿5.10a.FCFS:区别短任务是因为任何在长任务后到达的短任务都将会有很长的等待时间。b.RR:对所有的任务都是能够相同的(给它们相同的CPU时间区间),所以,短任务可以很快的离开系统,只要它们可以先完成。c.多级反馈队列和RR调度算法相似:它们不会先选择短任务。
本文标题:山东大学操作系统OS作业1-5
链接地址:https://www.777doc.com/doc-2477788 .html