设备文件:b块设置:以块为单位,随机访问 如硬盘。c字符设置:线性访问,如键盘。
ll /dev:两数字表示主设备号和次设备号。主设备号标识设备类型.
设备数据只存储在inode中,不占用磁盘空间。还有管道和socket设备文件。
创建设备:mknod -m MODE(如640)指定权限。如:mknod haha c 250 0 主、次设备号要存在。
使用tty取得两窗口设备号:echo 'rewrewqrew' >> /dev/pts/0 即可向对方设备发送信息。
硬盘文件的设备名:IDE,ATA:hd SATA:sd SCSI:sd, USB:sd.以a,b,c来区别同一种类型的不同设备。
IDE,第一个IDE口,主从;dev/hda.第二个IDE口,
hda第一个主分区hda; 第一个逻辑分区hda5.
fdisk -l显示当前所有磁盘及分区。fdisk还能管理分区、创建分区。
低级格式化:创建磁道;高级格式化:创建文件系统;mkfs -t ext3.
vfs:virtual file system虚拟文件系统。
[磁盘分区]
根分区系统;目录可指向其它分区。不是所有目录都可批其它分区如/etc; /bin;等必须在根分区
fdisk /dev/sda 操作后m查看帮助。可使用以下命令
p:显示当前硬件的分区
n:创建新分区
e:扩展分区;p主分区
d:删除一个分区
w:保存并退出
q:不保存退出
t:修改分区类型
l:显示所有支持的文件类型;如
分区执行完成之后:内核不知道分区,通过命令 cat /proc/partitios查看。
需要让内核重读硬盘分区 命令:partprobe:红帽5上可用。接下来格式化分区挂载。
进程和内核打交道;内核与硬件打交道。后面一步叫system call完成与硬件交互
所有的模式运行在用户空间里:
CPU的空间分成四个环,最里面的ring0,依次向外1,2,3;内核运行在ring0上。用户命令运行在ring3上。
内核运行的空间运行在内核空间;也叫内核模式;
inode需要预留多少和存储的文件大小有关。
块大小:block size :1024,2048,4096.即1k,2k,4k。用多大的块大小好取决于文件大小。
具体用多少的大小和CPU有关,各平台不一样。
内存中的空间是存储成页框的。里面只能存1个、2个、4个磁盘块的。页框的大小一般是4K。
设备文件不会用到磁盘块。不会占用磁盘块。没有大小。软链接不会用磁盘块,如果链接字符很长可能会用。
占据磁盘块的文件类型主要是文件和目录。目录的磁盘块中存储着文件名和inode的关系。
位图:bitmap. inode位图;块位图。分别标识inode和block里哪些没有使用,哪些已使用。
块组,超级块。super block.即在一个磁盘上再分几个大块。文件可以跨块存储。
超级块是保存在元数据中的表明磁盘中有哪些块组的信息。超级块坏了分区就坏了。需要做备份。
里面的块组描述符表表明了这个块组从哪个inode开始,哪个结束等信息。
任何一个分区的第一个块是引导块。不能拿来存数据的。后面的都是块组。每一个块组里会存放以下几个部分
1,超级块;super block;2,GDT块组描述表;其中存放的是每个块组名;起始编号;
3,block bitmap; 4,inode bitmap. 5,innode table, 6,data block.
目录中存放的是一张表:里面有inode号码。文件名称的长度;文件类型;文件名。
inode格式:权限、属主属组、大小、时间、直接磁盘块指针、间接磁盘块指针、二级间接磁盘块指针、三级...指针。
1级磁盘块指针只能指向10来个磁盘块。
inode里存储的数据块号长度有限制。文件单个大小超过1M就需要使用间接指针,再大就要使用二级间接指针等。
最大大小限定就是单个文件的大小限制。比如所有的磁盘块全用起来只能用100万块,每块4K。最大大小就是400万K。
上面的内容都是ext2的文件存储格式。
本文地址:http://www.04007.cn/article/1083.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |