1

В последнее время я искал информацию об операционных системах и до сих пор не нашел ответа на этот вопрос. Какой тип файла является операционной системой? Будет ли это приложение (.exe), какой-то исходный файл (например, .c или .cpp) или что-то еще?

Иными словами, поскольку операционные системы могут загружаться с SD-карт и флэш-накопителей, какой тип файла вы бы сохранили на съемном устройстве, которое оно будет использовать?

Спасибо

-Zach

2 ответа2

3

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

Если вы пытаетесь загрузиться на платформе Windows через USB, вам необходимо получить.ISO файл онлайн или напрямую с CD/DVD. Помните, что для установки ОС вам понадобится действительный ключ продукта.

Вот немного больше деталей и руководства по созданию загрузочной флешки для Windows: http://arstechnica.com/business/2009/12/the-usb-flash-drive/

Вот более подробная информация / руководства по загрузочным флеш-накопителям Ubuntu (linux): http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows

1

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

Настоящая операционная система DOS была размещена в двух скрытых файлах в корне загрузочного тома или дискеты, IO.SYS и MSDOS.SYS (или IBMBIO.SYS и IBMDOS.SYS на PC-DOS). Я не думаю, что у них есть заголовок или что-то еще, то есть загрузчик загружает файлы, а затем переходит на первое место, куда он их загрузил.

ntoskrnl.exe и его друзья, такие как ntkrnlpa.exe имеют формат Windows PE, поэтому они выглядят как стандартный исполняемый файл. Существуют разные типы .exe -файлов, и я считаю, что это будет исполняемый файл в "основном режиме", который не будет работать, пока вы находитесь в сеансе Win32, как в 99% случаев, когда вы работаете в Windows. Полная ОС Windows и API, как правило, представляют собой общеизвестную коллекцию.DLL (ntdll.dll и другие), тем не менее, поэтому ntoskrnl.exe вряд ли выполняет большую часть работы по запуску системы самостоятельно.

Linux, как правило, представляет собой отдельный двоичный образ под названием vmlinuz или аналогичный. Обычно у вас также есть initrd который является файловой системой, которая есть у ядра во время загрузки, но это не обязательно. Я не уверен в его формате, но это не исполняемый файл. Загрузчик предназначен для перехода к началу этого образа непосредственно после загрузки его в память.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .