--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
O problema é que o Python é linguagem interpretada, logo precisa de um interpretador. Um sistema operacional precisa ser em linguagem compilada, já que é necessário ter instruções em Assembly que serão executados pelo processador. <piada> A não ser que tu crie um processador que entenda Python </piada>.
Uma alternativa em alguns casos que não seja assembler é fazer em lua (256k compactada com libs e etc) é embutir em C ou fazer em C e criar alguns procedimentos em lua, mas como aqui é lista de Python, então como falaram, Python serve para muita coisa de alto nível (web, interface gráfica, scripts de rede e de softwares, terminais e etc), para baixo nível vai de C e assembler, e se quiser subir o nível e integrar com C mais facilmente com uma api que com as libs chega a 740K+- vai da linguagem tupiniquim Lua ;-)
Daniel Melo (d4n1)
"Python não é capaz de produzir um sistema operacional ou com o conhecimento que nós temos não conseguimos conceber tal coisa?"
Um Python escrito em Assembly seria de uma performance muito grande acredito, mas para codificar o interpretador talvez se torne um pouco complexo, mas a ideia é boa :P
Um sistema operacional 100% Python só seria possível se o processador já tivesse um interpretador Python embutido.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Não é bem assim: nada impede que um interpretador Python gere o código
de máquina necessário. De fato, isso já existe: o PyPy tem um JIT
(compilador just-in-time) que gera linguagem de máquina em tempo de
execução.
É como o Jonathan falou: qualquer linguagem de programação "Turing
completa" pode fazer qualquer coisa que outra linguagem de programação
"Turing completa" pode fazer. Claro que haverão diferenças de
desempenho e dificuldade.
Antes que alguém fale: mas como você faz o interpretador Python
começar a funcionar no hardware de uma nova plataforma para poder
gerar o código de máquina? A resposta é: da mesma forma que se faz com
C. Para começar o desenvolvimento você usa uma plataforma conhecida
onde tem as ferramentas necessárias e a partir dessa plataforma gera o
código mínimo necessário para rodar na nova plataforma. Um dia você
consegue portar o suficiente para poder rodar tudo na nova plataforma.
Queria aproveitar o que o Ramalho falou, houve uma discussão aqui sobre compilar o código C gerado pelo fonte python e usar isso como otimização.Seria válido fazer isso ? o ganho pode ser grande ? acho que a conversa ficou que com as máquinas de hoje a diferença é muito pequena entre usar a VM do python e o binário nativo
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Hoje em dia, que não temos uma estrutura de máquina que interprete Python, acredito que seja plenamente possível desenvolver camadas externas ao kernel (camada de aplicação) com Python (seja um shell, uma interface gráfica ou até um gerenciador de desktop).Concordam?
Um ponto básico que eu queria ressaltar: um compilador e um assembler são apenas programas que lêem código fonte na linguagem x e geram código de maquina, e este programa (o compilador ou o assembler) pode ser escrito em qualquer linguagem, nem precisa ser uma linguagem particularmente eficiente. Portanto sim, tudo isso pode ser feito em Python.
--
2012/12/19 Lucas Klassmann <lucaskl...@gmail.com>
Um Python escrito em Assembly seria de uma performance muito grande acredito, mas para codificar o interpretador talvez se torne um pouco complexo, mas a ideia é boa :P
Não, um interpretador escrito em assembly fazendo a mesma coisa que o cpython faz seria só marginalmente mais rápido e a linguagem python é ultra complexa para desenvolver ela toda em assembly seria um mega trabalho e não ajuda em nada para fazer um sistema operacional.
--
Leonardo Santagada
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Em uma conversa de boteco com alguns amigos, entramos exatamente nesse assunto e a conversa quase virou a noite. :-)Posso fazer uma comparação meio grosseira ao GNU/Linux. Linux = Kernel, desenvolvido em C, Assembly e outras linguagens e o GNU que é um conjunto de utilitários, que faz o sistema operacional ser mais amigável, provendo comandos como ls, cd, ps, entre dezenas de outros, em sua maioria, desenvolvidos em C.O Python poderia substituir essa camada GNU, provendo esses utilitários. O Unununium (que já foi citado aqui) segue esses princípios.Ou seja, se houver um kernel como Linux, BSD, Hurd [ou_o_seu_favorito_aqui], a camada intermediária de utilitários unix-like poderia ser em Python.Um sistema operacional 100% Python só seria possível se o processador já tivesse um interpretador Python embutido.Bom, essa é apenas minha viagem filosófica acerca do tema! :-)[]s
Um Python escrito em Assembly seria de uma performance muito grande acredito, mas para codificar o interpretador talvez se torne um pouco complexo, mas a ideia é boa :P
Como comentei, talvez escrever uma Kernel que interprete Python, e como você disse, em Assembly, talvez fosse a resposta para a Caroline.
Bem, Python com certeza quando foi pensada, não tinha esse foco de desenvolver um SO. Isso não é ser mente fechada, mas apenas ser pragmático.
Agora, que C se beneficiaria de algumas características do Python (simplicidade de codar, por exemplo), é algo indiscutível. O ideal seria que um código Python fosse compilado em um Assembly semelhante ao gerado por um código C bem escrito e otimizado.
Em 19 de dezembro de 2012 19:52, Lucas Klassmann <lucaskl...@gmail.com> escreveu:
Eduardo Tenorio,
Eu concordo que o mais eficiente em hardware seja C, ou melhor, Assembly. Mas não devemos descartar as possibilidade e nem deixar de discutir, esse pergunta que a Caroline fez não foge das dúvidas que vários programadores iniciantes tem sobre SOs.
Já vi histórias de pessoas implementando um SO em Java, em .NET, temos até mesmo implementações do Kernel do Linux escritos em Javascript, e tudo isso no final das contas é para explorar além dos nossos limites e talvez encontrar soluções não antes pensadas.
O importante é criar, pensar além dos limites impostos.
E só porque todo mundo sabe da eficiência de C não vamos mais pensar em explorar outras possibilidades?
Vai que construir um SO em Python permita fazer módulos e sistemas gerenciados com uma maior simplicidade ou até mesmo uma manutenção mais fácil?
Att.
Querer fazer um SO em Python é um direcionamento totalmente errado.
Quer fazer algo que fale diretamente com o hardware? Use C.
É aquela velha frase: "Quando só se tem um martelo, tudo se parece com um prego.".
Em 19 de dezembro de 2012 18:03, Marcos Barbosa <marcoseste...@gmail.com> escreveu:
Pode escrever o bootloader para carregar um SO em Python, mas ele vai ter que carregar o interpretador para isso. E se não me engano o interpretador Python não é escrito em Python. E não adianta só chamar Assembly. Vai ter que ter o interpretador de qualquer maneira. É uma pilha: Hardware > kernel > interpretador > python. Não tem como mudar isso (pelo menos de forma fácil) para que o interpretador rode direto no hardware. Repetindo: Linguagens interpretadas não são boas de se fazer SO justamente por causa do interpretador.
Em 19 de dezembro de 2012 18:39, Leonardo Santagada <sant...@gmail.com> escreveu:
Não é c ou assembly é assembly e talvez C. Só com C não dá para fazer um sistema operacional completo também :)O kernel do linux por exemplo precisa de 250k linhas de assemblye provavelmente muitas outras de assembly inline no c.
Alguém me corrija se eu estiver errado, mas em teoria, se você escrever um bootloader em que carregue seus binários escritos em Python (creio que o PyPy é capaz de resolver isso, não?) com binds de C/C++ para tratar de situações mais específicas, seria possível criar um SO usando Python (não Python puro, já que você *precisaria* da ajuda de C ou Assembly para o bootloader e comunicação com o hardware).
Em 19 de dezembro de 2012 17:32, Marcos Barbosa <marcoseste...@gmail.com> escreveu:
O problema é que o Python é linguagem interpretada, logo precisa de um interpretador. Um sistema operacional precisa ser em linguagem compilada, já que é necessário ter instruções em Assembly que serão executados pelo processador. <piada> A não ser que tu crie um processador que entenda Python </piada>.
Em 19 de dezembro de 2012 17:13, Jonathan Reboucas <www.p...@gmail.com> escreveu:
Olá Caroline.Já ouvi boatos sobre projetos de sistemas operacionais em python. Salvo engano, uma linguagem que pode desenvolver uma máquina de Turing é capaz de fazer qualquer coisa que outras linguagens como C fazem. E python é capaz! Ouvi falar de um projeto chamdo UNUNUNIUM que era totalmente open source, "óbvio" e estava carente de "helpers". Ouvi rumores que esse projeto foi abandonado, mas não cheguei a conferir. Mas, onde há fumaça há fogo. Se existe a idéia devem haver resultados.
espero ter ajudado.
Em quarta-feira, 19 de dezembro de 2012 16h13min27s UTC-2, Caroline Amado escreveu:
Então pessoal estou estudando sobre sistemas operacionais e me fiz a pergunta existe algum sistema operacional feito em python?
Segunda pergunta, sendo uma linguagem de alto nível é tranquilo programar/organizar os modos de permissão (usuário, kernel, ou mais)? Como funciona isso?Quem puder da uma luz, agradeço desde já!Obrigada pela atenção!--Caroline Amado @x66girl
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
Marcos Barbosa <marcoseste...@gmail.com>
--
Leonardo Santagada
--
Marcos Barbosa <marcoseste...@gmail.com>
--
Christiano Anderson
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
Marcos Barbosa <marcoseste...@gmail.com>
--
Leonardo Santagada
--
Marcos Barbosa <marcoseste...@gmail.com>
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
Lucas Klassmann | Desenvolvedor de Software
Desenvolvimento de aplicativos web, desktop e mobile
Email: <lucaskl...@gmail.com>
Web Site: http://www.lucasklassmann.com
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Em uma conversa de boteco com alguns amigos, entramos exatamente nesse assunto e a conversa quase virou a noite. :-)Posso fazer uma comparação meio grosseira ao GNU/Linux. Linux = Kernel, desenvolvido em C, Assembly e outras linguagens e o GNU que é um conjunto de utilitários, que faz o sistema operacional ser mais amigável, provendo comandos como ls, cd, ps, entre dezenas de outros, em sua maioria, desenvolvidos em C.O Python poderia substituir essa camada GNU, provendo esses utilitários. O Unununium (que já foi citado aqui) segue esses princípios.Ou seja, se houver um kernel como Linux, BSD, Hurd [ou_o_seu_favorito_aqui], a camada intermediária de utilitários unix-like poderia ser em Python.Um sistema operacional 100% Python só seria possível se o processador já tivesse um interpretador Python embutido.Bom, essa é apenas minha viagem filosófica acerca do tema! :-)[]s
Um Python escrito em Assembly seria de uma performance muito grande acredito, mas para codificar o interpretador talvez se torne um pouco complexo, mas a ideia é boa :P
Como comentei, talvez escrever uma Kernel que interprete Python, e como você disse, em Assembly, talvez fosse a resposta para a Caroline.
Bem, Python com certeza quando foi pensada, não tinha esse foco de desenvolver um SO. Isso não é ser mente fechada, mas apenas ser pragmático.
Agora, que C se beneficiaria de algumas características do Python (simplicidade de codar, por exemplo), é algo indiscutível. O ideal seria que um código Python fosse compilado em um Assembly semelhante ao gerado por um código C bem escrito e otimizado.
--
Christiano Anderson
Creio que "use C" não seja uma resposta adequada. Se falarmos em termos profissionais o ideal é aquilo que soluciona o problema e pronto. Mas em termos de ciências acredito ser errado descartar tal possibilidade impondo limitações que talvez só existam por que não sabemos executar tal procedimento.Na ciência o aspecto investigativo está acima do pragmatismo. Após várias discussões surge uma nova pergunta: "Python não é capaz de produzir um sistema operacional ou com o conhecimento que nós temos não conseguimos conceber tal coisa?"Acredito essa ser a atitude mais humilde a se adotar.Agora é um ótimo momento para a frase de Twain/Cocteau: "Não sabendo que era impossível, foi lá e fez."
existe o cython, que eh um subset da linguagem que gera arquivos compilados
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Atualmente muitos S.O.'s tem incorporado várias linguagens, mas geralmente o kernel é feito em C/assembler (vide kernel Linux, freeBSD e outros) agora o shell (falo do console e interface gráfica) é usado muitas outras linguagen como o eterno Perl, shellscript e outros. O freeBSD por exemplo vem incorporando a linguagem brasileira Lua (libbsd.lua, instalador padrão com lua e interface ncurses), inclusive um dos desenvolvedores está com projetos para substituir alguns scripts shellscript para Lua.
Em resumo, usurflua das vantagens de cada linguagem, para cada situação há uma ou milhares de soluções que você pode usar linguagem x ou y. Python dá para usar em quase tudo basta ser bem arquitetado e um ótimo projeto, testes e mais testes e junção com outras linguagens. Lua tem uma lib bem interesante que é o tolua e tolua++, que transforma codigo Lua em C ou C++, creio que tenha projetos semelhantes para Python também.
Daniel Melo (d4n1)
Sobre nenhum sistema ser feito completamente em uma única linguagem, esbarrei com esse projeto aqui: http://www.menuetos.net/Um S.O. feito todo em Assembly puro. O legal é que ele tem interface gráfica com suporte a altas resoluções ("up to 1920x1080, 16 million colours" segundo o site) e o Minix até hoje não tem.
--
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Então pessoal estou estudando sobre sistemas operacionais e me fiz a pergunta existe algum sistema operacional feito em python?Segunda pergunta, sendo uma linguagem de alto nível é tranquilo programar/organizar os modos de permissão (usuário, kernel, ou mais)? Como funciona isso?Quem puder da uma luz, agradeço desde já!
Obrigada pela atenção!--Caroline Amado @x66girl
--
Se considerarmos as arquiteturas x86, amd64, seria possível implementar um SO em python, mas não 100%, pois precisaríamos de um interpretador, mesmo que básico, e só conseguiríamos fazer isso do Kernel para cima, logo o mínimo seria:
'falar é facil, mostre-me o codigo fonte'
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
PyMite is a flyweight Python interpreter written from scratch to execute on 8-bit and larger microcontrollers with resources as limited as 64 KiB of program memory (flash) and 4 KiB of RAM. PyMite supports a subset of the Python 2.5 syntax and can execute a subset of the Python 2.5 bytecodes. PyMite can also be compiled, tested and executed on a desktop computer.
Considering PyMite is designed to run on embedded 8-bit architectures, one should not expect PyMite to do everything Python can do. However, its capability may surprise you. Since PyMite is written from scratch, it has a few features that set it apart: stackless from the start and fast, easy, native C function support.
--
De fato, não existe razão técnica que impossibilite a construção de uminterpretador no espaço do kernel. Há projetos que fazem algo assim
(exemplo: http://www.abstractnonsense.com/schemix/).
A idéia de desenvolver sistemas operacionais em linguagens de nível mais
alto que assembly ou C não é nova. Já houve máquinas com sistemas
operacionais em Smalltalk e Lisp, por exemplo
Lisp Machines (http://en.wikipedia.org/wiki/Lisp_machine) foram
comercializadas a partir do início da década de 80. O sistema
operacional ( http://en.wikipedia.org/wiki/Genera_(operating_system) ) e
aplicativos eram escritos em Lisp.
A história do movimento de software livre tem uma ligação estreita com
as Lisp Machines. Richard Stallman fazia parte do grupo de pessoas que
desenvolviam sistemas para essas máquinas. Não é à toa que um dos
principais softwares do projeto GNU é feito em Lisp (Emacs) e que a
linguagem de extensão "oficial" dos aplicativos GNU é um dialeto de Lisp
(Scheme).
A título de curiosidade, o primeiro domínio comercial (.com) da Internet
pertencia a Symbolics, uma empresa fabricante de Lisp Machines.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
Então pessoal estou estudando sobre sistemas operacionais e me fiz a pergunta existe algum sistema operacional feito em python?Segunda pergunta, sendo uma linguagem de alto nível é tranquilo programar/organizar os modos de permissão (usuário, kernel, ou mais)? Como funciona isso?Quem puder da uma luz, agradeço desde já!--
Obrigada pela atenção!--Caroline Amado @x66girl
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Nilo,Se o Schemix interpreta Python e roda como módulo do kernel (estou no achismo. não conheço esse Schemix), teoricamente é possível substituir os binários em formato ELF por byte code Python ou até mesmo arquivos .py. Isso permitiria ter um SO mais Python, mas não Python completo por que não seria reescrito o kernel em Python.
Sim, pode, mas vai precisar de modificações para rodar como módulo (dependências externas, glibc, etc).Como módulo, alguns conceitos teriam que ser revistos. Eu não vejo muita aplicação do Python como módulo Linux.Um dos efeitos não desejáveis é que os scripts rodados pelo interpretador acabariam rodando com as permissões do kernel (salvo se modificado)... fora problemas de quantos scripts poderiam ser rodados ao mesmo tempo: um por módulo? o módulo controlaria várias instâncias do interpretador, etc.
Se o que você fala é rodar o interpretador no Ring 0, sim, também é possível, mas com modificações como as que já discutimos.Um site bacana que também possui um forum é o http://wiki.osdev.org/Main_Page[]
2012/12/23 Nilo Menezes <pytho...@gmail.com>Sim, pode, mas vai precisar de modificações para rodar como módulo (dependências externas, glibc, etc).Como módulo, alguns conceitos teriam que ser revistos. Eu não vejo muita aplicação do Python como módulo Linux.Um dos efeitos não desejáveis é que os scripts rodados pelo interpretador acabariam rodando com as permissões do kernel (salvo se modificado)... fora problemas de quantos scripts poderiam ser rodados ao mesmo tempo: um por módulo? o módulo controlaria várias instâncias do interpretador, etc.Se tu esta fazendo um SO em Python ele obviamente precisa rodar com permissão do kernel e no Ring 0 então continuo não entendendo porque isso é uma ressalva, é exatamente o que se quer, fazer um kernel em Python (bom o so inteiro, o kernel é só uma parte muito legal de tudo).
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
Olha eu achei esse post Innovation Pure Python OS! no blog da Linux Foundation falando sobre um SO escrito em Python...
Ei, se ainda tiver alguém lendo isso, pois já se passaram 4 anos e meio depois do post anterior, eu tenho a mesma pergunta, mas como que um processador executata um código em assembly? é algum programa? se for isso tem como 'mudar' esse programa para ler um programa em python? Desculpe se a minha pergunta foi inconveniente mas eu não nendo muito do assunto.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/775fa14f-efb6-4d8b-9d67-9611232b4a7e%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Ei, se ainda tiver alguém lendo isso, pois já se passaram 4 anos e meio depois do post anterior, eu tenho a mesma pergunta, mas como que um processador executata um código em assembly? é algum programa? se for isso tem como 'mudar' esse programa para ler um programa em python? Desculpe se a minha pergunta foi inconveniente mas eu não nendo muito do assunto.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/775fa14f-efb6-4d8b-9d67-9611232b4a7e%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.--
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/CAPUxeLSXNieR%3DPif%3D00Gf14buQ3z-71Mfs3aZq5RrS6Vce3CLQ%40mail.gmail.com.
Andre Emidio
+ 55 (12) 9 8862-4725
+ 55 (12) 9 8161-0611
Esta mensagem, incluindo seus anexos, tem caráter confidencial e seu conteúdo é restrito ao destinatário da mensagem. Caso você a tenha recebido por engano, queira, por favor, retorná-la ao destinatário e apagá-la de seus arquivos. Qualquer uso não autorizado, replicação ou disseminação desta mensagem ou parte dela é expressamente proibido.
"Quando tudo parece estar indo contra você, lembre-se de que o avião decola contra o vento, não a favor dele." Henry Ford
Excelente explicação, muito obrigado por dedicar seu tempo a escrevendo!
Em dom, 24 de jun de 2018 às 17:46, Juan Lopes <juanp...@gmail.com> escreveu:
Em quatro anos e meio dava pra ter feito uma faculdade de computação, respondido essa e outras questões interessantes.Estou brincando, claro :DO processador não executa código em assembly. Ele executa código de máquina, que são basicamente bytes em sequência na memória. Por exemplo, a instrução, em assembly "MOV AX, 42" é representada na memória como os bytes 66 B8 2A. Para isso serve o assembler, para transformar o código em assembly em linguagem de máquina. De fato, muitos compiladores fazem exatamente isso: transformam código em alto nível para código de máquina.O processador, internamente, tem um registrador que aponta para a posição na memória da próxima instrução, esse registrador é historicamente conhecido como PC (Program Counter). O processador carrega a instrução (que lembre-se, são só números) da memória para um registrador conhecido como IR (Instruction Register), e decide o que fazer. O sistema operacional é (para os fins que estamos discutindo) um programa como qualquer outro. A diferença é que ele executa antes de todos os outros e passa a controlar a execução dos programas do usuário.O código Python, ao ser executado, possui uma camada a mais de abstração. Acontece assim pois Python é uma linguagem de máquina virtual, tal qual Java, Ruby, C# e muitas outras linguagens modernas. Isso significa que o código Python não é compilado para código de máquina x86, e sim para uma máquina hipotética de alto nível que o Guido inventou. Nessa máquina, não existem registradores, e sim uma pilha e as instruções são de nível bem mais alto. Essa máquina conhece, por exemplo, o conceito de funções e variáveis (inexistentes em assembly). A máquina virtual Python então interpreta todo código nessa linguagem em instruções de máquina enquanto o programa está executando. Isso significa que o que está executando de verdade em um programa Python é a máquina virtual. O seu programa é apenas uma entrada dessa máquina.Sobre a pergunta de sistemas operacionais, o problema é que o Kernel de um SO exige a escrita de certas rotinas de muito baixo nível, que conversem com o hardware. Rotinas que lidem com o sistema de memória virtual do processador, que controlem o I/O de dispositivos periféricos, que gerenciem até os detalhes mais banais, como a ordem ou em que cilindro de um HDD segmentos de um arquivo serão escritos (para otimizar a velocidade de leitura). Todos esses detalhes são largamente abstraídos em uma linguagem de nível tão alto como Python.On Sun, Jun 24, 2018 at 3:45 PM Vitor Daniel <vitor03...@gmail.com> wrote:
Ei, se ainda tiver alguém lendo isso, pois já se passaram 4 anos e meio depois do post anterior, eu tenho a mesma pergunta, mas como que um processador executata um código em assembly? é algum programa? se for isso tem como 'mudar' esse programa para ler um programa em python? Desculpe se a minha pergunta foi inconveniente mas eu não nendo muito do assunto.--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/775fa14f-efb6-4d8b-9d67-9611232b4a7e%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/CAPUxeLSXNieR%3DPif%3D00Gf14buQ3z-71Mfs3aZq5RrS6Vce3CLQ%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/CANWO8d0dvV1PnRUP%2BqOr27dbczntqE8QQsNCbDP3rTxhhVqRJQ%40mail.gmail.com.
Nossa, eu não esperava que a resposta seria tão rápida, alias não são 4 anos e meio e sim 5 anos e meio (porque o post anterior ao meu foi postado no inicio de 2013, e já estamos na metade de 2018). Mas voltando ao assunto, não seria assim que ligar o computador iniciar um compilador de python e depois executar o sistema operacional? Mais uma vez digo que não entendo muito disso e só tenho 13 anos, mas eu aprendi a programar em python com 11 anos e nesses 2 anos já aprendi muita coisa e já quero criar coisas grandes, como uma linguagem de programação ou um SO.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/0f267ae4-8a69-43a6-88c8-cba43f4935a6%40googlegroups.com.
Ei, se ainda tiver alguém lendo isso, pois já se passaram 4 anos e meio depois do post anterior, eu tenho a mesma pergunta, mas como que um processador executata um código em assembly? é algum programa? se for isso tem como 'mudar' esse programa para ler um programa em python? Desculpe se a minha pergunta foi inconveniente mas eu não nendo muito do assunto.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/775fa14f-efb6-4d8b-9d67-9611232b4a7e%40googlegroups.com.