当前位置: 首页 > news >正文

操作系统 | proc文件系统

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《操作系统实验室》
🔖少年有梦不应止于心动,更要付诸行动。

目录结构


1. 操作系统实验之proc文件系统

1.1 实验目的

1.2 实验内容

1.3 实验步骤

1.4 实验过程

1.5 心得体会

2. 致读者


后续实验:操作系统实验之编写内核

专栏地址:linux操作系统实验(万字详解!!!)

1. 操作系统实验之proc文件系统

1.1 实验目的

  • 学习和掌握proc文件系统的功能、工作原理及其应用

1.2 实验内容

  • 完成创建proc文件系统

1.3 实验步骤

1.使用vi xxx.c创建名为xxx的文件如图2-1.

2.将实验二PPT中的源代码写入如图2-2.

3.使用gcc -o xxx xxx.c保存并编译该程序,其中xxx为编译后的名称,为.o文件,而xxx.c则是保存并编译的源文件如图2-3.

4.输入./xxx运行该文件如图2-4.

5.该程序读出了/etc/passwd文件的内容如图2-5.

6.重新打开xxx.c文件进行修改,使其可以读取能读任何用户指定的文件如图2-6.

7.修改xxx.c代码如图2-7.

8.改写完成后注意需要重新编译运行,否则只是修改了源文件,而编译文件和原来一样,这里传入多个参数分别是readfile  /proc/meminfo和readfile  /proc/cpuinfo如图2-8.

9.读取结果如图2-9.


1.4 实验过程

图2-1

图2-2

图2-3

图2-4

图2-5

图2-6

图2-7

图2-8

图2-9


1.5 心得体会

此次实验弄懂了proc文件系统的概念即proc文件系统是一种在用户态检查内核状态的机制,并且在原读取指定文件的代码xxx.c基础上通过使用for循环和添加参数达到读取参数传递文件的效果。不过最初编写的改动代码考虑不周,因为开辟变量定义在for循环内会造成大量资源浪费,后做改进为:将变量定义于for循环开始之前,这样每次循环的变量均只定义一次,提高了资源利用率。


2. 致读者

纸上得来终觉浅,绝知此事要躬行

http://www.lryc.cn/news/226763.html

相关文章:

  • 刷题笔记(第五天)
  • 【OpenHarmony内核】Harmony内核互斥性信号量
  • 给OFFICE增加一个功能搜索
  • 53基于matlab的Tamura纹理特征提取
  • C++初阶--类与对象(3)(图解)
  • 考研分享第1期 | 末9生物跨专业考研北京大学电子信息404分经验分享
  • openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库
  • 软件自动化测试平台
  • springMVC 导出Excel ,并提供下载(处理日期格式问题)
  • 软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案
  • HTML跳转锚点
  • 新能源汽车高压线束是如何快速连接到测试设备上进行电性能测试的
  • Azure 机器学习 - 使用受保护工作区时的网络流量流
  • 强化学习中蒙特卡罗方法
  • Pytorch从零开始实战09
  • Milvus Cloud ——Agent 的展望
  • EM@比例恒等式@分式恒等式
  • 使用米联客FPGA开发板进行光口开发时遇到的问题总结
  • 【chat】 1:Ubuntu 20.04.3 编译安装moduo master分支
  • C#基于inpoutx64读写ECRAM硬件信息
  • 图论13-最小生成树-Kruskal算法+Prim算法
  • 免费博客搭建笔记
  • 网络运维Day10
  • @Cacheable 注解的 @CacheManager 示例
  • springboot二维码示例
  • nacos做服务配置和服务器发现
  • KCC@广州与 TiDB 社区联手—广州开源盛宴
  • CSS3 分页、框大小、弹性盒子
  • GEE问题——GEE中循环的使用map()函数,以提取指定范围内的逐日的二氧化氮平均浓度为例
  • 短信验证码实现(阿里云)