логічному диску (розділі реального диска) знаходиться послідовність секцій файлової системи (малюнок 2 (b)).
Малюнок 2 - Структура зовнішньої пам'яті файлових систем s5 і ufs.
Коротко опишемо суть і призначення кожної області диска.
· Boot-блок містить програму розкрутки, яка служить для початкового запуску ОС UNIX. У файлових системах s5 реально використовується boot-блок тільки кореневої файлової системи. У додаткових файлових системах ця область присутній, але не використовується.
· Суперблок - це найбільш відповідальна область файлової системи, що містить інформацію, яка необхідна для роботи з файловою системою в цілому. Суперблок містить список вільних блоків і вільні i-вузли (information nodes - інформаційні вузли). У файлових системах ufs для підвищення стійкості підтримується кілька копій суперблоку (як видно з малюнка 2.2, b, по одній копії на групу циліндрів). Кожна копія суперблоку має розмір 8 196 байт, і тільки одна копія суперблоку використовується при монтуванні файлової системи (див. Нижче). Однак, якщо при монтуванні встановлюється, що первинна копія суперблоку пошкоджена або не задовольняє критеріям цілісності інформації, використовується резервна копія.
· Блок групи циліндрів містить число i-вузлів, специфікованих в списку i-вузлів для даної групи циліндрів, і число блоків даних, які пов'язані з цими i-вузлами. Розмір блоку групи циліндрів залежить від розміру файлової системи. Для підвищення ефективності файлова система ufs намагається розміщати i-вузли і блоки даних в одній і тій же групі циліндрів.
· Список i-вузлів (ilist) містить список i-вузлів, відповідних файлам даної файлової системи. Максимальна кількість файлів, які можуть бути створені в файлової системі, визначається числом доступних i-вузлів. У i-вузлі зберігається інформація, що описує файл: режими доступу до файлу, час створення і останньої модифікації, ідентифікатор користувача і ідентифікатор групи творця файлу, опис блокової структури файлів і т.д.
· Блоки даних - у цій частині файлової системи зберігаються реальні дані файлів. У разі файлової системи ufs всі блоки даних одного файлу намагаються розмістити в одній групі циліндрів. Розмір блоку даних визначається при форматуванні файлової системи командою mkfs і може бути встановлений в 512, 1024, 2048, 4096 або 8 192 байтів.
2. Постановка завдання
Необхідно розробити програмний продукт, що працює в середовищі Windows і представляє собою емулятор командного процесора ОС Unix. Тобто після запуску програми під управлінням ОС Windows на екрані повинна з'явитися командний рядок, яка зовні виглядає і функціонує як командна оболонка ОС Unix. Після набору деяких команд ОС Unix, вони повинні відпрацьовувати так само, як виконуються в ОС Unix. Список команд, які необхідно реалізувати видається викладачем і складається з 7 команд. Крім того, всім необхідно реалізувати команду man (допомога по командам), для всіх команд реалізувати можливість використання перенаправлення вводу-виводу ( lt; gt;), і використання метасимволов (*,?). Наприклад: ls * .sh gt; 1.txt
Вибір мови програмування для написання програми залишається за студентом. Використовувати при реалізації програмного продукту команди DOS/Windows для реалізації команд (cmp, diff, ls, comm, sort, rm) не допускається, тобто реалізовувати дані команди необхідно за допомогою засобів мови програмування.
Перш ніж приступити до написання програми необхідно вивчити, як працюють команди в ОС Linux. Для кожної команди реалізувати кілька ключів, за вибором викладача. Вивчення команд передбачено в лабораторній роботі № 1.
Список команд, необхідних для реалізації:
ls, cat, mv, cmp, comm, wc, cd, man.
3. Опис отриманих для реалізації команд і порівняння з родинними командами ОС Windows
· LS
ls каталог параметри
Виведення списку файлів в каталозі. Якщо не вказано, використовувати поточний каталог.
- висновок інформації про кожен файл або каталозі з нового рядка,
a - висновок інформації про всі файлах і каталогах,
c - сортувати вміст каталогу відповідно до пори зміни стану файлу,
l - розширена інформація про файли,
p-вивід похилої риси в кінці імені каталогу.
· СMP
cmp файл_1 файл_2 параметри
побайтное порівняння двох файлів
l - Вивести номер байта для кожного неспівпадання.
...