- •Призначення та основні функції операційної системи.
- •Моделі операційних систем.
- •Класифікація операційних систем.
- •Виникнення та розвиток 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.
- •Поняття мережевої та розподіленої ос. Вимоги до розподілених ос.
- •Поняття обчислювального кластера. Розподілена подільна пам’ять.
- •Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).
- •Основні програмні інтерфейси синхронізації виконання процесів.
- •Командний сценарій. Потоки введення/виведення, конвеєри.
- •Стандартне виведення
Класифікація операційних систем.
Операці́йна система (скор. ОС)— це базовий комплекс програмного забезпечення, що виконує управління апаратним забезпеченням комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організує взаємодію з користувачем.
Операційні системи можуть бути класифікованими по базовій технології (Юнікс-подібні чи схожі на Windows), типу лицензії (комерційна чи вільна), чи розвивається в даний час (застарілі DOS чи NextStep або сучасні Linux і Windows), для робочих станцій (DOS, Apple), або для серверів (AIX), ОС реального часу і вбудовані ОС (VxWorks,QNX), PDA, чи спеціалізовані (керування виробництвом, навчання тощо). Багатозадачна ОС, вирішуючи проблеми розподілу ресурсів і конкуренції, повністю реалізує мультипрограмний режим відповідно до вимог роздягнула "Основні поняття, концепції ОС".
-ОС одного користувача і ОС багатьох користувачів;
-однозадачні ОС і багатозадачні ОС.
Однозадачні системи (вони, як правило, для одного користувача) допускають тільки послідовне виконання завдань: у кожний момент часу виконується тільки одне завдання. Зрозуміло, що ефективність використання ресурсів комп"ютера при цьому є невисокою. Однозадачний режим був характерний для перших ЕОМ. При роботі в цьому режимі центральний процесор змушений був простоювати, очікуючи, наприклад, закінчення виведення на зовнішній друкувальний ' пристрій або введення додаткових даних. Практично всі сучасні ОС підтримують багатозадачний режим, при якому можливе паралельне виконання завдань і розподіл ресурсів комп'ютера між завданнями.
Однозадачною ОС є розглянута тут система МS-DOS. До сучасних багато-задачних систем належать усі ОС класу Windows 95 і вище. Типовим прикладом ОС багатьох користувачів є система UNIX, що встановлюється на комп'ютерах у великих офісах, банках, страхових компаніях тощо.
Виникнення та розвиток Unix - подібних систем.
Перша система UNIX була розроблена в 1969 році в підрозділі Bell Labs компанії AT & T. З тих пір була створена велика кількість різних UNIX-систем. Юридично лише деякі з них мають повне право називатися «UNIX»; решта ж, хоча і використовують подібні концепції і технології, поєднуються терміном «UNIX-подібні» (англ. UNIX-like). Для стислості в даній статті під UNIX-системами маються на увазі як справжні UNIX, так і UNIX-подібні ОС. UNIX-системи почали з'являтися з пізніх 1970-х і ранніх 1980-х. Багато пропрієтарних версій, таких як Idris (1978), Coherent (англ.) (1983) і UniFLEX (англ.) (1985), ставили за мету забезпечити потреби бізнесу функціональністю, доступної навченим користувачам UNIX.
Коли AT & T дозволила комерційне ліцензування UNIX в 1980-х, безліч розроблених пропрієтарних систем грунтувалися на цьому, включаючи AIX, HP-UX, IRIX, Solaris, Tru64 UNIX, Ultrix і Xenix. Це багато в чому витісняло пропрієтарних клонів. Зростаюча несумісність між системами призвела до створення стандартів взаємодії, у тому числі POSIX і Єдиної специфікації UNIX.
Між тим, в 1983 році був запущений проект GNU, завдяки якому вдалося зробити операційну систему, яку всі користувачі комп'ютера могли вільно використовувати, вивчати, виправляти, збирати заново. Різні UNIX-подібності розроблялися аналогічно GNU, часто з тими ж основними компонентами. Вони перш за все служили дешевим заміщенням UNIX і включали 4.4BSD, Linux і Minix. Деякі з них послужили основою для комерційних UNIX-систем, таких як BSD / OS і Mac OS X. Примітно, що Mac OS X 10.5 (Leopard) сертифікований Єдиної специфікацією UNIX.
