- •Кафедра комп'ютерної інженерії опорний конспект лекцій до дисципліни "Системне програмне забезпечення "
- •Тема1. Загальне уявлення про операційну систему
- •Першою системою, побудованою таким чином була проста пакетна система the, яку побудував Дейкстра і його студенти в 1968 році.
- •Модель клієнт-сервер і мікроядра
- •Об'єктно-орієнтований підхід
- •Класифікація ос
- •Тема 2. Файлова система fat
- •Файлова система типа fat
- •Структура логічних дисків
- •7 Головка0
- •Алгоритм визначення ланцюжка кластерів
- •Функції створення і доступу до об'єктів файлової системи
- •Порушення структури файлової системи
- •Тема 3. Файлова система ntfs
- •Базові поняття в ntfs
- •Характеристики ntfs
- •Додаткові можливості ntfs
- •Фізична організація файлової системи ntfs
- •Mft і його структура
- •Метафайли
- •Файли і потоки
- •Каталоги
- •Атрибути файлів і каталогів
- •Короткі імена
- •Алгоритм визначення номера запису mft відповідною файлу із заданим ім'ям
- •Алгоритм пошуку номера запису mft для поточного елементу шляху по каталогу, який описаний записом mft з заданим номером
- •Каталогу із заданим номером запису mft
- •Алгоритм визначення повного списку елементів в каталозі за вказаним шляхом
- •Алгоритм отримання списку файлів в заданому індексному записі
- •Заголовок індексного запису для атрибуту index_root
- •Заголовок індексного запису для атрибуту index_allocation
- •Тема 4 . Організація пам'яті реального режиму
- •Організація пам'яті реального режиму
- •Звільнення і виділення блоків
- •Тема 5. Організація доступу до пам'яті в захищеному режимі
- •Сегмент
- •Структура дескриптора сегменту
- •Атрибут 2
- •Розподіл пам'яті в Windows
Алгоритм визначення номера запису mft відповідною файлу із заданим ім'ям
Вхідні параметри – шлях до файлу(каталогу)
Вихідний – номер запису MFT
Алгоритм:
Поточний номер MFT = 5 (номер MFT для кореневого каталогу диска)
Виділення поточного елементу шляху
Пошук номера запису MFT для поточного елементу шляху
Якщо не знайдений, завершення з помилкою про неправильну дорогу
Поточний номер MFT = знайдений номер MFT
Якщо поточний елемент шляху не останній, перехід на п. 2
Повернення як результат поточного номеру MFT
Алгоритм пошуку номера запису mft для поточного елементу шляху по каталогу, який описаний записом mft з заданим номером
Вхідні параметри – ім'я файлу(каталогу) пошуку;
номер запису MFT що описує каталог, в якому необхідно виконати пошук файлу
Вихідні параметри – номер запису MFT що описує знайдений
файл(каталог)
Алгоритм:
Читання атрибуту $INDEX_ROOT каталогу із заданим номером MFT
Обчислення адреси першого index entry в атрибуті
Порівняння імені файлу в index entry з вхідним параметром
якщо рівні
то повернення, як результату номера запису MFT із знайденого
index entry
інакше, якщо пошукове ім'я менше імені в index entry і
index entry має дочірню гілку,
то виконання пошуку файлу в індексному записі, що починається з VCN вказаного в поточному index entry, атрибуту $INDEX_ALLOCATION каталогу із заданим номером запису MFT
4. Якщо поточний index entry останній перехід на п. 7
5. Обчислення адреси наступного index entry
6. Перехід на п.3
7. Повернення помилки «файл не знайдений»
Алгоритм пошуку файлу в атрибуті $INDEX_ALLOCATION
Каталогу із заданим номером запису mft
Вхідні параметри – номер запису MFT що описує каталог в якому
необхідно виконати пошук файлу;
ім'я пошукового файлу(каталогу);
номер VCN початку індексного запису
Вихідні параметри – номер запису MFT що описує знайдений
файл(каталог)
Алгоритм:
Читання заголовка індексного запису що починається із заданого VCN атрибуту $INDEX_ALLOCATION файлу із заданим номером MFT
Визначення розміру масиву що містить список останніх двох байт кожного сектора індексного запису
Визначення повного розміру списку index entry що міститься в даному індексному записі
Читання масиву що містить список останніх двох байт кожного сектора індексного запису
Читання списку index entry що міститься в даному індексному записі
Відновлення останніх двох байт кожного сектора індексного запису
Якщо останній елемент в списку index entry - перехід на п.11
Порівняння імені файлу в index entry з вхідним параметром
якщо рівні
те повернення як результату номера запису MFT із знайденого
index entry
інакше якщо вхідне ім'я менше імені в index entry
то перехід на п. 11
обчислення адреси наступного index entry
перехід на п.7
якщо поточний index entry не має дочірніх - повернення помилки «файл не знайдений»
заданий VCN= значення VCN для дочірньої гілки з поточного index entry
перехід на п.1
