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 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 ?
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.
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.