
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 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
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Сучасний стан Linux, дистрибутиви й ліцензування
ОС Linux використає багато інструментів, розроблені як частини Berkeley BSD UNIX, системи X Window розробки MIT, а також проекту GNU некомерційної асоціації Free Software Foundation (FSF).
Мінімальний набір системних бібліотек був розроблений як частина проекту GNU, з поліпшеннями, розробленими співтовариством Linux.
Засоби мережного адміністрування Linux були розроблені на основі версії 4.3 Berkeley Software Distribution (BSD) UNIX. Недавні похідні від BSD (наприклад, UNIX FreeBSD), у свою чергу, запозичили код з Linux.
Система Linux підтримується слабко зв'язаною мережею розроблювачів, взаємодіючих через Internet. Невелике число привселюдно доступних ftp-серверів використається як сховища інформації про де-факто стандарти.
Стандартний попередньо відкомпільований набір пакетів, або дистрибутивів, включає базову систему Linux, утиліти для інсталяції системи й керування системою, а також готові до інсталяції пакети інструментів для UNIX.
Ранні дистрибутиви включали діалекти SLS й Slackware. Red Hat й Debian – популярні дистрибутиви, відповідно, засновані на комерційному й некомерційному вихідному кодах.
Єдиний формат файлу пакета - RPM забезпечує сумісність між різними дистрибутивами Linux.
Що стосується інсталяції Linux, те, по особистому досвіді автора, при часткових інсталяціях Linux у різних конфігураціях (наприклад, workstation) і наступних "доинсталляциях" до повної версії можливі проблеми: інсталятор "плутає" фактичний состав инсталлируемых пакетів (Linux Red Hat, 2003), принаймні, доповнити Linux до повної версії шляхом ітеративних інсталяцій не вдається, і рекомендується відразу ж инсталлировать повну версію, тобто явно змінити умовчання інсталятора.
Ядро Linux поширюється на умовах GNU General Public License (GPL),які встановлені організацією Free Software Foundation.
Програміст, що використає Linux, або створює свої власні системи на базі Linux, не має права перетворювати свій продукт у комерційний (відомчий); програмне забезпечення, розповсюджуване на основі GPL, не може поширюватися тільки у вигляді двійкового коду (тобто в поставку Linux повинен бути включений вихідний код). Це було однієї із принципових цілей проекту.
Linux в основному використається як серверна операційна система, через її високу надійність. Що стосується використання Linux як клієнтської ОС, то частка її використання дуже мала.
Принципи проектування й компоненти системи Linux
Linux - багатокористувацька й багатозадачна ОС із повним набором UNIX-сумісних інструментів.
Її файлова система відповідає традиційній семантиці UNIX. Вона повністю реалізує стандартну мережну модель UNIX.
Основні цілі проектування Linux - швидкість, ефективність і стандартизація.
ОС Linux розроблена як система, сумісна зі стандартами POSIX, принаймні два дистрибутиви Linux були офіційно сертифіковані як сумісні з POSIX. Програмний інтерфейс Linux відповідає семантиці діалекту SVR4 UNIX (розробленого фірмою AT&T), але не діалекту BSD UNIX (розробленого університетом Беркли).
Компоненты системи Linux зображені на рис. 25.2.
Рис. 25.2. Компоненти системи Linux.
Як більшість реалізацій UNIX, Linux складається із трьох основних груп коду - ядро, системні бібліотеки й системні утиліти; найбільш важлива розходження між ядром і всіма іншими компонентами.
Ядро відповідає за підтримку основних концепцій (абстракцій) ОС.
Код ядра виконується в привілейованому режимі, і йому повністю доступні всі апаратні ресурси комп'ютера.
Всі коди і структури ядра зберігаються й виконуються в єдиному адресному просторі.
Системні бібліотеки визначають стандартний набір функцій, за допомогою якого додатка взаємодіють із ядром, і які реалізують основну частину функціональності ОС, не потребуючого виконання в привілейованому режимі.
Системні утиліти виконують індивідуальні специфічні завдання.