1.赛普拉斯半导体公司推出其下一代可编程片上射频系统PRoC LP。该产品把WirelessUSB LP 2.4GHz收发器与enCoRe II 8位闪存微控制器集成在一颗单芯片上。PRoC LP简化了编码和电路板布局,旨在缩减设计时间,并降低诸如鼠标、演示工具和RF遥控器等创新、小型无线人机接口设备的板级空间要求。
/proc文件系统简介
2.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:
目录名称 目录内容
apm 高级电源管理信息
cmdline 内核命令行
Cpuinfo关于Cpu信息
Devices可以用到的设备(块设备/字符设备)
DmaUsed DMS channels
Filesystems 支持的文件系统
Interrupts 中断的使用
IoportsI/O端口的使用
Kcore内核核心印象
Kmsg内核消息
Ksyms内核符号表
Loadavg负载均衡
Locks内核锁
Meminfo内存信息
MiscMiscellaneous
Modules加载模块列表
Mounts加载的文件系统
Partitions 系统识别的分区表
RtcReal time clock
Slabinfo Slab pool info
Stat全面统计状态表s
Swaps对换空间的利用情况
Version内核版本
Uptime系统正常运行时间
并不是所有这些目录在你的系统中都有,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数(见下一部分),而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi目录不存在。
除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。进程目录的结构如下:
目录名称 目录内容
Cmdline命令行参数
Environ环境变量值
Fd一个包含所有文件描述符的目录
Mem进程的内存被利用情况
Stat进程状态
StatusProcess status in human readable form
Cwd当前工作目录的链接
ExeLink to the executable of this process
Maps内存印象
Statm进程内存状态信息
Root链接此进程的root目录
用户如果要查看系统信息,可以用cat命令。例如:
>; cat /proc/interrupts
CPU0
0:8728810XT-PICtimer
1:895XT-PICkeyboard
2:0XT-PICcascade
3:531695XT-PICaha152x
4:2014133XT-PICserial
5:44401XT-PICpcnet_cs
8:2XT-PICrtc
11:8XT-PICi82365
12:182918XT-PICMouse
13:1XT-PICfpu PS/2
14:1232265XT-PICide0
15:7XT-PICide1
NMI:0
2、 修改内核参数
在/proc文件系统中有一个有趣的目录:/proc/sys。它不仅提供了内核信息,而且可以通过它修改内核参数,来优化你的系统。但是你必须很小心,因为可能会造成系统崩溃。最好是先找一台无关紧要的机子,调试成功后再应用到你的系统上。
要改变内核的参数,只要用vi编辑或echo参数重定向到文件中即可。下面有一个例子:
# cat /proc/sys/fs/file-max
4096
# echo 8192 >; /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192
如果你优化了参数,则可以把它们写成脚本文件,使它在系统启动时自动完成修改。
×××××××××××××××××××××××××××××××××
/proc 文件系统是一个假的文件系统。它不存在在磁盘某个磁盘上。而是由核心在内存中产生。用于提供关于系统的信息(originally about processes, hence the name)。下面说明一些最重要的文件和目录。 /proc 文件系统在proc man页中有更详细的说明。
/proc/1
关于进程1的信息目录。每个进程在/proc 下有一个名为其进程号的目录。
/proc/cpuinfo
处理器信息,如类型、制造商、型号和性能。
/proc/devices
当前运行的核心配置的设备驱动的列表。
/proc/dma
显示当前使用的DMA通道。
/proc/filesystems
核心配置的文件系统。
/proc/interrupts
显示使用的中断,and how many of each there have been.
/proc/ioports
当前使用的I/O端口。
/proc/kcore
系统物理内存映象。与物理内存大小完全一样,但不实际占用这么多内存;it is generated on the fly as programs access it. (记住:除非你把它拷贝到什么地方,/proc 下没有任何东西占用任何磁盘空间。)
/proc/kmsg
核心输出的消息。也被送到syslog 。
/proc/ksyms
核心符号表。
/proc/loadavg
系统"平均负载";3个没有意义的指示器指出系统当前的工作量。
/proc/meminfo
存储器使用信息,包括物理内存和swap。
/proc/modules
当前加载了哪些核心模块。
/proc/net
网络协议状态信息。
/proc/self
到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时,是不同的连接。这主要便于程序得到它自己的进程目录。
/proc/stat
系统的不同状态,such as the number of page faults since the system was booted.
/proc/uptime
系统启动的时间长度。
/proc/version
核心版本。
注意所有上述文件给出易读的文本文件,有时可能是不易读的格式。有许多命令做了些格式化以更容易读。例如,free 程序读/proc/meminfo 并将给出的字节数转换为千字节(并增加了一些信息)。
××××××××××××××××××××××××××××××××
不用重新启动而去看 CMOS ,就可以知道系统信息。这就是 /proc 的妙处之一。
/proc 文件系统是了解系统信息的一个窗口,本文将就此展开讨论,举例说明/proc 文件系统的内部结构。 /proc 文件系统是虚拟的文件系统,看似存在的文件实际并没有在硬盘上。其实,/proc 是你了解自己系统的一个窗口,它实际存在于内存。 例如: /proc/cpuinfo 包含了处理器的信息,例如,类型、制造商、型号等。一个输出的例子如下: [albert@www tmp]$ cat /proc/cpuinfo processor: 1 vendor_id: GenuineIntel cpu family: 6 model: 7 model name: Pentium III (Katmai) stepping: 3 cpu MHz: 501.146145 cache size: 512 KB fdiv_bug: no hlt_bug: no sep_bug: no f00f_bug: no coma_bug: no fpu: yes fpu_exception: yes cpuid level: 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx osfxsr kni bogomips : 499.71 /proc/devices 列出内核中配置的设备驱动程序 /proc/interrupts 列出使用中的中断号,这在硬件冲突的诊断中十分有用。 /proc/kmsg 这些是内核输出的信息,也送到syslog。 /proc/meminfo 列出系统的内存情况,包括物理内存和交换区。一个输出的例子如下: [albert@www tmp]$ cat /proc/meminfo total: used: free: shared: buffers: cached: Mem: 263806976 206512128 57294848 39387136 92950528 56168448 Swap: 279617536 7405568 272211968 MemTotal: 257624 kB MemFree: 55952 kB MemShared: 38464 kB Buffers: 90772 kB Cached: 54852 kB SwapTotal: 273064 kB SwapFree: 265832 kB /proc/modules 输出当前加载的内核模块。 /proc/net 这个目录包含了系统网络配置的信息,我将另外撰文讲述。 /proc/pci 列出系统的PCI 设备 可以看出,/proc 文件系统是十分有用的,其实,有些我们平时使用的命令就来源于 /proc。例如 uname -a 的部分信息来自 /proc/version , uptime 的部分信息来自 /proc/uptime 和 /proc/loadavg , 所以,下次有人问你机器的主频是多少时,就没有必要翻箱倒柜寻找手册了,一切都在 /proc 文件系统之中。