Міністерство освіти України
НУ “Львівська політехніка”
Кафедра ЕОМ
Звіт
про виконання лабораторної роботи №5
з дисципліни
“Проектування операційних систем, утиліт і драйверів”
Назва роботи:
“Файлова система proc”
Мета: Познайомитися із файловою системою proc операційної системи Linux. Познайомитися з утилітами free, top ,ps, які базуються на файловій системні proc.
Призначення, синопсис та основні параметри утиліт
free
Призначення: показує кількість вільної та використаної пам’яті.
Синопсис: free [-b | -k | -m] [-o] [-s delay ] [-t] [-V]
Параметри:
-b – показувати в байтах,
-k – показувати в кілобайтах ,
-m – показувати в мегабайтах.
-t - виводити рядок з сумою.
-o – не показувати рядок з буферами.
-s - переключення тривалості затримки в мілісекундах.
-V – вивід інформації про версію.
Результати роботи:
total used free shared buffers cached
Mem: 61204 59420 1784 0 3192 24448
-/+ buffers/cache: 31780 29424
Swap: 127992 38632 89360
top
Призначення: top – вивід всіх процесів.
Синопсис: top [-] [d delay] [p pid] [q] [c] [C] [S] [s] [i] [n iter] [b]
Параметри:
-d – затримка між обновленнями,
-p – номер процесу,
-n – кількість обновлень
Результати роботи:
top - 20:39:39 up 13 min, 0 users, load average: 0.37, 0.47, 0.37
top - 20:39:56 up 13 min, 0 users, load average: 0.43, 0.48, 0.37
top - 20:40:31 up 14 min, 0 users, load average: 0.48, 0.49, 0.37
Tasks: 33 total, 1 running, 32 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.0% user, 13.1% system, 0.0% nice, 80.0% idle
Mem: 61204k total, 55484k used, 5720k free, 3196k buffers
Swap: 187984k total, 38948k used, 149036k free, 19832k cached
top - 20:43:29 up 16 min, 0 users, load average: 0.45, 0.49, 0.39
Tasks: 33 total, 1 running, 32 sleeping, 0 stopped, 0 zombie
Cpu(s): 6.7% user, 12.1% system, 0.0% nice, 81.1% idle
Mem: 61204k total, 55424k used, 5780k free, 2936k buffers
Swap: 187984k total, 41116k used, 146868k free, 22836k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ Command
1548 knoppix 16 0 844 844 680 R 3.8 1.4 0:00.08 top
475 knoppix 14 0 14700 6660 6280 S 1.9 10.9 0:16.19 kdeinit
1 root 9 0 48 44 44 S 0.0 0.1 0:04.20 init
2 root 9 0 0 0 0 S 0.0 0.0 0:00.03 keventd
3 root 19 19 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd_CPU0
4 root 9 0 0 0 0 S 0.0 0.0 0:08.70 kswapd
5 root 9 0 0 0 0 S 0.0 0.0 0:00.00 bdflush
6 root 9 0 0 0 0 S 0.0 0.0 0:00.10 kupdated
52 root 9 0 0 0 0 S 0.0 0.0 0:00.06 kapmd
246 root 9 0 480 404 392 S 0.0 0.7 0:01.07 automount
251 root 8 0 1372 436 436 S 0.0 0.7 0:00.54 bash
252 root 8 0 1372 436 436 S 0.0 0.7 0:00.45 bash
253 root 8 0 1372 436 436 S 0.0 0.7 0:00.46 bash
254 root 8 0 1372 436 436 S 0.0 0.7 0:00.45 bash
305 root 9 0 696 440 440 S 0.0 0.7 0:00.06 xsession
314 root 9 0 640 384 384 S 0.0 0.6 0:00.01 xsession
316 root 12 0 82092 5812 2336 S 0.0 9.5 0:15.70 XFree86
338 knoppix 9 0 708 356 356 S 0.0 0.6 0:00.31 xinitrc
462 knoppix 8 0 4224 3284 3268 S 0.0 5.4 0:00.69 kdeinit
466 knoppix 9 0 5920 5064 4912 S 0.0 8.3 0:00.21 kdeinit
472 knoppix 9 0 6680 5768 5620 S 0.0 9.4 0:00.53 kdeinit
507 knoppix 9 0 15456 6732 6580 S 0.0 11.0 0:02.29 kdeinit
542 knoppix 9 0 15116 6236 6228 S 0.0 10.2 0:01.00 kdeinit
Результати перегляду директорії proc
ls /proc
total 1
dr-xr-xr-x 3 root root 0 Feb 8 14:59 1
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 1673
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 1699
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 1702
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 1703
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 1705
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 1718
dr-xr-xr-x 3 root root 0 Feb 8 14:59 2
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 2013
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 2077
dr-xr-xr-x 3 root root 0 Feb 8 14:59 242
dr-xr-xr-x 3 root root 0 Feb 8 14:59 247
dr-xr-xr-x 3 root root 0 Feb 8 14:59 248
dr-xr-xr-x 3 root root 0 Feb 8 14:59 249
dr-xr-xr-x 3 root root 0 Feb 8 14:59 250
dr-xr-xr-x 3 root root 0 Feb 8 14:59 293
dr-xr-xr-x 3 root root 0 Feb 8 14:59 3
dr-xr-xr-x 3 root root 0 Feb 8 14:59 309
dr-xr-xr-x 3 root root 0 Feb 8 14:59 311
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 335
dr-xr-xr-x 3 root root 0 Feb 8 14:59 4
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 460
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 464
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 469
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 473
dr-xr-xr-x 3 root root 0 Feb 8 14:59 5
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 504
dr-xr-xr-x 3 root root 0 Feb 8 14:59 52
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 531
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 534
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 536
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 539
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 547
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 570
dr-xr-xr-x 3 root root 0 Feb 8 14:59 6
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 636
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 683
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 699
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 788
dr-xr-xr-x 3 knoppix knoppix 0 Feb 8 14:59 792
-r--r--r-- 1 root root 0 Feb 8 14:59 apm
dr-xr-xr-x 3 root root 0 Feb 8 14:59 bus
-r--r--r-- 1 root root 0 Feb 8 14:59 cmdline
-r--r--r-- 1 root root 0 Feb 8 14:59 cpuinfo
-r--r--r-- 1 root root 0 Feb 8 14:59 devices
-r--r--r-- 1 root root 0 Feb 8 14:59 dma
dr-xr-xr-x 3 root root 0 Feb 8 14:59 dri
dr-xr-xr-x 2 root root 0 Feb 8 14:59 driver
-r--r--r-- 1 root root 0 Feb 8 14:59 execdomains
-r--r--r-- 1 root root 0 Feb 8 14:59 fb
-r--r--r-- 1 root root 0 Feb 8 14:59 filesystems
dr-xr-xr-x 2 root root 0 Feb 8 14:59 fs
dr-xr-xr-x 3 root root 0 Feb 8 14:59 ide
-r--r--r-- 1 root root 0 Feb 8 14:59 interrupts
-r--r--r-- 1 root root 0 Feb 8 14:59 iomem
-r--r--r-- 1 root root 0 Feb 8 14:59 ioports
dr-xr-xr-x 18 root root 0 Feb 8 14:59 irq
-r-------- 1 root root 66064384 Feb 8 14:59 kcore
-r-------- 1 root root 0 Feb 8 14:59 kmsg
-r--r--r-- 1 root root 0 Feb 8 14:59 ksyms
-r--r--r-- 1 root root 0 Feb 8 14:59 loadavg
-r--r--r-- 1 root root 0 Feb 8 14:59 locks
-r--r--r-- 1 root root 0 Feb 8 14:59 meminfo
-r--r--r-- 1 root root 0 Feb 8 14:59 misc
-r--r--r-- 1 root root 0 Feb 8 14:59 modules
lrwxrwxrwx 1 root root 11 Feb 8 14:59 mounts -> self/mounts
-rw-r--r-- 1 root root 132 Feb 8 14:36 mtrr
dr-xr-xr-x 4 root root 0 Feb 8 14:59 net
-r--r--r-- 1 root root 0 Feb 8 14:59 partitions
-r--r--r-- 1 root root 0 Feb 8 14:59 pci
dr-xr-xr-x 3 root root 0 Feb 8 14:59 scsi
lrwxrwxrwx 1 root root 64 Feb 8 14:59 self -> 2077
-rw-r--r-- 1 root root 0 Feb 8 14:59 slabinfo
-r--r--r-- 1 root root 0 Feb 8 14:59 stat
-r--r--r-- 1 root root 0 Feb 8 14:59 swaps
dr-xr-xr-x 10 root root 0 Feb 8 14:59 sys
dr-xr-xr-x 2 root root 0 Feb 8 14:59 sysvipc
dr-xr-xr-x 4 root root 0 Feb 8 14:59 tty
-r--r--r-- 1 root root 0 Feb 8 14:59 uptime
-r--r--r-- 1 root root 0 Feb 8 14:59 version
ls proc/sys
total 0
dr-xr-xr-x 2 root root 0 Feb 8 15:00 abi
dr-xr-xr-x 2 root root 0 Feb 8 15:00 debug
dr-xr-xr-x 4 root root 0 Feb 8 15:00 dev
dr-xr-xr-x 4 root root 0 Feb 8 15:00 fs
dr-xr-xr-x 3 root root 0 Feb 8 15:00 kernel
dr-xr-xr-x 8 root root 0 Feb 8 15:00 net
dr-xr-xr-x 2 root root 0 Feb 8 15:00 proc
dr-xr-xr-x 2 root root 0 Feb 8 15:00 vm
Вміст спеціальних файлів директорії proc/sys
cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 6
model name : Celeron (Mendocino)
stepping : 5
cpu MHz : 475.877
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr
bogomips : 950.27
devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
7 vcs
10 misc
14 sound
29 fb
128 ptm
136 pts
162 raw
226 drm
Block devices:
1 ramdisk
2 fd
3 ide0
11 sr
114 ataraid
240 cloop
filesystems
nodev rootfs
nodev bdev
nodev proc
nodev sockfs
nodev tmpfs
nodev shm
nodev pipefs
ext2
nodev ramfs
msdos
vfat
iso9660
nodev devpts
nodev autofs
ext3
meminfo
total: used: free: shared: buffers: cached:
Mem: 62672896 60747776 1925120 0 2781184 31244288
Swap: 131063808 61321216 69742592
MemTotal: 61204 kB
MemFree: 1880 kB
MemShared: 0 kB
Buffers: 2716 kB
Cached: 21832 kB
SwapCached: 8680 kB
Active: 29824 kB
Inactive: 12760 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 61204 kB
LowFree: 1880 kB
SwapTotal: 127992 kB
SwapFree: 68108 kB
mounts
rootfs / rootfs rw 0 0
/dev/root.old / ext2 rw 0 0
none /proc proc rw 0 0
none /dev/pts devpts rw 0 0
/dev/scd0 /cdrom iso9660 ro 0 0
/dev/cloop /KNOPPIX iso9660 ro 0 0
/dev/shm /ramdisk tmpfs rw 0 0
/dev/hda1 /mnt/hda1 vfat rw,nosuid,nodev 0 0
automount(pid242) /mnt/auto autofs rw 0 0
partitions
major minor #blocks name
3 0 39082680 hda
3 1 10241406 hda1
3 2 1 hda2
3 5 10241406 hda5
3 6 18595206 hda6
version
Linux version 2.4.20-xfs (root@Knoppix) (gcc version 2.95.4 20011002 (Debian prerelease)) #1 SMP Mit Mдr 26 15:37:36 CET 2003
Висновок
Під час виконання лабораторної роботи я познайомився з файловою системою proc ОС Linux. Вона дозволяє доступатися до захищеної інформації ядра. Зокрема, інформації про процеси, файли, наявні системні ресурси і т. ін.
Список літератури.
Кейт Хевіленд, Дайна Грей, Бен Салама “Системное программирование в Unix”. Москва 2000.
Електронні ресурси кафедри ЕОМ.