Linux内核实验报告 - proc文件系统

需积分: 0 0 下载量 128 浏览量 更新于2024-08-05 收藏 165KB PDF 举报
这篇文档是一份关于Linux内核实验的报告,由学生王添枝完成。实验的主要目标是了解Linux内核、进程、存储以及其他系统资源的关键特性。实验中,学生通过读取和解析 `/proc` 文件系统中的不同文件来获取系统信息。 1. **问题A**: 这部分涉及获取系统的基本信息,如机器名称、CPU型号和内核版本。机器名称位于 `/proc/sys/kernel/hostname` 文件,CPU信息在 `/proc/cpuinfo`,而系统版本信息在 `/proc/version`。程序会读取这些文件并提取相应数据。 2. **问题B**: 当命令行参数为 `-b` 时,程序会读取 `/proc/uptime` 文件,该文件包含系统自启动以来的总时间以及系统的空闲时间。第一项表示总的已过去时间,第二项表示系统空闲的时间。 3. **问题C**: 如果命令行参数为 `-c`,则关注CPU使用情况和系统活动。CPU在用户态、系统态和空闲态的时间可以从 `/proc/stat` 文件获取。此外,还可以获取到系统启动以来的磁盘请求信息(通过 `/proc/diskstats`)以及上下文切换(`ctxt`)和进程创建(`processes`)的次数。 4. **问题D**: 当命令行参数包括 `-d` 以及 `interval` 和 `duration` 参数时,实验进入了负载平衡数据的采集阶段。`interval` 指定两次数据采集之间的间隔时间,而 `duration` 是整个采集过程的持续时间。实验会读取 `/proc/meminfo` 文件以获得内存信息,特别是总内存和可用内存,并监控负载平均值。程序会在每个采样周期中休眠,然后醒来获取当前负载,再回到休眠状态,如此循环。 实验使用了GCC 4.6.1编译器,在Ubuntu 11.10操作系统和Linux 3.0.0-12-generic内核环境下进行。调试记录部分提到了在命令行运行实验程序时的输入示例,但具体结果未给出。 这个实验报告展示了如何利用 `/proc` 文件系统作为Linux内核的一个接口,获取系统实时状态信息,这对于理解Linux系统的内部工作原理和性能监控至关重要。