Что делает операционная система, какие они бывают и как узнать, что установлено на компьютере
Операционная система (ОС) — программа, которая управляет оборудованием компьютера и даёт остальным программам удобный и безопасный способ им пользоваться. Браузер не знает, какой у вас диск и сколько ядер у процессора: он просит у ОС «открой файл», «выдели память», «отправь данные по сети», а ОС делает это сама.
У ОС две роли, и обе видны каждый день.
| Ресурс | Что видит программа | Раздел курса |
|---|---|---|
| Процессор | Процесс и поток: «я выполняюсь», хотя ядер меньше, чем программ | 04–06 |
| Оперативная память | Своё адресное пространство, будто вся память её | 07 |
| Диск | Файлы и каталоги с именами и правами | 08 |
| Устройства | Драйвер и единый интерфейс: «прочитать», «записать» | 09 |
| Пользователи | Учётная запись, права на файлы и действия | 10 |
Отсюда и план курса: каждый следующий раздел разбирает, как ОС управляет одним из ресурсов и как администратор может это увидеть и настроить.
ОС — не одна программа, а набор частей. Граница между ними важна администратору: от неё зависит, что можно перезапустить без перезагрузки, а что — нет.
| Часть | Что делает | Пример в Windows | Пример в Linux |
|---|---|---|---|
| Ядро | Процессы, память, файлы, безопасность; работает в привилегированном режиме | ntoskrnl.exe | vmlinuz |
| Драйверы | Управляют конкретным оборудованием | *.sys | модули ядра *.ko |
| Системные службы | Работают в фоне: обновления, печать, журнал, сеть | службы, services.msc | службы systemd |
| Оболочка | Принимает команды пользователя | Проводник, PowerShell, cmd | bash, графическая среда |
| Утилиты | Программы для настройки и обслуживания | diskpart, chkdsk | mount, fsck |
Прикладная программа — текстовый редактор, браузер, игра — в ОС не входит: она работает поверх ОС и пользуется её услугами. Удалить браузер можно, система продолжит работать; ядро удалить нельзя.
Слово «среда» в названии курса — про то же: операционная среда — всё, что видит программа вокруг себя, — системные вызовы, библиотеки, переменные окружения, файловая система. Одна ОС может давать несколько сред: в Windows работают и программы Win32, и Linux-программы через подсистему WSL.
Каждое поколение ОС решало задачу, которую оставило предыдущее. Знать историю полезно не ради дат: в современных системах до сих пор видны решения прошлых лет.
| Время | Что появилось | Что осталось до сих пор |
|---|---|---|
| 1950-е | Пакетная обработка: задания выполняются по очереди, без участия человека | Пакетные файлы .bat, задания по расписанию |
| 1960-е | Многозадачность и разделение времени: много пользователей за терминалами одной машины | Планировщик процессора, защита памяти |
| 1969–1970-е | UNIX: всё — файл, маленькие программы, связанные конвейером, язык C | Linux, macOS, Android; конвейер | и в PowerShell |
| 1981 | MS-DOS на персональных компьютерах: один пользователь, одна задача | Буквы дисков C:, команды dir, copy в cmd |
| 1991 | Ядро Linux: свободное UNIX-подобное ядро | Серверы, Android, отечественные ОС |
| 1993 | Windows NT: новая многозадачная ОС с защитой памяти и правами доступа | Все Windows от XP до 11 и Windows Server — это NT |
| 2007–2008 | iOS и Android: сенсорный экран, приложения из магазина, экономия батареи | Разрешения приложений, «песочницы» |
Одна задача — разные требования. Поэтому ОС делят по тому, где и для чего они работают.
| Вид | Главное требование | Примеры |
|---|---|---|
| Настольная | Удобство одного пользователя, графика, совместимость с программами | Windows 11, Astra Linux, macOS |
| Серверная | Надёжность, удалённое управление, много пользователей и служб, работа без перезагрузки месяцами | Windows Server, Debian, РЕД ОС |
| Мобильная | Экономия батареи, сенсорный ввод, изоляция приложений | Android, iOS, «Аврора» |
| Встроенная | Малый размер, работа на слабом железе без экрана | Роутеры, принтеры, банкоматы — часто на Linux |
| Реального времени (ОСРВ) | Ответ за гарантированное время, а не «как можно быстрее» | FreeRTOS, QNX — станки, автомобили, медицинские приборы |
Ещё ОС различают по числу задач и пользователей: однозадачные (MS-DOS) выполняли одну программу, многозадачные — все современные; однопользовательские рассчитаны на одного человека за компьютером, многопользовательские разделяют права и ресурсы между учётными записями. Windows 11 и Debian — многозадачные и многопользовательские.
В ОС реального времени главное — предсказуемость. Тормозная система автомобиля должна ответить за 5 мс всегда, а не в среднем за 1 мс, иногда за 200. Настольная ОС так не умеет: она оптимизирует среднюю скорость, и обновление в фоне может задержать любую программу.
В Windows две командные оболочки. cmd (командная строка) досталась от MS-DOS: простые команды, вывод — текст. PowerShell работает с объектами: команда возвращает не строки, а записи со свойствами, которые можно отбирать и сортировать. В курсе основная — PowerShell; команды cmd работают и в нём.
Открыть: Win+X → Терминал (в Windows 11) или Win+R, ввести powershell или cmd. Для команд, которые меняют систему, нужен терминал от имени администратора: Win+X → Терминал (администратор).
Команды PowerShell называются по схеме Глагол-Существительное: Get-Process — получить процессы, Stop-Process — остановить. Найти нужную команду помогает Get-Command:
PS> Get-Command -Verb Get -Noun Process, Service, ChildItem
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-ChildItem 3.1.0.0 Microsoft.PowerShell.Management
Cmdlet Get-Process 3.1.0.0 Microsoft.PowerShell.Management
Cmdlet Get-Service 3.1.0.0 Microsoft.PowerShell.Management
PS> Get-Alias dir, ls, cd, cls, ps, kill
CommandType Name Version Source
----------- ---- ------- ------
Alias dir -> Get-ChildItem
Alias ls -> Get-ChildItem
Alias cd -> Set-Location
Alias cls -> Clear-Host
Alias ps -> Get-Process
Alias kill -> Stop-Process
Короткие имена вроде dir, ls, ps — псевдонимы: dir в PowerShell — это Get-ChildItem. Поэтому привычные команды работают, но выводят результат по-своему. Сравните одну папку в PowerShell и в cmd:
PS> Get-ChildItem C:\Windows\System32\drivers\etc
Каталог: C:\Windows\System32\drivers\etc
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 01.04.2024 10:24 824 hosts
-a---- 01.04.2024 10:24 3683 lmhosts.sam
-a---- 01.04.2024 10:24 407 networks
-a---- 01.04.2024 10:24 1358 protocol
-a---- 01.04.2024 10:24 17635 services
PS> cmd /c dir C:\Windows\System32\drivers\etc
Том в устройстве C не имеет метки.
Серийный номер тома: 5CDF-A027
Содержимое папки C:\Windows\System32\drivers\etc
01.04.2024 10:26 <DIR> .
29.10.2026 21:03 <DIR> ..
01.04.2024 10:24 824 hosts
01.04.2024 10:24 3 683 lmhosts.sam
01.04.2024 10:24 407 networks
01.04.2024 10:24 1 358 protocol
01.04.2024 10:24 17 635 services
5 файлов 23 907 байт
2 папок 21 031 735 296 байт свободно
Справка по команде — Get-Help Get-Process -Full. Сразу после установки Windows подробной справки на компьютере нет: её загружает Update-Help в терминале администратора (нужен интернет). Без неё выводится только синтаксис; в этом случае откройте справку на сайте Microsoft: Get-Help Get-Process -Online.
Переменные окружения — значения, которые ОС передаёт каждой программе: тип ОС, архитектура процессора, число процессоров, путь поиска программ. В cmd их пишут в знаках процента, в PowerShell — через $env::
PS> cmd /c "echo %OS% %PROCESSOR_ARCHITECTURE% %NUMBER_OF_PROCESSORS%"
Windows_NT AMD64 2
PS> $env:OS; $env:PROCESSOR_ARCHITECTURE; $env:NUMBER_OF_PROCESSORS
Windows_NT
AMD64
2
Первое, что делает администратор на незнакомом компьютере, — узнаёт, что за система перед ним: версия и выпуск, разрядность, процессор, память. Без этого не выбрать драйвер, программу и инструкцию.
Быстрее всего — графически: Win+R → winver показывает версию и сборку, Win+R → msinfo32 — подробные сведения о системе, оборудовании и драйверах. В командной строке — ver и systeminfo:
PS> cmd /c ver
Microsoft Windows [Version 10.0.26300.9711]
PS> systeminfo | Select-String "Имя ОС","Версия ОС","Тип системы","Процессор","Полный объем физической памяти","Версия BIOS"
Имя ОС: Майкрософт Windows 11 Pro
Версия ОС: 10.0.26300 Н/Д построение 26300
Тип системы: x64-based PC
Процессоры: Число процессоров - 1.
Версия BIOS: Proxmox distribution of EDK II 4.2025.05-1~bpo12+1, 12.03.2026
Полный объем физической памяти: 8 162 МБ
systeminfo выводит несколько десятков строк; Select-String оставляет только нужные — это фильтр строк, аналог grep в Linux. Версия 10.0.26300 у Windows 11 — не ошибка: ядро NT нумеруется 10.0 начиная с Windows 10, а выпуски различают по номеру сборки.
Строка «Тип системы: x64-based PC» — 64-разрядная система. 32-разрядная Windows видит не больше 4 ГБ памяти и не запускает 64-разрядные программы; Windows 11 выпускается только 64-разрядной.
Те же сведения в виде объектов даёт Get-CimInstance — запрос к базе сведений об оборудовании и ОС (CIM, она же WMI):
PS> Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, OSArchitecture, BuildNumber
Caption Version OSArchitecture BuildNumber
------- ------- -------------- -----------
Майкрософт Windows 11 Pro 10.0.26300 64-разрядная 26300
PS> Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
Name NumberOfCores NumberOfLogicalProcessors
---- ------------- -------------------------
QEMU Virtual CPU version 2.5+ 2 2
В строке процессора — «QEMU Virtual CPU»: примеры курса сняты в виртуальной машине, и ОС видит не настоящий процессор, а тот, что показал ей гипервизор. Об этом — в разделе 03.
PS> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 26100 9711
В Windows 10 и 11 встроен Windows PowerShell 5.1 — его и используем. Новый PowerShell 7 ставится отдельно и в курсе не нужен.
В Linux те же вопросы задают другими командами. uname показывает ядро: его имя, версию и архитектуру процессора.
$ uname -a
Linux mypc 6.12.95+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.95-1 (2026-07-04) x86_64 GNU/Linux
$ uname -srm
Linux 6.12.95+deb13-amd64 x86_64
Версия ядра (6.12) и версия дистрибутива — разные вещи. Дистрибутив описан в файле /etc/os-release: его читают и люди, и программы установки.
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.7
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Процессор и память:
$ lscpu | grep -E "^(Architecture|CPU\(s\)|Model name|Thread|Core|Socket|Hypervisor)"
Architecture: x86_64
CPU(s): 2
Model name: QEMU Virtual CPU version 2.5+
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Hypervisor vendor: KVM
$ free -h
total used free shared buff/cache available
Mem: 3,8Gi 669Mi 609Mi 36Mi 2,9Gi 3,2Gi
Swap: 1,7Gi 853Mi 868Mi
$ nproc
2
Строка Hypervisor vendor: KVM — снова виртуальная машина. В выводе free важен столбец available — сколько памяти можно отдать программам; почему он больше free и что такое buff/cache и Swap, разберём в разделе 07.
| Вопрос | Windows | Linux |
|---|---|---|
| Версия ОС | winver, ver | cat /etc/os-release |
| Ядро и сборка | systeminfo | uname -a |
| Разрядность | $env:PROCESSOR_ARCHITECTURE | uname -m |
| Процессор | Get-CimInstance Win32_Processor | lscpu, nproc |
| Память | systeminfo, Диспетчер задач | free -h |
| Все сведения | msinfo32 | hostnamectl, lshw |
systeminfo и Get-CimInstance в Windows, uname, /etc/os-release, lscpu и free в Linux