05 Linux文件系统.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05Linux文件系统整理ppt

Linux文件系统简介 在Unix业界有一句话叫做“一切皆文件”,这也是对Linux文件系统的一个很好抽象。 我们说“Linux中一切皆文件”直观地可以这样理解:所有的东西,设备、内存都模拟成文件。 而Windows中,我们则可以极端地认为“一切皆设备” Linux文件系统简介 Linux定义了一个抽象的内核级接口,能够容许集中不同的后端文件系统,文件树的有些部分由传统的给予磁盘的实现来处理,其他部分则由内核中单独的驱动程序来负责。 Linux的文件系统可以认为包括4种主要组成部分: 命名空间(给事物取名,并按一种层次解构组织他们的形式) API(用来便利和操作对象的一套系统调用) 安全模型(用来保护,隐藏何共享事物的方案) 实现(把逻辑模型同实际硬件联系到一起的软件) 命名空间 文件类型 我们把Linux下的文件分成5种文件类型: c 字符设备 b 块设备 l 连接 f 普通文件 d 目录。 设备文件 Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。 每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。 这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为“虚拟设备”)。 设备文件 一般来说,每个设备在 /dev 目录下都有一个对应的文件(设备节点)。 可以通过 cat /proc/devices 命令查看当前已经加载的设备驱动程序的主设备号。 在 /dev 目录下除了字符设备和块设备节点之外还通常还会存在:FIFO管道、Socket、软/硬连接、目录。这些东西没有主/次设备号。 设备文件的命名 内核能够识别的所有设备都记录在源码树下的 Documentation/devices.txt 文件中。 主设备号 设备类型 次设备号=文件名 简要说明 0 未命名设备(例如:挂载的非设备) 0 = 为空设备号保留 1 char 内存设备 1 = /dev/mem 直接存取物理内存 2 = /dev/kmem 存取经过内核虚拟之后的内存 3 = /dev/null 空设备。任何写入都将被直接丢弃,任何读取都将得到EOF。 5 = /dev/zero 零字节源,只能读取到无限多的零字节。 8 = /dev/random 随机数发生器。完全由用户的输入来产生随机数。 如果用户停止所有动作,则停止产生新的随机数。 9 = /dev/urandom 更快,但是不够安全的随机数发生器。尽可能由用户的输入来产生随机数, 如果用户停止动作,则把已经产生的随机数做为种子来产生新的随机数。 11 = /dev/kmsg 任何对该文件的写入都将作为 printk 的输出 设备文件的命名 1 block RAM disk 0 = /dev/ram0 第1个 RAM disk (initrd只能使用ram0) 1 = /dev/ram1 第2个 RAM disk ... 4 char TTY(终端)设备 0 = /dev/tty0 当前虚拟控制台 1 = /dev/tty1 第1个虚拟控制台 ... 4 block 如果根文件系统以是以只读方式挂载的,那么就不可能创建真正的设备节点, 此时就使用该设备作为动态分配的主(major)设备的别名 0 = /dev/root 5 char 其他 TTY 设备 0 = /dev/tty 当前 TTY 设备 1 = /dev/console 系统控制台(一般是/dev/tty0) 7 block 回环设备(用一个普通的磁盘文件来模拟一个块设备) 对回环设备的绑定由 mount(8) 或 losetup(8) 处理 0 = /dev/loop0 第1个回环设备 1 = /dev/loop1 第2个回环设备 ... 设备文件的命名 8 block SCSI 磁盘(0-15) 0 = /dev/sda 第1个 SCSI 磁盘(整个磁盘) 16 = /dev/sdb 第2个 SCSI 磁盘(整个磁盘) 32 = /dev/sdc 第3个 SCSI 磁盘(整个磁盘) ... 分区表示方法如下(以第3个 SCSI 磁盘为例) 33 = /dev/sdc1 第1个分区 34 = /dev/sdc2

文档评论(0)

zyzsaa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档