proc文件系统使用

  • 实验任务要求

以超级用户身份登录linux系统,并进入/proc目录,输入ls命令,查看该目录下的内容,同时查看每个文件的读写权限

(1)请回答下列问题:

  1. CPU的类型和型号
  2. 所使用的Linux版本
  3. 从启动到当前时刻经过的时间
  4. 当前的内存状态

(2)编写一个程序,用来获得内核参数(任意的参数均可)

(3)编写一个程序,用来修改内核参数(任意的参数均可)

二、实验原理和方法设计

                         首先使用ls和cat命令查看相关信息

                         而后通过编写程序实现获得和修改内核参数

三、实验工具和环境配置说明

                 操作系统ubuntu

                 使用函数open()、read()、echo 、system

四、实验步骤

  1. 首先使用ls命令查看/proc目录内容以及各个文件的读写权限

系统中当前运行的每一个进程都有一个对应得目录在/proc下,以进程的ID号为目录名,他们是读取进程信息的接口。除去进程相关子目录,/proc目录还包含一些目录/文件用于提供内核信息或者控制内核行为。文件的读写权限如下:

首字母d表示目录,-表示文件

之后九位字母三个一组分别代表所有者、组用户、其他用户的权限,r可读取,w可写入,x可执行,X表示当文件是一个子目录或者该文件已经被设定过时可执行。后续表示用户组位root,所有者为root。

  1. 查看相关信息

CPU的类型和版本号

所使用的linux版本

从启动到当前时刻经过的时间

Uptime文件中第一行代表系统启动到现在的时间(以秒为单位),第二行代表系统空闲的时间(以秒为单位)

使用cat和awk命令将单位秒转化为常用单位

当前内存状态如下

  1. 获得内核参数程序

程序使用如下,使用open和read函数实现对内核参数的读取

  1. 修改内核参数程序

首先考虑使用open和write函数实现修改内核参数,代码如下所示

可以修改文件内容

也可使用echo 重定向对文件进行修改

 

五、实验总结

        本实验通过对linux行为的观察,我基本掌握了/proc文件系统的使用与操作,通过该文件系统,我们可以很方便的获取内核参数信息以及正在运行的进程的信息。通过进行C语言编程操作,我们可以在程序中很方便的读写相应的内核信息,为以后的工作提供了极大的便利。同时,在linux下编程使我更好理解了操作系统的原理架构,提升了能力。但在程序调试过程中,我还不够熟练,出现了很多错误,接下来我会针对相关问题有针对性提高能力。

  • 5
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值