system call 系统调用,对硬件进行交互
mkdir进程 -》系统调用--》内核————》硬件
进程们称为用户模式,运行的空间用户空间,所有进程都运行在用户空间,因为他们没有特权
内核运行的位置称为内核 模式或者内核空间
用户的进程是运行在ring3 ,内核是运行在ring0上,ring3和ring0互相信号交互
任何程序在编程的时候,就利用了硬件芯片的功能
一个操作系统的文件系统,是管理磁盘分区的文件存储方式的,元数据在什么地方,数据存在什么地方,这些都是文件系统来管理,所以文件系统直接跟文件打交道,所以文件系统是内核的功能
创建文件系统,创建分区,然后挂载后才能被使用
格式化分区,是指重新创建文件系统,如果创建文件系统,会损坏原数据,因为会重新划分数据块等
RAW:裸设备
低级格式化:创建磁道
高级格式化:分区然后创建文件系统
划分分区是按照柱面来划分的
例如柱面:
10000个柱面,0-50,51-600
但是零磁道和令扇区,不属于任何分区,存放MBR,master boot record
512字节,硬盘是否能启动,主要看这个位置
512bytes:
446bytes :bootloder
64bytes:硬盘分区表,每16字节标识一个分区,一共只能有四个分区
2byte:封装码或者魔数
MBR 决定了我们硬盘最多能有四个主分区
可以使用扩展分区(管理概念,逻辑概念),扩展分区是个逻辑概念,扩展分区需要再次划分为逻辑分区,在分区表上主分区指针上指向硬盘上的某一个位置,那里存放着一张二级分区表,不限制大小和个数
一个柱面要么属于一个分区,要么不属于
10G
60-160 :10.1G
60-159:9.8G
对于固态硬盘,主要模拟机械式硬盘来管理实现
怎么真正实现分区
fdisk sfdisl part
fdisk 最多支持 15个分区的管理
Linux 表示磁盘不同的分分区的时候
sda[1]
sda[2]
sda[3]
sda[4]
sda[5] 第一个逻辑分区
fdisk -l 设备{DEVICE}
fdisk /dev/sda 创建删除,修改分区的
交互式命令,有许多子命令
d:删除分区
n:新建分区
p:显示当前分区信息
w:保存退出
q:不保存退出 所以又反悔的机会
一个硬盘只能有一个扩展分区
让内核重新探测硬盘分区表
partprope /dev/sda
partx -a /dev/sda
partx -a /dev/sda1
会报系统繁忙