Министерство образования РФ
Хабаровский государственный технический университет
Кафедра ВТ
Лабораторная работа №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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.