
🛡️ Основы операционных систем (ОС) для киберстудентов — От нуля до профи
1) Что такое операционная система?
Операционная система (OS) — это программный слой между пользователями/приложениями и аппаратурой. Она распределяет время ЦП, управляет памятью и файлами, контролирует устройства и предоставляет единый интерфейс через системные вызовы и оболочку/GUI, чтобы программы работали эффективно и безопасно.
2) Ключевые обязанности ОС
- Управление процессами и ЦП: создание/завершение процессов, планирование потоков на ядрах.
- Управление памятью: распределение RAM, реализация виртуальной памяти и изоляции.
- Управление устройствами и I/O: абстракция дисков, сетевых карт, клавиатур с помощью драйверов.
- Файловые системы: организация данных в файлы/каталоги с правами доступа.
- Безопасность и учёт: аутентификация, авторизация, логирование, квоты.
- Интерфейс для пользователя и программ: оболочка/GUI и API системных вызовов.
3) Архитектура ОС: ядро, оболочка и системные вызовы
- Ядро (Kernel): привилегированное ядро, работающее в kernel mode; отвечает за планировщик, память, драйверы, файловые системы и IPC.
- Оболочка (Shell): интерфейс для пользователя (CLI или GUI), интерпретирующий команды и запускающий программы.
- Системные вызовы (syscalls): контролируемые точки входа из пользовательского пространства к сервисам ядра (например,
open,read,execve,CreateProcessW).
Стили ядер, распространённые в кибербезопасности:
- Монолитные (напр., Linux) — большинство сервисов внутри ядра.
- Микроядра — переносят сервисы в пользовательское пространство для модульности.
- Гибридные (напр., Windows, XNU) — комбинируют оба подхода.
4) Процессы, потоки и планирование ЦП
- Процесс — выполняемая программа с собственным виртуальным адресным пространством.
- Поток (thread) — планируемая единица внутри процесса, разделяющая память.
- Планировщики решают, что запускать дальше (FCFS, SJF, Priority, Round-Robin, Multilevel Feedback Queue). Понимание вытеснения/невытеснения, переключений контекста и «голодания» важно для производительности и форензики.
5) Управление памятью и виртуальная память
- Виртуальная память предоставляет каждому процессу изолированное логическое адресное пространство, поддерживаемое RAM и диском (страничная подкачка/paging).
- Алгоритмы замены страниц (например, FIFO, LRU, Optimal) балансируют локальность и накладные расходы.
- Защита (режимы user/kernel, права страниц) предотвращает взаимное воздействие процессов.
6) Хранилище, файловые системы и I/O
- ОС предоставляет файловые системы (например, ext4/XFS в Linux, NTFS/ReFS в Windows) с метаданными, правами/ACL и журналированием, повышающим устойчивость.
- Блочный I/O (диски/SSD) использует планировщики; символьный I/O (терминалы) ориентирован на поток.
- Планирование диска (например, SCAN/LOOK) и буферизация/кэширование увеличивают пропускную способность.
7) Процесс загрузки и режимы работы
Типичные этапы:
- UEFI/BIOS инициализирует оборудование и находит загрузчик.
- Загрузчик загружает ядро (и initramfs) в память.
- Ядро инициализирует подсистемы, монтирует корневую ФС, запускает первый процесс пользовательского пространства (
init/systemdили Windows Session Manager). - Запускаются службы и менеджер входа/сессий.
Действия пользователя происходят в user mode; ядро ОС — в kernel mode.
8) Основы безопасности (учётные записи, ACL, политики)
Общие примитивы:
- Идентичности и группы; права (rwx, ACL), владение и границы привилегий.
- Применение политик (Windows: UAC, Group Policy; Linux: DAC + MAC, напр. SELinux/AppArmor).
- Аудит и логирование (Windows Event Logs, syslog/journald в Linux).
Гигиена безопасности: наименьшие привилегии, регулярные патчи и сильная аутентификация.
9) Виртуализация и контейнеры
- Виртуальные машины (VM): эмулируют полноценное оборудование для запуска нескольких ОС на одном хосте.
- Контейнеры: (namespaces/cgroups в Linux) изолируют процессы на общем ядре — быстрый старт и высокая плотность; отличны для продакшена и лабораторий.
10) Типы ОС: настольные, серверные и мобильные
- Настольные: Windows, macOS, дистрибутивы Linux — продуктивность, разработка, игры.
- Серверные: Linux/Windows Server — headless-сервисы, тюнинг производительности и безопасности.
- Мобильные: Android/iOS — «песочницы» для приложений и мобильные парадигмы безопасности.
11) Linux vs Windows: основы администрирования (практика)
Пользователи и группы
- Linux:
useradd,groupadd,passwd -l, файлы/etc/passwd,/etc/shadow. - Windows:
net user,net localgroup, оснастка MMC Local Users & Groups.
Пакеты и обновления
- Linux: менеджеры пакетов
apt,dnf,yum,apk. - Windows: Winget/Chocolatey; служба Windows Update (
wuauserv).
Службы и автозапуск
- Linux:
systemctl enable|start <service>(systemd) илиservice(SysV). - Windows: Service Control Manager (
sc config/start/stop), Services.msc.
Файлы и права
- Linux:
chmod,chown, umask; ФС ext4/XFS. - Windows: ACL NTFS (GUI или
icacls), наследование, аудит.
Логи
- Linux:
/var/log/*,journalctl; logrotate для ротации/сжатия. - Windows: Event Viewer → журналы Application/Security/System; политики хранения через Group Policy или консоль.
12) Логирование, мониторинг и устранение неполадок
- Linux:
journalctl -u <svc>,dmesg,top/htop,ss -tulpn,lsof,strace. - Windows: фильтры Event Viewer, Resource Monitor, Process Explorer,
Get-WinEvent,Get-Process,netstat, инструменты Sysinternals. - Делайте ротацию журналов, централизуйте (syslog → SIEM) и задавайте политики хранения и доступа. logrotate — стандартный инструмент автоматической ротации в Linux.
13) Чек-лист харденинга (Linux и Windows)
Linux
- Отключить вход root по SSH (
PermitRootLogin no), использовать ключи. - Регулярные обновления; минимум пакетов; файрвол (
ufw/nftables). - Корректные права на чувствительные файлы (напр.,
/etc/shadow640, владелецroot:shadow). - Настроить logrotate и централизованное логирование; мониторить неуспешные входы.
Windows
- Включить NLA для RDP; отключить Guest; строгие политики блокировок.
- Держать Windows Update включённым; Defender + SmartScreen активны.
- Ограничить использование локального администратора; принцип наименьших привилегий; AppLocker/WDAC.
- Настроить хранение журналов и форвардинг в SIEM.
14) Частые вопросы на собеседованиях/экзаменах (краткие ответы)
- Что такое ОС? Интерфейс между пользователем/приложениями и аппаратурой; управляет ресурсами и предоставляет сервисы.
- Процесс vs поток? У процесса своё адресное пространство; потоки его разделяют и являются планируемыми единицами.
- Что такое виртуальная память? Изолирует адресные пространства процессов с помощью страничной подкачки и хранилища.
- Ядро vs оболочка? Ядро = привилегированный «движок»; оболочка = интерфейс (CLI/GUI), обращающийся к ядру через системные вызовы.
- Монолитное vs микроядро? Монолит — большинство сервисов в ядре; микроядро — минимальное ядро, сервисы в пользовательском пространстве.
15) Мини-лабораторные: попробуйте сейчас
Запускайте в «одноразовой» VM или контейнере.
Linux
# 1) Пользователи и группы
sudo groupadd secops && sudo useradd -m -g secops -s /usr/sbin/nologin secops && sudo passwd -l secops
# 2) Пакеты (Debian/Ubuntu)
sudo apt-get update -y && sudo apt-get install -y htop && htop --version && sudo apt-get remove -y htop
# 3) Службы (systemd)
sudo systemctl enable --now cron || echo "Not available here"
# 4) Ротация логов
cat | sudo tee /etc/logrotate.d/custom <<'EOF'
/var/log/custom.log {
weekly
rotate 4
compress
missingok
notifempty
create 0640 root adm
}
EOF
sudo touch /var/log/custom.log && sudo chown root:adm /var/log/custom.log && sudo chmod 0640 /var/log/custom.log
# 5) Харденинг SSH
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config && sudo systemctl restart ssh || true
Windows (PowerShell от имени администратора)
# 1) Пользователи и группы
net user secops /add /y
net localgroup "Users" secops /add
# 2) Пакеты через winget (или Chocolatey при наличии)
winget install --id=7zip.7zip -e; winget uninstall --id=7zip.7zip -e
# 3) Службы
sc config wuauserv start= auto
sc start wuauserv
# 4) Хранение логов (пример: Application = 64MB)
wevtutil sl Application /ms:67108864
# 5) RDP + NLA рекомендуется (Group Policy / System Properties > Remote)
16) Глоссарий
- ACL: список контроля доступа — детальные права на объекты.
- Переключение контекста (Context Switch): сохранение/восстановление состояния ЦП при переключении потоков.
- Журналируемая ФС (Journaling FS): фиксирует изменения в журнал для устойчивости к сбоям.
- Kernel/User mode: уровни привилегий ЦП, определяющие допустимые операции.
- Paging (подкачка): перемещение страниц между RAM и диском.
- Preemption (вытеснение): планировщик останавливает текущий поток, чтобы запустить другой.
- System Call (системный вызов): граница API между пользовательским пространством и сервисами ядра.
17) SEO-советы для публикации в блоге Cyber8200
- Включайте ключевые фразы в H1/H2: “Operating System Basics”, “OS for Cybersecurity”, “Linux vs Windows administration”.
- Добавляйте внутренние ссылки на материалы про Linux CLI, Windows Registry, SIEM/Logging и Threat Hunting.
- Предложите cheat sheet и скрипты лабораторных, чтобы увеличить время на странице и бэклинки.
- Разметьте FAQ в JSON-LD (FAQPage) для расширенных сниппетов.
Поднимите свою карьеру в кибербезопасности на новый уровень
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.
