
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 5: Архітектура ос. Управління процессами: Основні поняття. Семафори і монітори План
- •2. Керування процесами
- •Віртуальні машини - інший розповсюджений підхід до розробки операційних систем й їхніх користувальницьких інтерфейсів
- •Механізми й політики
- •Реалізація операційних систем
- •Генерація операційної системи
- •Перемикання з одного процесу на інший
- •Планувальники, що виконують диспетчеризацію процесів
- •Лекція 10. Методи синхронізації процесів План
- •Алгоритм рішення проблеми критичної секції
- •Алгоритм «в пиріжковій» (bakery algorithm)
- •Синхронізація на основі загальних семафорів
- •Реалізація семафорів
- •Рішення за допомогою семафорів завдання
- •Рішення за допомогою семафорів завдання "читачі - письменники"
- •Рішення за допомогою семафорів завдання " філософи, що обідають,"
- •Монітори
- •Лекція № 11. Управління памяттю План
- •Динамічне завантаження й динамічна лінковка
- •Оверлейна структура програми
- •Відкачка й підкачування
- •Лекція 13. Сегментна організація пам’яті. Віртуальна пам’ять
- •Оптимальний алгоритм заміщення сторінок
- •Сторінкова організація на вимогу в Windows nt
- •Лекція № 14. Системи файлів План
- •Типова організація файлової системи зображена на мал. 19.3.
- •Логічна організація директорій
- •Монтування файлових систем
- •Структура файлової системи
- •Лекція № 15. Віртуальні файлові системи План
- •Лекція 17. Системи вводу-виводу План
- •Опитування пристроїв
- •Переривання
- •Ввід-вивід із прямим доступом до пам'яті (dma)
- •Блокові й символьні пристрої
- •Мережні пристрої істотних відрізняються від блоків і символьних; мають свій власний інтерфейс і систему команд
- •Годинники й таймери
- •Блокуємий (синхронний) і не блокуємий (асинхронний) ввід-вивід
- •Структури даних для вводу-виводу в ядрі ос
- •Життєвий цикл запиту на ввід-вивід
- •Продуктивність вводу-виводу
- •Лекція 18. Мережі й мережеві структури. Класичні и сучасні мережеві комунікаційні протоколи План
- •Мережі Ethernet
- •Протокол tcp/ip
- •Функционирование Ethernet-мереж
- •Лекція 19: Безпека операційних систем і мереж. План
- •Лекція 20. Огляд архітектури й можливостей системи Linux: архітектура, ядро, поширення й ліцензування, принципи проектування, керування процесами План
- •Історія Linux
- •Ядро Linux
- •Сучасний стан Linux, дистрибутиви й ліцензування
- •Принципи проектування й компоненти системи Linux
- •Модулі ядра, що завантажують, Linux
- •Керування процесами в Linux
- •Планування завдань ядра й синхронізація в ядрі
- •Лекція 21. Огляд архітектури й можливостей системи Linux: керування пам'яттю, ресурсами, файлові системи, драйвери пристроїв, мережі, безпека План
- •Керування фізичною пам'яттю в Linux
- •Віртуальна пам'ять в Linux
- •Виконання й завантаження користувальницьких програм в Linux
- •Системи файлів Linux
- •Ввод й вивід в Linux
- •Взаємодія процесів в Linux
- •Структура мережі в Linux
- •Безпека в Linux
- •Розвиток і використання Linux
- •Лекція 22. Огляд архітектури й можливостей систем Windows 2000/xp/2003/Vista/2008/7 План
- •Система Windows 2000
- •Історія Windows
- •Принципи проектування Windows 2000 - розширюваність, переносимость, надійність, безпека, сумісність, продуктивність, підтримка інтернаціоналізації й локалізації.
- •Архітектура Windows 2000
- •Ядро Windows 2000
- •Обработка переривань у ядрі
- •Виконавча підсистема (executive) ос Windows 2000
- •Підсистеми оточення в Windows 2000
- •Лекція 23. Системні механізми Windows План
- •Система файлів Windows
- •Рограммный інтерфейс Windows
- •Програмний інтерфейс Windows: Керування процесами
- •Керування віртуальною й фізичною пам'яттю й робочими наборами в Windows
- •Лекція 24. Ос для мобільних пристроїв. Windows Mobile План
- •Особливості ос для мобільних пристроїв
- •Ринок ос для мобільних пристроїв
- •Перспективи ос для мобільних пристроїв
- •Лекція 25. Перспективи операційних систем і мереж План
- •Операційні системи інших великих фірм
- •Solaris - операційна система розробки фірми Oracle / Sun
- •Сучасні тенденції в розвитку ос
- •Нові ос сімейства Windows
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Монтування файлових систем
Файлова система – піддерево директорій на деякій машині, розташованих в одному розділі. Кожна файлова система повинна бути змонтована, перш ніж до неї буде забезпечений доступ. Файлова система монтується в деяку точку монтування (mount point). Монтування (з абстрактної точки зору) - це приєднання окремого дерева (ще не змонтованої файлової системи) до якої-небудь вершини (крапці монтування) загального дерева змонтованих і доступних файлових систем.
У системі UNIX є команди mount; automount й autodirect, керуючі монтуванням. Команда mount дозволяє явно задати крапку монтування й файлову систему, монтируемую в цю крапку. Список всіх змонтованих файлових систем зберігається в системному текстовому файлі /etc/mnttab (у різних діалектах шляху до цього файлу й навіть його ім'я можуть розрізнятися). Команда automount запускається при завантаженні операційної системи й створює системний процес-демон automountd, що по вмісту зазначеного системного файлу автоматично монтує зазначені в ньому файлові системи при завантаженні ОС і стежить за їхньою постійною змонтованістю. Команда autodirect дозволяє змоделювати шляхи до "віртуального" директоріям, яких фізично на даній машині не існує, і вказати в системному файлі /etc/vfstab їх "замінники" (у вигляді шляхів до реальних директорій, розміщеним на локальній машині), що досить корисно у випадку одержання великого проекту від замовника з абсолютними шляхами, що не існують на Вашій машині.
На рис. 19.9 зображено дерево змонтованих систем з директоріями користувачів (a) і ще не смотрированная файлова система (b) з директоріями нових користувачів.
Рис. 19.9.
Дерево змонтованих систем і ще не
змонтована файлова система.
Якщо по команді mount або automount як крапка монтування файлової системи (b) указується піддиректорія users, то виникає картина, зображена на рис. 19.10.
Рис. 19.10. Точка монтування файлової системи.
Загальний доступ до файлів
У багатокористувальницьких системах загальний доступ до файлів (sharing) необхідний. Загальний доступ може бути забезпечений через деяку систему захисту (protection). У розподілених системах файли можуть використатися спільно через мережу. Керування загальним доступом до файлів у різних ОС по-різному: наприклад, в Windows утиліта Explorer забезпечує можливість установки загального доступу до заданого файлу або папки за допомогою GUI, зробивши оцінку у відповідному checkbox, указати мережне ім'я даного загального ресурсу й указати, чи можливий доступ по читанню й по записі, або тільки по читанню. У системі UNIX передача файлу із заданої файлової системи в загальний доступ виконується командою share.
Network File System (NFS) – розповсюджена система загального доступу до файлів через локальну мережу.
Цікава можливість загального доступу до файлів є в системі Solaris: файлова система, віддана в загальний доступ командою share, може адресуватися за допомогою шляху виду /net/hostname/filesystem, де hostname – ім'я машини; filesystem – ім'я файлової системи на ній. Це дуже зручно, але може створити проблеми при переносі проекту в іншу локальну мережу (як будь-який абсолютний шлях - у цьому випадку шлях містить ім'я машини).
Захист файлів
Творець файлу повинен мати можливість управляти cписком припустимих операцій над файлом і списком користувачів, яким вони дозволені. Це й забезпечують механізми захисту файлів. Розрізняються наступні основні типи доступу до файлу:
Read (для читання)
Write (для запису)
Execute (для виконання)
Append (для запису в кінець файлу, або приєднання)
Delete (для видалення)
List (для виводу списку файлів у директорії).
Для керування захистом файлів в UNIX уведені зручні й наочні позначення, які ми й розглянемо.
Розрізняються наступні режими доступу: read, write, execute (RWX).
Розрізняються також три класи користувачів: власник файлу (owner), група, до якої він належить (group) і весь інший "мир" користувачів (public). Групи користувачів створюються системним адміністратором.
Для кожного класу користувачів ознаки захисту RWX кодуються трьома бітами (або одним восьмеричним числом). Таким чином, набір повноважень для роботи з файлом для всіх трьох категорій користувачів кодується 9 бітами, або трьома восьмеричними цифрами. Наприклад, команда:
chmod 740 my_file
задає для файлу my_file наступні повноваження: для власника – 7 (111): читання, запис і виконання; для групи – 4 (100): тільки читання; для інших користувачів – 0 (000): ніяких дій над файлом не дозволено.
Для директорії повноваження "X" (execute) означає можливість входу в неї командою cd.
Реалізація файлових систем