Программное обеспечение: что заставляет компьютер работать

Знакомимся с программным обеспечением: что такое операционная система, какие бывают программы и зачем нужны драйверы.

Программное обеспечение (ПО) — это все программы, которые работают на компьютере. Без них железо — просто набор деталей.

Железо без программ беспомощно

Представь новенький компьютер, в который ещё не установили ни одной программы. Это как пианино без пианиста: инструмент отличный, но сам по себе он не играет. Чтобы компьютер заработал, ему нужны программы — наборы команд, которые говорят процессору, что делать.

Всё, что можно потрогать руками — процессор, память, корпус, провода — называют аппаратным обеспечением (по-английски hardware, «твёрдое»). А все программы — программным обеспечением (software, «мягкое»). Эти два мира работают только вместе.

Главная программа — операционная система

Среди всех программ есть самая важная — операционная система (ОС). Она запускается первой при включении и управляет всем компьютером: распределяет память, общается с устройствами, запускает другие программы, показывает рабочий стол и окна. Без ОС не запустится ни одна другая программа.

Самые известные операционные системы:

ОСГде встречается
Windowsбольшинство школьных и домашних компьютеров
Linuxсерверы, программисты, отечественные ОС на его основе
macOSкомпьютеры Apple
Android, iOSсмартфоны и планшеты

Операционная система — это посредник между тобой, программами и железом. Когда ты нажимаешь «Печать», именно ОС находит принтер и отправляет ему документ.

Виды программного обеспечения

Всё ПО принято делить на три большие группы.

  • Системное ПО. Обслуживает сам компьютер. Сюда входит операционная система и драйверы — маленькие программы, которые учат ОС работать с конкретным устройством (принтером, видеокартой, мышью). Без драйвера устройство может не заработать.
  • Прикладное ПО (приложения). То, ради чего мы и включаем компьютер: браузер, текстовый редактор, графический редактор, игры, мессенджеры, проигрыватель музыки.
  • Системы программирования. Инструменты, с помощью которых сами создают новые программы. Среда для Python, в которой мы скоро будем писать код, — как раз отсюда.

Простое правило: системное ПО работает «для компьютера», прикладное — «для человека», а системы программирования — «для тех, кто делает новые программы».

Что происходит при включении компьютера

Полезно понять, что творится в те секунды, пока компьютер «загружается». Сразу после нажатия кнопки запускается крошечная программа, зашитая прямо в микросхему (её называют BIOS или UEFI). Она проверяет, что все устройства на месте и исправны, а потом находит на диске операционную систему и передаёт ей управление. Дальше ОС загружает сама себя в оперативную память, запускает службы, подключает устройства через драйверы и наконец показывает рабочий стол. Поэтому компьютер и не включается мгновенно: за эти секунды происходит целая цепочка запусков, где одна программа «будит» следующую. Это похоже на эстафету, где BIOS передаёт палочку операционной системе, а та — твоим приложениям.

Как программы попадают в компьютер

Программу нужно установить — записать на диск и настроить так, чтобы ОС умела её запускать. Брать программы стоит из надёжных источников: официальных сайтов и проверенных магазинов приложений. Скачанная с сомнительного сайта программа может оказаться вирусом. К теме безопасности мы ещё вернёмся в последнем разделе.

По правилам использования ПО бывает платным, бесплатным и свободным (его можно не только бесплатно использовать, но и изучать и улучшать — таков, например, Linux). Нарушать лицензию и пользоваться «пиратскими» копиями платных программ незаконно.

Попробуй сам

Смоделируем работу операционной системы как «диспетчера»: к ней приходят запросы от программ, и она решает, какому устройству их направить.

# ОС знает, какое устройство за что отвечает
ustroystva = {
    "печать": "принтер",
    "звук": "колонки",
    "картинка": "монитор",
    "ввод": "клавиатура",
}

# Программы шлют запросы операционной системе
zaprosy = ["печать", "картинка", "звук"]

for zapros in zaprosy:
    if zapros in ustroystva:
        print("ОС направила запрос", zapros, "->", ustroystva[zapros])
    else:
        print("ОС: не знаю, как обработать", zapros)

Вывод:

ОС направила запрос печать -> принтер
ОС направила запрос картинка -> монитор
ОС направила запрос звук -> колонки

Добавь в список zaprosy запрос "видео", которого ОС не знает, и запусти снова. Увидишь, как ОС честно сообщает, что не умеет его обработать — примерно так и бывает, когда не установлен нужный драйвер.

Как программа из текста становится работающей

Откуда вообще берутся программы? Их пишут программисты на языках программирования — таких, как Python, который мы скоро освоим. Но процессор не понимает ни Python, ни русский, ни английский — он понимает только команды в машинном коде, в тех самых нулях и единицах. Поэтому между текстом программы и процессором есть переводчик. Он бывает двух видов. Компилятор заранее переводит всю программу в машинный код целиком — получается готовый файл (например, с расширением .exe), который потом быстро запускается. Интерпретатор переводит и сразу выполняет программу строчка за строчкой, прямо во время запуска. У Python — интерпретатор, поэтому его программы легко запускать где угодно, в том числе прямо здесь, на этой странице, в твоём браузере. Понимать эту разницу не обязательно прямо сейчас, но полезно: она объясняет, почему одни программы — это готовые файлы, а другие выполняются «на лету».

Частые ошибки

  • Путать аппаратное и программное обеспечение. Железо можно потрогать, программы — нет.
  • Считать, что ОС — это просто «рабочий стол». Рабочий стол — лишь видимая часть; ОС управляет всем компьютером.
  • Скачивать программы откуда попало. Это главный путь, которым в компьютер попадают вирусы.

Запомни

  • ПО — это все программы; железо без них не работает.
  • Операционная система — главная программа, посредник между человеком, приложениями и устройствами.
  • ПО делят на системное, прикладное и системы программирования.
  • Драйвер учит ОС работать с конкретным устройством.
Проверьте себя
1. Какая программа запускается первой и управляет всем компьютером?
AБраузер
BОперационная система
CТекстовый редактор
DАнтивирус
2. Что такое драйвер?
AИгра для компьютера
BПрограмма, которая учит ОС работать с конкретным устройством
CЧасть процессора
DВид оперативной памяти
3. К какому виду ПО относится графический редактор?
AСистемное ПО
BПрикладное ПО
CДрайвер
DОперационная система
Поддержать проект