Array
(
)

Primeiro sistema operacional em pascal

Programadory
   - 07 jan 2006

Oi tudo bem com vocês?
Eu venho aqui para ver se e possivel a ajuda de vocês para realizar um sonho meu?
Sempre tive o sonho de construir um sistema operacional em pascal so de amostra, mas sozinho nunca fui muito longe pesquisei na internet e achei dois sistemas icompletos que ainda estao em alpha e parecem estar parados, eu gostaria de saber se alguem se interessa em continuar essa ideia na verdade sao três por que tem o que eu comecei a escrever se alguem se interessar por favor poste aqui, logo estarei colocando as partes do que eu escreivi para download, e gostaria se possivel da ajuda de todos desse forum para terminar este sonho.

Sistema operacinal glider
http://sourceforge.net/projects/glider-kernel

Sistema operacional perix

http://sourceforge.net/projects/perix

Minha ideia inicial e completar esses dois sitemas um com arquivos do outro e terminar o que esta faltando pelo menos para virar um beta os interessados por favor postar aqui.


Caninha51
   - 09 jan 2006

Se eu fosse tu ia atrás era de futricar o kernel do linux.
Eh bem mais útil! ;)


Titanius
   - 09 jan 2006

Fala ae M0001,

Fiquei interessado neste assunto, ´posso ajudar no que eu puder.. :D


Citação:

Se eu fosse tu ia atrás era de futricar o kernel do linux.
Eh bem mais útil!


Discordo plenamente sobre isto, mais útil seria criar um, pois o aprendizado seria maior comparado a pegar um pronto, e usando C e ASM...


Rafael Gomes
   - 09 jan 2006


Citação:
Se eu fosse tu ia atrás era de futricar o kernel do linux.
Eh bem mais útil! ;)


tbm discordo ...

acho uma boa ideia para aprendizado, e gostaria de participar apesar de nao ter muito tempo disponivel, mas sempre existem as madrugadas hehehe, dormir pra q neh!?? 8)

qlqer coisa me contacte no msn
rafaelfgomes@superig.com.br

[]s


Caninha51
   - 09 jan 2006

Não sou a favor da reinvenção da roda.
Ainda mais quando quando eh com uma coisa ultrapassada.

Eh a mesma coisa de hoje eu me matricular num curso de datilografia!hehe

Prefiro gastar meu tempo aprendendo novas tecnologias.
Vai me ser mais útil! :D

**Bom, eh apenas minha opnião! ;)


Edilcimar
   - 09 jan 2006

Acho que é válido estudar o linux ou qualquer outro sistema operacional com o intuito de aprendizado, agora fazer um sistema usando pascal, sinceramente acho que ficaria muito grande e pesado, deveria então tentar faze o máximo possível em Assembler


Martins
   - 09 jan 2006


Citação:
Se eu fosse tu ia atrás era de futricar o kernel do linux.
Eh bem mais útil! ;)


Acho q quando o objetivo é a aprendizagem é válido vc tentar entender como funciona, desde q não copie e cole, então tudo bem, no seu caso não é reinventar a roda, é realizar um sonho, descobrir como fazer e ampliar seu campo de conhecimento, mas é bom vc saber q terá q otmizar bastante o seu SO para q ele não fique muito pesado.

Posso tentar ajudar no q estiver ao meu alcance.


Programadory
   - 09 jan 2006

Acho que o sistema nao vai ficar pesado afinal hoje em dia nao e muito dificil achar pessoas com pcs com uma configuraçao acima de 1GHz e 128Mb, e creio que um sistema recem criado nao vai ser usado por leigos martins, agora falando mais sobre o projeto ele ja tem um certo caminho andado pois tem dois sistemas ai que eu coloquei para download ambos em pascal, minha ideia e que cada pessoa ou equipe se responsabilize por uma parte que vai ser definida, e dai a pessoa deve completar sua devida parte pois estes sistemas nao estao completos, depois que a parte de todo mundo estiver funcionando nos iremos juntar e dair e so testar, acredito que se a pessoa poder dedicar 1 hora de seu dia para o complemento de sua parte teremos um alpha dentro de dois mes.


Martins
   - 09 jan 2006


Citação:
Acho que o sistema nao vai ficar pesado afinal hoje em dia nao e muito dificil achar pessoas com pcs com uma configuraçao acima de 1GHz e 128Mb, e creio que um sistema recem criado nao vai ser usado por leigos martins, agora falando mais sobre o projeto ele ja tem um certo caminho andado pois tem dois sistemas ai que eu coloquei para download ambos em pascal, minha ideia e que cada pessoa ou equipe se responsabilize por uma parte que vai ser definida, e dai a pessoa deve completar sua devida parte pois estes sistemas nao estao completos, depois que a parte de todo mundo estiver funcionando nos iremos juntar e dair e so testar, acredito que se a pessoa poder dedicar 1 hora de seu dia para o complemento de sua parte teremos um alpha dentro de dois mes.


Certo M0001, vendo por esse lado, clientes com essa config. básica, o sistema não se tornaria tão pesado, é uma idéia muito boa.

Valew pela iniciativa!!!


Dpinho
   - 13 jan 2006

Criar novo sistema operacional seria bem legal pra aprender mais
Uma vez pensei em estudar isto e ate criei um sonho de fazer um novo sistema operacional, mas que podesse ser aberto e que qualquer programa funcionasse bem nele, tipo assim o corelDraw para windows poderia ser isntalado normalmente, ou um programa para linux ou um programa para Mac.
o Usuario não precisaria alterar nada apenas colocaria o Cd e instalaria sem se preocupar com o sistema operacional.
Muita gente grande iria a falencia.. rssss
Estou nessa tambem amigo


The_holyman
   - 13 jan 2006

Para todos... olha to muito afim de ajudar no quer for, se eu não souber eu aprendo e para mim a ideia de criar um SO é perfeita, podemos aprender muito e integrar n´s tecnologias, bem... entao quando começamos ...hehhehe :)


Nasguone
   - 13 jan 2006

Muito Boa a Ideia......Até sugiro que realmente os interessados, sejam divididos por grupos e cada grupo fique responsavel por determinado modulo, assim ficaria um trabalho continuo e padrão.....

Alem do mais vai ser bastante interessante trabalhar em algo desta natureza.....Eu to dentro do projeto....


Eixox
   - 13 jan 2006

Amigos, resolvi dar uma olhada mais uma vez nesse tópico e percebi esse trecho:


Citação:
Acho que o sistema nao vai ficar pesado afinal hoje em dia nao e muito dificil achar pessoas com pcs com uma configuraçao acima de 1GHz e 128Mb, e creio que um sistema recem criado nao vai ser usado por leigos


É importante ressaltar que, o Brasil é um dos países que possui o maior parque de máquinas ´sucateadas´ - Eu mesmo tenho em casa um 450 mhz e um 850 mhz. No 450 roda XP e Conectiva 10 e no 850 roda 2003.

Um projeto como esse que está iniciando e já estão colocando limitações ao hardware, tem grandes probabilidades de ir a falência. Não estou querendo agorar o projeto de você, somente dizer que acho que a coisa está errada. O Linux veio justamente com uma proposta contrária. Tenho um servidor de e-mail rodando Linux com 64 mb de RAM e num pentium 233 mhz - e ele funciona muito bem.

Infelizmente falar em sistema operacional em pascal e querer fazer uma corrida de carros com um fusca e uma F1. O sistema se tornará pesado demais e com rotinas se extendendo a quilômetros. Não esqueçam que somente para um drive existem 32 comandos básicos. Como vocês farão isso com pascal? Será um inferno!

Acredito que seria mais produtivo um estudo direcionado aos processos, concorrências, algorítmos envolvidos no processos tipo (primeiro que entra, último que sai ou primeiro que entra primeiro que sai). Exige a necessidade de muita leitura e muito conhecimento de rotinas de baixo nível - além de muito cuidado nos controles de processos.

Nem estou falando de fragmentação e gerenciamento de memória que é uma das partes mais complexas de qualquer sistema operacional.

Eu vejo que seria mais interessante estudar coisas mais pertinentes as nossas realidades do que querendo fazer coisas que levam e consomem muito tempo.

Não me levem a mal, mas acho que vocês poderiam direcionar suas mentes para algo mais produtivo.

Abraços.


Aerreira
   - 13 jan 2006

Concordo com o Eixox, sistema operacional é algo muiiiiiiiiiito complicado, vocês vão dar voltas e mais voltas e andar muito pouco... Veja o tempo de vida que tem o Linux ou Windows, e olha que são milhares de pessoas trabalhando em cima deles... Tudo bem que o objetivo é aprender, mas acho que estarão usando uma ferramenta não tão recomendada para esta tarefa.

Ainda bem que o DPinho falou que era só um sonho a estória de rodar tudo que é programa de qualquer plataforma num único SO, senão acharia que ele está é maluco querendo criar isso... Vocês acompanham o caso do Linspire-Linux, que no início tinha a pretenção de ´rodar qualquer programa windows usando o sistema deles´, acabaram sendo processados pela MS e com o tempo eles cairam na real e mudaram o foco do negócio para ´abrir qualquer tipo de arquivo padrão windows usando o sistema deles´, isso é bem diferente...

Sistema operacional não é coisa pra peixe pequeno não... Mas de qualquer modo... boa sorte galera... Se precisarem de ajuda, contem comigo, apesar de eu não me julgar capaz para isso.


Dpinho
   - 14 jan 2006

Quem não quer participar poderia deixar de tentar colocar dificuldades, vamos começar este projeto logo e aqueles que ver dificuldades não precisa ficar mandando mensagens como estas acimas.
O facil todo mundo faz, o dificil é para o Bom, mas o impossivel é para os melhores.

Outra coisa que diziamos quando começamos na época do DOS, Milagre fazemos em 10 minutos, milagre demora um pouco mais...


Aasn
   - 14 jan 2006

Olá pessoal,

- Conselho é aquilo que os bestas não aceitam e os sábios não precisam.

Vou lhes dar um conselho, cabe a vocês julgar se não aceitam ou não precisam. Comecem por fazer algo que realmente esteja ao alcance de vocês. Trabalhar em grupo é muito bom, é produtivo e estimulante, além de enrriquecer o conhecimento de todos, mas tudo isso quando se vê a ´luz no fim do túnel´, caso contrário a empolgação vai caindo, o interesse vai desaparecendo, e um grupo promissor que poderia render bons frutos vai se desmanchando até desaparecer.
Sugiro que vocês se unam para desenvolver por exemplo um utilitário administrador de banco de dados (como o IBExpert), um jogo com inúmeros recursos gráficos (estilo esses jogos em primeira pessoa) entre outros.
Assim o grupo vai se introsando e fortalecendo os laços.
A partir daí, estarão prontos para alçar voôs maiores.

[]´s
AASN


Programadory
   - 14 jan 2006


Citação:
A vingança do Pascal

Além da discoteca, a década de setenta popularizou uma disciplina chamada “Programação Estruturada”, que ainda está entre nós (menos do que deveria, mas isto é assunto para outro dia). Uma das primeiras linguagens de uso geral a usar estas técnicas era o ALGOL, que serviu de inspiração para o Pascal. No fim dos anos setenta, poucos duvidavam que o Pascal seria a linguagem do futuro. A Intel, por exemplo, projetou a sua CPU 8086 para rodar Pascal; basta ver o perfeito uso dos registradores da CPU feito pelo Turbo Pascal – e a dificuldade em rodar C pela falta de instruções que efetuem aritmética de ponteiros. A Apple criou o software básico (ROM) de seu novo computador Machintosh em Pascal e esta era a linguagem do seu “kit de desenvolvimento de software”

Em paralelo, no início dos anos setenta, pesquisadores do Bell Labs decidiram criar um sistema operacional capaz de ser facilmente portado para diversas arquiteturas, que veio a se chamar Unix. Para isto, eles decidiram escrever a maior parte possível do novo sistema operacional em uma linguagem de alto-nível especialmente criada para a ocasião, que acabou recebendo o nome de “C”. Desta forma, para portar o sistema operacional, bastava portar o compilador. Pela primeira vez - e última – criou-se uma linguagem cujo principal objetivo era facilitar a vida de quem escrevesse o compilador, mesmo que prejudicando os programadores que iriam utilizá-lo! Isso não parecia um grande problema, visto que aquela linguagem esquisita só seria usada pelos próprios desenvolvedores do sis

Então aconteceu uma catástrofe: programadores “comuns” começaram a usar a linguagem C para programas “comuns”. O motivo de tão estranha decisão era que os compiladores “normais” como Pascal ou ALGOL deviam ser comprados, ao passo que toda a instalação de Unix vinha, por definição, com um compilador C. O C passou a ser amplamente utilizado nas universidades americanas – onde a produtividade de alunos de graduação importa bem menos que o custo de aquisição de um compilador. Estes alunos formaram-se e levaram consigo a linguagem C para a recém-criada indústria de software de microcomputadores.

A derrota sofrida pelo Pascal para a linguagem C é algo para ser estudado no por “Antropólogos da Informática” como um dos grandes paradoxos de nosso século. Talvez o Gartner Group no futuro conclua que este erro nos custou algumas dezenas de bilhões de dólares em produtividade perdida.

Uma das (muitas) deficiência da linguagem C se comparado com o Turbo Pascal, o mais popular compilador Pascal dos anos oitenta, é a total ausência de um tipo exclusivo para string. Em C você deve usar array de caracteres e colocar um zero binário no final para marcar o fim da string. Esta implementação incrivelmente porca tem algumas notórias deficiências:

? Você não pode colocar um zero binário dentro da string;

? Pegar o tamanho da string (ou concatená-la) é algo incrivelmente lento pois exige pesquisar pelo zero binário destro da string;

? Não podemos usar os operador “=” e “+” para atribuir ou concatenar strings; somos obrigados a usar funções como strcpy e strcat;

Além destas questões, existe um problema que ninguém dava muita bola: em C você usualmente declara um buffer de tamanho fixo (por exemplo, “char Work[80];”) e usa funções que não verificam se o tamanho do buffer foi estourado ao receber uma string muito longa (strcpy, strcat). Até seria possível usar funções que verificam estouro, mas o código ficaria ainda mais complexo.
A linguagem C++ trouxe algumas novidades na manipulação de strings, através de classes, mas mesmo assim muitos programadores continuaram usando as funções antigas, até por compatibilidade com código em linguagem C já existente.

O resultado é que a maioria dos programas escritos em C/C++ pára de funcionar se receber uma string de um tamanho muito maior que o esperado. Por exemplo, suponha que para armazenar um nome de usuário o programador reservou oitenta caracteres. Se você entrar um nome muito longo o programa pode travar ou funcionar de maneira errática. Este tipo de problema sempre foi conhecido e tolerado, afinal de contas, por que um usuário iria entrar um nome maior que oitenta caracteres? Nos últimos anos no entanto, com a conexão de milhões de computadores na Internet, esta pergunta adquiriu uma resposta sinistra: a entrada de uma grande quantidade de caracteres em uma variável “desprotegida” causa um “estouro de buffer” na pilha da CPU. Como a mesma pilha da CPU contém endereços de retorno, é possível um usuário mal intencionado executar código “injetado” desta forma e tomar o controle do computador! Este é o problema número um por trás dos boletins de segurança a respeito de “invasões de servidor Web” que circularam nos últimos anos. É interessante notar que linguagens como Turbo Pascal ou mesmo Basic não sofrem deste problema!

Felizmente para a Humanidade, a linguagem C/C++ está sendo abandonada na criação de aplicativos e sendo relegada ao desenvolvimento de software básico, de onde nunca deveria ter saído. As duas linguagens mais modernas, Java e C# são “inspiradas” no C, mas não trazem as suas conhecidas patologias, inclusive a manipulação desastrada de strings. A linguagem C tem inclusive a distinção de ter sido inventada por Anders Heijsberg, criador do Turbo Pascal. Podemos até dizer que o “espírito” do Pascal ainda está vivo no C.


Viu ai por que construir um sistema em pascal e melhor, ja evitariamos varios problemas comuns no windows, e tambem e uma questao de justiça o windows e o linux so foi escrito em C por causa da influencia do UNIX o proprio UNIX so nao foi escrito em pascal por que era uma linguagem paga e sairia muito caro um problema que nao temos hoje alem disso existe a INTERNET que serve como fonte de pesquisa e uma questao de vontade ja temos três sistemas operacionais em pascal imcompletos e uma questao de juntar e mostrar que nao e uma misssao impossivel e sim questao de justiça.

Peço aos interessados que me enviem seu MSN para podermos discutir e iniciar o mais de pressa possivel este sistema.

Tambem gostaria de informar aos interessados que existe um site aonde voces podem aprender assembler e como fazer um sistema operacional basico de forma facil.

http://www.numaboa.com.br/informatica/OS/index.php

Vou passar os detalhes mais tecinicos por MSN.

Se alguem for postar duvidas sobre o sistema peço que adote este metodo.

EX: Setor de boot (SOP)
EX: Memoria (SOP)

Assim fica mais facil achar os topicos relacionados ao sistema neste forum.


Programadory
   - 14 jan 2006

tema operacional. Embora pobre pelos padrões atuais, a linguagem C era melhor que o assembler e isso era o que contava.

Programadory
   - 14 jan 2006


Citação:
Amigos, resolvi dar uma olhada mais uma vez nesse tópico e percebi esse trecho:


Citação:
Acho que o sistema nao vai ficar pesado afinal hoje em dia nao e muito dificil achar pessoas com pcs com uma configuraçao acima de 1GHz e 128Mb, e creio que um sistema recem criado nao vai ser usado por leigos


É importante ressaltar que, o Brasil é um dos países que possui o maior parque de máquinas ´sucateadas´ - Eu mesmo tenho em casa um 450 mhz e um 850 mhz. No 450 roda XP e Conectiva 10 e no 850 roda 2003.

Um projeto como esse que está iniciando e já estão colocando limitações ao hardware, tem grandes probabilidades de ir a falência. Não estou querendo agorar o projeto de você, somente dizer que acho que a coisa está errada. O Linux veio justamente com uma proposta contrária. Tenho um servidor de e-mail rodando Linux com 64 mb de RAM e num pentium 233 mhz - e ele funciona muito bem.

Infelizmente falar em sistema operacional em pascal e querer fazer uma corrida de carros com um fusca e uma F1. O sistema se tornará pesado demais e com rotinas se extendendo a quilômetros. Não esqueçam que somente para um drive existem 32 comandos básicos. Como vocês farão isso com pascal? Será um inferno!

Acredito que seria mais produtivo um estudo direcionado aos processos, concorrências, algorítmos envolvidos no processos tipo (primeiro que entra, último que sai ou primeiro que entra primeiro que sai). Exige a necessidade de muita leitura e muito conhecimento de rotinas de baixo nível - além de muito cuidado nos controles de processos.

Nem estou falando de fragmentação e gerenciamento de memória que é uma das partes mais complexas de qualquer sistema operacional.

Eu vejo que seria mais interessante estudar coisas mais pertinentes as nossas realidades do que querendo fazer coisas que levam e consomem muito tempo.

Não me levem a mal, mas acho que vocês poderiam direcionar suas mentes para algo mais produtivo.

Abraços.




Citação:
Você esta falando a verdade quando fala que a frota de pcs no brasil esta sucateada e verdade eu mesmo tenho um 486 em casa, mas tambem e verdade que nao conseguiremos criar um XP de primeira no maximo consiguiremos um Windows 95 que nao exige mais que um pentium 100, o maximo que este sistema ira exigir e um pentium 200 dei o exemplo do computador de 1 GHz por que achei que serviria para mostrar que o sistema nunca chegaria a exigir tal poder em sua primeira versao



Aspirante
   - 15 jan 2006

será que dá tempo pra mim entrar? hhehe.


Programadory
   - 18 jan 2006

Fico feliz em ver o interesse de todos e informo que agora o sistema operacional ja tem site (nao e um endereço nobre) onde esta algumas informaçoes sobre o projeto a linçença e a informaçao de que ele vai ser sim de codigo fonte aberto os interessados olharem no endereço.

http://geocities.yahoo.com.br/proberto2010/M0001