Операційна система (ОС) — це програмне забезпечення, яке керує та обробляє апаратні та програмні ресурси комп’ютерної системи. Він забезпечує взаємодію між користувачами комп'ютерів і технікою комп'ютера. Операційна система відповідає за управління та контроль усіх дій та спільного використання комп’ютерних ресурсів. Операційна система — це програмне забезпечення низького рівня, яке включає всі основні функції, такі як керування процесором, керування пам’яттю, виявлення помилок тощо.
Цей підручник з операційної системи охопить усі базові поняття щодо вдосконалення операційної системи, як-от структура системи, планування ЦП, взаємоблокування, керування файлами та дисками та багато іншого.
Останні статті про операційні системи
- основи
- Структура системи
- Планування ЦП
- Синхронізація процесів
- Тупикова ситуація
- Процеси та потоки
- Управління пам'яттю
- Керування файлами та дисками
- Різне
Основи:
- Введення операційної системи
- Типи операційних систем
- Функції операційної системи
- Системи реального часу
- Завдання в системах реального часу
- Різниця між багатозадачністю, багатопотоковістю та багатопроцесорністю
- Типи пам'яті комп'ютера (RAM і ROM)
- Різниця між 32-розрядними та 64-розрядними операційними системами
- Що відбувається, коли ми вмикаємо комп'ютер?
- Завантажувальний блок
- UEFI (Unified Extensible Firmware Interface) і чим він відрізняється від BIOS
Структура системи:
- Мікроядро
- Підсистема вводу-виводу ядра (система вводу-виводу)
- Монолітне ядро та ключові відмінності від Microkernel
- Введення системного виклику
- Отримати/встановити обмеження ресурсів процесу в C
- Подвійний режим роботи в ОС
- Привілейовані та непривілейовані інструкції
Планування ЦП:
- Процес | (Вступ і різні стани)
- Стани процесу
- Таблиця процесів і блок керування процесом (PCB)
- Планувальник процесів
- Планування ЦП
- Випереджувальне та невипереджувальне планування
- Виміряти час, витрачений на перемикання контексту?
- Різниця між диспетчером і планувальником
- Розклад FCFS | Набір 1
- Розклад FCFS | Набір 2
- Конвойний ефект в операційних системах
- Аномалія Беладі
- Планування найкоротшої роботи спочатку (або SJF) | Набір 1 (без витіснення)
- Програма для планування найкоротшої роботи спочатку (SJF) | Набір 2 (попереджувальний)
- Планування найкоротшого завдання з прогнозованим часом вибуху
- Програма найдовшого часу, що залишився спочатку (LRTF).
- Алгоритм найдовшого часу, що залишився (LRTF).
- Круговий розклад
- Егоїстичне кругове планування
- Кругове планування з різним часом прибуття
- Пріоритетне планування
- Програма для випереджувального пріоритетного планування ЦП
- Пріоритетне планування з іншим часом прибуття – набір 2
- Голодування та старіння операційних систем
- Найвищий коефіцієнт відповіді наступного (HRRN) Планування
- Багаторівневе планування черги
- Багаторівневе планування черги зворотного зв'язку
- Планування процесу лотереї
- Багатопроцесорне планування
>> Тест із планування ЦП
обхід бінарного дерева поштою
Синхронізація процесу:
- Синхронізація процесів | вступ
- Синхронізація процесів | Набір 2
- Критичний розділ
- Комунікація між процесами
- Міжпроцесна комунікація: Метод
- IPC через спільну пам'ять
- IPC з використанням черг повідомлень
- Комунікація на основі повідомлень у IPC (міжпроцесна комунікація)
- Зв’язок між двома процесами за допомогою сигналів у C
- Семафори в операційній системі
- Mutex проти Semaphore
- Синхронізація процесів | Монітори
- Алгоритм Петерсона для взаємного виключення | Набір 1 (базова реалізація C)
- Алгоритм Петерсона для взаємного виключення | Набір 2 (цикли ЦП і огорожа пам'яті)
- Алгоритм Петерсона (використання процесів і спільної пам’яті)
- Алгоритм Деккера
- Алгоритм пекарні
- Проблема виробника споживача з використанням семафорів | Набір 1
- Столова філософська задача з використанням семафорів
- Філософське рішення з використанням моніторів
- Проблема читачів-письменників | Набір 1 (Вступ і рішення для читачів)
- Рішення Reader-Writers із використанням моніторів
- Проблема сплячого перукаря
- Блокування механізму змінної синхронізації
- Блокування Mutex для синхронізації потоків Linux
- Інверсія пріоритету: що за біса!
- Яка різниця між інверсією пріоритету та успадкуванням пріоритету?
- Синхронізація процесів
- Міжпроцесна комунікація: Метод
>> Тест з управління процесами в ОС
Тупик:
- Тупик Введення
- Виявлення та відновлення тупиків
- Тупик, голодування та живе блокування
- Запобігання та уникнення тупикових ситуацій
- Алгоритм банкіра
- Графік розподілу ресурсів (RAG)
- Методи розподілу ресурсів процесів операційною системою
- Програма для алгоритму банкіра
- Алгоритм банкіра: надрукувати всі безпечні стани (або безпечні послідовності)
- Алгоритм виявлення взаємоблокувань
- Програма для безблокування в операційній системі
- Виявлення взаємоблокувань у розподілених системах
- Методи, що використовуються в централізованому підході виявлення взаємоблокувань у розподілених системах
>> Вікторина про безвихідь
Процеси та потоки:
- Операційна система | Нитка
- Нитки та їх види
- Операційна система | Потік рівня користувача проти потоку рівня ядра
- Багатозадачність на основі процесів і потоків
- Багатопотокові моделі
- Переваги багатопоточності
- Зомбі-процеси та їх профілактика
- Максимальна кількість процесів Zombie, які може обробляти система
- Операційна система | Віддалений виклик процедури (RPC)
Керування пам'яттю:
- Дизайн ієрархії пам'яті та її характеристики
- Знайомство з пам’яттю та одиницями пам’яті
- Різні типи оперативної пам'яті (оперативна пам'ять)
- Система приятелів: техніка розподілу пам’яті
- Керування пам'яттю | Метод розподілу розділів
- Фіксоване (або статичне) розділення в операційній системі
- Змінне (або динамічне) розділення в операційній системі
- Несуміжне розміщення в операційній системі
- Логічна та фізична адреса в операційній системі
- Пейджінг
- Вимоги до системи управління пам'яттю
- Керування пам’яттю – зіставлення віртуальної адреси з фізичною адресою
- Записи таблиці сторінок
- Віртуальна пам'ять
- Перемежування пам'яті
- Питання про віртуальну пам'ять
- Віртуалізація на основі операційної системи
- Таблиця перевернутих сторінок
- Поміняти місце
- Обробка помилок сторінки
- Фіксоване (або статичне) розділення в операційній системі
- Сегментація
- Сегментація пам'яті в мікропроцесорі 8086
- Програма для алгоритму Next Fit в Memory Management
- Накладання в управлінні пам'яттю
- Алгоритми заміни сторінок
- Програма для алгоритмів заміни сторінок | Набір 1 (LRU)
- Програма для оптимального алгоритму заміни сторінок
- Реалізація кешу LFU (найрідше використовуваного).
- Політика заміни сторінки другого шансу (або годинника).
- Техніки боротьби з трешингом
- Виділення пам'яті ядра (система приятелів і система слабких пристроїв)
- Програма для схеми розподілу пам'яті приятелів в операційних системах | Набір 1 (розподіл)
- Програма для схеми розподілу пам'яті приятелів в операційних системах | Набір 2 (вивільнення)
- Статичні та динамічні бібліотеки | Набір 1
- Робота зі спільними бібліотеками | Набір 1
- Робота зі спільними бібліотеками | Набір 2
- Під назвою Pipe або FIFO з прикладом програми C
- Відстеження використання пам'яті в Linux
>> Тест з управління пам'яттю
Керування дисками:
- Файлові системи
- Файлова система Unix
- Впровадження керування каталогами за допомогою сценарію оболонки
- Каталог файлів | Назва шляху
- Структури довідника
- Методи розміщення файлів
- Методи доступу до файлів
- Вторинна пам'ять
- Вторинна пам'ять - жорсткий диск
- Алгоритми планування дисків
- Програма для алгоритму планування диска SSTF
- Що саме означає спулінг?
- Різниця між спулінгом і буферизацією
- Управління вільним простором
>> Тест із систем введення-виведення
Різне
- Вступ до системи UNIX
- Важливі команди Linux (leave, diff, cal, ncal, locate і ln)
- Стани процесу та переходи в процесі UNIX
- Вступ до оболонки Linux і сценаріїв оболонки
- «crontab» у Linux із прикладами
- indepth і maxdepth у команді Linux find() для обмеження пошуку певним каталогом.
Типи операційної системи
- Пакетна ОС (наприклад, процес транзакцій, система нарахування заробітної плати тощо)
- Багатопрограмна ОС (наприклад, Windows, UNIX, macOS тощо)
- ОС із розподілом часу (наприклад, Multics, Linux тощо)
- ОС реального часу (наприклад, PSOS, VRTX тощо)
- Розподілена ОС (наприклад, LOCUS, Solaris тощо)
Функції операційної системи
- Управління пам'яттю та процесором
- Мережевий менеджмент
- Управління безпекою
- Керування файлами
- Виявлення помилок
- Облік роботи
Поширені запитання щодо операційної системи
Q.1 Навіщо вивчати операційні системи?
Відповідь :
ОС - найважливіша частина комп'ютера. Через ОС користувачі можуть взаємодіяти з програмним забезпеченням комп’ютера. Він забезпечує інтерфейс між обладнанням і ЦП. Він також надає платформу для запуску програми та послуг для користувачів. Він виконує всі основні завдання, необхідні для програми.
Q.2 Напишіть 10 найкращих прикладів операційних систем?
Відповідь :
шаблони проектування java
Деякі найпопулярніші приклади ОС наведено нижче:
- вікна
- Linux
- MacOS
- Ios
- Android
- Ubuntu
- CentOS
- Соляріс
- ОС Chrome
- Fedora
Q.3 Які переваги багатопроцесорної системи?
Відповідь :
Багатопроцесорна система передбачає одночасну обробку двох чи більше комп’ютерних програм, які спільно використовують одну область пам’яті. Це підвищує надійність.
Q.4 Що таке потік в ОС?
Відповідь :
runas у PowerShell
Потік — це легкий процес або підпрограма, яка є частиною процесу або програми. Потік має власні регістри, стек, стан і лічильник програми.
Швидкі посилання:
- Нотатки в останню хвилину (LMN) | Операційні системи
- Поширені запитання на співбесіді про операційні системи
- «Практичні завдання» з операційних систем!