Unix/Linux 编程实践教程第四章习题
发布于16 Jul 2019

“仅供参考”


4 .1

这个硬件位置一般称作 CHS 地址,既磁头数(Heads)、柱面数(Cylinders)、 扇区数(Sectors),而在系统中描述数据所在的区块称作 LBA (逻辑区块地址),这种寻址方式把硬盘看成一个大的数组,每一个数据块有一个编号。两个地址进行转换时要注意:由于系统在写入数据时是按照从柱面到柱面的方式,在上一个柱面写满数据后才移动磁头到下一个柱面,并从柱面的第一个磁头的第一个扇区开始写入,从而使磁盘性能最优,所以,在对物理扇区进行线性编址时,也按照这种方式进行。即把第一柱面(0柱)第一磁头(0面)的第一扇区(1扇区)编为逻辑“0”扇区,把第一柱面(0柱)第一磁头(0面)的第二扇区(2扇区)编为逻辑 “1” 扇区,直至第一柱面(0柱)第一磁头(0面)的第63扇区(63扇区)编为逻辑“62”扇区,然后转到第一柱面(0柱)第二磁头(1面)的第一扇区(1扇区),接着上面编为逻辑 “63” 扇区,0柱面所有扇区编号完毕后转到1柱面的0磁头1扇区,依次往下进行,直至把所有的扇区都编上号。从这个关系就可以推测出 LBACHS 的转换公式:这里规定用 C 表示当前柱面号,H 表示当前磁头号,S 表示当前扇区号,CS 表示起始柱面号,HS 表示起始磁头号,SS 表示起始扇区号,PS 表示每磁道扇区数,PH 表示每柱面磁道数。

Unix/Linux 编程实践教程第三章习题
发布于16 Jul 2019

“仅供参考”


3.1

在我的 deepin 上,d_name 的长度是 256,有的系统定义成 1 是为了节省空间,使用时可以通过 malloc() 动态的分配空间,比如:

Unix/Linux 编程实践教程第二章习题
发布于30 Jun 2019

“仅供参考”


tips: 如果使用 man 查询是出现问题可能是你的 Linux 发行版没有完整的 man pages,可以通过

sudo apt install manpages
sudo apt install manpages-dev

安装。

简述计算机的启动过程
发布于14 Sep 2018

“探索开机的秘密”


我们知道计算机的主要由 CPU、内存、外存、外部设备等组成,其中CPU是计算机的心脏,CPU 从内存中读取指令,一条条不知疲倦的执行,实际上我们所说的内存也就是 RAM 在掉电之后里面的内容 会随之清空,这样开机时 CPU 就不能从内存中正常的读取指令了,怎么办呢?实际上还有一种叫做ROM的存储器,ROM 中的内容时可以永久保存的,计算机开机的过程就从 ROM 中开始。