SchoolWork-LaTeX/操作系统/平时作业/第四章作业.tex

83 lines
3.9 KiB
TeX
Raw Normal View History

2024-09-02 17:47:53 +08:00
\documentclass[全部作业]{subfiles}
\input{mysubpreamble}
\begin{document}
\setcounter{chapter}{3}
\chapter{文件系统}
\begin{enumerate}
\questionandanswer[]{
一个文件系统的盘块大小为1KB每块地址用4B表示当分别采用连
续、链接、二级索引和UNIX S V 分配方案时,试确定各方案能管理的最大文件,
管理一个10MB的大文件和一个10KB的小文件时所需的管理专用块数以及要
访问大文件的第9M+3.5KB单元时需要的磁盘I/O操作次数。
A$\sim $D:1不受限制 21KB 3256KB 464MB
516GB 61KB+256KB+64MB+16GB
710KB+256KB+64MB+16GB
}{
二级索引管理的最大文件:
$$
256\times 256\times 1 \mathrm{KB} = 2^{8}\times 2^{8}\times 1 \mathrm{KB} = 2^{16}\mathrm{KB} = 2^{6} \mathrm{MB} = 64 \mathrm{MB}
$$
二级索引专用块数:
$$
10\text{KB}/1\text{KB} =10 \text{个存储块}
$$
$$
\left\lceil 10/256 \right\rceil = 1 \text{个二级索引块}, \quad \left\lceil 1/256 \right\rceil =1 \text{个一级索引块}
$$
$$
10\text{MB}/1\text{KB}=10\times 2^{10}\text{个存储块}
$$
$$
10\times 2^{10}/256 = 10\times 2^{2} = 40 \text{个二级索引块}, \quad \left\lceil 1/256 \right\rceil =1 \text{个一级索引块}
$$
UNIX专用块数
$$
10\text{MB}-10\text{KB}-256\text{KB} = (10\times 2^{20} - 10\times 2^{10} - 256\times 2^{10}) = 10213376\text{B} = 9974\text{KB}
$$
$$
\left\lceil 9974/256 \right\rceil = 39 \text{个二级索引块}, \quad \left\lceil 39/256 \right\rceil =1 \text{个一级索引块}
$$
$$
1+39+1=41 \text{个管理专用块}
$$
大文件的某处信息需要的IO次数
$$
\left\lceil 9\times 2^{10} +3.5 \right\rceil + 1 = 9221
$$
\begin{center}
\begin{tabular}{cccccc}
\toprule
& & 连续分配 & 链接分配 & 二级索引 & UNIX \\
\midrule
\multicolumn{2}{c}{管理的最大文件} & A(1) & B(1) & C(4) & D(7) \\
\hline
\multirow{2}{*}{管理用的专用块数} & 10KB 文件 & 0 & 0 & 2 & 0 \\
& 10MB 文件 & 0 & 0 & 41 & 41 \\
\hline
大文件的某处信息 & 9M+3.5KB & 1 & 9221 & 3 & 3 \\
\bottomrule
\end{tabular}
\end{center}
}
\questionandanswer[]{
在 Unix 文件系统中,文件的物理组织为 Unix 直接间接混合寻址方式,假设一个进程要在第 4200 字节、第 210000 字节和第800000 字节三个偏移处读文件,请问分别要访问多少次磁盘?并以必要的图示说明访问之过程。假设该文件的 FCB即文件说明或文件控制块已读入内存每个磁盘块大小为1K块号用 32 位的指针表示。
}{
32位即4B所以一个索引块能存储 $1\text{KB}/4\text{B}=256\text{个块指针}$
\includexopp[1.1]{4.2.1}
图中用不同颜色写出了不同偏移处的计算步骤以及访问过程。访问磁盘次数即不同颜色的箭头数量,在第 4200 字节、第 210000 字节和第800000 字节三个偏移处读文件分别要访问1、2、3次磁盘。
}
\questionandanswer[]{
假设文件系统的盘块大小为 4KB, 某文件的物理结构采用连续文件方式,假设该文件的首个盘块的盘块号为 85那么该文件的第8292 字节单元在第几个盘块上?其盘块号为多少?该字节单元是盘块内的第几字节?
}{
$$
8292\text{B}/4\text{KB} = 8292 \div (4\times 2^{10}) = 2 \cdots\cdots 100
$$
\includexopp[1]{4.3.1}
所以该文件的第8292字节单元在第3个盘块上其盘块号为87该字节单元是盘块内的第101字节。
}
\end{enumerate}
\end{document}