4
respostas

Rodar software fora do Sistema Operacional

Como eu eacrevo um software que possa ser executado fora de um siatema operacional. Por exemplo quero bootar o computador e execitar um softwate que esteja em um pendrive ou cd. Tem como fazer isso, se tiver comobeu faco qual o procedimento ?

4 respostas

Oi Lucas tudo bem?

Dá uma olhada nesse artigo que fala sobre o assunto https://blog.npibrasil.com/como-criar-um-pendrive-bootavel-pelo-cmd/

Ele aborda várias maneiras de fazer isso dependendo da sua necessidade.

Espero ter ajudado!!!

Então é que na verdade eu escrevi um programa que vai ficar rodando, no entanto a máquina não tem S.O só vai ter o meu programa rodando nela. Como se fosse um microcontrolador entende?

É um computador dedicado. No caso é um fliperama, com a placa dedicada e eu escrevi um programa em C que usa um emulador. Então não vai ter S.O vai ligar e vai direto para o software que eu escrevi.

Oi entendi. Não é uma tarefa simples e algo que ensinam nas faculdades. Encontrei uma apostila que ensina em Assembly, talvez dê para adaptar para C. Dá uma olhada http://www.fergonez.net/index.php?lang=pt&page=articles&pid=4.

Outra solução mais simples é subir uma imagem de um sistema operacional que logo que entrar já execute o seu programa em tela cheia. E tenha travas que impeçam o usuário dar alt+tab ou tentar sair do programa.

Muita gente usa Raspberry Pi para criar fliperama talvez possa ser o caso usar ele. Ou então usar Arduino para rodar o seu programa.

Espero ter ajudado!!!

O conceito mais fundamental que um programador deve compreender é o de interface. Dentro de um sistema temos vários níveis de abstração, sendo que cada nível comunica-se com o imediatamente anterior via uma interface previamente acordada.

Do nível mais baixo para o mais alto, temos as seguintes camadas de abstração em um sistema C.

  1. Hardware;
  2. Kernel (núcleo do SO);
  3. Biblioteca padrão e APIs;
  4. Programa.

Para fazer o que desejas, tens de escrever tua própria implementação das interfaces providas pelo SO e pelas APIs, de modo a criar um programa que comunique-se diretamente com o hardware.

Recomendaria que desses uma lida no livro Sistemas Operacionais: Projeto e implementação do Tanenbaum. Nele o autor detalha passo-a-passo a criação de um sistema operacional UNIX. Caso realmente tenhas vontade de fazer isso, essa é a melhor forma de fazê-lo.

No entanto, como o André Victor Ruiz Pedroso disse, existe a opção de configurar uma distro Linux minimalista que rode a tua aplicação em start-up, certamente muito menos trabalhoso que escrever um kernel de SO.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software