Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
питання на семінари.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
397.82 Кб
Скачать

Тема 1. Архітектура, ядро, розповсюдження і ліцензування, принципи проектування, управління процессами Ключові терміни

GNU General Public License (GPL) – ліцензія, відповідно до якої використається й поширюється Linux: програміст, що використає Linux, або створює свої власні системи на базі Linux, не має права перетворювати свій продукт у комерційний; програмне забезпечення, розповсюджуване на основі GPL, не може поширюватися тільки у вигляді двійкового коду (тобто в поставку Linux повинен бути включений вихідний код).

Модуль ядра, що завантажує, ( loadable kernel module, LKM ) - механізм Linux, що забезпечує можливість компіляції, завантаження й вивантаження окремих модулів коду ядра, незалежно від іншої частини ядра.

Идентификатор процесу (PID) - унікальний ідентифікатор процесу (число), використовуване для вказівки процесів в операційній системі.

Контекст процесу – стан виконує программы, що, у будь-який момент часу; складається з контексту планування, контексту системи файлів, таблиці оброблювачів сигналів і контексту віртуальної пам'яті.

Оточення процесу – системна структура, що складається із двох векторів, що завершуються нулями: вектор аргументів командного рядка процесу й вектор (змінних) оточення процесу.

Короткі підсумки

Система Linux - популярна ОС, створена на початку 1990-х рр. з метою розробки UNIX-сумісної ОС із відкритим вихідним кодом. Творець Linux - Линус Торвальдс. Основна частина Linux повністю оригінальна й не містить відомчого конфіденційного коду.

Linux використає розробки BSD UNIX, AT&T UNIX, бібліотеку X Windows. Розробка Linux підтримується мережею розроблювачів, зв'язаних через Інтернет.

Дистрибутиви Linux мають стандартний формат (RPM), що забезпечує сумісність між численними діалектами Linux.

Ядро Linux поширюється на умовах GNU General Public License, суть яких у тім, що розробки на основі коду Linux не можна використати для комерційних цілей, і поширення ПО, розробленого на основі Linux, повинне включати вихідні коди.

Linux в основному використається як серверна ОС. Частка її використання як клієнтської ОС дуже мала.

Linux – вільно розповсюджувана полнофункциональная ОС із повним набором UNIX-сумісних інструментів. Забезпечується сумісність із POSIX. Linux API відповідає UNIX SVR4, але не UNIX BSD.

Linux складається з ядра, системних бібліотек і системних утиліт. Код ядра виконується в привілейованому режимі. Системні бібліотеки й утиліти виконуються в користувальницькому режимі.

Важливе нововведення в Linux - механізм модулів, що завантажують динамічно, ядра, що дає можливість окремо компілювати, завантажувати, запускати й вивантажувати модулі ядра. Компоненти модуля ядра - керування завантаженням модуля, реєстрація драйверів і дозвіл конфліктів.

Для керування процесами в Linux для кожного процесу створюються й використаються його ідентифікація, оточення й контекст.

Для підтримки многопоточности в Linux використається системний виклик clone, що створює новий процес в адресному просторі процесу-батька.

На відміну від багатьох ОС, планування в Linux включає також і планування завдань ядра. Синхронізація в ядрі вимагає, щоб критична секція однієї частини ядра не переривалася іншими критичними секціями.

При обробці переривань всі переривання розділені на верхню половину (звичайна обробка переривань, з відключенням рекурсивних переривань) і нижню половину, що виконує при включеному режимі переривань із використанням міні-планувальника.

При плануванні процесів в Linux ураховуються кредити й пріоритети. Використаються класи планування FIFO й round-robin.

Linux підтримує симетричне мультипроцессирование (SMP).