挺经典的一本书,大二买的,研一才开始看,做学习笔记监督自己消化知识,希望学有所成。
打算在(一)把基础的、意义不大的内容罗列完。部分直接跳过
第零章 计算机概论
这一章讲的是很基础的知识。许多不是很重要的内容略过不提。
0.1.1.计算机硬件
计算机硬件的五大单元:输入单元、输出单元、中央处理器。
其实我记得应该分为五个单元:运算器、控制器、存储器、输入、输出。
0.1.2 CPU
CPU分为 精简指令集(RISC)与复杂指令集(CISC)。
0.4.2 操作系统
操作系统内核:1. 操作系统也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件。2. 操作系统的内核层直接参考硬件规格写成,只要硬件不同,内核就要进行修改。3. 操作系统只是在管理整个硬件资源,包括CPU、内存、输入输出设备以及系统文件。(Linux经典名言:万物皆文件!) 4. 应用程序的开发都是参考操作系统提供的开发接口,所以此程序只能在该操作系统上运行。
系统调用:为了保护内核,并且让程序员比较容易开发软件,因此操作系统除了内核程序之外,通常还会提供一整组开发接口,这就是系统调用层。
内核功能:1. 系统调用接口 2. 程序管理 3. 内存管理 4. 文件系统管理 5. 设备驱动
第一章 Linux是什么
第二章 Linux如何学习
以上两章都是废话。
第三章 主机规划与磁盘分区
由于我是虚拟机安装,乃至很多Unix编程都是在MacOS上完成,因此这个暂时对我来说作用不是很大,以后如果做服务器之类的工作,可能会用得着。但是这里面对硬件的一些介绍很有用。比如Linux的硬件对应的文件名,这又映证了万物皆文件这句话。
3.1.3 各硬件设备在Linux中的文件名
设备对应文件名
设备 |
设备在Linux内的文件名 |
IDE硬盘 |
/dev/hd[a-d] |
SCSI/SATA/USB硬盘/U盘 |
/dev/sd[a-p] |
软驱 |
/dev/fd[0-1] |
打印机 |
25针:/dev/lp[0-2] USB:/dev/usb/lp[0-15] |
鼠标 |
USB: /dev/usb/mouse[0-15] PS2: /dev/psaux |
当前CD ROM/DVD ROM |
/dev/cdrom |
当前鼠标 |
/dev/mouse |
磁带机 |
IDE: /dev/ht0 SCSI: /dev/st0 |
|
|
3.2.1 磁盘连接的方式与设备文件名的关系
IDE\Jumper |
Master |
Slave |
IDE1(Primary) |
/dev/hda |
/dev/hdb |
IDE2(Secondary) |
/dev/hdc |
/dev/hdd |
3.2.3 磁盘分区表(partition table)
1. 其实所谓分区只是针对64bytes的分区表进行设置
2. 硬盘默认分区表仅能写入四组分区信息
3. 这四组分区信息我们称之为主(Primary)或者扩展(Extended)分区
4. 分区的最小单位为柱面(cylinder)
5. 当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理
6. 逻辑(logical partition)分区是扩展分区继续分切出来的分区
7. 一块硬盘的分区中,/dev/hda1~4保留给主分区和扩展分区 ,从/dev/hda5开始才是逻辑分区
8.主分区与扩展分区最多4个(限制于硬盘)
9. 扩展分区最多有一个(限制于操作系统)
10. 能够被格式化后作为数据访问的分区为主分区和逻辑分区。扩展分区无法格式化
11.逻辑分区的数量依操作系统而不同,Linux中,IDE硬盘最多有59个逻辑分区(5-63),SATA硬盘则有11个逻辑分区(5-15)。
12.一旦扩展分区被破坏,所有的逻辑分区将会删除。
3.2.4 开机流程与主分区引导(MBR)
开机流程如下:
1. BIOS: 开机主动执行的固件,会识别第一个可开机的设备
2. MBR: 第一个可开机设备的第一个删去内的主引导分区块,内包含引导加载程序。
3. 引导加载程序(Boot loader): 一个可读取内核文件来执行的软件
4. 内核文件: 开始操作系统的功能。
硬盘只有一个MBR,存放在第一个扇区。其中放置最基本的引导加载程序。此外,还可以安装在每份分区的引导扇区(boot sector),实现多重引导
1. 每个分区都拥有自己的启动扇区
2. 实际可开机的内核文件是放置到各分区内的。
3. loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已。
4. loader可直接指向或者是间接将管理权转交给另一个管理程序
3.2.5 Linux安装模式下,磁盘分区的选择
目录树结构:整个目录树结构最重要的就是根目录(root directory),这个根目录的表示方法为一条斜线“/”。所有的文件都是由此衍生。
文件系统与目录树的关系: 挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在改目录下;进入该目录可以读取该分区的信息
第四章 安装CentOS 5.x与多重引导小技巧
所需目录/设备 |
磁盘容量 |
分区类型 |
/boot |
100MB |
primary |
/ |
10GB |
primary |
/home |
5GB |
primary |
swap |
1GB |
logical |
以上都是使用Linux之前的基础知识和准备工作。