СообЧа > База Знаний > Программы

Вопрос

Что такое ядро программы или операционной системы. И как так «одна программа сделана на ядре другой программы»?

Ответ

В принципе, операционная система — это тоже программа. Только она составлена так, что BIOS компьютера (который тоже программа, только еще более специальная и запускающаяся автоматически при включении процессора) запускает ее сам.

Ядро операционной системы заведует такими вещами, как запуск программ, распределение процессорного времени между программами, завершение работы программ, распределение памяти, работа с различными устройствами посредством драйверов, написанных для них.

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

В свою очередь, программа может сообщить ядру операционной системы, что она способна выполнить что-нибудь полезное. Это производится посредством вызовов системных функций. В этом случае, когда операционке потребуется, она вызовет функции вашей программы.

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

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

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

Сюда не включаются непосредственно элементы игрового мира.

Что же касается выражения «одна программа сделана на ядре другой программы», то тут, скорее всего, имеется в виду то, что от исходной программы взяли ядро, добавили немного, а иногда и много, своего (в играх — описание игрового мира, персонажей и пр.) сделали другую программу.

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

Valentin



Copyright © 2000-2004 Сообщество Чайников
Контактная информация