
- •Призначення та основні функції операційної системи.
- •Моделі операційних систем.
- •Класифікація операційних систем.
- •Виникнення та розвиток 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.
- •Поняття мережевої та розподіленої ос. Вимоги до розподілених ос.
- •Поняття обчислювального кластера. Розподілена подільна пам’ять.
- •Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).
- •Основні програмні інтерфейси синхронізації виконання процесів.
- •Командний сценарій. Потоки введення/виведення, конвеєри.
- •Стандартне виведення
Призначення та основні функції операційної системи.
Моделі операційних систем.
Класифікація операційних систем.
Виникнення та розвиток 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.
Поняття мережевої та розподіленої ОС. Вимоги до розподілених ОС.
Поняття обчислювального кластера. Розподілена подільна пам’ять.
Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).
Основні програмні інтерфейси синхронізації виконання процесів.
Командний сценарій. Потоки введення/виведення, конвеєри.
Приклади застосування операторів перенаправлення введення/виведення та конвеєрів.
Призначення та основні функції операційної системи.
Операційна система - це сукупність програм, які призначені для керування ресурсами комп'ютера й обчислювальними процесами, а також для організації взаємодії користувача з апаратурою.
Перша функція ОС - керування ресурсами комп'ютера та їх розподіл. Ресурси - це логічні й фізичні компоненти комп'ютера: оперативна пам'ять, місце на диску, периферійні пристрої, процесорний час тощо.
Інша функція ОС - керування обчислювальними процесами. Обчислювальним процесом (або завданням) називається послідовність дій, яка задається програмою. У принципі, функції керування процесами можна було б передати кожній прикладній програмі, але тоді програми були б набагато більшими та складнішими. Тому зручніше мати на комп'ютері одну керуючу програму - операційну систему, послугами якої користуватимуться всі інші програми.
Для виконання третьої функції ОС - забезпечення взаємодії користувача з апаратурою - служить інтерфейс користувача ОС. До складу інтерфейсу користувача входить також набір сервісних програм - утиліт.
Утиліта - це невелика програма, що виконує конкретну сервісну функцію. Утиліти звільняють користувача від виконання рутинних і часом досить складних операцій.
Сучасні ОС надають користувачеві широкий спектр сервісних послуг. Чим досконалішою є ОС, тим зручніше у ній працювати користувачу.
1. Операційна система служить для керування ресурсами комп'ютера і забезпечення взаємодії всіх програм на комп'ютері з людиною. Компоненти операційної системи поділяються на два класи: системні та прикладні. До прикладних компонентів відносяться текстові редактори, компілятори, інтегровані системи програмування, пакети графічного виведення, комунікаційні програми і т.
До системних компонентів відносяться ядро системи, що забезпечує взаємодію всіх компонентів, завантажувач програм, підсистеми, що забезпечують діалог з людиною, — віконна система та інтерпретатор команд і, насамкінець, файлова система. Саме системні компоненти ОС визначають основні властивості операційної системи.
Для ІВМ-сумісних ПК створено багато ОС, серед яких найпопулярнішими є DOS, Windows, ОS/2, UNIX та інші. Для роботи на ПК найчастіше використовуються
системи класу Windows і МS-DОS. Операційні системи зручно
Моделі операційних систем.
Операційна система - це складна програма, в якій деталі накладаються один на одного. Щоб система могла забезпечувати бажані можливості, необхідна уніфікуються модель. Розглянемо підходи до проектування операційних систем на прикладі поширених моделей.
Модель операційної системи можна представити як каркас, який пов'язує в єдине ціле всі засоби і сервіси, забезпечувані системою, з одного боку, і виконувані нею завдання з іншого.
Існує безліч способів структурування операційних систем. У невеликих операційних системах, наприклад, в MS-DOS, використовують принцип організації системи, як набору процедур, кожну з яких може викликати будь-яка призначена для користувача процедура. Така модель називається монолітною.
Така структура не забезпечує ізоляції даних, оскільки в різних ділянках коду використовується інформація про пристрій всієї системи. Розширення операційних систем такого типу важко, так як зміна деякої процедури може викликати помилки в інших частинах системи, на перший погляд не мають до неї відношення.
Інший підхід до структурування системи передбачає поділ її на модулі, нашаровані один поверх іншого. Кожен модуль надає набір функцій, які можуть викликатися іншими модулями. Код, розташований в деякому шарі, викликає код тільки з нижележащих шарів.У деяких операційних системах, що будуються по даній моделі, наприклад, в VAX / VMS або в системі Multics, багатошаровість навіть примусово обумовлюється апаратними засобами.
Третій підхід до проектування операційних систем - це модель клієнт-сервер. Ідея його полягає в поділі системи на кілька процесів, кожний з яких реалізує один набір сервісів: наприклад, розподіл пам'яті, створення процесів або планування процесів. Кожен сервер виконується в режимі користувача, весь час перевіряючи, не звернувся до нього за обслуговуванням небудь клієнт. Клієнт, яким може бути або інший компонент операційної системи, або прикладна програма, запитує виконання сервісу, посилаючи сервера повідомлення. Ядро операційної системи, що виконується в режимі ядра, доставляє повідомлення серверу. Той виконує запитувані дії, після чого ядро повертає клієнту результати у вигляді іншого повідомлення