Раздел описывает фундаментальные механизмы, благодаря которым компьютер представляет данные, выполняет инструкции, управляет памятью и взаимодействует с устройствами.

Материалы раздела формируют основу для понимания операционных систем, программирования, баз данных, виртуализации, контейнеров и производительности приложений.

Основные направления

  • Представление данных — биты, байты, системы счисления, целые числа, числа с плавающей точкой, кодировки, порядок байтов и способы сериализации информации.
  • Архитектура компьютера — основные компоненты вычислительной системы и взаимодействие процессора, памяти, накопителей, шин и периферийных устройств.
  • Процессор — машинные инструкции, регистры, такты, конвейер выполнения, режимы работы процессора, прерывания и переключение контекста.
  • Иерархия памяти — регистры, процессорный кеш, оперативная память, виртуальная память, накопители и причины различий в скорости доступа к данным.
  • Управление памятью — адресное пространство, страницы памяти, stack, heap, выделение памяти, отображение файлов в память и ошибки доступа.
  • Выполнение программ — компиляция, интерпретация, загрузка исполняемого файла, связывание библиотек и переход от исходного кода к выполняемому процессу.
  • Процессы и потоки — изоляция процессов, потоки выполнения, планирование, состояния выполнения, межпроцессное взаимодействие и совместное использование ресурсов.
  • Конкурентность и параллелизм — одновременное выполнение операций, синхронизация, атомарность, блокировки, состояния гонки и взаимные блокировки.
  • Системные вызовы — переход между пользовательским кодом и ядром операционной системы при работе с файлами, памятью, процессами, сетью и устройствами.
  • Ввод и вывод — файловые дескрипторы, буферизация, блочный и символьный ввод-вывод, синхронные и асинхронные операции.
  • Устройства хранения — принципы работы накопителей, блоки данных, задержки, пропускная способность, кеширование и надёжность хранения.
  • Время и производительность — измерение времени выполнения, latency, throughput, загрузка процессора, пропускная способность памяти и поиск вычислительных ограничений.
  • Аппаратная виртуализация — механизмы, позволяющие нескольким виртуальным машинам использовать ресурсы одного физического компьютера.

Основные вопросы раздела

Материалы раздела должны помогать отвечать на следующие вопросы:

  • Как информация представляется внутри компьютера?
  • Как процессор выполняет машинные инструкции?
  • Чем физическая память отличается от виртуальной?
  • Где находятся данные выполняющейся программы?
  • Чем процесс отличается от потока?
  • Как программа обращается к операционной системе?
  • Что происходит при чтении файла или передаче данных устройству?
  • Почему возникают состояния гонки и взаимные блокировки?
  • Как аппаратные ограничения влияют на производительность программ?
  • Какие механизмы лежат в основе виртуальных машин и контейнеров?

Границы раздела

Раздел посвящён общим принципам работы вычислительных систем.

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

в этой папке 0 элементов