Міністерство освіти і науки України
Національний університет
«ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Звіт
про виконання практичної роботи №3
з курсу «Мережеві операційні системи»
Файлова система proc
Мета роботи: познайомитися iз файловою системою proc операцiйної системи Linux,
познайомитися з утилiтами free, top, ps, якi базуються на файловiй системi proc.
Крiм механiзму системних викликiв, в операцiйнiй системi Linux iснує ще один механiзм доступу до захищеної iнформацiї ядра - файлова система proc. Файлова система proc є специфiчною особливiстю операцiйної системи Linux. Вона надає iнформацiю про поточний стан ядра i всi процеси, якi в даний час виконуються. Основнi концепцiї файлової системи proc Linux запозичив в операцiйної системи UNIX System V Release 4 i у деяких її клонiв, особливо в експериментальної системи Plan 9.
Файлова система proc є вiртуальною файловою системою, в нiй динамiчно створюються пiддиректорiї для кожного процесу i окремi секцiї для ядра. Кожному процесу, який в даний момент виконується в операцiйнiй системi, вiдповiдає директорiя /proc/pid, де pid - iдентифiкатор вiдповiдного процесу.
Команди ps, free, top формують свої результати, читаючи iнформацiю iз файлової системи proc. Цей iнтерфейс до ядра незалежний вiд системних викликiв.
Завдання
Використовуючи команду man, познайомитися iз утилiтами free, top, ps.
Запустити команду free iз рiзними опцiями i записати результат роботи команди, проаналiзувати цi результати.
Запустити команду top iз рiзними опцiями, навчитися використовувати iнтерактивнi команди утилiти top, зняти "моментальну фотографiю" (snapshot) одного iз результатiв роботи утилiти top , проаналiзувати цi результати.
Використовуючи команду ls, продивитися вмiстиме директорiї /proc. Особливу увагу звернути на пiддиректорiї з числовими iдентифiкаторами. Запустити команду ps i визначити iдентифiкатори запущених процесiв (pid); вибрати один iз цих процесiв, наприклад, процес командного процесора (shell) i знайти у лiстингу команди ls пiддиректорiю iз таким самим номером. Продивитися її пiддиректорiї, записати цi результати.
Використовуючи команду ls, продивитися вмiстиме пiддиректорiй директорiї /proc iз нечисловими iдентифiкаторами. Особливу увагу звернути на пiддиректорiї bus, fs, ide, net, sys, tty i пiддиректрiї директорiї /proc/sys - kernel, fs, dev, net, vm. Проглянути файли, якi розмiщенi в директорiї /proc. Записати iнформацiю, яка знаходиться у файлах cpuinfo, devices, filesystems, meminfo, mounts, partitions, version. Проаналiзувати цю iнформацiю.
Результат виконання завдання
Виконання команди free з різними опціями
-b-виводить об’єм памяті в байтах;
-k виводить об’єм памяті в кілобайтах.
-m виводить об’єм памяті в мегабайтах
-t виводить строку з загальною кількістю вільної і зайнятої пам’яті
–s n повторяє команду кожні n секунд.
Total-всього пам’яті
Used-використано
Free-вільно
Shared-відображено пам’яті в загальні області
Buffers-використано під буфри
Cached-використано під стрінковий кеш
Виконання команди top з різними опціями
Результати роботи команди ls, застосованої до директорiї /proc та директорiї /proc/sys i вмiстиме файлiв cpuinfo, devices, filesystems, meminfo, mounts, partitions, version
Призначення пiддиректорiй та файлiв директорiї /proc
» /proc/apm: Містить інформацію про Advanced Power Management, якщо такий встановлений.
» /proc/acpi: Схожа директорія, що містить масу інформації по сучаснішому Advanced Configuration and Power Interface. Наприклад, щоб з'ясувати, чи підключений ваш ноутбук до розетки, можете застосувати команду: cat /proc/acpi/ac_adapter/ac/state, щоб отримати відповідь: “on line” або “off line“
» /proc/cmdline: Показує параметри, передані ядру при завантаженні.
» /proc/cpuinfo: Містить інформацію про процесор вашої машини.
» /proc/loadavg: Споріднений файл, показує середню завантаженість процесора; його інформація включає: використання CPU за останню хвилину, за останні 5 хвилин, і за останні 10 хвилин, а також число поточних зараз процесів.
» /proc/stat: Також видає статистику, але що відноситься до предищей завантаження машини.
» /proc/uptime: Коротенький файл, що містить два числа: скільки секунд машина працювала, і скільки секунд простоювала.
» /proc/devices: Показує все, на даний момент конфігуровані і завантажені, character і block пристрої. /proc/ide і /proc/scsi містять інформацію про IDE і SCSI пристроях.
» /proc/ioports: Містить інформацію про порти введення/висновку (I/o communications) використовуваних цими пристроями.
» /proc/dma: Показує використовувані Direct Memory Access канали.
» /proc/filesystems: Повідомляє, які файлові системи підтримуються вашим ядром.
» /proc/mounts: Перераховує всі крапки монтування, використовувані у вашій машині (виведення цього файлу вельми змахує на /etc/mtab). Аналогічно, /proc/partitions і /proc/swaps показують всі розділи і всі простори підкачки (swap space).
» /proc/fs: Якщо експортуєте файлові системи за допомогою NFS, то ця директорія містить, серед своїх численних субдиректорій і файлів, файл /proc/fs/nfsd/exports, який показує файлову систему відкриту для доступу, і права такого доступу.
» /proc/net: Служить для зберігання мережевої інформації. Опис всіх файлів в цій директорії займе дуже багато місце, скажемо лише, що вона містить /dev (кожен мережевий пристрій), декілька iptables (файрволов), файли, що відносяться до них, статистику мереж і сокетів, інформацію про бездротовий зв'язок і багато що інше.
» cmdline: Містить команду, що запустила процес, зі всіма своїми параметрами.
» cwd: Містить симлінк на поточну працюючу директорію (current working directory - CWD), посилання на виконуваний файл процесу, і посилання на його кореневу директорію.
» environ: Містить всі змінні середовища оточення для даного процесу.
» fd: Містить всі файлові дескриптори для даного процесу, показуючи, які файли або пристрої процес задіює.
» maps, statm, mem: Відносяться до пам'яті задіяною в процесі.
» stat, status: Містить інформацію про статус процесу.
» debug: Містить налагоджувальну інформацію. Добре для тих, хто займається розробкою ядра.
» dev: Містить параметри специфічних пристроїв у вашій системі. Для прикладу проглянете директорію /dev/cdrom.
» fs: Пропонує інформацію по всіх можливих аспектах файлової системи.
» kernel: Дозволяє безпосередньо впливати на конфігурацію і роботу ядра.
» net: Дозволяє контролювати мережеві аспекти. Будьте обережні, у разі помилки ви втратите зв'язок з мережею!
» vm: Має справу з підсистемою VM (віртуальній пам'яті).
Висновок: на даній лабораторній роботі я ознайомилася із файловою системою proc операційної системи Linux, з утилітами free, top, ps, які базуються на файловій системі proc.