Вивчення основних команд операційної системи Linux. Вивчення файлової системи процесів /proc. Вивчення роботи «демонів». Програма «клієнт-сервер»
9

Файлова система /proc є механізмом для ядра і його модулів, що дозволяє надсилати інформацію процесам. З допомогою цієї віртуальної файлової системи можна працювати з внутрішніми структурами ядра, отримувати корисну інформацію про процеси і змінювати налаштування (змінюючи параметри ядра) в режимі реального часу. Файлова система /proc, на відміну від інших файлових систем, розташовується в пам’яті.

З допомогою файлів в /proc можна отримати інформацію про стан ядра, процеси, параметри комп’ютера тощо. Більшість файлів в /proc містять саму свіжу інформацію про комплектуючі. Не дивлячись на те, що ці файли віртуальні – їх можна переглянути будь-яким текстовим редактором або з допомогою команд команд "more", "less" або "cat". При спробі відкрити віртуальний файл текстовим редактором – цей файл миттєво створюється на основі інформації, що міститься в ядрі.

Файлова система /proc слугує також джерелом інформації про процеси, що виконуються: в файлі "cmdline" міститься інформація про строку запуска процесу; в файлі "environ" знаходяться змінні середовища процесса, а також ідентифікатор користувача ( UID ) і групи ( GID ), що запустив процес, идентифікатор батьківського процесу ( PPID ) і стан процесу ( наприклад "Sleeping" чи "Running" ).

При виконанні даної контрольної роботи мною була розроблена програма на мові програмування С++, яка дозволяє зчитувати інформацію з файлової системи /proc як про процес окремо, так і про систему безпосередньо, зокрема із файлів:

  • /proc/cpuinfo – інформацію про процесор (модель, сімейство, розмір кеша тощо);
  • /proc/meminfo – інформацію про пам’ять, розмір свопа тощо;
  • /proc/mounts - список під монтованих файлових систем;
  • /proc/devices - список пристроїв;
  • /proc/filesystems – список підтримуємих файлових систем;
  • /proc/modules - список підгружаємих модулів;
  • /proc/version – інформацію про версію ядра;
  • /proc/cmdline - список параметрів, передаваємих ядру при загрузці.