Linux @ 64bits

Utilizas a arquitectura de 64-bit (aka x86-64)?


  • Total voters
    214
madskaddie, podes-me clarificar esses exemplos de programação???

Estás basicamente a dizer que tem de se dizer explicitamente se a variável é ou não de 32bits? Ou tenta-se é garantir a coerência entre 32 e 64b por forma a que funcione em qq uma?? De qualquer das formas não percebi muito bem os exemplos.
 
? lol ?
Estás a ser irónico certo?

Acham mesmo que em 2038 vai existir informática tal como nós a conhecemos hoje em dia?
SO's de 32 bits e arquitectura x86 daqui a 30 anos? ahaha... deve ser verdade deve :P

Bom... ainda bem que dizes isso porque as actuais arquitecturas RISC têm dado provas de valor... ah claro, para não mudar tudo e haver compatibilidade para trás mantem-se o x86 que dá chatices, é em geral mais lenta, pior... mas tem compatibilidade para trás! De tal forma que os ex-sortudos mac boys tiveram a sorte (ou azar) de andar de cavalo para burro (***** para intel). Por isso: pelo tempo passar não quer dizer que as coisas melhorem necessáriamente. Agora claro que não será igual, mas o problema de base mantem-se! Só lá vai com força bruta. A evolução diz que a força bruta de antigamente é uma formiga actual.... mas só lá vai com mais bits! Period.

madskaddie, podes-me clarificar esses exemplos de programação???

Estás basicamente a dizer que tem de se dizer explicitamente se a variável é ou não de 32bits? Ou tenta-se é garantir a coerência entre 32 e 64b por forma a que funcione em qq uma?? De qualquer das formas não percebi muito bem os exemplos.


É complicado mas a segunda solução que apresentaste é a mais parecida com "bons" costumes.

OK, vamos lá tentar explicar as coisas... o C não explicita quanta memória ocupa um inteiro, por exemplo:
sizeof(int) = 32 (x86); sizeof(int)=64 (amd64);
Não sei se sabes mas para todos os efeitos, um ponteiro é um valor inteiro positivo. acontece que com um bus de 32bit consegues endereçar 32bit de memória; com 64... 64. Há quem por facilitismo, faça a atribuição de um ponteiro a variáveis que foram declaradas como inteiros. E é garantido que em x86 funciona. Mas não noutras arquitecturas. Há variáveis para todos os gostos (que são typedefs, macros, etc para tipos básicos) e se uma função retorna um tipo (exemplo size_t) utiliza esse tipo de variável porque apesar de ser igual na arquitectura ABC a um tipo básico, na XYZ pode já ser diferente.

Aquilo que aqui está dito para o kernel é (em parte) aplicável em terras do utilizador (userland); Agora não uses as "internal data types",sff (a não ser que estejas a meter as mãos na massa). Usa sempre o man para saberes com que tipo de váriável é que estás a lidar, por chato que seja.
 
Sim, o Firefox é compilado para x86_64. O flash só existe para x86.

Temho ubuntu 64 bits e não tenho problemas, nem com o flash :wink:

Sim eu não consigo instalar o flash, só o gnash. mas o que é estranho é que quando tinha instalado o 32bit acontecia o mesmo!!! não percebo!!!


btw! quanto ao bug.. olhem.. falem ja com os vossos filhos sobre isto:
Year 10,000 problem

Em relação ao ano 10000 estou bastante preocupado com o impacto que isso possa ter, ontem nem dormi à noite só de pensar nisso!!!
 
Obrigado madskaddie, é mais ou menos a ideia de quanto programo para PICs ou FPGAs, se sei exactamente o tamanho em bits que preciso especifico-o e não faço esses abusos de guardar apontadores em inteiros ;)
 
Bom... ainda bem que dizes isso porque as actuais arquitecturas RISC têm dado provas de valor... ah claro, para não mudar tudo e haver compatibilidade para trás mantem-se o x86 que dá chatices, é em geral mais lenta, pior... mas tem compatibilidade para trás! De tal forma que os ex-sortudos mac boys tiveram a sorte (ou azar) de andar de cavalo para burro (***** para intel). Por isso: pelo tempo passar não quer dizer que as coisas melhorem necessáriamente. Agora claro que não será igual, mas o problema de base mantem-se! Só lá vai com força bruta. A evolução diz que a força bruta de antigamente é uma formiga actual.... mas só lá vai com mais bits! Period.




É complicado mas a segunda solução que apresentaste é a mais parecida com "bons" costumes.

OK, vamos lá tentar explicar as coisas... o C não explicita quanta memória ocupa um inteiro, por exemplo:
sizeof(int) = 32 (x86); sizeof(int)=64 (amd64);
Não sei se sabes mas para todos os efeitos, um ponteiro é um valor inteiro positivo. acontece que com um bus de 32bit consegues endereçar 32bit de memória; com 64... 64. Há quem por facilitismo, faça a atribuição de um ponteiro a variáveis que foram declaradas como inteiros. E é garantido que em x86 funciona. Mas não noutras arquitecturas. Há variáveis para todos os gostos (que são typedefs, macros, etc para tipos básicos) e se uma função retorna um tipo (exemplo size_t) utiliza esse tipo de variável porque apesar de ser igual na arquitectura ABC a um tipo básico, na XYZ pode já ser diferente.

Aquilo que aqui está dito para o kernel é (em parte) aplicável em terras do utilizador (userland); Agora não uses as "internal data types",sff (a não ser que estejas a meter as mãos na massa). Usa sempre o man para saberes com que tipo de váriável é que estás a lidar, por chato que seja.

Isso é falso, um int tem sempre 32 bits quer seja num sistema 32 bits ou 64 bits.

As diferenças são:

Código:
32 bits:

int - 32 bits
long int - 32 bits
long long int - 64 bits

64 bits:

int - 32 bits
long int - 64 bits
long long int - 64 bits

----------------------------------------------------------------

Quanto ao manter o X86 por questões de compatibilidade acho estúpido porque basta sair uma nova versão do sistema operativo que lá vai a compatibilidade dos programas para o galheiro.

Na verdade quem é que quer usar programas com mais de 10 anos por exemplo? Claro que existem excepções mas a generalidade das pessoas querem a última versão dos programas.
 
[knap];2360625 disse:
Quanto ao manter o X86 por questões de compatibilidade acho estúpido porque basta sair uma nova versão do sistema operativo que lá vai a compatibilidade dos programas para o galheiro.

Na verdade quem é que quer usar programas com mais de 10 anos por exemplo? Claro que existem excepções mas a generalidade das pessoas querem a última versão dos programas.

Isso não é bem assim...
Fazer mudanças no nucleo da arquitectura, revolucionar tudo, implicava que todas as aplicações, SO's e uma boa parte do hardware feitas até ao momento deixassem simplesmente de funcionar na nova arquitectura. Era como começar do zero novamente. E isto obviamente que é impraticavel no mundo da informática.

A realidade é a que já foi dita, é possivel construir de raiz arquitecturas muito melhores que o x86, mas simplesmente não é viavel! Todas as alterações que são feitas têm que ser feitas de modo a que aquilo que existe até ao momento fique compativel na mesma.
 
Se tens um computador x86_64 então instala um sistema de 64 bits.

Não tens perdas de performance (apesar de haver alguns estudos marados que dizem que se perde performance, eu não notei isso) e em caso de processamento pesado, ganhas mesmo.
 
[knap];2360625 disse:
Isso é falso, um int tem sempre 32 bits quer seja num sistema 32 bits ou 64 bits.


Não, em C o tipo int é dependente da arquitectura. Existem muitos sites e livros sobre isto!

http://www.unix.org/version2/whatsnew/lp64_wp.html
http://www.cplusplus.com/doc/tutorial/variables.html

[knap];2360625 disse:
Quanto ao manter o X86 por questões de compatibilidade acho estúpido porque basta sair uma nova versão do sistema operativo que lá vai a compatibilidade dos programas para o galheiro.

Vai dizer isso ao Steve Jobs*... ele vai-te responder que isso não é bem assim! A compatibilidade é muito mais facilmente atingida quando tens um subset de instruções que um conjunto diferente de instruções. Em relação ao que acontece com as API (win16->win32->win64) da MS, é um caso diferente (eles borrifam mm nas pessoas).



*Eu recorro sempre a este exemplo por considerar que tecnincamente a apple andou de cavalo para burro.
 
eu tb gostava de saber as diferencas entra a x86 e a x64...
Então porque é que não procuraste informação sobre isso? Não é segredo de estado.


lol

e já agora, como está o ubuntu64 em termos de repositorio?
Está impecável. As únicas restrições que encontro são nos raros programas proprietários que se pode pensar em usar (flash). De resto não encontras qualquer limitação. Isso já é de esperar, visto que isso da arquitectura AMD64 já existe nas casas das pessoas há... 7 anos. E viva o software livre.

Ou seja, tudo é feito de forma "invisivel" para o utilizador?? E quanto a programação... é que as vezes programa em C em Linux, com gestão de processos e tal, e uso o gcc para compilar. Como é no Ubuntu 64-bit

Porque é que isso havia de mudar? Não tem absolutamente nada a ver com a arquitectura. O único ponto que varia é o tamanho de tipos de dados numéricos, que só é relevante se sentires a necessidade de a) fazer cálculo numérico ou b) manipular bits "à unha". No entanto, se realmente usasses isso tu nunca terias feito essas perguntas.
 
Nós... sem dúvida. Mas tens que ter em conta que os *verdadeiros* servidores (aqueles tão grandes, mas tão grandes que até chateia de tão grandes que são) usam arquitecturas bem diferentes das nossas.
Esse é um comentrário um bocado disparatado. Por exemplo, é de conhecimento público que a Google baseia toda a sua infra-estrutura informática (os servidores) em computadores "domésticos". A Google corre em celerons e pentium IIIs. Que arquitectura usam? x86. Como o que tu e eu usamos.
 
Esse é um comentrário um bocado disparatado. Por exemplo, é de conhecimento público que a Google baseia toda a sua infra-estrutura informática (os servidores) em computadores "domésticos". A Google corre em celerons e pentium IIIs. Que arquitectura usam? x86. Como o que tu e eu usamos.

O que também é errado, é que lá porque uma empresa é muito grande, tem as melhores (ou maiores) infraestruturas informáticas. Quero com isto dizer que a Google nem é quem tem os mais "brutos" computadores.

Companhias como a NASA, ou se não quiseres ir tão longe, empresas de Servidores "multi-funções" de grande porte usam Sparc, Alpha ou afins.
 
O que também é errado, é que lá porque uma empresa é muito grande, tem as melhores (ou maiores) infraestruturas informáticas. Quero com isto dizer que a Google nem é quem tem os mais "brutos" computadores.

Companhias como a NASA, ou se não quiseres ir tão longe, empresas de Servidores "multi-funções" de grande porte usam Sparc, Alpha ou afins.

Continuas a dizer asneiras.

Não confundas "servidores" com os tais computadores usados em cálculo, que inserem-nos na classe "high performance computing". São computadores mas, em termos de funcionalidade, não tem nada em comum. São feitos para tarefas completamente diferentes.

Mas mesmo assim ficas a saber que muitos desses computadores de HPC são... x86. Pois. São x86 tal como tu e eu temos em casa. Dá uma olhadela aqui:
http://www.top500.org/lists/2007/11

Vê quantos sistemas baseados em Intel Xeon e AMD Opteron existem. Tens logo 3 sistemas x86 nos 10 primeiros. Tens também a *****, outra instrução que até há pouco tempo era usada em computadores de secretária e portáteis da Apple.
 
Mas nem os Opteron, nem os Xeon, nem os Itanium são processadores como os nossos, lá porque usam i686 ou x86_64!

O que eu quero dizer é que são, por vezes, infraestruturas caras e potentes que são montadas para durar muito.

Aliás, a minha ideia inicial, até se comprova com o que tu disseste sobre a Google! Correm em PIIIs e Celerons. Mas não são meia dúzia, são muitos. E se são Pentium III, por exemplo, já podem ter no mínimo uns... seis anos? talvez menos, talvez mais, mas não é isso que interessa, o que conta é que foram instalados para durar, e isto prendia-se com o que tinha sido dito antes penso que pelo petersaints sobre os computadores de hoje que estariam a funcionar no dia 9 de Janeiro de 2038 (ou seja de hoje a 30 anos e 11 dias, salvo erro).
 
Mas nem os Opteron, nem os Xeon, nem os Itanium são processadores como os nossos, lá porque usam i686 ou x86_64!
Errado. São processadores com arquitectura da classe x86, que variam em detalhes pontuais como suporte de certas instruções específicas. No caso dos Opteron, a arquitectura dos novos modelos é a mesma dos Athlon 64 x2 e phenom.

O que eu quero dizer é que são, por vezes, infraestruturas caras e potentes que são montadas para durar muito.
Isso é o que estás a dizer a partir de agora, o que é bem diferente daquilo que disseste atrás. Estamos a falar na arquitectura dos processadores. Não sei como é que tu passas duma discussão x86 Vs AMD64 para "OMG DURAM MUITO E SÃO CAROS!"

Aliás, a minha ideia inicial, até se comprova com o que tu disseste sobre a Google! Correm em PIIIs e Celerons.
...que são processadores da família x86 enquanto falavas em arquitecturas diferentes.

A sério, tu já nem sabes o que disseste nem o que andas a dizer. Que tal respirar fundo?
 
Errado. São processadores com arquitectura da classe x86, que variam em detalhes pontuais como suporte de certas instruções específicas. No caso dos Opteron, a arquitectura dos novos modelos é a mesma dos Athlon 64 x2 e phenom.


Isso é o que estás a dizer a partir de agora, o que é bem diferente daquilo que disseste atrás. Estamos a falar na arquitectura dos processadores. Não sei como é que tu passas duma discussão x86 Vs AMD64 para "OMG DURAM MUITO E SÃO CAROS!"


...que são processadores da família x86 enquanto falavas em arquitecturas diferentes.

A sério, tu já nem sabes o que disseste nem o que andas a dizer. Que tal respirar fundo?

Porque é que tu em vez de tentar contrariar cada palavra que eu escrevo não vês qual foi a minha primeira afirmação? Era um aparte, não era ontopic, mas também não era para gerar esta discussão. Sim, bora respirar findo, já não digo mais nada.
 
Xiiiiu, bitch fight lame!

Caso não tenham percebido já existem muuuitos SOs a 64bits o que torna essa troca de argumentos ridicula. A única coisa que essa data vai assinalar, é que se algum pc da "idade da pedra" (nessa altura) for posto a trabalhar vai estranhar o Thomas Edison ainda estar vivo. :P

No meio desta lenga-lenga toda a única frase que se aproveita é esta:
No entanto, se realmente usasses isso tu nunca terias feito essas perguntas.


Quem andou a programar "pelos livros" não terá problemas, quem "faz arte" a programar, se calhar vai ter algumas dores de cabeças, mas em todo o caso isso não nos (utilizadores) diz respeito. Isso é problema de quem programa e «paste preivous quote here» ;)
 
Última edição:
Back
Topo