- •Призначення та основні функції операційної системи.
- •Моделі операційних систем.
- •Класифікація операційних систем.
- •Виникнення та розвиток Unix - подібних систем.
- •Принципи структуризації побудови ос.
- •Підходи до архітектурної ос.
- •Основні функціональні підсистеми сучасних ос.
- •Підсистема управління оперативною пам'яттю
- •Підсистема управління задачами (процесами)
- •Апаратна підтримка функціонування ос.
- •Призначення та принципи роботи основних функціональних підсистем.
- •Інтерфейс системних викликів, статичні та динамічні бібліотеки.
- •Процес. Дескриптор процесу. Створення та завершення процесів.
- •Порядок запуску програм засобами базового інтерфейсу управління процесами.
- •Основні можливості та функції базового інтерфейсу управління процесами.
- •Ідентифікатор процесу. Основні атрибути процесу. Оперування атрибутами процесу.
- •Організація взаємодії між батьківським та дочірніми процесами.
- •Створення та завершення процесів. Поняття про дескриптор процесу.
- •Отримання ідентифікаторів процесів. Стани процесу.
- •Загальний порядок та фізичний зміст створення нового процесу.
- •Поняття процесу з позиції концепції багатопотокового виконання.
- •Поняття про життєвий цикл процесу.
- •Основні можливості та функції базового інтерфейсу управління сигналами. Диспозиція сигналу процесу.
- •Загальний порядок генерування та доставки сигналів процесу. Типи та властивості сигналів.
- •Основні можливості та функції базового інтерфейсу управління потоками.
- •Порядок створення та завершення потоків.
- •Принципи застосування базового інтерфейсу введення/виведення. Порядок роботи з файлом.
- •Основні можливості та функції стандартної бібліотеки введення/виведення.
- •Принципи застосування стандартної бібліотеки введення/виведення. Порядок роботи з файлом.
- •Поняття файлу. Типи файлів. Дані та метадані файлу.
- •Особливості застосування базового інтерфейсу та стандартної бібліотеки введення/виведення.
- •Загальні концепції синхронізації задач.
- •Сутність проблеми змагань між задачами. Умови виникнення змагань. Критичний код, критичний ресурс.
- •Загальні відомості про інтерфейси користувача ос.
- •Графічний інтерфейс
- •Порівняння графічного інтерфейсу та інтерфейсу командного рядка.
- •Приклади графічних середовищ користувача. Організація текстового сеансу роботи користувача.
- •Загальний порядок завантаження ос. Ланцюгове завантаження.
- •Досистемний етап завантаження.
- •Системний етап завантаження. Реалізація системного етапу завантаження Linux.
- •Процес init. Файли /etc/inittab, /etc/rc.D/rc.Sysinit.
- •Сценарії ініціалізації ос. Приклади системних демонів.
- •Компіляція та компоновка. Основні прийоми розробки початкових текстів, компіляції і компоновки програм. Статична компоновка. Динамічне зв’язування.
- •Створення та підключення бібліотек. Види бібліотек. Управління вибором способу підключення бібліотек, наявних у двох варіантах.
- •Види бібліотек та порядок створення бібліотек.
- •Поняття файлу та файлової системи. Імена файлів. Символічне посилання на файл.
- •Фізична організація файлових систем. Типи фізичної організації файлових систем. Поняття фрагментації даних.
- •Типи файлів. Власники файлів. Права доступу до файлів.
- •Основні атрибути файлів.
- •Призначення та приклади використання утиліт: mkdir, mknod, mkfifo, cp, mv, rename.
- •Типи користувачів. Облікові даних користувачів. Групи користувачів.
- •Призначення та зміст файлів, що утворюють традиційну базу обліку користувачів Unix. Псевдокористувачі.
- •Призначення та приклади застосування базових утиліт управління обліком користувачів Unix: useradd, usermod, userdel, groupadd.
- •Призначення та приклади застосування базових утиліт управління обліком користувачів Unix: groupmod, groupdel, passwd, gpasswd.
- •Програма, задача, процес. Привілейовані та непривілейовані процеси.
- •Ідентифікатор процесу. Родинні відносини між процесами.
- •Призначення та приклади застосування базових утиліт управління задачами Unix: ps, kill, nice, renice, su, sudo.
- •Поняття мережевої та розподіленої ос. Вимоги до розподілених ос.
- •Поняття обчислювального кластера. Розподілена подільна пам’ять.
- •Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).
- •Основні програмні інтерфейси синхронізації виконання процесів.
- •Командний сценарій. Потоки введення/виведення, конвеєри.
- •Стандартне виведення
Основні можливості та функції базового інтерфейсу управління потоками.
Потоком називають набір послідовно виконуваних команд процесора, які використовують загальний адресний простір процесу.
Властивості потоків:
Неможливість паралельного виконання будь-яких частин потоків
Потік завжди є частиною певного процесу, або належить деякому процесу
Процесорний час розподіляється безпосередньо між потоками, а не між процесами
Порядок створення та завершення потоків.
Особливості створення потоків
Потоки створюють у рамках вже існуючого адресного простору (конкретного процесу або, можливо, ядра системи). Існує кілька ситуацій, у яких може бути створений новий потік.
Якщо процес створюється за допомогою системного виклику f o r k O , після розподілу адресного простору автоматично створюється потік усередині цього
процесу Можна створювати потоки з коду користувача за допомогою відповідного системного виклику. У багатьох ОС є спеціальні потоки, які створює ядро системи
Під час створення потоку система повинна виконати такі дії.
1. Створити структури даних, які відображають потік в ОС.
2. Виділити пам'ять під стек потоку.
3. Встановити лічильник команд процесора на початок коду, який буде виконуватися в потоці; цей код називають процедурою або функцією потоку, покажчик на таку процедуру передають у системний виклик створення потоку.
Особливості завершення потоків
Під час завершення потоку його ресурси вивільняються (насамперед, стек); ця операція звичайно виконується швидше, ніж завершення процесу. Потік може бути завершений, коли керування дійде до кінця процедури потоку; є також спеціальні системні виклики, призначені для дострокового припинення виконання потоків.
Як і процеси, потоки можуть виконуватися синхронно й асинхронно. Потік, створивши інший потік, може призупинити своє виконання до його завершення.
Таке очікування називають приєднанням потоків. Після завершення приєднаного потоку потік, який очікував його завершення, може дістати статус виконання
Організація взаємодії між потоками.
Порівняння процесів та потоків з позиції концепції багатопотокового виконання.
Оперування ідентифікаторами потоків.
Основні можливості та функції базового інтерфейсу введення/виведення.
Сутність моделі файлового введення/виведення.
Базовою моделлю системи введення / виводу UNIX є послідовність байт, доступ до яких може здійснюватися як послідовно, так і в у довільному порядку. У типовому користувальницькому процесі UNIX немає таких понять, як методи доступу або керуючі блоки. Одним із головних завдань ОС є забезпечення обміну даними між додатками і периферійними пристроями комп'ютера. Взагалі кажучи, заради виконання цього завдання і були розроблені перші системні програми, які послужили прототипами операційних систем. У сучасній ОС функції обміну даними з периферійними пристроями виконує підсистема вводу-виводу. Клієнтами цієї підсистеми є не тільки користувачі і додатки, але і деякі компоненти самої ОС, яким потрібне отримання системних даних або їх вививоди.Основними компонентами підсистеми вводу-виводу є драйвери, керуючы зовнішніми пристроями, і файлова система.Користувальницький додаток функціонує в спеціальному режимі (щодо апаратного забезпечення), званому 'user mode' - користувацький режим. У межах цього режиму код додатку обмежений виконанням «нешкідливих» інструкцій. Інструкції апаратного введення / виводу також не можуть бути виконані кодом користувацького режиму.
Підсистема управління зовнішніми пристроями, яка називається також підсистемою введення-виводу, виконує роль інтерфейсу до всіх пристроїв, підключених до комп'ютера.
Програма, що управляє конкретною моделлю зовнішнього пристрою і що враховує всі його особливості, зазвичай називається драйвером цього пристрою (від англійського drive — управляти, вести).
