观察Linux行为

来源:互联网 发布:林业优化投资率 编辑:程序博客网 时间:2024/04/26 08:18

1、实验内容

     (1)理解linux操作系统以及./proc文件。

     (2)熟悉codeblocks,学习linux下C程序调试技术。

     (3)根据给定的程序观察cpuinfo/version/stat/uptime。

     (4)编程实现对meminfo/loadavg/interrupts/filesystem的观测。

2、实验环境        

         LINUX-Ubantu codeblocks

3、实验步骤(过程)

         (1)安装实验环境

4、解读实验内容

      编写实验代码,使用gcc编译并运行程序test1.c,使用codeblocks编程实现对meminfo/ loadavg/ interrupts/ filesystem的观测。

#include <stdio.h>#include <string.h>#include <time.h>#include <stdlib.h>void meminfo(){    int i;    char c[512];    FILE *in;    in = fopen("/proc/meminfo","r");    printf("meminfo:\n");    for(i = 0;i < 47;i++)    {        fgets(c,512,in);        printf("%s",c);    }    fclose(in);}void loadavg(){    char c[512];    FILE *in;    in = fopen("/proc/loadavg","r");    printf("loadavg:\n");    fgets(c,512,in);    printf("%s",c);    fclose(in);}void interrupts(){    int i;    char c[512];    FILE *in;    in = fopen("/proc/interrupts","r");    printf("interrupts:\n");    for(i = 0;i < 61;i++)    {        fgets(c,512,in);        printf("%s",c);    }    fclose(in);}void filesystems(){    int i;    char c[512];    FILE *in;    in = fopen("/proc/filesystems","r");    printf("filesystems:\n");    for(i = 0;i < 25;i++)    {        fgets(c,512,in);        printf("%s",c);    }    fclose(in);}int main(){    meminfo();    loadvag();    interrupts();    filesystems();    return 0;}



Cpuinfo-            ----------CPU信息E3-1231v3 主频 3.4Hz
Version             -----------内核版本Linux3.2.0-29
Stat                    ------------进程状态
Uptime              ---------系统uptime
Meminfo           --------内存信息
Loadavg           --------最后1,5,15的平均负载
Interrupts           --------- 中断使用情况
Filesystem         -------当前内核支持的文件系统类型