首页 > 代码库 > Linux学习之路(1)前期准备
Linux学习之路(1)前期准备
这段时间在看鸟哥的Linux私房菜,记下一些重要的东西,方便以后复习
一、操作系统 = 内核 + 系统调用
1、内核:直接和硬件打交道,负责计算机的资源分配(CPU)与管理(内存)
功能:
(1)系统调用接口——方便程序员可以与内核通信;
(2)程序管理;
(3)内存管理;
(4)文件系统管理;
(5)设备驱动。
2、系统调用:为了保护内核,一个开发接口——系统调用层。
二、Linux是什么?(基本概念)
1、Linux = 内核层 + 系统调用接口层,并且Linux具有“可移植性”。
2、POSIX(Portable Operating System Interface):是可携式操作系统接口,规范内核与应用程序之间的接口。
3、内核版本:
主版本.次版本.释放版本-修改版本(奇数为开发中的版本,偶数为稳定版本)
查看内核版本:uname -r
4、Linux distributions = Linux Kernel + Free Software + Documentations(Tools) + 可完全安装的程序锁制定的一套完整的系统
三、主机规划与磁盘分区
1、各个硬件设备在Linux中的文件名
(1)每个设备都被当成一个文件来对待。
要熟记IDE (/dev/hd[a-d]),SATA(/dev/sd[a-p])硬盘的文件名
(2)在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录下。
2、磁盘分区
(1)磁盘链接的方式与设备文件名的关系
IDE\Jump Master Slave
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc /dev/hdd
(2)磁盘组成:盘片 + 机械手臂 + 磁头 + 主轴马达
盘片 = 扇区 + 柱面(每个扇区为512 bytes)
整块磁盘的第一个扇区很重要:
第一块扇区:主引导区(Master Boot Record, MBR)——安装引导加载程序的地方——446 bytes
分区表(Partition Table)——记录整块硬盘分区的状态——64 bytes
(3)分区表
用柱面号码(编号)的方式来处理,那么在分区表所在的64bytes容量中,总共分为四组记录区,魅族记录去记录了该区段的起始与结束的柱面号码——其实只是针对64bytes的分区表进行设置而已
注意:
磁盘默认的分区表仅能写入四组分区信息,称之为主(Primary)或扩展(Extended)分区
扩展分区:为了解决默认分区只有四组的限制。
使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化
主分区、扩展分区与逻辑分区
主分区与扩展分区最多可以有四个(硬盘的限制)
(P,P + E, P + P + E,, P + P + P + E)
扩展分区最多只能有一个(操作系统的限制)
逻辑分区是由扩展分区持续切割出来的分区
逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘 则有11个逻辑分区(5号到15号)。
(4)开机流程:BIOS -> MBR -> boot loader -> 内核文件
-> boot sector -> boot loader -> 内核文件
BIOS:开机主动执行的韧体,会认识第一个可开机的设备
MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包括引导加载程序
boot loader:提供菜单,加载内核,转交控制权给其他loader,可安装在MBR或者启动扇区(boot sector)中
内核文件:开始操作系统的功能
3、磁盘分区选择
(1)目录树结构
(2)文件系统与目录树的关系——挂载
就是利用目录当成进入点,将磁盘分区的数据放置在该目录下;换言之,进入该目录就可以读取该分区。
4、主机磁盘的主要规划
前期:分出根目录和交换空间(/ & swap)
原则:分析较大容量的目录(挂载到一个大分区下),以及读写较为频分的目录。把这些重要的目录挂载到不同分区下不与根目录放到一起,就提高了安全性。
例如:可以把根目录放到Partition1下,把home目录放到Partition2下
Linux学习之路(1)前期准备