Первые электронные вычислительные машины создавались для автоматизации рутинных расчётов. Они занимали целые залы, потребляли огромное количество энергии и требовали постоянного обслуживания инженеров. Такие установки могли позволить себе только военные или крупные исследовательские центры.
Возникла проблема: каждая новая машина становилась всё сложнее и больше по размеру, вместо того чтобы становиться компактнее. Детали перегревались и часто выходили из строя. Чтобы справиться с этой трудностью, придумали транзистор. Это маленький электронный элемент, который может работать как переключатель: ток идёт или не идёт. На таких «да» и «нет» строятся все вычисления в компьютере. Транзистор заменил громоздкие лампы, стал меньше по размеру и потреблял меньше энергии.
Но одних транзисторов оказалось недостаточно. Когда их становились тысячи, инженерам приходилось соединять их проводами вручную. Чем больше становилась схема, тем выше риск ошибок и поломок. Тогда придумали интегральную схему. Это тонкая пластина из кремния, на которой объединяли сразу сотни транзисторов. Вместо тысячи отдельных деталей получалась одна схема, что уменьшало количество проводов и делало устройства стабильнее.
Следующим шагом стал микропроцессор. Это кристалл, в котором собрали все основные блоки для вычислений: счёт, управление, работу с памятью. По сути, это был «мозг компьютера», но уже в миниатюрном виде. Теперь вместо шкафов с оборудованием достаточно было одного чипа. Это сильно уменьшило размеры компьютеров и сделало их дешевле в производстве.
На основе микропроцессоров появились персональные компьютеры. Они помещались в компактный корпус и не требовали специальных помещений. Теперь вычислительная техника могла использоваться не только в университетах и военных центрах, но и в компаниях меньшего масштаба, а позже и дома. Развитие персональных компьютеров связано с деятельностью компаний Apple и Microsoft. В 1976 году Apple представила Apple I, который можно было использовать сразу после покупки. Позже появился Macintosh с графическим интерфейсом, где управление происходило через изображения на экране. Microsoft в это время разрабатывала операционную систему Windows и пакет MS Office, который сделал работу с текстами и таблицами привычной для миллионов пользователей.
Когда компьютер стал компактным и доступным, нужно было уместить все его части в корпус и организовать их совместную работу. Эту задачу решает системный блок. Внутри него находится материнская плата — большая плата с дорожками и разъёмами, которая соединяет все компоненты между собой. Например, когда вы открываете браузер, процессор, память и видеокарта обмениваются данными именно через материнскую плату.
Чтобы компьютер работал, все его детали должны получать питание. Эту задачу решает блок питания: он берёт электричество из розетки и преобразует его в тот вид, который подходит для электроники. Если отключить кабель питания, вся работа прервётся — компьютер выключиться, браузер закроется, потому что компоненты лишатся энергии.
Когда питание подано, управление берёт на себя процессор. Это центральная часть компьютера, которая выполняет инструкции программ и делает вычисления. Например, когда вы вводите адрес сайта и нажимаете Enter, процессор формирует запрос и готовит страницу к отображению.
Чтобы работать быстрее, процессор использует кеш — крошечную, но очень быструю память прямо внутри себя. Она хранит самые нужные данные «под рукой». Благодаря этому, если вы несколько раз подряд открываете одну и ту же вкладку, загрузка идёт быстрее.
Но кеша мало. Для текущих задач нужна оперативная память (RAM). Она похожа на рабочий стол: всё, что вы делаете прямо сейчас, раскладывается там. Открытые вкладки браузера хранятся именно в RAM. Но стоит выключить компьютер — и «рабочий стол» очищается.
Данные, которые нужно хранить надолго, записываются на накопитель: жёсткий диск или SSD. Там остаётся всё — и сам браузер, и загруженные файлы. Даже если компьютер выключить, они будут доступны после включения.
Теперь компьютер готов обрабатывать информацию, но ему нужно взаимодействовать с человеком. Для этого существуют устройства ввода. Клавиатура, мышь, сенсорные панели или графические планшеты передают действия пользователя внутрь компьютера. Например, когда вы набираете адрес сайта, символы идут в оперативную память и обрабатываются процессором.
Результат работы нужно показать обратно — этим занимаются устройства вывода. Монитор отображает страницу, колонки и наушники воспроизводят звук, а при необходимости текст можно отправить на принтер.
Чтобы выводить изображение, нужна видеокарта. Она создаёт кадры, которые появляются на экране. Видеокарта может быть встроена в процессор или существовать отдельно. Именно она превращает код сайта в готовую страницу, а также воспроизводит видео или даже движение курсора.
Со звуком работает звуковая карта. Она переводит цифровые данные в сигнал для колонок или наушников и делает обратное преобразование для микрофона. Когда вы смотрите видео, она воспроизводит речь и музыку, а во время звонка передаёт ваш голос в программу.
Чтобы компьютер подключался к интернету, нужна сетевая карта. Она может работать по кабелю или через Wi-Fi. Когда вы вводите адрес сайта, именно сетевая карта отправляет запрос в сеть и получает ответ от сервера.
Все эти детали объединяет операционная система. Это набор программ, который управляет ресурсами компьютера и даёт пользователю удобный способ запускать приложения. Через операционную систему можно открыть браузер, работать с файлами или слушать музыку.
Но один компьютер предназначен только для одного человека. Когда в организации появилась необходимость работать с общими данными, встал вопрос: как сделать так, чтобы несколько сотрудников имели доступ к одной информации. Переносить файлы на флешках было неудобно и приводило к множеству копий. Решением стали серверы. Сервер — это компьютер, который работает постоянно и обслуживает запросы других машин. Он хранит документы, поддерживает сайты, обрабатывает почту. Пользователи подключаются к нему удалённо и получают нужные данные напрямую.
Использование серверов решило задачу совместного доступа, но появилось новое ограничение. Один сервер часто выполнял только одну задачу и использовал лишь часть ресурсов. Под каждую задачу покупать отдельный сервер оказалось невыгодно. Тогда придумали виртуальные машины. Это программы, которые создают внутри сервера несколько независимых виртуальных компьютеров. У каждой виртуальной машины есть свой «процессор», «память» и «диск», а также собственная операционная система.
Однако виртуальные машины занимают много ресурсов. Каждой из них нужно выделять собственную оперативную память, даже если она не используется полностью. Все виртуальные процессоры делят одно физическое «железо». Для каждой виртуальной машины хранится отдельный образ операционной системы, который может занимать десятки гигабайт. Например, если на сервере создать несколько виртуальных машин и в каждой установить браузер для тестирования сайтов, придётся хранить отдельную копию ОС под каждый браузер. В итоге больше места уйдёт не на тесты, а на сами копии систем.
Чтобы уменьшить избыточность, появились контейнеры. Контейнер упаковывает приложение вместе с нужными библиотеками и настройками, но использует общую операционную систему хоста. Это как отдельная коробка с программой: она работает изолированно, но без лишней копии системы. Контейнеры запускаются быстрее виртуальных машин, занимают меньше места и одинаково работают на разных устройствах: на ноутбуке разработчика, на сервере для тестирования или в рабочем окружении. Программа в контейнере изолирована от остальных и переносится без изменений.
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.