C e assembler  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

mcirqueira wrote:
juliocbq wrote:sozinho você iria levar no mínimo uns 100 anos para fazer isso. A equipe da microsoft no singularity é enorme, e o projeto tá na prancheta desde 2000. Para você ver como essa idéia não é muito viável.


http://research.microsoft.com/apps/pubs/default.aspx?id=52716

http://research.microsoft.com/en-us/projects/singularity/

Só diferenciando o android do singularity - O primeiro é um kernel escrito em linguagem c trocando mensagens com uma máquina virtual. O segundo é um kernel escrito em c#, onde até os módulos também são escritos nessa linguagem.


Esses caras conseguiram em menos de 100 anos fazer o que eu estou querendo fazer:

http://www.jnode.org/
http://pt.wikipedia.org/wiki/JNode

O sistema é todo em java, e o kernel é todo em assembly.


Já pesquisou sobre a equipe por traz do jnode?

http://www.jnode.org/node/48

Com certeza possui mais de uma pessoa que sabe com certeza o que está fazendo.

www.citrox.com.br
matheuslmota
Virtual Machine Man

Membro desde: 09/03/2010 15:14:56
Mensagens: 664
Offline

juliocbq wrote:
mcirqueira wrote:
juliocbq wrote:sozinho você iria levar no mínimo uns 100 anos para fazer isso. A equipe da microsoft no singularity é enorme, e o projeto tá na prancheta desde 2000. Para você ver como essa idéia não é muito viável.


http://research.microsoft.com/apps/pubs/default.aspx?id=52716

http://research.microsoft.com/en-us/projects/singularity/

Só diferenciando o android do singularity - O primeiro é um kernel escrito em linguagem c trocando mensagens com uma máquina virtual. O segundo é um kernel escrito em c#, onde até os módulos também são escritos nessa linguagem.


Esses caras conseguiram em menos de 100 anos fazer o que eu estou querendo fazer:

http://www.jnode.org/
http://pt.wikipedia.org/wiki/JNode

O sistema é todo em java, e o kernel é todo em assembly.


Já pesquisou sobre a equipe por traz do jnode?

http://www.jnode.org/node/48

Com certeza possui mais de uma pessoa que sabe com certeza o que está fazendo.


Estava vendo como é que eles comunicaram o Java com o Kernel, eles têm um compilador nativo que converte bytecodes pra linguagem de máquina. Nem sabia que tal compilador existia.

Toda vez que você alimenta um troll uma foca morre no Polo Norte.
[MSN]
InicianteJavaHenrique
GUJ Ranger
[Avatar]

Membro desde: 16/02/2011 12:20:00
Mensagens: 806
Localização: São Vicente - SP
Offline

Querendo fazer um S.O. Vai usar Assembly Acesse Assembly Brasil por landantas

flw

Jogo de Xadrez com I.A feito em Java 2D. - HFS Softwares


Portal de Jogos - Questionário


"Felizes os Tópicos que estavam aqui neste dia: 07/12/2008, neste horário: 22:11:56 e neste local." - Henrique Ferreira da Silva


"O negócio de software é binário, você é 1 ou 0, vivo ou morto." - Filme Ameaça Virtual


"Existem 10 tipos de pessoas no mundo: as que entendem binário e as que não entendem."


"Compartilhar conhecimentos é uma forma de alcançar a imortalidade." - Dalai Lama


"Aquele que pergunta é um tolo por cinco minutos, mas aquele que não pergunta permanece um tolo para sempre." - Provérbio Chinês


"O topo da inteligência é alcançar a humildade." - Textos Judaicos


"Os computadores são incrivelmente rápidos, precisos e burros; Os homens são incrivelmente lentos, imprecisos e brilhantes; Juntos, seus poderes ultrapassam os limites da imaginação." - Albert Einstein



/**
*
* Programador Java
* @author Henrique Ferreira da Silva
* @since Julho/2010
*
*/
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

matheuslmota wrote:
juliocbq wrote:
mcirqueira wrote:
juliocbq wrote:sozinho você iria levar no mínimo uns 100 anos para fazer isso. A equipe da microsoft no singularity é enorme, e o projeto tá na prancheta desde 2000. Para você ver como essa idéia não é muito viável.


http://research.microsoft.com/apps/pubs/default.aspx?id=52716

http://research.microsoft.com/en-us/projects/singularity/

Só diferenciando o android do singularity - O primeiro é um kernel escrito em linguagem c trocando mensagens com uma máquina virtual. O segundo é um kernel escrito em c#, onde até os módulos também são escritos nessa linguagem.


Esses caras conseguiram em menos de 100 anos fazer o que eu estou querendo fazer:

http://www.jnode.org/
http://pt.wikipedia.org/wiki/JNode

O sistema é todo em java, e o kernel é todo em assembly.


Já pesquisou sobre a equipe por traz do jnode?

http://www.jnode.org/node/48

Com certeza possui mais de uma pessoa que sabe com certeza o que está fazendo.


Estava vendo como é que eles comunicaram o Java com o Kernel, eles têm um compilador nativo que converte bytecodes pra linguagem de máquina. Nem sabia que tal compilador existia.


Existe o gcj do set da gnu que compila bytecode pra assembly.

http://gcc.gnu.org/java/

É muito mais prático pegar um kernel linux pronto e embarcar uma jvm como é mais ou menos o caso do android. Bootar um programa na memória ram é fácil e não tem nada a ver com sistemas operacionais. Para desenvolver um sistema desses precisa ter noção de escalonamento de processos, mapeamento de ram e flash, sistemas de arquivos e uma infinidade de outras coisas que um "sistema operacional" deve fazer.

Acho que é muita tarefa para apenas uma pessoa fazer.

This message was edited 2 times. Last update was at 09/02/2012 14:50:53


www.citrox.com.br
soaresinfo
JavaEvangelist
[Avatar]

Membro desde: 27/07/2003 15:40:13
Mensagens: 373
Localização: Uberlândia/MG
Offline

mcirqueira wrote:
matheuslmota wrote:Cara, basicamente tu tá querendo é implementara uma máquina virtual. Um arquivo .class contém bytecodes e você não pode processá-los diretamente usando assembly. Ou seja, não dá pra invocar diretamente um arquivo compilado em Java usando assembly.
Sua pergunta está respondida?

É basicamente isso, a unica coisa que o kernel vai fazer é o contato com hardware e servir de base para o Java SDK, aí depois o java entra em ação, o kernel vai ser só pra alocar a mémoria e etc.
E corrigindo assembly para assembler, assembly é para microcontroladores e assembler é para computadores pessoais e etc.
Eu só estou e dúvida é como é que eu vou chamar o Java para rodar ( chamar em assembler o programa em c ).


Não sei se entendi bem, mas você quer chamar a máquina virtual java a partir do seu kernel? Se não me engano, você teria que implementar uma máquina virtual pra rodar com o seu kernel, não dá pra pegar o java para linux e querer que seu kernel rode, a não ser que sejam compatíveis. Corrijam-me se estiver errado.

Anuncie aqui!
mcirqueira
JavaChild
[Avatar]

Membro desde: 19/07/2011 15:31:29
Mensagens: 128
Localização: São Luís - Maranhão
Online

luistiagos wrote:boa sorte... e não esqueça de passar seu projeto para seus filhos e dizer a eles passarem para seus netos quem sabe daqui a uns 200 anos seus tataranetos estarão finalizando o mesmo...

A esperança é a utima que morre...
Só não vou pegar o kernel do linux porque é quase um 500 MB, iria ficar pesado demais, acho que vou pegar o fonte do kernel do JNode e aí fica mais fácil e rápido.
Valeu galera!
Se eu terminar antes de 200 anos eu posto pra vocês verem como ficou...

Entrem lá no meu blog:
http://www.marciomeucanto.blogspot.com.br/

"Em terra onde não há carne, urubu é frango."

"Caíste sozinho ou foi o camelo que te arremessou? Tanto faz: o fato é que eu caí."

"Por causa da rosa, a erva daninha acaba sendo regada."

"Um centavo economizado é um centavo ganho."

"Todos os gatos adoram peixe, mas odeiam ficar com as patas molhadas."

"Com a mentira se consegue o almoço, mas não o jantar."

"Alimenta teu cão e ele guardará tua casa; faze jejuar teu gato e ele te comerá os ratos."

Não fazem mais GNU/Linux como antigamente!=)

Você não precisa ser inteligente, basta ter motivação.

"Tudo tem o seu tempo determinado, e há tempo para todo o propósito debaixo do céu", Ec 3,1

"Se quer ser famoso, faça um bom programa de código livre, se quer dinheiro, escreva um pago e não sendo código livre"

http://www.facebook.com/mcirqueira11/

Eu e Deus !!! EnJAVAndo os Neurônios!!!
while (EuViver() == true ){
Estudo();
Trabalho();
LouvarDeus();
}
[Email] [WWW]
mcirqueira
JavaChild
[Avatar]

Membro desde: 19/07/2011 15:31:29
Mensagens: 128
Localização: São Luís - Maranhão
Online

soaresinfo wrote:Não sei se entendi bem, mas você quer chamar a máquina virtual java a partir do seu kernel? Se não me engano, você teria que implementar uma máquina virtual pra rodar com o seu kernel, não dá pra pegar o java para linux e querer que seu kernel rode, a não ser que sejam compatíveis. Corrijam-me se estiver errado.

É que nem o amigo entanglement falou:

Leia o fonte do Java; você vai ver que ele tem uma porção de dependências em relação ao sistema operacional.
O mais fácil no seu caso é pegar a versão do fonte do Java que roda em Linux/Solaris.
O seu sistema operacional, para poder rodar confortavelmente o Java, terá provavelmente de ser uma distribuição do Linux - não um sistema operacional pequeninho em Assembly.
Outra forma é pegar os fontes do Java e começar a remover as dependências em relação ao sistema operacional - o que é bastante difícil, na verdade. Você vai ver quanto trabalho vai dar

Falou!

Entrem lá no meu blog:
http://www.marciomeucanto.blogspot.com.br/

"Em terra onde não há carne, urubu é frango."

"Caíste sozinho ou foi o camelo que te arremessou? Tanto faz: o fato é que eu caí."

"Por causa da rosa, a erva daninha acaba sendo regada."

"Um centavo economizado é um centavo ganho."

"Todos os gatos adoram peixe, mas odeiam ficar com as patas molhadas."

"Com a mentira se consegue o almoço, mas não o jantar."

"Alimenta teu cão e ele guardará tua casa; faze jejuar teu gato e ele te comerá os ratos."

Não fazem mais GNU/Linux como antigamente!=)

Você não precisa ser inteligente, basta ter motivação.

"Tudo tem o seu tempo determinado, e há tempo para todo o propósito debaixo do céu", Ec 3,1

"Se quer ser famoso, faça um bom programa de código livre, se quer dinheiro, escreva um pago e não sendo código livre"

http://www.facebook.com/mcirqueira11/

Eu e Deus !!! EnJAVAndo os Neurônios!!!
while (EuViver() == true ){
Estudo();
Trabalho();
LouvarDeus();
}
[Email] [WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Online

Estou acompanhando o tópico desde o início e sinceramente, acho que você está perdendo seu tempo...
Não se ofenda, mas qual seu objetivo com isso? Só estudo? Quer vender isso? Acho que tem tanta coisa mais importante para se estudar... Se está a fim de ter um desafio, procure algo que precisa ser feito e que seja útil de alguma maneira ou então contribua com algum projeto que já existe. Quando a gente tenta abraçar o mundo, ainda mais sem nenhuma orientação, normalmente acabamos nos frustrando.

Enfim, boa sorte.

[]'s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

mcirqueira wrote:
luistiagos wrote:boa sorte... e não esqueça de passar seu projeto para seus filhos e dizer a eles passarem para seus netos quem sabe daqui a uns 200 anos seus tataranetos estarão finalizando o mesmo...

A esperança é a utima que morre...
Só não vou pegar o kernel do linux porque é quase um 500 MB, iria ficar pesado demais, acho que vou pegar o fonte do kernel do JNode e aí fica mais fácil e rápido.
Valeu galera!
Se eu terminar antes de 200 anos eu posto pra vocês verem como ficou...


De onde você tirou isso? Existem kernels linux que podem rodar em microcontroladores pic e ocupam menos de 50mb.

Esse é apenas um deles. Existem outros. As empresas utilizam linux em produtos embarcados porque possuem várias vantagens. Essa é uma delas.

http://www.minix3.org/

www.citrox.com.br
Longino
JavaGuru

Membro desde: 22/01/2011 10:08:43
Mensagens: 235
Offline

Tem um pessoal aí que além de não saber fazer não quer que os outros façam. Contribuir com o quê? Com framework web tosco? Java só tem tosqueira.

Na pior das hipóteses, mesmo que isso não se torne um produto, você terá experiência em uma área que poucos têm e software que pode ser usado como portfólio no seu curriculum.

This message was edited 1 time. Last update was at 10/02/2012 06:50:41

matheuslmota
Virtual Machine Man

Membro desde: 09/03/2010 15:14:56
Mensagens: 664
Offline

Longino wrote:Tem um pessoal aí que além de não saber fazer não quer que os outros façam. Contribuir com o quê? Com framework web tosco? Java só tem tosqueira.

Na pior das hipóteses, mesmo que isso não se torne um produto, você terá experiência em uma área que poucos têm e software que pode ser usado como portfólio no seu curriculum.


Você tem noção da quantidade de trabalho que o rapaz tá querendo fazer só? Outra coisa, ninguém aqui mandou ele programar um framework java. Existe muita coisa interessantes que ele pode fazer. Por exemplo, estou desenvolvendo um algorítmo de busca de dados em textos. Já fiz uma versão. Mas agora a brincadeira é ver até onde eu consigo otimizar o algorítmo pra ele achar as informações em menos tempo possível. Mesmo um projeto relativamente simples como esse consegue ser algo desafiante.

Toda vez que você alimenta um troll uma foca morre no Polo Norte.
[MSN]
victorcosta
JavaGuru
[Avatar]

Membro desde: 07/01/2007 01:29:37
Mensagens: 220
Localização: Recife - PE
Offline

Liga para as pessoas que estão lhe desencorajando não. Tenta fazer mesmo, vc vai se divertir e aprender um bocado. Pode ser que o negócio tome forma e outras pessoas comecem a se interessar em ajudar também. O Linus quando começou o Linux não reuniu uma equipe do tamanho da Microsoft, ele foi lá e começou o projeto, hoje é o Linux que todo mundo conhece

Eu mesmo comecei a umas semanas atrás projetos "avançados" (IDEs, bancos, linguagens de programação, toolkits gráficos). To nem aí se acreditam que é impossível fazer, que to reinventando a roda. To me divertindo, aprendendo coisas novas e praticando arquitetura de softwares que fogem do padrão de sempre (MVC Web)

This message was edited 1 time. Last update was at 10/02/2012 08:25:45


Meu blog com tutoriais de jQuery
http://www.victorcisneiros.com/blog/

Outros projetos
http://www.todolistr.com
http://www.bibliasocial.com
http://www.dota2feedback.com/
http://www.posjogo.com.br/
[MSN]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

victorcosta wrote:Liga para as pessoas que estão lhe desencorajando não. Tenta fazer mesmo, vc vai se divertir e aprender um bocado. Pode ser que o negócio tome forma e outras pessoas comecem a se interessar em ajudar também. O Linus quando começou o Linux não reuniu uma equipe do tamanho da Microsoft, ele foi lá e começou o projeto, hoje é o Linux que todo mundo conhece

Eu mesmo comecei a umas semanas atrás projetos "avançados" (IDEs, bancos, linguagens de programação, toolkits gráficos). To nem aí se acreditam que é impossível fazer, que to reinventando a roda. To me divertindo, aprendendo coisas novas e praticando arquitetura de softwares que fogem do padrão de sempre (MVC Web)


Vocês não tem noção do que estão falando. Primeiro que o Linus usou um kernel unix como modelo totalmente funcional, e contou com uma equipe grande de voluntários da usenet.

http://pt.wikipedia.org/wiki/Linux_(núcleo)

Comecem a desenvolver um software em assembly para microcontroladores simples como o 8051 e vão ver o parto que é ter que mapear toda a memória ram que se vai usar.
Além de só mapear 8 bits em área de memória na ram, para fazer cálulos com números maiores de 8 bits você precisa se desdobrar para fazer todo o mesmo cálculo nessa única área.

É tarefa árdua e não trivial como citaram mais acima.

Em um sistema operacional algoritmos complexos gerenciam processos para mantê-los organizados. Criar um sistema de arquivos para esses novos hds também é muito trabalho, e há dezenas de outros pontos de mesma ou maior complexidade.


Criar um bootloader não é complicado, e com ele você pode jogar um programa escrito em c ou outro compilador compatível com o processador que você tenha disponível. Agora desenvolver um "SO" é um trabalho completamente diferente do que alguns estão pensando.


não é questão de querer desanimar alguém, mas imagino que se possa aproveitar o tempo aprendendo os algoritmos usados nesse tipo de sistema do que tentar colocar uma máquina java em um kernel sem saber como tudo funciona primeiramente.

O artigo acima já é um bom ponto de partida.

This message was edited 2 times. Last update was at 10/02/2012 12:15:26


www.citrox.com.br
immortalSoul
JavaGuru

Membro desde: 25/06/2006 13:41:50
Mensagens: 200
Offline

o trabalho necessario pra fazer um kernel, seja lá como voce queira, é o de menos. Tenho toda certeza com bastante esforço voce consegue montar teu próprio kernel.
mas aparentemente voce ainda não tem o skill para começar um projeto que envolva a criação do kernel de um SO.
Voce nem mesmo soube explicar exatamente o quer...
"assembly invocar programa em C (o java)" Isso pra mim não é uma frase com um sentido muito claro... pra falar a verdade ela não tem sentido nenhum.

basico sobre organização computadores (se não me engano era esse nome que davam na faculdade):
voce irá trabalhar com assembler para trabalhar diretamente com seus registradores e outras funcionalidades de mais baixo nível, mas Nunca para fazer chamada de uma API em JAVA ou biblioteca em C.
Alexandro.Almeida
JavaBaby
[Avatar]

Membro desde: 25/07/2008 09:00:19
Mensagens: 98
Localização: Itu
Offline

luistiagos wrote:boa sorte... e não esqueça de passar seu projeto para seus filhos e dizer a eles passarem para seus netos quem sabe daqui a uns 200 anos seus tataranetos estarão finalizando o mesmo...


Fico imaginando quantas vezes o Linus Torvalds ouviu isso no começo dos anos 90.


--
Alexandro D. Almeida

Meu antigo perfl perdido http://www.guj.com.br/user/profile/15752.java
[MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team