logo

Підручник з операційної системи

Операційна система (ОС) — це програмне забезпечення, яке керує та обробляє апаратні та програмні ресурси комп’ютерної системи. Він забезпечує взаємодію між користувачами комп'ютерів і технікою комп'ютера. Операційна система відповідає за управління та контроль усіх дій та спільного використання комп’ютерних ресурсів. Операційна система — це програмне забезпечення низького рівня, яке включає всі основні функції, такі як керування процесором, керування пам’яттю, виявлення помилок тощо.

Цей підручник з операційної системи охопить усі базові поняття щодо вдосконалення операційної системи, як-от структура системи, планування ЦП, взаємоблокування, керування файлами та дисками та багато іншого.

Останні статті про операційні системи

  • основи
  • Структура системи
  • Планування ЦП
  • Синхронізація процесів
  • Тупикова ситуація
  • Процеси та потоки
  • Управління пам'яттю
  • Керування файлами та дисками
  • Різне

Основи:

  1. Введення операційної системи
  2. Типи операційних систем
  3. Функції операційної системи
  4. Системи реального часу
  5. Завдання в системах реального часу
  6. Різниця між багатозадачністю, багатопотоковістю та багатопроцесорністю
  7. Типи пам'яті комп'ютера (RAM і ROM)
  8. Різниця між 32-розрядними та 64-розрядними операційними системами
  9. Що відбувається, коли ми вмикаємо комп'ютер?
  10. Завантажувальний блок
  11. UEFI (Unified Extensible Firmware Interface) і чим він відрізняється від BIOS

Структура системи:

  1. Мікроядро
  2. Підсистема вводу-виводу ядра (система вводу-виводу)
  3. Монолітне ядро ​​та ключові відмінності від Microkernel
  4. Введення системного виклику
  5. Отримати/встановити обмеження ресурсів процесу в C
  6. Подвійний режим роботи в ОС
  7. Привілейовані та непривілейовані інструкції

Планування ЦП:

  1. Процес | (Вступ і різні стани)
  2. Стани процесу
  3. Таблиця процесів і блок керування процесом (PCB)
  4. Планувальник процесів
  5. Планування ЦП
  6. Випереджувальне та невипереджувальне планування
  7. Виміряти час, витрачений на перемикання контексту?
  8. Різниця між диспетчером і планувальником
  9. Розклад FCFS | Набір 1
  10. Розклад FCFS | Набір 2
  11. Конвойний ефект в операційних системах
  12. Аномалія Беладі
  13. Планування найкоротшої роботи спочатку (або SJF) | Набір 1 (без витіснення)
  14. Програма для планування найкоротшої роботи спочатку (SJF) | Набір 2 (попереджувальний)
  15. Планування найкоротшого завдання з прогнозованим часом вибуху
  16. Програма найдовшого часу, що залишився спочатку (LRTF).
  17. Алгоритм найдовшого часу, що залишився (LRTF).
  18. Круговий розклад
  19. Егоїстичне кругове планування
  20. Кругове планування з різним часом прибуття
  21. Пріоритетне планування
  22. Програма для випереджувального пріоритетного планування ЦП
  23. Пріоритетне планування з іншим часом прибуття – набір 2
  24. Голодування та старіння операційних систем
  25. Найвищий коефіцієнт відповіді наступного (HRRN) Планування
  26. Багаторівневе планування черги
  27. Багаторівневе планування черги зворотного зв'язку
  28. Планування процесу лотереї
  29. Багатопроцесорне планування

>> Тест із планування ЦП



обхід бінарного дерева поштою

Синхронізація процесу:

  1. Синхронізація процесів | вступ
  2. Синхронізація процесів | Набір 2
  3. Критичний розділ
  4. Комунікація між процесами
  5. Міжпроцесна комунікація: Метод
  6. IPC через спільну пам'ять
  7. IPC з використанням черг повідомлень
  8. Комунікація на основі повідомлень у IPC (міжпроцесна комунікація)
  9. Зв’язок між двома процесами за допомогою сигналів у C
  10. Семафори в операційній системі
  11. Mutex проти Semaphore
  12. Синхронізація процесів | Монітори
  13. Алгоритм Петерсона для взаємного виключення | Набір 1 (базова реалізація C)
  14. Алгоритм Петерсона для взаємного виключення | Набір 2 (цикли ЦП і огорожа пам'яті)
  15. Алгоритм Петерсона (використання процесів і спільної пам’яті)
  16. Алгоритм Деккера
  17. Алгоритм пекарні
  18. Проблема виробника споживача з використанням семафорів | Набір 1
  19. Столова філософська задача з використанням семафорів
  20. Філософське рішення з використанням моніторів
  21. Проблема читачів-письменників | Набір 1 (Вступ і рішення для читачів)
  22. Рішення Reader-Writers із використанням моніторів
  23. Проблема сплячого перукаря
  24. Блокування механізму змінної синхронізації
  25. Блокування Mutex для синхронізації потоків Linux
  26. Інверсія пріоритету: що за біса!
  27. Яка різниця між інверсією пріоритету та успадкуванням пріоритету?
  28. Синхронізація процесів
  29. Міжпроцесна комунікація: Метод

>> Тест з управління процесами в ОС

Тупик:

  1. Тупик Введення
  2. Виявлення та відновлення тупиків
  3. Тупик, голодування та живе блокування
  4. Запобігання та уникнення тупикових ситуацій
  5. Алгоритм банкіра
  6. Графік розподілу ресурсів (RAG)
  7. Методи розподілу ресурсів процесів операційною системою
  8. Програма для алгоритму банкіра
  9. Алгоритм банкіра: надрукувати всі безпечні стани (або безпечні послідовності)
  10. Алгоритм виявлення взаємоблокувань
  11. Програма для безблокування в операційній системі
  12. Виявлення взаємоблокувань у розподілених системах
  13. Методи, що використовуються в централізованому підході виявлення взаємоблокувань у розподілених системах

>> Вікторина про безвихідь

Процеси та потоки:

  1. Операційна система | Нитка
  2. Нитки та їх види
  3. Операційна система | Потік рівня користувача проти потоку рівня ядра
  4. Багатозадачність на основі процесів і потоків
  5. Багатопотокові моделі
  6. Переваги багатопоточності
  7. Зомбі-процеси та їх профілактика
  8. Максимальна кількість процесів Zombie, які може обробляти система
  9. Операційна система | Віддалений виклик процедури (RPC)

Керування пам'яттю:

  1. Дизайн ієрархії пам'яті та її характеристики
  2. Знайомство з пам’яттю та одиницями пам’яті
  3. Різні типи оперативної пам'яті (оперативна пам'ять)
  4. Система приятелів: техніка розподілу пам’яті
  5. Керування пам'яттю | Метод розподілу розділів
  6. Фіксоване (або статичне) розділення в операційній системі
  7. Змінне (або динамічне) розділення в операційній системі
  8. Несуміжне розміщення в операційній системі
  9. Логічна та фізична адреса в операційній системі
  10. Пейджінг
  11. Вимоги до системи управління пам'яттю
  12. Керування пам’яттю – зіставлення віртуальної адреси з фізичною адресою
  13. Записи таблиці сторінок
  14. Віртуальна пам'ять
  15. Перемежування пам'яті
  16. Питання про віртуальну пам'ять
  17. Віртуалізація на основі операційної системи
  18. Таблиця перевернутих сторінок
  19. Поміняти місце
  20. Обробка помилок сторінки
  21. Фіксоване (або статичне) розділення в операційній системі
  22. Сегментація
  23. Сегментація пам'яті в мікропроцесорі 8086
  24. Програма для алгоритму Next Fit в Memory Management
  25. Накладання в управлінні пам'яттю
  26. Алгоритми заміни сторінок
  27. Програма для алгоритмів заміни сторінок | Набір 1 (LRU)
  28. Програма для оптимального алгоритму заміни сторінок
  29. Реалізація кешу LFU (найрідше використовуваного).
  30. Політика заміни сторінки другого шансу (або годинника).
  31. Техніки боротьби з трешингом
  32. Виділення пам'яті ядра (система приятелів і система слабких пристроїв)
  33. Програма для схеми розподілу пам'яті приятелів в операційних системах | Набір 1 (розподіл)
  34. Програма для схеми розподілу пам'яті приятелів в операційних системах | Набір 2 (вивільнення)
  35. Статичні та динамічні бібліотеки | Набір 1
  36. Робота зі спільними бібліотеками | Набір 1
  37. Робота зі спільними бібліотеками | Набір 2
  38. Під назвою Pipe або FIFO з прикладом програми C
  39. Відстеження використання пам'яті в Linux

>> Тест з управління пам'яттю

Керування дисками:

  1. Файлові системи
  2. Файлова система Unix
  3. Впровадження керування каталогами за допомогою сценарію оболонки
  4. Каталог файлів | Назва шляху
  5. Структури довідника
  6. Методи розміщення файлів
  7. Методи доступу до файлів
  8. Вторинна пам'ять
  9. Вторинна пам'ять - жорсткий диск
  10. Алгоритми планування дисків
  11. Програма для алгоритму планування диска SSTF
  12. Що саме означає спулінг?
  13. Різниця між спулінгом і буферизацією
  14. Управління вільним простором

>> Тест із систем введення-виведення

Різне

  1. Вступ до системи UNIX
  2. Важливі команди Linux (leave, diff, cal, ncal, locate і ln)
  3. Стани процесу та переходи в процесі UNIX
  4. Вступ до оболонки Linux і сценаріїв оболонки
  5. «crontab» у Linux із прикладами
  6. 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) | Операційні системи
  • Поширені запитання на співбесіді про операційні системи
  • «Практичні завдання» з операційних систем!