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

中国建设网站轨道自检验收报告表佛山百度提升优化

中国建设网站轨道自检验收报告表,佛山百度提升优化,永久免费的网站软件,海南网站建设哪家好目录 10.1 proc文件系统 10.1.2 数据结构 10.1.3 初始化 10.1.4 装载 proc 文件系统 10.1.5 管理 /proc 数据项 10.1.6 读取和写入信息 10.1.7 进程相关信息 10.1.8 系统控制机制 本专栏文章将有70篇左右,欢迎关注,查看后续文章。 10.1 proc文件…

目录

10.1 proc文件系统

10.1.2 数据结构

10.1.3 初始化

10.1.4 装载 proc 文件系统

10.1.5 管理 /proc 数据项

10.1.6 读取和写入信息

10.1.7 进程相关信息

10.1.8 系统控制机制


本专栏文章将有70篇左右,欢迎+关注,查看后续文章。

 

10.1 proc文件系统

10.1.2 数据结构

1. proc数据项的表示

struct   proc_dir_entry   {                 // 表示proc中一个文件。

        unsigned int        low_ino;         // inode索引节。

        umode_t             mode;            // 文件类型,权限等。

        nlink_t                 nlink;

        kuid_t                  uid;               // 通常为0,即root。

        kgid_t                  gid;               // 通常为0,即root。

        loff_t                    size;

        struct inode_operations         *proc_iops;

        struct file_operations              *proc_fops;

        struct proc_dir_entry              *next, *parent, *subdir;       //   目录层级关系。

        atomic_t                                 count;                                 // 引用计数。

        u8                                           namelen;                            // 文件名长度。

        char                                         name[  ];

}

2. proc  inode

struct   proc_inode   {

        struct pid                          *pid;         // cat /proc/pid/*** 时,有意义。

        unsigned int                      fd;           // cat /proc/ <pid> fd/ 时,有意义。

        union proc_op                   op;

        struct proc_dir_entry         *pde;

        struct inode                       vfs_inode;

};

union   proc_op {

        int         (*proc_get_link) (struct  dentry  *,   struct  path  *);

        int         (*proc_read) (struct  task_struct   *task,    char  *page);

        int         (*proc_show) (struct  seq_file   *m,    struct  pid_namespace   *ns,    struct  pid   *pid,    struct task_struct   *task);

};

10.1.3 初始化

proc_root_init 函数

        作用:初始化proc文件系统。

10.1.4 装载 proc 文件系统

mount   -t proc   proc   /proc

mount   -t ext4   /dev/sdb1   /mnt/data

struct   file_system_type    proc_fs_type   =   {

        .name   =   "proc",

        .mount   =   proc_mount,         // 调用 proc_fill_super。

        .kill_sb   =   proc_kill_sb,

        .fs_flags   =   FS_USERNS_MOUNT,

};

proc_mount

        -> proc_fill_super(struct   super_block   *s)

                -> s->s_op   =   &proc_sops;

10.1.5 管理 /proc 数据项

1. 创建和注册一个数据项

创建函数:

        struct   proc_dir_entry   *proc_create( char  *name,   umode_t  mode,

                struct proc_dir_entry   *parent,    struct file_operations   *proc_fops)

举例:

创建 /proc/ vmallocinfo 文件:

        proc_create("vmallocinfo",   S_IRUSR,   NULL,   &proc_vmalloc_operations);

struct   file_operations    proc_vmalloc_operations   =   {

        .open   =   vmalloc_open,

        .read   =   seq_read,         //读 /proc/vmallocinfo 时调用。

        .llseek   =   seq_lseek,

        .release   =   seq_release_private,

};

辅助函数:

        proc_mkdir:创建新目录。

        proc_symlink:创建符号链接。

2. 查找 proc 数据项

从 /proc 根节点开始查找。

struct   inode_operations    proc_root_inode_operations   =   {

        .lookup   =   proc_root_lookup;

};

10.1.6 读取和写入信息

每个 /proc 文件可自定义 struct   file_operations,自己实现read,write等函数指针。

举例 cat /proc/cpuinfo(不可写)

struct   file_operations    proc_cpuinfo_operations   =   {

        .open       =     cpuinfo_open,

        .read        =     seq_read,

        .llseek      =     seq_lseek,

        .release    =     seq_release,

};

10.1.7 进程相关信息

proc_pid_lookup:负责打开 /proc/<pid>/ 中文件。

10.1.8 系统控制机制

sysctl 系统调用已过时。已移到/proc/sys

注册/proc/sys文件:

        register_sysctl_table(sd_ctl_root);

struct  ctl_table sd_ctl_root[  ]   =   {

{

        .procname   =    "kernel",

        .child            =    sd_ctl_dir,

},

};

struct   ctl_table    sd_ctl_dir[ ]   =   {

        {

                .procname    =    "sched_domain",   //即 /proc/ sys/ kernel/ sched_domain文件。

        },

};

struct   file_operations    proc_sys_file_operations   =   {

        .open   =   proc_sys_open,

        .read   =   proc_sys_read,

        .write   =   proc_sys_write,

};

http://www.hkea.cn/news/521067/

相关文章:

  • 论坛型网站怎么做百度高级检索入口
  • 做百度移动网站排搜素引擎优化
  • 公司创建一个网站需要多少钱想做百度推广找谁
  • 做文献ppt模板下载网站有哪些常德政府网站
  • 青岛网站建设公司排行外链工具在线
  • 网站怎么做显得简洁美观seo数据是什么意思
  • 阿里巴巴开通诚信通后网站怎么做网络优化网站
  • 东莞手机网站价格便宜个人免费建站软件
  • 电子商务网站建设的步骤一般为百度100%秒收录
  • 做企业网站怎么样免费的推广软件下载
  • 拓普网站建设美国搜索引擎
  • 网站开发者工资冯耀宗seo视频教程
  • 软件开发各阶段工作量比例搜索引擎优化的基础是什么
  • 网站怎么做才能将名声打响云搜索app
  • 南阳做网站优化哪家好一级域名生成二级域名
  • 3322动态域名官网郑州seo联系搜点网络效果好
  • 网络营销渠道的类型河北seo基础教程
  • 做微信网站多少钱seo内部优化包括哪些内容
  • 中国城乡建设网站网络优化公司排名
  • 个人网站做淘宝客教程torrentkitty磁力搜索引擎
  • 广州北京网站建设seo培训讲师招聘
  • 手机上免费自己做网站网络营销案例分享
  • 长沙大型网站建设谷歌账号
  • 大兴德艺网站建设发布悬赏任务的推广平台
  • html5制作网站模板百度产品大全首页
  • 贵阳网站建设贵阳百度推广怎么推广
  • 瓮安建设局网站google play三件套
  • 大型门户网站模板营销神器
  • 学设计的网站都有哪些seo和sem
  • 如何做网站流量买卖营销型网站的特点