Путешествие внутрь
Узнай, как электричество превращается в твои любимые игры и сообщения. Просто, красиво и понятно.
Представь компьютер как маленький город. У каждого жителя своя работа, и все связаны дорогами.
Это карта города. На ней расположены все главные здания, а между ними проложены дороги для данных — шиныШина — это набор проводов, по которым данные перемещаются между частями компьютера. Как дорога, по которой ездят грузовики с информацией.. Без материнской платы ничто не сможет общаться друг с другом.
Мозг компьютера. Выполняет миллиарды маленьких расчётов каждую секунду. Когда ты открываешь приложение, именно он решает, что делать дальше. Чем быстрее процессор — тем быстрее компьютер «думает».
Рабочий стол с полками. Здесь лежит всё, что нужно прямо сейчас: открытые приложения, веб-страницы, временные файлы. Выключил компьютер — полки пустеют. Чем больше RAM, тем больше задач одновременно.
Шкаф для вещей. Здесь хранится всё навсегда: фотографии, игры, музыка. Даже когда компьютер выключен, файлы на месте. SSDSSD (Solid State Drive) — быстрый накопитель без движущихся частей. Как флешка, только большая. HDD — старый тип с крутящимся диском внутри, медленнее, но дешевле. работает быстрее, а HDDHDD (Hard Disk Drive) — накопитель с магнитным диском, который вращается внутри. Как проигрыватель пластинок, только для данных. — дешевле и вмещает больше.
Художник. Рисует всё, что ты видишь на экране: окна, видео, игры. У неё сотни маленьких помощников, которые рисуют одновременно — поэтому картинка такая плавная. Без видеокарты экран был бы чёрным.
Двери в город. Через них подключаются клавиатура, мышь, флешки, наушники. USB — самая популярная «дверь». Когда ты нажимаешь клавишу, сигнал попадает в компьютер именно через порт.
Как многоэтажный дом. Верхний этаж — то, что видишь ты. Подвал — электричество. Лифт идёт сверху вниз.
То, что ты видишь на экране: иконки, кнопки, окна. Это язык картинок, придуманный для людей. Ты кликаешь мышкой или нажимаешь клавишу — и компьютер понимает, чего ты хочешь.
Программисты пишут команды на языках вроде Python, JavaScript, C. Эти языки похожи на английский — их может прочитать человек. Но компьютер их не понимает напрямую! Поэтому существует компиляторКомпилятор — это программа-переводчик. Она берёт текст, написанный программистом, и переводит его на язык, понятный компьютеру. Как переводчик с русского на китайский. — программа-переводчик, которая превращает человеческий код в машинные инструкции.
print("Привет!") на Python — понятно человеку. Компилятор переведёт это в сотни машинных команд.
Windows, macOS, Linux, Android — это операционные системы. ОС — как дирижёр оркестра. Она решает, какая программа сейчас получит время процессора, сколько памяти ей выделить, и куда сохранить файл на диск.
АссемблерАссемблер — это самый низкоуровневый язык, который ещё может читать человек. Каждая его команда — это одно простое действие процессора: «возьми число», «сложи», «сохрани». — это почти прямой разговор с процессором. Каждая строчка — одно простое действие: «возьми число отсюда», «сложи с другим», «положи результат туда».
Самый глубокий уровень. Внутри процессора — миллиарды крошечных переключателей (транзисторовТранзистор — крошечный переключатель размером в несколько атомов. Он либо пропускает ток (1), либо нет (0). В современном процессоре их миллиарды!). Есть ток — это 1. Нет тока — это 0. Из этих двух цифр складывается абсолютно всё: буквы, картинки, звук, видео.
Каждый уровень говорит на своём языке. Чтобы они понимали друг друга, между ними стоят «переводчики».
Ты нажимаешь кнопку «Сохранить». Интерфейс понимает, что ты хочешь, и передаёт просьбу программе.
Программа написана, например, на Python. Она вызывает функцию save_file("текст.txt").
Но Python не умеет работать с диском напрямую — он просит об этом операционную систему через
системный вызовСистемный вызов — это когда программа просит операционную систему сделать что-то, что сама не может: записать файл, показать окно, отправить данные в интернет. Как звонок в службу доставки..
ОС получает запрос и решает: на какой диск записать? Есть ли свободное место? Не занят ли диск другой программой? Она разбивает данные на кусочки и передаёт драйверуДрайвер — маленькая программа, которая «знает язык» конкретного устройства. Например, драйвер SSD знает, как именно записывать данные на этот конкретный диск. устройства.
Всё превращается в простейшие инструкции: «скопируй байт», «запиши по адресу». Процессор выполняет их по одной, миллиарды раз в секунду.
Каждая инструкция — это последовательность электрических импульсов. Транзисторы переключаются, ток бежит по дорожкам на плате, и данные записываются на диск.
Потому что людям удобно мыслить картинками и словами, а компьютеру — только числами. Каждый уровень — это мост между человеческим мышлением и электрическими сигналами.
Без уровней пришлось бы для каждого клика вручную писать миллионы нулей и единиц. Уровни упрощают жизнь: ты нажимаешь одну кнопку, а система сама делает всю работу по переводу вниз — и обратно.
Когда ты кликаешь «Открой папку» — сигнал летит вниз по этажам. А ответ возвращается обратно наверх. Это происходит за доли секунды.
os.listdir("/папка") Набери любой текст — и посмотри, что происходит на каждом уровне, чтобы буквы появились на экране.
Ты нажал клавишу. Контроллер клавиатуры определил, какая именно, и отправил её код через USB-кабель в компьютер.
ОС получила скан-код от клавиатуры. Она проверяет раскладку (русская? английская?), определяет символ и отправляет его в активную программу.
Программа получила символ, вставила его в текст в нужную позицию и пересчитала, как теперь должна выглядеть строка.
Видеокарта находит нужную букву в шрифтеШрифт — это набор рисунков для каждого символа. Видеокарта берёт рисунок нужной буквы и размещает его на экране в правильном месте., рисует её пиксель за пикселем и отправляет готовую картинку на монитор.
Каждое видео, каждая игра, каждое сообщение — это миллиарды крошечных «да» и «нет», которые летят по проводам со скоростью света. Пять уровней переводят твои мысли на язык электричества — и обратно. Теперь ты знаешь, как это устроено.
Пройти ещё раз