Compilar S.O. - Pascal - Portugal-a-Programar
By Evolution, December 20, 2012 in Pascal
Já a algun tempo que estava a procura de um projecto de um Sistema operativo em pascal e encontrei este http://code.google.com/p/fpos/ mas agora, depois de fazer umas alterações surgiu-me a duvida de como compilo para o correr como se fosse o linux ou mesmo windows ou seja fazer um disco de boot.
Devo compilar como compilo outro Código fonte ou tenho que fazer de maneira diferente.
Dependendo da plataforma onde o vais fazer, vais ter algumas diferenças, mas estão bem explicadas no Readme do Sistema Operativo. De qualquer das formas é compilado normalmente o código. A diferença é que terás de gerar uma imagem de boot, mas novamente no Readme tens a informação de como o fazer.
Eu agora estava aqui a procura e encontrei como se compila, mas está aqui a dar uns erros e eu estava a pensar fazer um mini s.o que só mostra-se um olá mundo.
Como é que eu posso fazer isso?
Edited December 21, 2012 by Evolution
Segundo me lembro ainda há pouco tempo estavas totalmente bloqueado num exercício sobre anos bissextos.
Já queres ir para OS's?
É um assunto interessante, e eu próprio espero poder abordá-lo mais tarde. Até lá, aconselho-te a estudares bem Pascal e a treinar como deve ser em vez de tentar dar um passo maior do que a perna e a avenida juntos.
Não é desmoralizar: é simplesmente dar-te um conselho de como deves seguir as coisas. Todos nós, quando começamos, sonhamos em grande. Tudo tem os seus passos, e a programação não é excepção. Por isso, get back to real, e aprende primeiro Pascal primeiro.
Edited December 20, 2012 by thoga31
Eu apenas queria fazer um olá mundo ou assim apenas por curiosidade.
Ok. Só assim para começar, sabes fazer units em Pascal? E sabes o que são alias? E sabes o que é a visibilidade de propriedades?...
Porque não começares por fazer um interpretador de comandos em Pascal ?? Fazer um SO do zero é "puxado", e mesmo não sendo do zero, vais ter de lidar com assembly dentro de pascal, com ponteiros e mais algumas coisas, isto para fazeres uma coisa simples de 16 bits.
Não é para te desanimar, nem para desanimar ninguém, mas é complicadito! Existem bons exemplos na net, e recentemente deixei por cá um link de um livro que explica de forma bastante interessante como escrever um S.O. do zero em Pascal.
Como disse o @thoga31, não tentes dar o passo maior que a perna! Vai com calma!
Se colocares cá os erros eu dou uma vista de olhos... pode ser que seja coisa simples de resolver.
Eu posso fazer o intrepetador de comandos que não me importo, eu apenas queria um projecto que desse para aprender mais um pouco agora nas ferias.
Eu quando era mais novo fiz um "mini S.O" do genero que eu queria fazer em pascal mas em asssembly e resultou por isso achei que podia ser mais facil em pascal.
Então vou começar a fazer o intrepetador.
Olá Evolution.
Veja, é assim mesmo que se aprende, tentado se fazer coisas que estão além do banal. Em relacão a desenvolvimento de sistemas operacionais sugiro que você consulte um livro de Tanenbaum chamado Sistemas Operacionais (existem várias edições do gênero). Lá você encontrará algumas informações de como se desenvolver um sistema operacional. Isso está longe de ser uma tarefa fácil, mas não é impossível.
Ninguém disse que era impossível, mas o meu conselho é ter calma na braguilha.
Ainda há 3 semanas atrás o @Evolution empancou no problema dos anos bissextos e só 39 posts depois é que a questão ficou devidamente esclarecida.
Dado este pequeno facto, não acho o @Evolution apto a avançar já para um OS, mesmo que seja só um "Hello World". Um OS mesmo desse género tem muito mais por trás do que se possa imaginar, como referiste.
Aprender bem a linguagem e ganhar maturidade na programação são os primeiros passos. De seguida ter umas noções básicas de como funciona um OS. Depois disso, venha então o OS.
O livro "Modern Operating Systems" de Andrew S. Tanenbaum, além de ser um pouco par ao "carote", requer conhecimentos de algoritmia e programação, bem sólidos. Já li a 1ª e mais recentemente a 3ª edição.
Adicionalmente existe aqui no quadro de Pascal um bom livro sobre a "construção" de um Sistema Operativo, todo em Pascal, com todos os exemplos de código em Pascal.
Eu percebo que "voar seja fascinante", mas primeiro convém aprender a gatinhar, depois a andar, depois a correr, posteriormente a saltar, antes de "começar a voar".
Começar logo pelo desenvolvimento de um sistema operativo, que vai requerer conhecimentos mais profundos de arquitectura de computadores, pelo menos da x86, conhecimentos de assembly e sólidos conhecimentos de algoritmia e programação, parece-me "ousado" e "pouco produtivo".
Mantenho-me firme na convicção da recomendação que fiz. Primeiro escreve um interpretador de comandos que faça o básico, depois pensa em escrever todo um sistema operativo.
Entendam, não quis ir contra nenhuma recomendação feita ao @Evolution. ;-)
Pelo contrário, atesto e confirmo vossas informações.
Minha intenção era induzir o colega a procurar por si mesmo o significado de se desenvolver um sistema operativo, o que é, em parte, descomedidamente complexo para alguém que simplesmente queira fazê-lo sem ter conhecimento para tal, mas totalmente possível se com muito estudo.
Edited December 26, 2012 by GuiGa
Não te preocupes, ninguém achou que estavas contra qualquer conselho. Apenas quisemos clarificar que há um caminho a percorrer, nada mais.