Программное обеспечение: что заставляет компьютер работать
Знакомимся с программным обеспечением: что такое операционная система, какие бывают программы и зачем нужны драйверы.
Программное обеспечение (ПО) — это все программы, которые работают на компьютере. Без них железо — просто набор деталей.
Железо без программ беспомощно
Представь новенький компьютер, в который ещё не установили ни одной программы. Это как пианино без пианиста: инструмент отличный, но сам по себе он не играет. Чтобы компьютер заработал, ему нужны программы — наборы команд, которые говорят процессору, что делать.
Всё, что можно потрогать руками — процессор, память, корпус, провода — называют аппаратным обеспечением (по-английски 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 — интерпретатор, поэтому его программы легко запускать где угодно, в том числе прямо здесь, на этой странице, в твоём браузере. Понимать эту разницу не обязательно прямо сейчас, но полезно: она объясняет, почему одни программы — это готовые файлы, а другие выполняются «на лету».
Частые ошибки
- Путать аппаратное и программное обеспечение. Железо можно потрогать, программы — нет.
- Считать, что ОС — это просто «рабочий стол». Рабочий стол — лишь видимая часть; ОС управляет всем компьютером.
- Скачивать программы откуда попало. Это главный путь, которым в компьютер попадают вирусы.
Запомни
- ПО — это все программы; железо без них не работает.
- Операционная система — главная программа, посредник между человеком, приложениями и устройствами.
- ПО делят на системное, прикладное и системы программирования.
- Драйвер учит ОС работать с конкретным устройством.