Please enable JavaScript.
Coggle requires JavaScript to display documents.
операційні системи :red_flag: - Coggle Diagram
операційні системи :red_flag:
Лекція №1-4, ЛР №1-3
Інтерфейси
CLI
Windows Explorer
GNOME/KDE
GUI
is, cd, grep
Bash/PowerShell
Типи ОС
Користувацькі Windows, Linux
Серверні Windows Server
Мобільні Android, IOS
Вбудовані FreeRTOS
СИСТЕМНІ ВИКЛИКИ (API)
Мережева взаємодія
Робота з файлами
Управління процесами
БЕЗПЕКА
AУТЕНТИФІКАЦІЯ Логін/пароль
АВТОРИЗАЦІЯ Права доступу
ШИФРУВАННЯ
КЛЮЧОВІ КОМПОНЕНТИ
ПРОЦЕСИ И ПОТОКИ
· Виконувана програма
· Багатозадачність
ФАЙЛОВА СИСТЕМА
· Файли / Каталоги
· Права доступу (chmod)
ВІРТУАЛЬНА ПАМ'ЯТЬ
· Сторінкування
· Захист пам'яті
АРХІТЕКТУРА
ЯДРО (Kernel)
· Мікроядро (QNX)
· Гібридне (Windows, macOS)
· Монолітне (Linux)
РЕЖИМИ РОБОТИ
· Режим ядра (Kernel Mode)
· Режим користувача (User Mode)
ПРАКТИЧНЕ ЗАСТОСУВАННЯ
СИСТЕМНИЙ АДМІНІСТРАТОР
· Налаштування серверів
· Мережева безпека
РОЗРОБНИК ПЗ
· Оптимізація під ОС
· Робота з API
РОЗРОБНИК ПЗ
· Оптимізація під ОС
· Робота з API
Лекція №1-7, ЛР№1-7
ПРОЦЕСИ ТА ПОТОКИ
Основні поняття
Процес - програм мав стані виконання
Потік (Thread) - легковий процес
Контекст процесу - стан регістрів, пам'яті
Моделі реалізації потоків
1:1 (Один-до-одного)
M:N (Багато-до-багатьох)
M:1 (Багато-до-одного)
БАГАТОПОТОКОВІСТЬ
Види паралелізму
Введення-виведення
Взаємодія з користувачем
Розподілені системи
Багатопроцесорний
Переваги та недоліки
Переваги: Ефективність, масштабованість
Недоліки: Складність налагодження
МІЖПРОЦЕСНА ВЗАЄМОДІЯ (IPC)
Спільна пам'ять
Розподілювана пам'ять
Відображувана пам'ять
Передача повідомлень
Канали (Pipes)
Черги повідомлень
Сокети (Sockets)
Види передачі повідомлень
Синхронна
Асинхронна
СИНХРОНІЗАЦІЯ
Проблеми синхронізації
Критичні секції
М'ютекси (Mutex)
Семафори (Semaphore)
Умовні змінні
Механізми синхронізації
Стан гонок (Race Condition)
Взаємне блокування (Deadlock)
ПЛАНУВАННЯ ВИКОНАННЯ
Види планування
Довготермінове
Середньотермінове
Короткотермінове
Алгоритми планування
FCFS/FIFO
Кругове (Round Robin)
З пріоритетами
Багаторівневі черги
Стратегії планування
Витісняльна
Невитісняльна
ПРАКТИЧНІ НАВИЧКИ
Команди Linux
ps, top, kill
pthread_create, pthread_join
Системні виклики
fork(), exec(), wait()
pipe(), mkfifo()
ЗАСТОСУВАННЯ У ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ
Системний адміністратор
Моніторинг продуктивності
Налаштування мережевих служб
Програміст
Розробка паралельних додатків
Оптимізація продуктивності
Кібербезпека
Аналіз вразливостей
Створення безпечних середовищ
ЦІКАВІ ТЕМИ ДЛЯ ДОСЛІДЖЕНЬ
Контейнеризація (Docker)
Віртуалізація
Планування в реальному часі
Мікрокерневі архітектури
Лекція №1-11, ЛР №1-10
Керування пам'яттю
Організація віртуальної пам'яті
Основні терміни
Віртуальна пам'ять
Адресний простір
Сторінка / Сторінковий блок
Диспетчер пам'яті (MMU)
Таблиця сторінок
Помилка відсутності сторінки
Свопінг
Програми/Команди
vmstat / free
Task Manager / Resource Monitor
Застосування знань
Сист. адмін: Оптимізація сервера
Програміст: Ефективний код
Кібербезпека: Аналіз експлойтів
Алгоритми заміщення сторінок
Основні терміни
Алгоритм заміщення
Біт R / Біт M
OPT, NRU, FIFO
Другий шанс, Годинник
LRU, Робочий набір
Програми/Команди
Симулятори алгоритмів
Аналіз логів помилок
Застосування знань
Сист. адмін: Усунення "натирання"
Програміст: Використання кешу
Кібербезпека: Побічні канали
Файлові системи
Логічна організація
Основні терміни
Файл / Файлова система
Каталог / Кореневий каталог
Абсолютний / Відносний шлях
Розділ / Том
Монтування
Зв'язки: Жорсткі / Символічні
Атрибути файлу
Програми/Команди
ls, cd, pwd, mkdir
cp, mv, rm, ln
chmod, mount
Системні виклики
Застосування знань
Сист. адмін: Керування дисками
Програміст: Робота з файлами
Кібербезпека: Пошук задвірок
Фізична організація
Основні терміни
Жорсткий диск
Доріжки, сектори
Час пошуку
Кластер / Дисковий блок
FAT
Індексний дескриптор
Прямі / непрямі блоки
MBR / Завантажувач
Програми/Команди
df, du
fsck, chkdsk
dd, debugfs
Застосування знань
Сист. адмін: Відновлення даних
Програміст: Драйвери пристроїв
Кібербезпека: Форензика
Цікаві питання
Сучасні ФС: ZFS, Btrfs
Віртуалізація та контейнери
Journaling у файлових системах
Механізм Copy-on-Write
Алгоритми кешування
Атаки через символічні зв'язки