Изучение псевдо-файловой системы “/proc” в ОС Linux

Страницы работы

Содержание работы

Министерство образования РФ

Хабаровский государственный технический университет

Кафедра ВТ

Лабораторная работа №2

по дисциплине «Операционные системы»

Бригада №7

Выполнили: студенты гр. ПО-12

Климин В.М.

Бельков А.С.

Проверил:        Сорокин Н.Ю.

Хабаровск 2004


Цель работы:

Знакомство и изучение псевдо-файловой системы “/proc” в ОС Linux. Получение информации о состоянии ОС и параметрах ядра ОС Linux.

Задание на лабораторную работу:

1.  Изучите содержание директории /proc.

dr-xr-xr-x    3 root     root            0 Мар  3 12:36 945/

dr-xr-xr-x    4 root     root            0 Мар  2 15:16 bus/

-r--r--r--    1 root     root            0 Мар  3 12:36 cmdline

-rw-r--r--    1 root     root            0 Мар  3 12:36 cpufreq

-r--r--r--    1 root     root            0 Мар  3 12:36 cpuinfo

-r--r--r--    1 root     root            0 Мар  3 12:36 crypto

-r--r--r--    1 root     root            0 Мар  3 12:36 devices

-r--r--r--    1 root     root            0 Мар  3 12:36 dma

dr-xr-xr-x    2 root     root            0 Мар  3 12:36 driver/

-r--r--r--    1 root     root            0 Мар  3 12:36 e820info

-r--r--r--    1 root     root            0 Мар  3 12:36 execdomains

-r--r--r--    1 root     root            0 Мар  3 12:36 fb

-r--r--r--    1 root     root            0 Мар  3 12:36 filesystems

dr-xr-xr-x    2 root     root            0 Мар  3 12:36 fs/

dr-xr-xr-x    4 root     root            0 Мар  3 12:36 ide/

-r--r--r--    1 root     root            0 Мар  3 12:36 interrupts

-r--r--r--    1 root     root            0 Мар  3 12:36 iomem

-r--r--r--    1 root     root            0 Мар  3 12:36 ioports

dr-xr-xr-x   18 root     root            0 Мар  3 12:36 irq/

-r--------    1 root     root     267128832 Мар  3 12:36 kcore

-r--------    1 root     root            0 Мар  2 15:16 kmsg

-r--r--r--    1 root     root            0 Мар  3 12:36 ksyms

-r--r--r--    1 root     root            0 Мар  3 12:36 loadavg

-r--r--r--    1 root     root            0 Мар  3 12:36 locks

-r--r--r--    1 root     root            0 Мар  3 12:36 mdstat

-r--r--r--    1 root     root            0 Мар  3 12:36 meminfo

-r--r--r--    1 root     root            0 Мар  3 12:36 misc

-r--r--r--    1 root     root            0 Мар  3 12:36 modules

lrwxrwxrwx    1 root     root           11 Мар  3 12:36 mounts -> self/mounts

-rw-r--r--    1 root     root          203 Мар  3 12:36 mtrr

dr-xr-xr-x    5 root     root            0 Мар  3 12:36 net/

-r--r--r--    1 root     root            0 Мар  3 12:36 partitions

-r--r--r--    1 root     root            0 Мар  3 12:36 pci

dr-xr-xr-x    4 root     root            0 Мар  3 12:36 scsi/

lrwxrwxrwx    1 root     root           64 Мар  3 12:20 self -> 15808/

-rw-r--r--    1 root     root            0 Мар  3 12:36 slabinfo

-r--r--r--    1 root     root            0 Мар  3 12:36 stat

-r--r--r--    1 root     root            0 Мар  3 12:36 swaps

dr-xr-xr-x    2 root     root            0 Мар  3 12:36 swsusp/

dr-xr-xr-x   12 root     root            0 Мар  3 12:36 sys/

--w-------    1 root     root            0 Мар  3 12:36 sysrq-trigger

dr-xr-xr-x    2 root     root            0 Мар  3 12:36 sysvipc/

dr-xr-xr-x    4 root     root            0 Мар  3 12:36 tty/

-r--r--r--    1 root     root            0 Мар  3 12:36 uptime

-r--r--r--    1 root     root            0 Мар  3 12:36 version

2.  Используя помощь в системе Linux (команда man proc) дайте письменно ответ на вопрос: Какой формат имеет файл statm (см. Таблицу 1)?

Ответ:

Имя файла

Содержание

cmdline

Аргументы командной строки

environ

Значения переменных окружения

fd

Директория, содержащая все дескрипторы файлов

mem

Память, используемая процессом

stat

Статус процесса

status

Статус процесса в более удобной для чтения форме

cwd

Связь (линк) на текущую рабочую директорию

exe

Связь (линк) на исполняемый файл процесса

maps

Карты памяти

root

Связь (линк) на корневую директорию процесса

statm

Информация о памяти процесса

3.  Напишите программу на языке С (С++) которая использует данные из /proc и выводит на экран информацию (см. Таблицу 3) в соответствии с номером бригады.

Ответ:

#include <stdio.h>

#include <sys/file.h>

#include <fcntl.h>

int main ()

{

int i;

FILE *fp;

char * prd, linebuf[100] ;

fp = fopen ("/proc/interrupts", "r") ;

if (fp == NULL) fatalerror ();

printf("information about the interrupts:\n");

do{

      prd = fgets (linebuf, 100, fp) ; /* read data from "/proc/interrupts" file */

      printf ("%s", linebuf) ; /* stdout */

}while(!feof(fp));

      fclose (fp) ;

      return 0;

}

      fatalerror ()

{

      perror ("FATAL ERROR!\n") ;

      exit (4) ;

}

Результат работы прораммы:

information from [/proc/version]:

Linux version 2.4.22-10mdk (nplanel@no.mandrakesoft.com) (gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)) #1 Thu Sep 18 12:30:58 CEST 2003

.1-2mdk)) #1 Thu Sep 18 12:30:58 CEST 2003

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
49 Kb
Скачали:
0