В основном ... ваш компьютер может просто запустить диск, потому что:
BIOS включает это дисковое устройство в порядок загрузки.
При загрузке BIOS сканирует все загрузочные устройства по порядку, например, дисковод гибких дисков, жесткий диск и компакт-диск. Каждое устройство обращается к своему носителю и проверяет жестко запрограммированное местоположение (обычно сектор на диске или устройстве компакт-дисков) на наличие отпечатка пальца, который идентифицирует носитель, и перечисляет местоположение, к которому нужно перейти на диске (или носителях), где начинаются инструкции. BIOS сообщает устройству переместить его голову (или что-то еще) в указанное место на носителе и прочитать большой кусок инструкций. BIOS передает эти инструкции процессору.
CPU выполняет эти инструкции. В вашем случае эти инструкции собираются запустить ОС Ubuntu. С таким же успехом это могут быть инструкции по остановке или добавлению 10 + 20 и т. Д.
Как правило, ОС запускается, забирая большой кусок памяти (опять же, непосредственно из ЦП, поскольку библиотечные команды, такие как «GlobalAlloc» и т. Д., Недоступны, поскольку они предоставляются еще не готовыми к использованию). загружен-ОС) и начинает создавать структуры для самой ОС.
ОС предоставляет набор «функций» для приложений: управление памятью, файловая система, ввод / вывод, планирование задач, работа в сети, управление графикой, доступ к принтерам и т. Д. Это то, что он делает, прежде чем вы «получаете контроль»: создаете / запускаете все сервисы, чтобы более поздние приложения могли работать вместе, не топать памятью друг друга и иметь хороший API для сервисов, предоставляемых ОС.
Каждая «функция», предоставляемая ОС, является большой темой. ОС предоставляет их все, поэтому приложениям просто нужно беспокоиться о вызове нужной библиотеки ОС, а ОС управляет ситуациями, например, если две программы пытаются печатать одновременно.
Например, без ОС каждое приложение должно было бы иметь дело с ситуацией, когда другая программа пытается печатать, и в любом случае «делать что-то», например, печать, или отменять другое задание и т. Д. Вместо этого только ОС имеет чтобы справиться с этим, приложения просто говорят ОС «напечатать этот материал», и ОС гарантирует, что одно приложение печатает, а всем остальным приложениям просто нужно дождаться, пока завершится первое, или пользователь отменит его.
Наименьшее количество байтов для ОС не имеет смысла, поскольку «ОС» может подразумевать множество или очень мало функций. Если все, что вам нужно, это выполнить программу с компакт-диска, это будет очень мало байтов. Однако это не ОС. Задача ОС состоит в том, чтобы предоставлять службы (я назвал их функциями), позволяющие запускать множество других программ, и управлять доступом к этим службам для программ. Это сложно, и чем больше общих ресурсов вы добавляете (сети, Wi-Fi, устройства записи компакт-дисков, джойстики, видео iSight, два монитора и т. Д. И т. Д.), Тем труднее становится это.