- •Призначення та основні функції операційної системи.
- •Моделі операційних систем.
- •Класифікація операційних систем.
- •Виникнення та розвиток 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.
- •Поняття мережевої та розподіленої ос. Вимоги до розподілених ос.
- •Поняття обчислювального кластера. Розподілена подільна пам’ять.
- •Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).
- •Основні програмні інтерфейси синхронізації виконання процесів.
- •Командний сценарій. Потоки введення/виведення, конвеєри.
- •Стандартне виведення
Приклади графічних середовищ користувача. Організація текстового сеансу роботи користувача.
Графічне середовище користувача — середовище між комп'ютером і його користувачем, що використовує піктограми, меню, і вказівний засіб для вибору функцій та виконання команд. Зазвичай, можливе відкриття більше, ніж одного вікна на одному екрані.
ГСК — система засобів для взаємодії користувача з комп'ютером, заснована на представленні всіх доступних користувачеві системних об'єктів і функцій у вигляді графічних компонентів екрану (вікон, значків, меню, кнопок, списків і т. п.). При цьому, на відміну від середовища командного рядка, користувач має довільний доступ (за допомогою клавіатури або пристрою координатного введення типу «миша») до всіх видимих екранних об'єктів.
Можна виділити наступні види ГСК:
простий: типові екранні форми та стандартні елементи інтерфейсу, забезпечувані самої підсистемою ГСК;
істинно-графічний, двовимірний: нестандартні елементи інтерфейсу та оригінальні метафори, реалізовані власними засобами програми або сторонньої бібліотекою;
тривимірний
Текстовий режим роботи користувача в ОС Linux.
Під текстовим режимом розуміють введення команд користувачем лише з командного рядка, для чого їх потрібно спочатку набрати на клавіатурі. Прикладом
консольної команди для запуску програми менеджера файлів МС є mc.
Розглянемо три варіанти запуску сеансу роботи ОС Linux у текстовому режимі:
• реєстрація у текстовому режимі (Session — Failsave);
• використання спеціальних програм-емуляторів терміналу;
• переведення на іншу віртуальну консоль.
Щоб запустити текстовий режим з графічної оболонки, потрібно за допомогою пункту меню Виконати ввести назву відповідної програми, наприклад, xterm,
konsole тощо. Програма konsole є стандартною для KDE.
В ОС Linux реалізована можливість одночасної роботи на одному комп'ютері декількох користувачів — це багатокористувацька система. Завдяки концепції
віртуальних консолей користувачам не потрібно кожного разу перереєстровуватись.
Для переходу на консоль з номером n слід натиснути Ctrl + Alt + Fn. Під час переходу на іншу консоль користувач автоматично потрапляє у текстовий режим, де
необхідно увести свій логін (localhost login) та пароль (Password). Після закінчення сеансу роботи потрібно виконати логоф, увівши команду logout. Для повернення у
графічну оболонку треба натиснути Alt + F8.
Загальний порядок завантаження ос. Ланцюгове завантаження.
Завантаження операційної системи — це багатокроковий процес запуску комп'ютера.
ЕТАПИ ЗАГРУЗКИ ОС UNIX^
Досистемний завантажувач
Визначає (можливо, за допомогою користувача), з якого пристрою буде йти завантаження, завантажити звідти спеціальну програму-завантажувач і запустити її.
Завантажувач першого рівня
Його завдання: визначити, де на диску знаходиться завантажувач другого рівня, завантажити його в пам'ять і передати йому управління.
Завантажувач другого рівня
вторинний завантажувач читає образ ядра в певну адресу пам'яті і передає туди управління.
Ініціалізація ядра операційної системи
Першим ділом ядро займається визначенням параметрів обчислювальної підсистеми комп'ютера: з'ясовує тип і швидкодія центрального процесора, обсяг оперативної пам'яті, об'єм і структуру кеш-пам'яті; робить припущення про архітектуру комп'ютера в цілому і багато іншого.
На наступному кроці ядро визначає склад і архітектуру всього апаратного наповнення комп'ютера: тип і параметри шин передачі даних і пристроїв управління ними (контролерів), список зовнішніх пристроїв, доступних по шинах, налаштування цих пристроїв - діапазон портів вводу-виводу, адреса ПЗУ, займане апаратне переривання, номер каналу прямого доступу до пам'яті і т.п
Процес init
З цього моменту операційна система забезпечує повноцінну функціональність всім виконуваного процесу. В UNIX Перший запускає процесом є init, про який сказано в наступному розділі.
Linux Loader - це стандартний завантажувач, який входить до складу Unix-систем, у тому числі і практично всіх дистрибутивів Linux. З його допомогою можна завантажувати операційні системи, що відносяться не тільки до сімейства Unix, але і Windows. Більшість сучасних дистрибутивів Linux при установці LILO самостійно внесуть інші операційні системи до списку завантаження, а стару MBR (Master Boot Record, основний завантажувальний запис) диска, на який він встановлюється, дбайливо збережуть у резервному файлі. Безпосередньо LILO завантажує тільки Linux, решта ОС запускаються методом ланцюгової завантаження, тобто LILO передає цю задачу їх власним завантажувачу.
