中国Linux公社论坛's Archiver

Jagen 发表于 2008-3-5 01:48

Magic Linux开发入门指南(五)

[font=宋体][size=6][b]2.6 虚拟文件系统[/b][/size][/font]
[font=宋体][size=12pt]    前面几节所介绍的目录和文件,都是真真正正、实实在在的存储在具体的外部
存储设备上的,它们可能是在本机的硬盘、闪存、光盘中,可能保存在不只一个磁
盘分区中,也可能保存在网络中其它主机的存储设备中的。本节所介绍的几个文件
系统,虽然它们出现在根文件系统中,但它里面的内容却无法在任何外部存储设备
中找到,因为它们都在内存中。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[b][size=5][font=Cambria]2.6.1 proc[/font][font=宋体]文件系统[/font][/size][/b]
[size=12pt][font=Times New Roman][font=宋体]    [/font]proc[/font][/size][font=宋体][size=12pt]是一个重要虚拟文件系统,通过它里面的一些文件,可以获取系统状态信
息并修改某些系统的配置信息。[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统本身不占用磁盘空间,它仅存在于内
存之中,为操作系统本身和应用程序之间的通信提供了一个安全的接口。当我们在
内核中添加了新功能或设备驱动时,经常需要得到一些系统状态的信息,一般这样
的功能可能需要经过一些象[/size][/font][size=12pt][font=Times New Roman]ioctl()[/font][/size][font=宋体][size=12pt]这样的系统调用来完成。系统调用接口对于一些功
能性的信息可能是适合的,因为应用程序必须将这些信息读出后再做一定的处理。
但对于一些实时性的系统信息,例如内存的使用状况,或者是驱动设备的统计资料
等,我们更需要一个比较简单易用的接口来取得它们。[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统就是这样的一
个接口,我们可以简单的用[/size][/font][size=12pt][font=Times New Roman]cat[/font][/size][font=宋体][size=12pt]、[/size][/font][size=12pt][font=Times New Roman]strings[/font][/size][font=宋体][size=12pt]程序来查看这些信息。例如,执行下面的命
令:[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[font=宋体][b][size=3][color=#4f81bd]    #cat /proc/meminfo[/color][/size][/b][/font]
[size=12pt][font=Times New Roman][/font][/size]
[font=宋体][size=12pt]你可能会得到如下结果:[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[size=12pt][font=Times New Roman]MemTotal:[font=宋体]        [/font]254272 kB[/font][/size]
[size=12pt][font=Times New Roman]MemFree:[font=宋体]        [/font]104416 kB[/font][/size]
[size=12pt][font=Times New Roman]Buffers:[font=宋体]           [/font]23940 kB[/font][/size]
[size=12pt][font=Times New Roman]Cached:[font=宋体]         [/font]103972 kB[/font][/size]
[size=12pt][font=Times New Roman]SwapCached:[font=宋体]          [/font]0 kB[/font][/size]
[size=12pt][font=Times New Roman]Active:[font=宋体]            [/font]64660 kB[/font][/size]
[size=12pt][font=Times New Roman]Inactive:[font=宋体]           [/font]69276 kB[/font][/size]
[size=12pt][font=Times New Roman]HighTotal:[font=宋体]             [/font]0 kB[/font][/size]
[size=12pt][font=Times New Roman]HighFree:[font=宋体]             [/font]0 kB[/font][/size]
[size=12pt][font=Times New Roman]LowTotal:[font=宋体]        [/font]254272 kB[/font][/size]
[size=12pt][font=Times New Roman]LowFree:[font=宋体]        [/font]104416 kB[/font][/size]
[size=12pt][font=Times New Roman]SwapTotal:[font=宋体]       [/font]522072 kB[/font][/size]
[size=12pt][font=Times New Roman]SwapFree:[font=宋体]       [/font]522072 kB[/font][/size]
[size=12pt][font=Times New Roman]Dirty:[font=宋体]               [/font]48 kB[/font][/size]
[size=12pt][font=Times New Roman]Writeback:[font=宋体]            [/font]0 kB[/font][/size]
[size=12pt][font=Times New Roman]Mapped:[font=宋体]         [/font]11708 kB[/font][/size]
[size=12pt][font=Times New Roman]Slab:[font=宋体]            [/font]11364 kB[/font][/size]
[size=12pt][font=Times New Roman]CommitLimit:[font=宋体]     [/font]649208 kB[/font][/size]
[size=12pt][font=Times New Roman]Committed_AS:[font=宋体]   [/font]16064 kB[/font][/size]
[size=12pt][font=Times New Roman]PageTables:[font=宋体]        [/font]320 kB[/font][/size]
[size=12pt][font=Times New Roman]VmallocTotal:[font=宋体]    [/font]770040 kB[/font][/size]
[size=12pt][font=Times New Roman]VmallocUsed:[font=宋体]      [/font]7916 kB[/font][/size]
[size=12pt][font=Times New Roman]VmallocChunk:[font=宋体]   [/font]760564 kB[/font][/size]
[size=12pt][font=Times New Roman]HugePages_Total:[font=宋体]      [/font]0[/font][/size]
[size=12pt][font=Times New Roman]HugePages_Free:[font=宋体]       [/font]0[/font][/size]
[size=12pt][font=Times New Roman]Hugepagesize:[font=宋体]      [/font]4096 kB[/font][/size]
[size=12pt][font=Times New Roman][/font][/size]
[font=宋体][size=12pt]同样的,[/size][/font][size=12pt][font=Times New Roman]free[/font][/size][font=宋体][size=12pt]、[/size][/font][size=12pt][font=Times New Roman]df[/font][/size][font=宋体][size=12pt]、[/size][/font][size=12pt][font=Times New Roman]top[/font][/size][font=宋体][size=12pt]、[/size][/font][size=12pt][font=Times New Roman]ps[/font][/size][font=宋体][size=12pt]等程序的功能实现,强烈依赖于[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统,为了使用
那些程序,一定要使内核支持[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统,并将其挂接到根文件系统的[/size][/font][size=12pt][font=Times New Roman]/proc[/font][/size][font=宋体][size=12pt]目录
下。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]    下表所列的文件或符号连接会出现在[/size][/font][size=12pt][font=Times New Roman]/proc[/font][/size][font=宋体][size=12pt]目录下,但并不详尽,具体都包含那
些,取决于你的内核配置和具体的硬件设备。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]

[float=left][table][tr][td=1,1,110][b][font=宋体][size=12pt]名称[/size][/font][/b][b][size=12pt][/size][/b]
[/td][td=1,1,380][b][font=宋体][size=12pt]功能[/size][/font][/b][b][size=12pt][/size][/b]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]apm[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]高级电源管理信息。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]buddyinfo[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]Buddy[/font][/size][font=宋体][size=12pt]算法内存分配信息。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]cmdline[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核的命令行参数。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]config.gz[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]当前内核的[/size][/font][size=12pt][font=Times New Roman].config[/font][/size][font=宋体][size=12pt]文件。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]cpuinfo[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]cpu[/font][/size][font=宋体][size=12pt]信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]devices[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]可以用到的设备(块设备[/size][/font][size=12pt][font=Times New Roman]/[/font][/size][font=宋体][size=12pt]字符设备)[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]diskstats[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]磁盘[/size][/font][size=12pt][font=Times New Roman]I/O[/font][/size][font=宋体][size=12pt]统计信息。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]dma[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]使用的[/size][/font][size=12pt][font=Times New Roman]DMA[/font][/size][font=宋体][size=12pt]通道[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]execdomains[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]执行区域列表。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]fb[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]Frame buffer[/font][/size][font=宋体][size=12pt]信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]filesystems[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]支持的文件系统[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]interrupts[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]中断的使用情况,记录中断产生次数。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]iomem[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]I/O[/font][/size][font=宋体][size=12pt]内存映射信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]ioports[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]I/O[/font][/size][font=宋体][size=12pt]端口分配情况[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]kcore[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核核心映像,[/size][/font][size=12pt][font=Times New Roman]GDB[/font][/size][font=宋体][size=12pt]可以利用它查看当前内核的所有数据结构状态。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]key-users[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]密钥保留服务文件[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]kmsg[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核消息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]ksyms[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核符号表[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]loadavg[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]负载均衡信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]locks[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核锁[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]mdstat[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]磁盘阵列状态[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]meminfo[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内存信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]misc[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]杂项信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]modules[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]系统已经加载的模块文本列表[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]mounts[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]已挂接的文件系统列表[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]partitions[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]磁盘分区信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]pci[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核识别的[/size][/font][size=12pt][font=Times New Roman]PCI[/font][/size][font=宋体][size=12pt]设备列表[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]self[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]访问[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统的进程信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]slabinfo[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核缓存信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]splash[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]splash[/font][/size][font=宋体][size=12pt]信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]stat[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]全面统计状态表[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]swaps[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]交换空间使用情况[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]uptime[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]系统正常运行时间[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]version[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核版本[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]vmstat[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]虚拟内存统计表[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]zoneinfo[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内存管理区信息[/size][/font][size=12pt][/size]
[/td][/tr][/table][/float]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]

[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]

[font=宋体][size=12pt][font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]            [/size][/font]
[font=宋体][size=3]     [/size][/font]
[font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font]                        表[/size][/font][size=12pt][font=Times New Roman]2-6-1[/font][/size]

[align=left][size=12pt][font=Times New Roman][/font][/size][/align]
[align=left][font=宋体][size=12pt]下表所列的目录会出现在[/size][/font][size=12pt][font=Times New Roman]/proc[/font][/size][font=宋体][size=12pt]目录下,但并不详尽,具体包含那些,取决于你
的内核配置和具体的硬件设备。[/size][/font][/align][align=left][font=宋体][size=3][/size][/font][size=12pt][/size] [/align]
[align=left][size=12pt][font=Times New Roman][/font][/size][/align]
[float=left][table][tr][td=1,1,110][b][font=宋体][size=12pt]名称[/size][/font][/b][b][size=12pt][/size][/b]
[/td][td=1,1,380][b][font=宋体][size=12pt]功能[/size][/font][/b][b][size=12pt][/size][/b]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman][number][/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]进程信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]acpi[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]高级配置与电源接口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]asound[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]ALSA[/font][/size][font=宋体][size=12pt]声卡驱动接口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]bus[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]系统中已安装的总线信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]dirver[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]空目录[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]fs[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]空目录[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]ide[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]IDE[/font][/size][font=宋体][size=12pt]设备信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]irq[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]中断请求设置接口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]net[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]网络各种状态信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]scsi[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]SCSI[/font][/size][font=宋体][size=12pt]设备信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]sys[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核配置接口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]sysvipc[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]中断的使用情况,记录中断产生次数。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]tty[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]tty[/font][/size][font=宋体][size=12pt]驱动信息[/size][/font][size=12pt][/size]
[/td][/tr][/table][/float][font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font][font=宋体][size=3]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][font=宋体][size=3][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/size][/font]

[align=left][font=宋体][size=12pt]                         表[/size][/font][size=12pt][font=Times New Roman]2-6-2[/font][/size][/align]
[align=left][size=12pt][font=Times New Roman][/font][/size][/align]

[size=12pt][font=Times New Roman][font=宋体][size=3]      [/size][/font][font=宋体][size=3]  [/size][/font]
[font=宋体][size=3]    [/size][/font]proc[/font][/size][font=宋体][size=12pt]文件系统的详细内容可以通过执行[/size][/font][size=12pt][font=Times New Roman] man proc[/font][/size][font=宋体][size=12pt]命令获得,这里就不再进行更为详
细的介绍了。[/size][/font]
[align=left][font=宋体][size=3][/size][/font][size=12pt][/size] [/align]
[align=left][size=12pt][font=Times New Roman][/font][/size][/align]
[b][size=5][font=Cambria]2.6.2 sysfs[/font][font=宋体]文件系统[/font][/size][/b]
[font=宋体][size=12pt]    与[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统类似,[/size][/font][size=12pt][font=Times New Roman]sysfs[/font][/size][font=宋体][size=12pt]文件系统也是一个不占有任何磁盘空间的虚拟文件系
统。它通常被挂接在[/size][/font][size=12pt][font=Times New Roman]/sys[/font][/size][font=宋体][size=12pt]目录下。[/size][/font][size=12pt][font=Times New Roman]sysfs[/font][/size][font=宋体][size=12pt]文件系统是[/size][/font][size=12pt][font=Times New Roman]Linux2.6[/font][/size][font=宋体][size=12pt]内核引入的,它把连接在系
统上的设备和总线组织成为一个分级的文件,使得它们可以在用户空间存取。其实[/size][/font][size=12pt][font=Times New Roman]
sysfs[/font][/size][font=宋体][size=12pt]是从[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]和[/size][/font][size=12pt][font=Times New Roman]devfs[/font][/size][font=宋体][size=12pt]中划分出来的。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman]/sys[/font][/size][font=宋体][size=12pt]目录下会包含下表所列的目录,但并不详尽,不过具体内容还取决于内的配
置和具体的硬件设备。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[float=left][table][tr][td=1,1,110][b][font=宋体][size=12pt]名称[/size][/font][/b][b][size=12pt][/size][/b]
[/td][td=1,1,380][b][font=宋体][size=12pt]功能[/size][/font][/b][b][size=12pt][/size][/b]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]block[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]块设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]bus[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]系统总线[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]class[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]设备组[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]devices[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]系统设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]firmware[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]固件[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]kernel[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]module[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]内核模块[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]power[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]供电系统[/size][/font][size=12pt][/size]
[/td][/tr][/table][/float][font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3][/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]

[align=left][font=宋体][size=12pt]                            表[/size][/font][size=12pt][font=Times New Roman]2-6-3[/font][/size][/align]
[size=12pt][font=Times New Roman][/font][/size]
[font=宋体][size=12pt]讲述[/size][/font][size=12pt][font=Times New Roman]sysfs[/font][/size][font=宋体][size=12pt]文件系统各目录的详细内容已经超出本文的范围,感兴趣的读者可以查看
有关[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]驱动程序开发的书籍。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[b][size=5][font=Cambria]2.6.3 devfs[/font][font=宋体]文件系统[/font][/size][/b]
[size=12pt][font=Times New Roman][font=宋体]    [/font]devfs[/font][/size][font=宋体][size=12pt],也叫设备文件系统([/size][/font][size=12pt][font=Times New Roman]Device Filesystem[/font][/size][font=宋体][size=12pt]),设计它的唯一目的就是提供一
个新的(更理性的)方式管理通常位于[/size][/font][size=12pt][font=Times New Roman]/dev[/font][/size][font=宋体][size=12pt]的所有块设备和字符设备。典型的[/size][/font][size=12pt][font=Times New Roman] /dev [/font][/size][font=宋体][size=12pt]
树包含数百个块特殊文件和字符特殊文件,它们全都在根文件系统上。每个特殊文
件都可以让用户空间进程轻松地与内核设备实现交互。举例来说,通过对这些特殊
文件执行操作,你的[/size][/font][size=12pt][font=Times New Roman]X[/font][/size][font=宋体][size=12pt]服务器就能够访问视频硬件,[/size][/font][size=12pt][font=Times New Roman]fsck[/font][/size][font=宋体][size=12pt]可以执行文件系统检验,[/size][/font][size=12pt][font=Times New Roman]lpd[/font][/size][font=宋体][size=12pt]
可以通过并行端口向打印机发送数据。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]实际上,通常[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]和[/size][/font][size=12pt][font=Times New Roman]Unix[/font][/size][font=宋体][size=12pt]更“酷”的方面是,设备不是简单地隐藏在晦涩的[/size][/font][size=12pt][font=Times New Roman]
API [/font][/size][font=宋体][size=12pt]之后,而是真正地与普通文件、目录和符号链接一样存在于文件系统上。因为
字符和块设备是映射到普通文件系统名称空间的,我们通常可以用有意义的方式来
与硬件交互,可以仅使用标准[/size][/font][size=12pt][font=Times New Roman] Unix [/font][/size][font=宋体][size=12pt]命令,如[/size][/font][size=12pt][font=Times New Roman] cat [/font][/size][font=宋体][size=12pt]和[/size][/font][size=12pt][font=Times New Roman] dd[/font][/size][font=宋体][size=12pt]。除了有趣之外,这还使我
们有更强的能力,并提高生产力。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]下表所列的文件或符号连接可能会出现在[/size][/font][size=12pt][font=Times New Roman]/dev[/font][/size][font=宋体][size=12pt]目录下,但并不详尽,具体内容取
决于你的具体硬件设备。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[float=left][table][tr][td=1,1,119][b][font=宋体][size=12pt]名称[/size][/font][/b][b][size=12pt][/size][/b]
[/td][td=1,1,370][b][font=宋体][size=12pt]功能[/size][/font][/b][b][size=12pt][/size][/b]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]audio[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]音品设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]cdrom[0-9][/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]cdrom[/font][/size][font=宋体][size=12pt]设备,这往往是一个符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]console[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]系统控制台[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]core[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]内核镜像,为[/size][/font][size=12pt][font=Times New Roman]/proc/kcore[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]dmmidi[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]固件[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]dsp[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]内核[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]dvd[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]dvd[/font][/size][font=宋体][size=12pt]设备,这往往是一个符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]fb[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]Frame buffer[/font][/size][font=宋体][size=12pt],一般为[/size][/font][size=12pt][font=Times New Roman]/dev/fb0[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]fb0[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]Frame buffer[/font][/size][font=宋体][size=12pt]设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]fd[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]文件描述符,[/size][/font][size=12pt][font=Times New Roman]/proc/self/fd[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]fd[0-9]+[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]软盘设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]floppy[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]软盘设备,一般为[/size][/font][size=12pt][font=Times New Roman]fd[0-9][/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]full[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]满设备,任何写入操作都会失败,并把[/size][/font][size=12pt][font=Times New Roman]errno[/font][/size][font=宋体][size=12pt]设为[/size][/font][size=12pt][font=Times New Roman]ENOSPC[/font][/size][font=宋体][size=12pt],以表示没有剩余空间。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]fuse[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]用户空间的虚拟文件系统[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]hd[a-z][1-9]+[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]IDE[/font][/size][font=宋体][size=12pt]硬盘[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]sd[a-z][1-9]+[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]SCSI[/font][/size][font=宋体][size=12pt]或[/size][/font][size=12pt][font=Times New Roman]SATA[/font][/size][font=宋体][size=12pt]硬盘[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]hpet[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]HPET[/font][/size][font=宋体][size=12pt]设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]initctl[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]用户与[/size][/font][size=12pt][font=Times New Roman]init[/font][/size][font=宋体][size=12pt]进程交互的通道。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]kmem[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]存取经过内核虚拟之后的内存[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]kmsg[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]任何对该文件的写入都将作为[/size][/font][size=12pt][font=Times New Roman]printk[/font][/size][font=宋体][size=12pt]的输出[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]log[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]syslog[/font][/size][font=宋体][size=12pt]的本地套接字[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]loop[0-9][/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]回环设备,一个磁盘文件模拟一个块设备。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]lp[0-9][/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]打印机[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]md[0-9][/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]RAID[/font][/size][font=宋体][size=12pt]设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]mem[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]直接存取物理内存[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]midi[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]MIDI[/font][/size][font=宋体][size=12pt]设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]mixer[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]混音器[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]null[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]控设备。任何写入都将直接被丢弃,任何读取都将得到[/size][/font][size=12pt][font=Times New Roman]EOF[/font][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]parport[0-9][/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]并口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]port[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]存取[/size][/font][size=12pt][font=Times New Roman]I/O[/font][/size][font=宋体][size=12pt]端口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]ppp[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]ppp[/font][/size][font=宋体][size=12pt]拨号设备[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]psaux[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]PS/2[/font][/size][font=宋体][size=12pt]鼠标[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]ptmx[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]所有[/size][/font][size=12pt][font=Times New Roman]PTY master[/font][/size][font=宋体][size=12pt]的复用器[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]pty[a-z]+[1-9]+[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]伪终端,用于创建[/size][/font][size=12pt][font=Times New Roman]ssh[/font][/size][font=宋体][size=12pt]等登陆会话[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]ram[0-9]+[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]RAM disk[/font][/size][font=宋体][size=12pt],[/size][/font][size=12pt][font=Times New Roman]initrd[/font][/size][font=宋体][size=12pt]只能使用[/size][/font][size=12pt][font=Times New Roman]ram0[/font][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]ramdisk[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]ram0[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]random[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]随机数发生器。完全有用户的输入来产生随机数。如果用户停止所有动作,则停止产生随机数。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]root[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]根分区,这是一个到根分区设备的符号连接。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]rtc[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]实时时钟[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]stderr[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]标准错误输出,[/size][/font][size=12pt][font=Times New Roman]/proc/self/fd/2[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]stdin[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]标准输入,[/size][/font][size=12pt][font=Times New Roman]/proc/self/fd/0[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]stdout[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]标准输出,[/size][/font][size=12pt][font=Times New Roman]/proc/self/fd/1[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]tty[1-9,a-z]+[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]tty[/font][/size][font=宋体][size=12pt]虚拟控制台,[/size][/font][size=12pt][font=Times New Roman]tty[/font][/size][font=宋体][size=12pt]为当前控制台[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]ttyS[0-9][/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]串口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]urandom[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]更快,但是不够安全的随机数发生器。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]vcs[1-9,a-z]+[/font][/size]
[/td][td=1,1,370][font=宋体][size=12pt]虚拟控制台的文本内容,一一对应。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]X0R[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]/dev/null[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]XOR[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]/dev/null[/font][/size][font=宋体][size=12pt]的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,119][size=12pt][font=Times New Roman]zero[/font][/size]
[/td][td=1,1,370][size=12pt][font=Times New Roman]0[/font][/size][font=宋体][size=12pt]字节源,可以读取到无限多的[/size][/font][size=12pt][font=Times New Roman]0[/font][/size][font=宋体][size=12pt]字节。[/size][/font][size=12pt][/size]
[/td][/tr][/table][/float][font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]     [/size][/font]
[font=宋体][size=3]      [/size][/font]




[font=宋体][size=3]      [/size][/font]

[align=left][font=宋体][size=12pt]                          表[/size][/font][size=12pt][font=Times New Roman]2-6-4[/font][/size][/align]
[size=12pt][font=Times New Roman][/font][/size]
[font=宋体][size=12pt]下表所列的目录可能会出现在[/size][/font][size=12pt][font=Times New Roman]/dev[/font][/size][font=宋体][size=12pt]目录下,但不是全部,具体情况与你的内核配
置和硬件设备有关。[/size][/font][size=12pt][/size]


[font=宋体][size=3][float=left][table][tr][td=1,1,110][b][font=宋体][size=12pt]名称[/size][/font][/b][b][size=12pt][/size][/b]
[/td][td=1,1,380][b][font=宋体][size=12pt]功能[/size][/font][/b][b][size=12pt][/size][/b]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]cpu[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]cpu[/font][/size][font=宋体][size=12pt]信息[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]disk[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]磁盘[/size][/font][size=12pt][font=Times New Roman]/[/font][/size][font=宋体][size=12pt]光盘信息,里面的内容为具体设备的符号连接[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]input[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]设备组[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]mapper[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]RAID[/font][/size][font=宋体][size=12pt]和[/size][/font][size=12pt][font=Times New Roman]LVM[/font][/size][font=宋体][size=12pt]控制接口[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]net[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]VMware[/font][/size][font=宋体][size=12pt]和[/size][/font][size=12pt][font=Times New Roman]Qemu[/font][/size][font=宋体][size=12pt]等使用的虚拟网卡[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]pts[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]devpts[/font][/size][font=宋体][size=12pt]文件系统挂载点,用于实现伪终端[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]raw[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]裸设备操作[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]shm[/font][/size]
[/td][td=1,1,380][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]独有的[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]文件系统挂接点。[/size][/font][size=12pt][/size]
[/td][/tr][tr][td=1,1,110][size=12pt][font=Times New Roman]snd[/font][/size]
[/td][td=1,1,380][font=宋体][size=12pt]声卡控制接口[/size][/font][size=12pt][/size]
[/td][/tr][/table][/float]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]

[font=宋体][size=3]      [/size][/font]
[font=宋体][size=3]      [/size][/font]

[align=left][font=宋体][size=12pt]                          表[/size][/font][size=12pt][font=Times New Roman]2-6-5[/font][/size][/align]
[size=12pt][font=Times New Roman][/font][/size]
[size=12pt][font=Times New Roman][font=宋体]    [/font]devfs[/font][/size][font=宋体][size=12pt]文件文件系统是内核自动挂接的,当挂接好[/size][/font][size=12pt][font=Times New Roman]devfs[/font][/size][font=宋体][size=12pt]文件系统后,才能正确执
行[/size][/font][size=12pt][font=Times New Roman]init[/font][/size][font=宋体][size=12pt]程序。[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]上[/size][/font][size=12pt][font=Times New Roman]devfs[/font][/size][font=宋体][size=12pt]文件系统与后面讲述的[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]文件系统使用相同结构。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[b][size=5][font=Cambria]2.6.4 tmpfs[/font][font=宋体]文件系统[/font][/size][/b]
[size=12pt][font=Times New Roman][font=宋体]    [/font]tmpfs[/font][/size][font=宋体][size=12pt]文件系统是[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]特有的文件系统,唯一的标准挂接点是[/size][/font][size=12pt][font=Times New Roman]/dev/shm[/font][/size][font=宋体][size=12pt]。当然,用
户可以将其挂接在其他地方。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][font=宋体]    [/font]tmpfs[/font][/size][font=宋体][size=12pt]有些像虚拟磁盘([/size][/font][size=12pt][font=Times New Roman]ramdisk[/font][/size][font=宋体][size=12pt]),但不是一回事。说其像虚拟磁盘,是因为它
可以使用你的[/size][/font][size=12pt][font=Times New Roman]RAM[/font][/size][font=宋体][size=12pt],但它也可以使用你的交换分区。传统的虚拟磁盘是一个块设
备,而且需要一个[/size][/font][size=12pt][font=Times New Roman]mkfs[/font][/size][font=宋体][size=12pt]之类的命令格式化它才能使用。[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]是一个独立的文件系
统,不是块设备,只要挂接,立即就可以使用。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][font=宋体]    [/font]tmpfs[/font][/size][font=宋体][size=12pt]的大下是不确定的,它最初只有很小的空间,但随着文件的复制和创建,
它的大小就会不断变化,换句话说,它会根据你的实际需要而改变大小;[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]的速
度非常惊人,毕竟它是驻留在[/size][/font][size=12pt][font=Times New Roman]RAM[/font][/size][font=宋体][size=12pt]中的,即使用了交换分区,性能仍然非常卓越;
由于[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]是驻留在[/size][/font][size=12pt][font=Times New Roman]RAM[/font][/size][font=宋体][size=12pt]的,因此它的内容是不持久的,断电后,[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]的内容就消失
了,这也是被称作[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]的根本原因。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]    有效的使用[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]可以极大的提高应用程序或整个系统的性能。有关[/size][/font][size=12pt][font=Times New Roman]tmpfs[/font][/size][font=宋体][size=12pt]的详细
内容,还请读者参阅其他相关著作,毕竟本文讲述的是一个[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]发行版的开发。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[b][size=5][font=Cambria]2.6.5 usbdevfs[/font][font=宋体]文件系统[/font][/size][/b]
[font=宋体][size=12pt]    顾名思义,[/size][/font][size=12pt][font=Times New Roman]usbdevfs[/font][/size][font=宋体][size=12pt]就是[/size][/font][size=12pt][font=Times New Roman]USB[/font][/size][font=宋体][size=12pt]设备文件系统,它是一个动态生成的文件系统,有
些类似于[/size][/font][size=12pt][font=Times New Roman]proc[/font][/size][font=宋体][size=12pt]文件系统。它的标准挂接点是[/size][/font][size=12pt][font=Times New Roman]/proc/bus/usb[/font][/size][font=宋体][size=12pt],当然,也可以挂接到其他
地方。它主要用于:用户级驱动、即插即用、提供[/size][/font][size=12pt][font=Times New Roman]USB[/font][/size][font=宋体][size=12pt]设备信息、应用程序轮询[/size][/font][size=12pt][font=Times New Roman]
USB[/font][/size][font=宋体][size=12pt]设备的变化等。[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman][/font][/size]
[b][size=5][font=Cambria]2.6.6 devpts[/font][font=宋体]文件系统[/font][/size][/b]
[size=12pt][font=Times New Roman][font=宋体]    [/font]devpts[/font][/size][font=宋体][size=12pt]文件系统为伪终端提供了一个标准接口,它的标准挂接点是[/size][/font][size=12pt][font=Times New Roman]/dev/pts[/font][/size][font=宋体][size=12pt]。只要[/size][/font][size=12pt][font=Times New Roman]
pty[/font][/size][font=宋体][size=12pt]的主复合设备[/size][/font][size=12pt][font=Times New Roman]/dev/ptmx[/font][/size][font=宋体][size=12pt]被打开,就会在[/size][/font][size=12pt][font=Times New Roman]/dev/pts[/font][/size][font=宋体][size=12pt]下动态的创建一个新的[/size][/font][size=12pt][font=Times New Roman]pty[/font][/size][font=宋体][size=12pt]设备文
件。挂接时,[/size][/font][size=12pt][font=Times New Roman]UID[/font][/size][font=宋体][size=12pt]、[/size][/font][size=12pt][font=Times New Roman]GID[/font][/size][font=宋体][size=12pt]及其工作模式会指定给[/size][/font][size=12pt][font=Times New Roman]devpts[/font][/size][font=宋体][size=12pt]文件系统的所有[/size][/font][size=12pt][font=Times New Roman]pty[/font][/size][font=宋体][size=12pt]文件。这可
以保证伪终端的安全性。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]    讨论[/size][/font][size=12pt][font=Times New Roman]devpts[/font][/size][font=宋体][size=12pt]文件系统的详细内容,已经超过本文范围,还请读者参考其他专
著。[/size][/font][size=12pt][font=Times New Roman] [/font][/size]
[font=Times New Roman][size=3][/size][/font]
[font=宋体][size=5][b]2.7 结束语[/b][/size][/font]
[font=宋体][size=12pt]    贯穿[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]的整个文件组织结构,无不洋溢着那继承自[/size][/font][size=12pt][font=Times New Roman]Unix[/font][/size][font=宋体][size=12pt]的深厚的文化底蕴,
美不胜收。使我不得不感叹,[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]是多么伟大的一个操作系统。正是由于这些,[/size][/font][size=12pt][font=Times New Roman]
Linux[/font][/size][font=宋体][size=12pt]才长久不衰,越发显得青春洋溢,让我们这些热爱[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]的人为其流连忘返。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]    到了这里,对于[/size][/font][size=12pt][font=Times New Roman]Linux[/font][/size][font=宋体][size=12pt]的文件组织结构,我相信各位读者应该有了感官上的认识
了,我也再次感谢你,为了[/size][/font][size=12pt][font=Times New Roman]Magic Linux[/font][/size][font=宋体][size=12pt],能够坚持将这些丑陋的文字读到这里。在
下一章里,我将讲述如何利用本章与上一章的知识,来构建一个能够工作的基本系
统。[/size][/font][size=12pt][/size]
[size=4](未完...待续...)[/size]

karpar 发表于 2008-3-5 19:44

教育网可以直接上Linuxfans了,发个贴,呵呵!

hover_sky 发表于 2008-3-5 20:27

千呼万唤,终于出来了。。。。

谢谢

heshan 发表于 2008-3-6 20:50

谢谢!!

看了楼主的文章有很大收获。

gym216 发表于 2008-5-7 20:14

Magic Linux开发入门指南(六)呢?比lfs看着舒服多了,咱中国人滴,呵呵

wangdu2002 发表于 2008-10-13 01:21

感谢楼主

一路看过来,长了不少见识,等以后水平提高了,希望也能ML出点力!

ticru 发表于 2009-9-22 19:17

不错,没想到这么好的贴。

naruto01 发表于 2011-1-19 00:24

那个那个 太jian了么?   原谅我用词这么不礼貌  不过看作者2010年就不再登陆了,加上看一本小说也。。
谁可以联系下,帮忙打听是不是有剩下的文章可以发表出来?   当然,推荐别的教程也可以。
谢谢啦

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.