- •Призначення та основні функції операційної системи.
- •Моделі операційних систем.
- •Класифікація операційних систем.
- •Виникнення та розвиток 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 блок) можуть залишитися не використовуваними.
Наступний спосіб фізичної організації - розміщення у вигляді пов'язаного списку блоків дискової пам'яті. На відміну від попереднього способу, кожен блок може бути приєднаний до ланцюжок якого-небудь файлу, отже фрагментація відсутня. Файл може змінюватися під час свого існування, нарощуючи число блоків.
Фрагментація даних - процес, при якому файл при записі на диск розбивається на блоки різної довжини, які записуються в різні області жорсткого диска. Протилежним процесом є дефрагментація.
Типи файлів. Власники файлів. Права доступу до файлів.
В UNIX існують 6 типів файлів, що розрізняються за функціональним
призначенням та діям операційної системи при виконанні тих чи
інших операцій над файлами:
1. Звичайний файл (regular file)
2. Каталог (directory)
3. Спеціальний файл пристрою (special device file)
4. FIFO або іменований канал (named pipe)
5. Зв'язок (link)
6. Сокет
UNIX - багатокористувацька система. Щоб захистити файли кожного користувача від впливу інших
користувачів, UNIX підтримує механізм, відомий, як система прав доступу до файлів.
Файли в UNIX мають двох власників: користувача (user owner) і групу
(group owner). Важливою особливістю є те, що власник-користувач може не бути членом групи, що володіє файлом.
Власником-користувачем новоствореного файлу є користувач,
який створив файл.
Системний адміністратор може дати користувачу доступ більш, ніж до однієї групи.
Групи звичайно визначаються типами користувачів даної машини.
Права доступу підрозділяються на три типи: читання (read), запис (write) і виконання (execute). Ці типи прав
доступу можуть бути надані трьом класам користувачів: власнику файлу, групі, у котру входять власник, і усім
(іншим) користувачам.
Дозвіл на читання дозволяє користувачу читати уміст файлів, а у випадку каталогів - переглядати перелік імен
файлів у каталозі (використовуючи, наприклад, ls). Дозвіл на запис дозволяє користувачу писати у файл і змінювати його. Для каталогів це надає право створювати в каталозі нові файли і каталоги, чи видаляти файли в цьому каталозі.
Нарешті, дозвіл на виконання дозволяє користувачу виконувати файли (як бінарні програми, так і командні файли).
Дозвіл на виконання стосовно до каталогів означає можливість виконувати команди начебто cd.
