
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 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
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Типова організація файлової системи зображена на мал. 19.3.
Рис. 19.3. Організація файлової системи.
Файлові системи організуються на дисках. Кожен диск поділений на розділи (partitions) – суміжні області дискової пам'яті, що мають свої логічні імена (звичайно у вигляді перших букв латинського алфавіту). Однак можлива й організація розділу, що займає кілька дисків. Для розподілу диска на розділи рекомендуємо утиліту Partition Magic. У розділах зберігаються директорії й файли. Кожен розділ має кореневу директорію, у якої при необхідності можуть бути організовані піддиректорії, на які вона посилається.
Варто мати на увазі, що в різних розділах можуть бути встановлені різні операційні системи, що використають різне форматування й різні файлові системи для своєї роботи. Навіть якщо на комп'ютері встановлена тільки одна ОС, різні розділи можуть використати різні типи файлових систем, наприклад, в Windows розділ A може використати файлову систему FAT32, а розділ B – файлову систему NTFS. У розділі C може бути інстальована ОС Linux, що використає свою власну файлову систему Ext2Fs.
Операції над директоріями
Над директоріями визначений ряд операцій, які аналогічні один одному у всіх операційних системах, хоча по іменах можуть відрізнятися. Операції над директоріями доступні як з командної мови, так і через спеціалізований API. У своєму викладі ми будемо використати команди для роботи з файлами. Аналогічні дії можуть бути виконані за допомогою GUI через графічну оболонку ОС.
Установка поточної (робочої) директорії. При роботі з директоріями основним є поняття поточної (робочої) директорії, що встановлюється в командних мовах командою cd (change directory), наприклад, якщо в цей момент поточної є коренева директорія диска C: , то команда:
cd doc
установить у якості поточну піддиректорію doc. Поточна директорія в командній мові позначається крапкою (.) .
Пошук файлу. Як ми вже відзначали, пошук файлу виконується за допомогою символьного шляху (path), утвореного послідовністю імен директорій, наприклад, C:\doc\plan.txt. Якщо потрібно знайти файл у поточній директорії, указується його ім'я. Наприклад, в Windows команда:
type plan.txt
виводить уміст файлу plan.txt у поточній директорії (C:\doc) на консоль.
Створення файлу. Як правило, створення файлу в поточній директорії виконується програмою, що надалі буде працювати із цим файлом – наприклад, в Windows – текстовими редакторами notepad, wordpad, Microsoft Word. Багато файлів створюються в поточній директорії неявно, у результаті компіляції або яких-небудь інших системних операцій. Наприклад, якщо в поточній директорії є файл вихідного коду мовою Java – program.java, то в результаті його компіляції:
javac program.java
Java-компілятор створює в поточній директорії class-файл, що містить двійковий байт-код Java-програми – файл program.class.
Багато програм створюють у поточній директорії тимчасові файли, часом з досить екзотичними іменами, - наприклад, Microsoft Word у результаті відкриття файлу з документом. По закінченні роботи програми тимчасові файли віддаляються.
Створення директорії. У робочій директорії можна створити іншу директорію. Командною мовою це робиться командою mkdir, наприклад:
mkdir tmp.
Видалення файлу з поточної директорії виконується спеціальною командою - del (в Windows) або rm (в UNIX). Видалення знищує тільки посилання на файл із директорії, але не сам файл. Якщо на нього є інші посилання, воно зберігається. Типовою помилкою користувачів є поспішне невірне видалення файлу. Якщо воно виконано в системі Windows, те, як правило, файл можна відновити спеціальними утилітами (крім його імені), тому що, наприклад, у системі FAT файл представляється як список суміжних областей. Якщо ж видалення файлу виконане в UNIX, те, на жаль, файл відновленню не підлягає, тому що в UNIX використовує подання у вигляді індексних блоків, що містять посилання на всі блоки даних файлу.
Вивід умісту директорії. Команда dir (в Windows) і ls (в UNIX) виводить уміст директорії на консоль. За допомогою перенапрямку стандартного виводу вміст директорії можна зберегти в текстовому файлі, наприклад:
ls doc > doc_list.txt
Перейменування файлу. Ім'я файлу в директорії можна змінити, якщо нове ім'я вже не зустрічається в директорії. В UNIX це робиться командою mv, наприклад:
mv old_file.txt new_file.txt
Обхід файлової системи. Більше складна операція здійснює обхід дерева директорій, починаючи із заданої кореневий, наприклад, з метою пошуку заданого файлу. Наприклад, у системі UNIX команда:
find . -name plan.txt -print
виконує пошук у поточній директорії й всіх її піддиректоріях файлу plan.txt і виводить на консоль повний шлях доступу до кожного знайденого файлу з таким ім'ям.