- •Операційні системи
- •1.Принципи побудови ос. Теоретичні основи процесу
- •2. Властивості та класифікація процесів. Життєвий цикл процесу.
- •Арі процесів. Функція fork. Функція exit.
- •Сигнали. Функція wait, waitpid. Функція exec.
- •Ресурси ос. Визначення ресурсу. Властивості та класифікація ресурсів.
- •Концепція віртуалізації. Віртуальна машина.
- •Дисципліни розподілу ресурсів які використовуються в ос.
- •Концепція переривань Теорія переривань
- •Блокування. Сигнали. Сигнальна маска. Функція sigaction.
- •Процеси-демони. Поняття про демони. Основні демони unix. Приклад програми демону
- •Засоби, механізми і підсистеми ос. Системи керування процесами. Дворівнева система керування процесами.
- •Засоби, механізми і підсистеми ос. Рівень довгострокового планування. Схема довгострокового рівня планування.
- •Засоби, механізми і підсистеми ос. Рівень короткострокового планування. Схема рівня планування.
- •Структури даних процесів. Стан процесів у unix. Особливості планувальника unix ( Linux).
- •Дескриптори процесів.
- •Взаємодія між процесами у unix.
- •Канали. Fifo (First InFirst Out). Повідомлення (черги повідомлень).
- •Семафори. Задачі синхронізації.
- •Архітектура та основні питання побудови механізмів синхронізації
- •Семафорна техніка синхронізації та упорядкування процесів.
- •Підсистема введення/виведення системи unix. Драйвери пристроїв. Типи драйверів. Базова архітектура драйверів
- •Файлова підсистема ос. Суперблок. Індексні дескриптори. Імена файлів. Каталоги.
- •Побудова підсистем ядра мультипрограмних ос. Організація віртуальної оп. Основні поняття та принципи віртуалізації пам’яті.
- •Принципи керування пам’яттю у unix. Віртуальна та фізична пам’ять. Сегменти. Сторінковий механізм.
- •Адресний простір процесів. Керування пам’яттю процесу.
- •Планування виконання процесі. Обробка переривань таймеру. Відкладений виклик. Аларми. Контекст процесу.
- •Архітектура віртуальної фс. Віртуальні індексні дескриптори. Монтування фс.
- •Архітектура віртуальної фс. Трансляції імен. Доступ до фс. Файлова таблиця.
- •Архітектура віртуальної фс. Блокування доступу до файлу.
Концепція віртуалізації. Віртуальна машина.
Метою віртуалізації ресурсів в ОС є зменшення конфліктів при керуванні процесами й розподілі ресурсів та надання користувачеві ресурсів, які реально не існують, тобто віртуальних ресурсів, або реальних, але з погіршеними характеристиками. Віртуалізація ресурсів для паралельно виконуваних процесів створює ілюзію одночасного використання того, що у фоннеймановських процесорах одночасно існувати не може, і є основою багатозадачності. Користувачі дістануть ресурси, які значною мірою задовольняють їх за своїми характеристиками, знімається велика частка обмежень на кількість розподілюваних ресурсів. Це збільшує швидкість розвинення процесів та гнучкість їхнього керування у межах багатозадачності.
Віртуалізація каналів (шин), до яких в обчислювальній системі підмикаються різні периферійні пристрої, зреалізовується засобами мультиплексування, і для кожного пристрою складається ілюзія використання власного каналу. Під час роботи вони працюють з номінальними для них швидкостями.
Віртуалізація периферійних пристроїв, які за своїм типом є послідовно використовуваними ресурсами, називається спулінгом. Найбільш типовим з таких пристроїв є принтер, який у системі, зокрема в локальній мережі, надто активно використовується, причому процесами, які розвиваються паралельно.
Віртуалізація пам’яті здійснюється на підставі твердого диска та апаратної підтримки на рівні архітектури сучасних 32-розрядних процесорів сегментного, сторінкового або сегментно-сторінкового обміну (свопингу) поміж ПЗП та твердим диском під керуванням ОС.
Узагальненням поняття віртуалізації є віртуальна машина. Віртуальна машина - програмна або апаратна система, що емулює апаратне забезпечення деякої платформи та виконуюча програми для target-платформи на host-платформі або віртуалізуються деяку платформу і створює на ній середовища, ізолюючі один від одного програми і навіть операційні системи; також специфікація деякої обчислювальної середовища. Надана користувачеві віртуальна машина відтворює архітектуру реальної машини, але з новими, зоптимізованими характеристиками:
необмежена за обсягом пам’ять з довільним, зручним для користувача доступом;
один чи більше процесорів, здатних виконувати програми, написані кількома мовами програмування;
необхідна кількість зовнішніх пристроїв зі зручним способом доступу та подання інформації без обмеження щодо її обсягу.
Чим більше наближується віртуальна машина до ідеальної, тим більше її характеристики відрізняються від тих, які має апаратна платформа, на базі якої засобами конкретної ОС вона зреалізовується, й тим вище ступінь її віртуальності.
Примірні характеристики віртуальної машини можуть бути такі:
1 Єдина за логікою роботи віртуальна пам’ять, практично необмежена за обсягом пам’ять із середнім терміном доступу, близьким до значення цього параметра для ПЗП. Робота з інформацією, розміщеною в такій пам’яті, провадиться в термінах опрацьовування даних на рівні обраної мови програмування.
2 Необхідна кількість віртуальних процесорів, які можуть працювати паралельно та взаємодіяти під час роботи, способи керування процесорами – синхронізація, інформаційна взаємодія – доступні користувачам з рівня використовуваної мови програмування в термінах керування процесами.
3 Необхідна кількість віртуальних зовнішніх пристроїв, здатних працювати з пам’яттю віртуальної машини паралельно чи послідовно, асинхронно чи синхронно стосовно роботи того чи іншого віртуального процесора, які ініціюють роботу цих пристроїв. Дані, що передаються або зберігаються на віртуальних пристроях, є не обмежені за обсягом, доступ до них здійснюється на підставі послідовного чи прямого доступу до пам’яті.
Концепція віртуалізації широко використовується у проектуванні та зреалізовуванні операційних систем, структуру яких можна подати у вигляді набору планувачів процесів та розподілювачів ресурсів, моніторів, які й забезпечують їхню віртуалізацію.
