系统架构设计师典型例题

本文详细探讨了磁盘存储的相关概念,包括索引文件结构、页式存储、磁盘阵列以及磁盘存储的性能分析。讨论了如何通过不同级别的索引实现大文件的存储管理,分析了页式存储中的地址变换,并通过实例计算了不同层次索引所能容纳的文件大小。此外,还介绍了磁盘阵列RAID5的容量计算,以及磁盘I/O操作的时间成本。最后,文章涉及了文件系统中的逻辑字节定位和项目管理中的关键路径问题,展示了如何通过优化调度减少总体成本。
摘要由CSDN通过智能技术生成

操作系统

索引文件结构

设块长为512B,每个块号占3B,一个物理块可放:512/3=170个目录项:一个一级索引可存放的文件大小为:170×512=85KB。一个二级索引可存放文件的大小为:170×170×512=14450KB。一个三级索引可存放文件的大小为:170×170×170×512=2456500KB。

索引文件结构

根据题意,磁盘索引块为1KB,每个地址项大小为4B,故每个磁盘索引块可存放1024/4=256个物理块地址。

又因为文件索引节点中有8个地址项,其中iaddr[0]、iaddr[1]、iaddr[12]、iaddr[3]、iaddr[4]、iaddr[5]地址项为直接地址索引,分别存放逻辑块号为0〜5的物理块地址;

iaddr[6]是一级间接地址索引,这意味着iaddr[6]地址项指出的物理块中存放逻辑块号为6〜261的物理块号;

iaddr[7]是二级间接地址索引,该地址项指出的物理块存放了256个间接索引表的地址,这256个间接索引表存放逻辑块号为262〜65795的物理块号。

经上分析不难得出,试题(3)的正确答案是A。

因为单个文件的逻辑块号可以从0〜65795,共65796个物理块,而磁盘数据块大小为1KB,所以单个文件最大长度是65796KB。

页式存储

本题考查的是页式存储管理中的地址变换知识。解题思路有两种:

(1)页式存储系统的逻辑地址由页号和页内地址两部分组成。题目已知页面大小为 4K,因为4K=2^12,所以页内地址有12位。现在把逻辑地址8644转成二进制数得100001 1100 0100,这里的低12位为页内偏移量,最高两位则为页号,所以逻辑地址8644的页号为10(即十进制数的2),所以物理块号为8,化为二进制数得1000。把物理块号和页内偏移地址拼合得10000001 11000100,转化为十进制数得33220。

(2)在页式存储管理中,有效地址除页的大小,取整为页号,取余为页内地址。本题页面的大小为4K,有效地址8644除4096,取整为2,取余为452。我们先查页表得物理块号8,因此a的有效地址为8×4096+452= 33220。

磁盘阵列

假如有 3 块容量是 80G 的硬盘做 RAID 5 阵列,则这个 RAID 5 的容量是( );而如果有 2 块 80G 的盘和 1 块 40G 的盘,此时 RAID 5 的容量是( )。

A.240G B.160G C.80G D.40G
A.40G B.80G C.160G D.200G

【解析】

相关知识点:RAID
RAID5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。这种方案中数据信息与校验信息的配比是 N+1 方案,即 N 份数据,1 份校验信息。
所以用 3 块容量为 80G 的硬盘实际数据容量为 160G。当3盘不同容量的盘做 RAID 时,会以最小容量的盘为准,所以 2 块 80G 和 1 块 40G的盘视为 3 块 40G 的盘,所以容量为(3-1)*40 = 80G。

磁盘存储1

本题是一个较为复杂的磁盘原理问题,我们可以通过模拟磁盘的运行来进行分析求解。运作过程为:
1、读取 R1:耗时 3ms。读取完,磁头位于 R2的开始位置。
2、处理 R1:耗时 6ms。处理完,磁头位于 R4的开始位置。
3、旋转定位到 R2开始位置:耗时 24ms。
4、读取 R2:耗时 3ms。读取完,磁头位于 R3的开始位置。
5、处理 R2:耗时 6ms。处理完,磁头位于 R5的开始位置。
6、旋转定位到 R3开始位置:耗时 24ms。
……

从以上分析可以得知,读取并处理 R1 一共需要 9 毫秒。而从 R2 开始,多了一个旋转定位时间,R2 旋转定
位到读取并处理一共需要 33 毫秒,后面的 R3 至 R10与 R2的情况一致。所以一共耗时:
9+33*9=306 毫秒。

本题后面一问要求计算处理 10 个记录的最少时间。其实只要把记录间隔存放,就能达到这个目标。在物理
块 1 中存放 R1,在物理存 4 中存放 R2,在物理块 7 中存放 R3,依此类推,这样可以做到每条记录的读取与处
理时间之和均为 9ms,所以处理 10 条记录一共 90ms。

磁盘存储2

某磁盘磁头从一个磁道移至另一个磁道需要 10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为 10 个磁道,每块的旋转延迟时间及传输时间分别为 100ms 和 2ms,则读取一个 100 块的文件需要(11)ms 的时间。 (11) A. 10200 B. 11000 C. 11200 D. 20200

根据题目描述,读取一个连续数据需要的时间包括磁道移动时间、旋转延迟时间和传输时间三个部分,总时间花费为(10×10) + 100 + 2 = 202ms,因此读取一个 100 块文件需要的时间为 202×100=20200ms。

磁盘存储3

某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间 T 为 10μs,缓冲区送用户区的时间 M 为 6μs,系统对每个磁盘块数据的处理时间 C 为2μs。若用户需要将大小为 10 个磁盘块的 Doc1 文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用双缓冲需要花费的时间为(5)μs,比使用单缓冲节约了(6)μs 时间。 (5) A. 100 B. 108 C. 162 D. 180 (6) A. 0 B. 8 C. 54 D. 62

答案:(5)B,(6)C

单缓冲区执行时间:(10+6+2)+(10-1)*(10+6)=162us

双缓冲区执行时间:(10+6+2)+(10-1)*10=108us

文件系统1

逻辑字节也称为相对字节,是从0开始计算的,而「(12288 + 1)/4096=4 ,所以第12288逻辑字节处的信息,应访问 101应号磁盘块。

项目管理

时间管理的关键路径问题

本题解析来源于希赛网,整理了格式等细节

本题是项目管理中,时间管理的关键路径问题。先将题目中的各个结点依赖关系画出来,如图所示:


通过结点依赖图,结合题目正常进度所需天数很容易看出ACD为关键路径。关键路径长度为12天。但这样得到的就是最短工期与最少花费吗?不是。因为题目指出间接花费是每天5万元,而赶工每天的费用仅2-4万。此时赶工完成部分任务,既能缩短工期,又能降低费用,是合适的解决方案,经过分析,赶工方案为:

A赶工2天,B赶工1天,D赶工3天。此时关键路径长度为7天,总花费为106万。

分析过程如下:
(1)总成本=直接成本+间接成本。
赶工处理之前,项目的直接成本是各个作业的直接费用10+15+12+18=55万元;

间接费用,根据题干“该工程的间接费用为每天5万元”,项目工期为12天,所以间接成本是12×5=60万元;

总成本=55+60=115万元。

(2)赶工的必要性

每压缩一天工期,可以节约间接成本5万元,而赶工每天会增加直接成本,只要赶工增加的成本不超过5万元,那么就可以安排赶工,节约项目总成本。

(3)确定赶工方案

赶工必定是节约了间接成本,也就是压缩了项目工期,只有关键路径才能影响项目工期。根据关键路径A-C-D(12天),选择代价最小的作业进行压缩,也就是D活动,当D活动压缩2天之后,A-C-D工期为10天,与A-B工期一样;

此时关键路径发生了改变,有2条关键路径,分别是A-C-D和A-B,此时若要压缩工期,必须2条路径同时压缩,那么此时的压缩方案有多种:压缩相交结点A,每天增加直接成本4万元;同时压缩B和D,每天增加成本2+2=4天。由于A原本需要3天最少需要1天,可压缩的空间是2天,B活动原本需要7天最少需要3天,可压缩空间4天,D活动原本需要5天最少需要2天,可压缩空间是3天,之前已经对D压缩了2天,也就是说B和D同时压缩的方案,由于D的限制,还有1天可压缩。

此时可压缩方案分别是A压缩2天,B和D同时压缩1天,项目工期为10-2-1=7天。

综上:赶工的全部过程如下,(1)D压缩2天;(2)A压缩2天;(3)B和D压缩1天。(其中(2)和(3)顺序可交换)。也就是A压缩2天,B压缩1天,D压缩3天。

(4)确定最终的花费
间接成本:7×5=35万元

直接成本:原直接费用10+15+12+18=55万元,赶工费用,A:4×2=8;B:2×1=2;D:2×3=6;

总直接成本:55+8+2+6=71万元

总成本:35+71=106万元。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值