Que tipo de arquivo é um sistema operacional?

1

Estou pesquisando informações sobre sistemas operacionais recentemente e ainda não encontrei uma resposta para essa pergunta. Que tipo de arquivo é um sistema operacional? Seria um aplicativo (.exe), algum tipo de arquivo de origem (como .c ou .cpp) ou outra coisa?

É um pouco diferente, porque os sistemas operacionais podem ser inicializados de cartões SD e flash drives, que tipo de arquivo você salvaria no dispositivo removível que usaria?

Obrigado

-Zach

    
por zchbrntmr 02.10.2013 / 23:26

2 respostas

3

Um sistema operacional não é exatamente um tipo de arquivo, ele é composto de vários tipos diferentes de arquivos trabalhando juntos para criar algo maior. Parece que você está procurando ser capaz de inicializar em um sistema operacional a partir de uma unidade flash; nesse caso, você pode estar procurando um arquivo .iso que possa ser inicializado.

Se você estiver tentando inicializar em uma plataforma Windows via USB, precisará obter um arquivo .ISO on-line ou diretamente de um CD / DVD. Tenha em mente que você precisará de uma chave de produto válida para instalar o sistema operacional.

Aqui está um pouco mais detalhadamente e guia sobre a criação de uma unidade flash inicializável para Windows: link

Aqui estão mais detalhes / guias sobre drives flash inicializáveis do Ubuntu (linux): link

    
por 02.10.2013 / 23:42
1

Difere por sistema operacional, se você quer dizer o único arquivo que é o kernel em execução, o que obviamente não ajuda muito sem a ajuda de muitos arquivos.

O sistema operacional DOS real estava alojado em dois arquivos ocultos na raiz do volume de inicialização ou disquete, IO.SYS e MSDOS.SYS (ou IBMBIO.SYS e IBMDOS.SYS no PC-DOS). Eu não acho que eles tenham um cabeçalho ou algo assim, ou seja, o gerenciador de inicialização carrega os arquivos e depois salta para o primeiro local onde foram carregados.

ntoskrnl.exe e amigos como ntkrnlpa.exe estão no formato do Windows PE, por isso parecem um executável padrão. Existem diferentes tipos de .exe , e acredito que seria um executável de "modo nativo" e não executável enquanto você estiver em uma sessão do Win32, como 99% do tempo que você está quando estiver executando o Windows. O sistema operacional completo do Windows e a API geralmente são uma coleção de DLLs conhecidos ( ntdll.dll e outros), portanto, ntoskrnl.exe dificilmente executa a maior parte do trabalho de executar o sistema por conta própria.

O Linux é geralmente uma única imagem binária intitulada vmlinuz ou similar. Normalmente, você também terá um initrd , que é o sistema de arquivos que o kernel possui no momento da inicialização - mas isso é opcional. Não tenho certeza do formato, mas não é um executável. O gerenciador de inicialização deve pular para o início desta imagem diretamente após carregá-lo na memória.

    
por 03.10.2013 / 00:35