Операционная система
Написание программ для работы с аппаратным обеспечением - процесс трудоемкий и сложный. Чтобы выполнить нашу программу инкремента / декремента, нам также нужно было бы написать код для обработки нажатий клавиш с клавиатуры, отображения графики на мониторе, построения наборов символов, чтобы мы могли представлять буквы и цифры, а также общаться с оперативной памятью и жестким диском. Чтобы облегчить разработку программ, были созданы операционные системы. Они содержат код, который уже обрабатывает эти аппаратные функции. Они также имеют несколько стандартных функций, которые обычно используются, таких как копирование данных из одного места в другое.
Три основные операционные системы, все еще используемые сегодня, это Windows, Linux и MacOS. Все они имеют различные библиотеки и методы для работы с аппаратным обеспечением. Вот почему программы, написанные для Windows, не работают в Linux.
Приложения
Операционные системы нуждаются в способе определения того, как обрабатывать данные, когда пользователь выбирает их. Если данные представляют собой фотографию, операционная система запускает определенное приложение (например, Paint) для просмотра фотографии. Аналогично, если данные являются самим приложением, операционная система должна передать их процессору для выполнения.
Каждая операционная система работает уникально. В Linux флаг исполняемого файла устанавливается на обычный файл. В Windows приложения форматируются особым образом, который Windows умеет анализировать. Это называется Portable Executable или переносимого исполняемого файла, формат. Формат PE имеет несколько разделов, таких как раздел .text для хранения программного кода и раздел .data для хранения переменных.
Игры
Теперь, когда все это позади, мы наконец-то можем обсудить игры. Игры-это просто приложения. В Windows они отформатированы в формате PE, идентичном любому другому приложению. Они содержат в себе .text раздел, который содержит код программы, состоящий из инструкций. Эти опкоды затем выполняются процессором, а затем операционная система обрабатывает отображение результирующей графики и обработку входных данных, например нажатия клавиш.
Продолжение следует...