logo
Установка та налагодження операційної системи Linux XP Desktop 2006

3.2 Використання loop-пристроїв та псевдопристроїв (/dev/zero та /dev/null). Розглянути основні поняття. Призначення псевдо пристроїв

Псевдопристрій /dev/null -- спеціальний файл в системах класу UNIX, що є «порожнім пристроєм». Запис в нього відбувається успішно, незалежно від обєму «записаної» інформації. Читання з /dev/null еквівалентне прочитуванню кінця файлу (EOF).

У DOS є псевдофайл NUL з аналогічними властивостями.

Псевдопристрій /dev/null вважається символьним. Він створюється за допомогою утиліти mknod.

Приклади використання:

1) Найчастіше перенаправлення в /dev/null використовується для придушення стандартного виводу (вихідного потоку) і/або виводу повідомлень про помилки (потоку діагностики) програми їх перенаправленням в /dev/null, таке придушення найчастіше використовується в командних сценаріях (shell scripts) для придушення небажаного виводу на консоль.

2) Запуск програми reader, чекаючу, як обовязковий параметр імя файлу введення, якого немає:

reader /dev/null

3) Перевірка доступності всіх файлів в каталозі foo і його підкаталогах для читання:

find foo/ -type f -readable > /dev/null

Псевдопристрій /dev/zero -- спеціальний файл в UNIX-подібних системах, що є джерелом нульових байтів (ASCII NUL, 0x00). При читанні цього файлу ніколи не досягається його кінець.

Будь-які дані, записані в /dev/zero, будуть проігноровані, а сам запис завершиться успішно -- точно так, як і при записі в /dev/null (хоча останнє набагато частіше використовується як «чорна діра», ніж /dev/zero).

Пристрій /dev/zero вважається символьним. У Linux він створюється за допомогою утиліти mknod.

Приклади використання:

1) Найчастіше /dev/zero використовується для створення файлу заданого розміру (наприклад, для розміщення там образу файлової системи).

Наприклад, для створення файлу image.iso розміром 100 кБ можна виконати команду:

dd if=/dev/zero of=image.iso bs=1024 count=100

2) /dev/zero можна використовувати як джерело інформації для перезапису пристроїв і файлів (наприклад, для безповоротного видалення всіх даних з жорсткого диска).

3.3 Використання loop-пристроїв для створення файлової системи у файлі

Створити файлову систему ext3 у файлі /root/MyFs_Прізвище_студента. Розмір файлу має становити (Номер_за_журналом+500) МБ. Змонтувати отриману файлову систему у каталог /mnt/Прізвище_студента. Для цього можна використати команди: dd, mkfs, mnt.

3.4 Користуючись командою df, отримати інформацію про змонтовані файлові системи. Навести результати із коментарями. Порівняти із результатами п. 3.1

Рисунок 3.5 - Перегляд змонтованих файлових систем

Звідси бачимо, що створена і змонтована файлова система розміщена у розділі /dev/sda6 розміром 516Мб. Порівнюючи з пунктом 3.1, раніше в цьому розділі цієї файлової системи не було.

Розділ 4 Робота з каталогом спеціального призначення /proc

4.1 Переглянути розділи жорсткого диску (/proc/partitions) та інформацію про файлові системи, які підтримуються ядром (/proc/filesystems)

При перегляді каталогу /proc/partitions отримав наступний список (див. таблицю 4.1):

Таблиця 4.1 - перегляд каталогу /proc/partitions:

Major

Minor

#blocks

Name

8

0

3944448

hda

8

1

3710983

hda1

8

2

1

hda2

8

5

232911

hda5

8

16

117220824

hdb

8

17

20683656

hdb1

8

18

1

hdb2

8

21

43046136

hdb5

8

22

43062201

hdb6

8

23

770048

hdb7

8

24

5244928

hdb8

8

25

4408320

hdb9

В цьому списку містяться старші (major) і молодші (minor) номера кожного розділу, а також кількість блоків (розмір розділу в кілобайтах) і імя розділу.

Щоб дізнатися про файлові системи, потрібно знайти файл з імям «filesystems», який знаходиться у каталозі спеціального призначення /proc. В ньому знаходиться список файлових систем, підтримка яких вбудована в ядро. Зазвичай використовується програмою mount для пошуку потрібної файлової системи, якщо вона не вказана при монтуванні.

При перегляді цього файлу дізнався які файлові системи підтримуються Linux XP Desktop 2006 (див. таблицю 4.2):

Таблиця 4.2 - файлові системи, які підтримуються Linux XP Desktop 2006:

Змонтова файлова система

Файлова система

nodev

sysfs

nodev

rootfs

nodev

proc

nodev

tmpfs

nodev

devtmpfs

nodev

securityfs

nodev

sockfs

nodev

usbfs

nodev

pipefs

nodev

anon_inodefs

nodev

devpts

ext3

ext2

nodev

ramfs

nodev

hugetlbfs

iso9660

nodev

mqueue

ext4

nodev

fuse

fuseblk

vfat

Перша колонка показує, яка файлова система змонтована на блоковий пристрій. У моєму випадку, є розділи, налаштовані із змонтованими ext2, ext3, ext4, iso9660, fuseblk та vfat.

Тепер докладніше про файлові системи:

Sysfs -- віртуальна файлова система в операційній системі Linux. Експортує в простір користувача інформацію ядра Linux, про присутні в системі пристрої і драйвери. Вперше зявилася в ядрі версії 2.6. Необхідність створення була викликана застарілою системою роботи ядра з пристроями.

Rootfs -- коренева файлова система. Є основним компонентом Linux. Коренева файлова система містить все необхідне для роботи повноцінної операційної системи Linux. Вона містить всі додатки, налаштування, пристрої, дані. Без кореневої файлової системи запуск операційної системи Linux неможливий.

Proc -- файлова система, яка використовується в операційній системі Linux.

Це віртуальна файлова система, тому файли, які знаходяться в цьому каталозі, насправді не займають місця на жорсткому диску. Це дуже зручний спосіб для отримання інформації про систему, особливо через те, що більшість файлів в цьому каталозі зручно читати користувачу.

Tmpfs -- тимчасове файлове сховище в багатьох Linux ОС. Призначене для монтування файлової системи, але розміщується в ОЗУ замість ПЗУ.

Securityfs -- файлова система, з її допомогою можна одержати інформацію про завантажені профілі.

Usbfs - файлова система для забезпечення роботи USB-пристроїв. Це динамічна віртуальна файлова система, що є частиною файлової системи /proc, розташована в каталозі /proc/bus/usb.

Devpts - це віртуальна файлова система, що забезпечує доступ до терміналів pseudo (PTY).

Third Extended File System (третя версія розширеної файлової системи), скорочено Еxt3 -- журналюєма файлова система, яка використовується в операційних системах на ядрі Linux. Є файловою системою за умовчанням в багатьох дистрибутивах. Заснована на файловій системі ext2.

Основна відмінність від ext2 полягає у тому, що ext3 журналюєма в ній передбачений запис деяких даних, що дозволяють відновити файлову систему при збоях в роботі компютера.

Стандартом передбачено три режими журналювання:

1) writeback: у журнал записуються тільки метадані файлової системи, тобто інформація про її зміну. Не може гарантувати цілісності даних, але вже помітно скорочує час перевірки в порівнянні з ext2;

2) ordered: те ж, що і writeback, але запис даних у файл відбувається гарантовано до запису інформації про зміну цього файлу. Не на багато знижує продуктивність, але також не може гарантувати цілісності даних;

3) journal: повне журналювання як метаданих файлової системи, так і призначених для користувача даних. Найповільніший, але і найбезпечніший режим. Може гарантувати цілісність даних при зберіганні журналу на окремому розділі (а краще -- на окремому жорсткому диску).

Указується режим журналювання в рядку параметрів для програми mount, наприклад:

mount /dev/hda6 /mnt/disc -t ext3 -o data=<режим>

Еxt2 -- файлова система ядра Linux. По швидкості і продуктивності роботи вона може служити еталоном в тестах продуктивності файлових систем. Головний недолік ext2 у тому, що вона не є журналюємою файловою системою. Він був усунений у файловій системі ext3 -- наступної версії Extended File System, повністю сумісної з ext2.

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

Ramfs -- cистема використовувана для створення RAM-диска в процесі завантаження операційних систем сімейства BSD і на ядрі Linux.

Hugetlbfs - це псевдофайлова система, резервується на вимогу системного адміністратора за допомогою запису кількості сторінок, які необхідно зарезервувати.

ISO 9660 -- випущений Міждународною організацією по стандартизації стандарт, що описує файлову систему для дисків CD-ROM. Метою стандарту є забезпечити сумісність носіїв під різними операційними системами, такими як Unix, Mac OS, Windows.

Розширення стандарту, назване Joliet, додає підтримку довгих імен файлів без ASCII символів в іменах.

Еxt4 -- файлова система, яка використовується ядром Linux. Заснована на файловій системі ext3.

Основною особливістю стало збільшення максимального обєму одного розділу диска до 1 эксабайта (260 байт) при розмірі блоку 4Kb, і збільшення розміру одного файлу до 16 терабайт. Крім того, в ext4 представлений механізм просторового (extent) запису файлів (нова інформація додається в кінець наперед виділеної по сусідству області файлу), зменшуючий фрагментацію і підвищуючий продуктивність.

FUSE (Файлова система в призначеному для користувача просторі) -- це модуль для ядер Unix-подібних операційних систем. Fuse дозволяє користувачам створювати їх власні файлові системи без необхідності переписувати код ядра. Це досягається за рахунок запуску коду файлової системи в просторі користувача, тоді як модуль FUSE тільки надає «міст» для актуальних інтерфейсів ядра. FUSE була офіційно включена в головне дерево коду Linux у версії 2.6.14.

VFAT -- це розширення FAT. У VFAT була додана підтримка довгих (до 255 символів) імен файлів в кодуванні UTF-16LE.

4.2 Проаналізувати вміст файлу /proc/loadavg

/proc/loadavg: файл, що показує середнє завантаження процесора. При його перегляді отримав значення:

0.40 0.55 0.26 3/245 8158

Його інформація включає використовування центрального процесору в останню хвилину, останні пять хвилин і останні 10 хвилин, а також число процесів, що працюють в даний момент.

4.3 Отримати список драйверів пристроїв, вбудованих в ядро (/proc/devices)

Отримав наступний список:

Character devices:

1 mem

4 /dev/vc/0

4 tty

4 ttyS

5 /dev/tty

5 /dev/console

5 /dev/ptmx

7 vcs

10 misc

13 input

14 sound/mixer

14 sound/dsp

14 sound/audio

14 sound/mixer2

14 sound/midi2

14 sound/dmmidi2

21 sg

29 fb

99 ppdev

116 alsa

128 ptm

136 pts

180 usb

189 usb_device

202 cpu/msr

226 drm

252 hidraw

253 bsg

254 rtc

Block devices:

2 fd

259 blkext

7 loop

8 sd

9 md

11 sr

67 sd

134 sd

135 sd

253 device-mapper

В цьому списку показуються всі вбудовані і завантажені символьні (Character devices) і блокові (Block devices) пристрої. Це спеціальні файли, які не містять даних, а просто служать точками, через які можна звернутися до драйвера відповідного пристрою. Основна їх відмінність у тому, що для блокових пристроїв операції вводу виводу здійснюються не окремими байтами (символами), а блоками фіксованого розміру.

4.4 Отримати інформацію про процесор (/proc/cpuinfo)

За допомогою цього файлу я дізнався про процесор наступне (див. таблицю 4.3):

Таблиця 4.3 - інформація про процесор:

Характеристики

Значення характеристик

processor

0

vendor_id

AuthenticAMD

cpu family

15

model

47

model name

AMD Athlon(tm) 64 Processor 3000+

stepping

2

cpu MHz

1799.98

cache size

512 KB

fdiv_bug

no

hlt_bug

no

fpu

yes

fpu_exception