实验二 创建显示系统进程的信息的proc模块

实验二 创建显示系统进程的信息的proc模块

实验环境

操作系统版本ubuntu-14.04.1-desktop-i386
下载连接http://old-releases.ubuntu.com/releases/trusty/ubuntu-14.04.1-desktop-i386.iso
实验课件及源码https://wwe.lanzouw.com/ilBQnyrwffi

一.实验目的

1、理解proc伪文件系统的基本概念和功能,掌握常见操作命令。
2、了解Linux进程控制块task_strcut,并理解其重要成员变量的含义。
3、理解基于seq_file机制的proc伪文件操作机制
4、熟练掌握生成proc伪文件的Linux内核模块代码实现方法。

二.实验内容

1、从教材提供的电子资源中找到或者按教材提示自己编写Linux内核模块tasklist.c及其对应的Makefile文件
2、该模块创建/proc/tasklist文件,并且提取系统中所有进程的pid、state和名称进行显示。
3、编译、安装、删除该模块,查看该模块的安装位置、运行情况。

三.实验步骤

1、LKM编译、添加、执行以及查询LKM:
在这里插入图片描述

2、查看tasklist文件:
在这里插入图片描述在这里插入图片描述
3、撤销tasklist.ko:
在这里插入图片描述

四.实验总结

此次实验是基于Proc的Linux进程控制块信息读取。我们首先要了解proc伪文件系统的概念,proc伪文件为用户提供了动态操作Linux内核信息的接口,是除系统调用外另一个重要的Linux内核空间和用户空间交换数据途径。proc文件夹包含了当前计算机中重要的资源信息及系统信息。
通过这次实验帮助我了解Linux进程控制块task_strcut,并理解了其重要成员变量的含义。理解了基于seq_file机制的proc伪文件操作机制并且掌握了生成proc伪文件的Linux内核模块代码实现方法。
这次实验使我第二次编写Linux内核模块,仍然是看着老师的ppt比着写的,这次代码比较长,变量比较多,首次编写并没有弄清其各自的功能,当写完第二遍就懂了点了。通过这次实验加深了自己对Linux内核的理解,对操作系统的结构有了更好的理解。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统实验中的proc文件系统是一种特殊的文件系统,主要用于提供操作系统内核信息的访问和管理。在实现proc文件系统时,需要完成以下几个主要步骤。 首先,需要定义一个proc文件结构体,用于描述proc文件的属性和操作。这个结构体通常包含文件名、文件大小、文件访问权限等信息,以便操作系统能够对其进行正确的处理。 接下来,需要实现创建proc文件的函数。这个函数负责在内核中创建一个proc文件,并将文件结构体与之联。在创建过程中,需要为proc文件分配一个唯一的文件名,并指定相应的访问权限。 然后,需要实现读取proc文件内容的函数。这个函数会在用户空间打开proc文件时被调用,并将proc文件的内容返回给用户。根据不同的需求,可以通过读取内核变量或调用相系统调用来获取文件内容。 此外,还需要实现写入proc文件内容的函数。这个函数会在用户空间对proc文件进行写入时被调用,并将用户输入的内容写入到相应的内核变量或系统调用中。 最后,还需要实现删除proc文件的函数。这个函数会在用户空间proc文件或操作系统闭时被调用,负责释放proc文件的相资源。 总之,实现proc文件系统需要定义文件结构体、创建、读取、写入和删除文件的函数。通过这些功能,用户可以在用户空间访问和管理内核的信息,提供了一个方便的方式来查看和调试操作系统内部状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值