高级操作系统

发布 2021-04-24 06:51:28 阅读 6076

一、解释。

1、解释分布式系统概念。

一个分布式系统是一些独立的计算机的集合,但是对该系统的用户来说,系统就像一台计算机一样,即:由大量cpu组成的计算机系统。这个定义有两方面的含义:

第一,从硬件角度看,每台计算机都是自主的;第二,从软件角度看,用户将整个系统视为一台计算机。

2、微内核的主要任务。

微内核具有更好的灵活性,主要提供四种服务:

1) 进程间的通信机制。(2) 某些内从管理功能。(3) 少量的低层进程管理和调度。(4) 低层输入/输出服务。

3、 atm对分布式系统的影响。

a、延时:需要新的协议和系统结构处理。

b、流量控制:信元淹没。

c、阻塞控制:防止数据丢失。

4、 原子事务的基本特性。

事务具有四个重要特性:

1)原子性(atomic):对外界来说,事务的发生是不可分割的。

2)一致性(consistent):事务不会破坏系统的恒定。

3)独立性(isolated):并发的事务不会互相干扰。

4)持久性(durable):一旦事务提交,所做的改变永远有效。

5、 并行透明性。

并行透明性,就是系统的活动可以在用户没有感觉的情况下并行发生(同时发生),即整个分布式并行服务器在用户看起来就像一个传统的单处理机分时系统。

6、 请说出微内核优于单内核的两个优点。

1)微内核系统具有高度的模块化,对于每一个服务都有一个定义好的接口,每一个服务程序对所有客户来说都是可以访问的,且和位置无关。

2)微内核系统具有很高的灵活性,易于实现、安装和调试新的服务程序,因为增加或改变一个服务程序不需要像有一个单内核那样停止系统和启动一个新的内核。

二、计算。1、一个atm系统以oc-3的速率传递信元,每个包48字节长,刚好放进一个信元,一个中断耗时1μs,cpu用于中断处理的时间是多少?如果包长是节呢?

oc-3的数据传输速率为155.520mbps,由题意可知,一个信元是48字节。可得每秒传递包(信元)的数目为:

(155.520*1024*1024)bps/8)/53=384609.76每进入一个包产生一次中断,一个中断耗时1μs,一秒内共产生384609.

76个中断。cpu用于中断处理的时间是: 1*10-6s*384609.

760.38s。如果包长是节,一个包可拆分为22个信元。

每秒传递包的数目为:384609.76/2217482 cpu用于中断处理的时间是:

1*10-6s*174820. 017s.

2、 假设一个空rpc(0字节数据)需时间1.0ms,每增加1k数据,时间增加1.5ms。如果要。

从文件服务器读32k的数据,请计算一次读取32k数据的rpc所需的时间和32次读取1k数据的rpc所需的时间?

(1)由题知我们记一次读取32k数据的rpc所需的时间记为t则t=1.0+32*1.5=49ms。

故一次读取32k数据的rpc所需的时间是49ms。(2)32次读取1k数据所需的时间记为t1 则 t1=32*(1.0+1.

5)=80ms,故32次读取1k所需的时间为80ms。

3、 考虑一个分布式系统中的两台机器。这两台机器的时钟假设都每毫秒滴答1000次,但。

实际上只有一个是这样,而另一个一毫秒仅滴答990次,如果utc每分钟更新一次那么时钟的最大偏移量将是多少?

答、第二个时钟每秒滴答990,000次,每秒提供了一个10毫秒的误差,这个误差在一分钟已增加到600毫秒。另一种计算的方法是,第二个时钟慢1个百分点,因此一分钟后它是关闭的0.01 × 60秒或600毫秒。

4、如果要求的数据在缓存中,收到任务请求,分配这个工作,并做相应的处理需要15毫秒;如果要进行磁盘读写,并且进行读写占用1/3的时间,则需要多使用75毫秒,在磁盘操作时,线程休眠。请分别计算单线程文件服务器和多线程文件服务器每秒各能处理多少条请求?

答、在单线程情况下,高速缓存命中需要15毫秒,缓存失误需要90毫秒。它的加权平均是 2/3×15+1/3×90.因此,请求的平均时间需40毫秒并且服务器每秒可以处理25次。

而对于多线程服务器,所有等待的磁盘重叠的。因此每一个请求需要15毫秒,并且服务器可以每秒处理66 (2/3)的请求。

5、 一个文件在10个服务器上复制,试列举投票表决算法所允许的读数定额与写数定额的所有组合。

nr=1,nw=10;

nr=2,nw=9,10;

nr=3,nw=8,9,10;

nr=4,nw=7,8,9,10;

nr=5,nw=6,7,8,9,10;

nr=6,nw=5,6,7,8,9,10;

nr=7,nw=4,5,6,7,8,9,10;

nr=8,nw=3,4,5,6,7,8,9,10;

nr=9,nw=2,3,4,5,6,7,8,9,10;

nr=10,nw=1,2,3,4,5,6,7,8,9,10.

6、 文件服务器的一个主存来连续地存储文件,当文件增大超出了当前所在单元,该文件要进行备份。假设一般文件长为20m字节,每拷贝32字节的字需要200纳秒(10-9秒),那么一秒钟能拷贝多少文件?你能给出一种方法,备份文件而又不一直占用文件服务器cpu的时间?

答:1/(20*106/32*200*10-9)=8

设缓存大小为1m,接受数据当缓存满了直接写入硬盘,然后再接收再写入,这样就可以备份文件而又不一直占用文件服务器cpu的时间。

三、解答。1、举出分布式系统相对于集中式系统的优缺点。

分布式系统相对于集中式系统的优点:

1) 经济(微处理机提供了比大型主机更好的性价比);

2) 速度(分布式系统总的计算能力比单个大型主机的更强);

3) 固有的分布性(一些应用涉及到空间上分散的机器);

4) 可靠性(如果一台机器崩溃,整个系统还可以运转);

5) 渐增(计算能力可以逐渐有所增加)。

相对于集中式系统的缺点:

1) 软件(目前为分布式系统开发的软件还很少);

2) 通信网络(网络可能饱和及引起其他问题);

3) 安全性问题(容易造成对保密数据的访问)。

2、举出wwv广播时刻与分布式系统中处理机设置的内部时钟之间引入的延迟原因。

第一,在大气层中环境和距离有信号传输延迟。

第二,当wwv得接收机器争取获得以太网时有碰撞延迟。

第三,在局域网上有分组传输延迟。

第四,中断处理延误。

第五,内部排队延误,在数据包到达后有每个处理器延迟。

3、完成一个远程过程调用,涉及的步骤。

调用者将消息放到参数表中传递给被调用者,结果作为过程的返回值返回给被调用者。消息的传送与i/o操作对于编程人员来说是不可见的。这种方法称为远程过程调用(rpc)。

1) 客户过程以普通方式调用相应的客户存根。

2) 客户存根建立消息并激活内核陷阱。

3) 内核将消息发送到远程内核。

4) 远程内核将消息送到服务器存根。

5) 服务器存根取出消息中的参数后调用服务器的过程。

6) 服务器完成工作后将结果返回至服务器存根。

7) 服务器存根将它打包并激活内核陷阱。

8) 远程内核将消息发送至客户内核。

9) 客户内核将消息交给客户存根。

10)客户存根从消息中取出结果返回给客户。

4、tmr可以扩展到每组五个部件而不是三个吗?如果可以,它有何特性?

答:可以。它有五个部件和五个表决器,但是每组设备最多允许有两个故障。

5、试说出不可更改文件语义的两个有用的特性。

不可更改文件语义的两个有用的特性:共享、复制和简单。

四、论述题。

1、当用一个私有工空间实现事务处理时,可能需要将大量的文件索引拷贝到父辈工作区。怎样实现这种操作而不引入竞争条件?(看书p107图3.17)

为了不引入竞争的条件,我们可以用加锁来避免这类问题。作为一个事务的一部分,当一个进程需要拷贝时,它首先将该文件加锁,从而避免了其它的竞争条件,在完成任务后进行解锁。

3、三模冗余模型可以处理byzantine失效问题吗?请说明理由。(p157图4.22)

不可以。首先,什么是三模冗余?每个设备复制三次,结果是每个设备设置三个表决器,每个表决器都有三个输入和一个输出。

若两个或三个输入相同,输出则等于该输入。若三个输入各不相同,则输出就是不定值。这种设计就是三模冗余。

其次,处理byzantine 错误时,出错的处理机仍然在运行并发出错误或随机的应答,那么至少需要2k+1个处理机才能达到k容错。

已经证明了一个有m 个处理机出错时的系统中要实现协同一致,只有当2m+1个正常的处理机是才可能。处理机的总数为3m+1.即只有大于2/3的处理机正常工作时,协同工作一致才是可能的。

例如,当m=3和n=1的情况,要解决这个问题,处理机总数为3n+1=4时才能达到容错的目的,达成协议;而这里m=3是不可能协同一致的,故三模冗余不能解决byzantine型错误。

4、为什么有些分布式系统使用两级命名法?

用户和程序使用符号名是很方便的,但在系统内部使用,这些名字太长且不方便,这样当用户打开一个文件或另外引用符号名对时,系统将立即在适当的目录中查找符号名以得到其用于定位该文件的二进制名。

5、在无状态服务器中,每个请求为什么要包括一个文件区段?在有状态服务器中是否也需要?

在无状态服务器中,没有记录具体的客户请求,系统不知道到底是哪个客户打开了哪个文件。所以每一个请求必须是独立的,也就是说必须在请求中包含一个文件区段,告诉服务器这个请求想要打开哪个文件。而在有状态的服务器中,服务器中保留了客户的请求,因此,请求也包含文件区段,但少了一个偏移量。

6、设想一个分布式文件使用客户机高速缓存技术,运用延迟回写策略。一台机器打开,修改并关闭一个文件。30秒后,另一机器从服务器读取文件,它得到的是哪一版本。

答:得到的是修改之后的版本,因为在高速缓存技术中,文件修改并关闭之后,文件已经被写回到服务器。

7、 分布式操作系统与网络操作系统的主要区别是什么?

网络操作系统和分布式操作系统的区别是:

1)分布性。分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。

2)并行性。分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,网络中每个用户的一个或多个任务通常都在本地计算机上处理。

3)透明性。分布式操作系统通常能很好地隐藏系统内部的实现细节。包括对象的物理位置、并发控制和系统故障等对用户都是透明的。

例如,当用户要访问某个文件时,只需提供文件名而无须知道(所要访问的对象)它是驻留在那个站点上,即可对它进行访问,以即具有物理位置的透明性。网络操作系统的透明性则主要指操作实现上的透明性。例如,当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无需了解对该文件的存取是如何实现的。

高级操作系统

分布式系统概念 一个分布式系统是若干个独立的计算机的集合,但是对该系统的用户来说,感觉该系统就像一台计算机一样。分布式操作系统 是对分布式系统提供资源管理的软件系统。通常表现为中间件形式。一 分布式系统的关键目标。分布式系统的4个关键目标 1 必须是资源共享的。要让用户方便地访问资源,并且以一种受控...

高级操作系统

目录。1.分布式操作系统透明性的含义是什么?课本8.5分布式系统的透明性 2 2.简述一种分布式操作系统的时钟同步算法 2 3.为什么需要动态负载平衡?影响其效率的3个主要因素是什么?3 4.论述windows操作系统的安全性 3 4.1 windows操作系统的安全性讨论 3 4.1.1 wind...

高级操作系统

14 通道是一种。a i o端口 b 数据通路 c 可编程芯片 d cpu 15 下列对程序和数据加工过程的作业步中,哪一步能形成可执行的内存映象文件?a 编辑 b 编译 c 连接 d 运行。16 批处理系统的主要缺点是。a cpu利用率低 b 缺少交互性 c 并发处理能力差 d 具有独立性。17 ...