Questão O que significa o 'bit' em um SO


Eu sei que existem 32/64 bits no mercado.
Q1-> Mas o que isso significa realmente?
Q2-> Qual é o menor bit OS e maior bit OS?


4


origem




Respostas:


Mas o que isso significa realmente?

Isso significa o número de bits usados ​​para endereçamento na memória.

A memória é composta de um grande número de bytes. Cada byte tem um endereço único. Você pode pensar na memória como uma rua com casas, onde uma casa representa um Byte * e o número da casa representa o endereço. Agora imagine que alguém decida que os números das casas devem sempre ter 3 dígitos. Isso significa que o número mais baixo da casa é 000 e o mais alto é 999. Isso é simples e fácil, mas significa que você não pode ter mais de 1000 casas, simplesmente porque seu número de casas está acabando.

É o mesmo para a sua memória: O x bits é o número de dígitos que você endereços têm. A única diferença é que os números são binários. Um sistema operacional de 32 bits usa números binários com exatamente 32 dígitos (um dígito binário = um bit).

Assim, em um sistema de 32 bits, você pode ter 2 ^ 32 endereços possíveis, que é cerca de 4 bilhões. 4 bilhões de bytes são 4 GB. Se a sua memória tiver mais de 4 GB de espaço, isso significa que você pode usar apenas 4 GB da memória disponível, porque você simplesmente não tem endereços para o restante da memória.

Hoje em dia tornou-se normal ter mais de 4 GB de RAM e, claro, queremos usar essa memória. Neste caso, uma solução é necessária e a coisa mais simples que podemos fazer ** é aumentar o espaço de endereçamento. Enquanto qualquer número de bit mais alto serviria, nós simplesmente dobraríamos o número de bits de 32 para 64. Assim, temos endereços de 2 ^ 64 Bytes que são 16 * 2 ^ 60 Bytes ou 16 Exabytes.

Note que um pessoal de marketing às vezes tenta nos fazer acreditar que sistemas operacionais / CPUs de 64bits são de alguma forma mais rápidos do que equivalentes de 32 bits. No entanto isso não é verdade ***. Na verdade, aumentar o tamanho do endereço torna as coisas mais lentas, porque quanto maior o número, mais demorados são os cálculos e sim, nós calculamos os endereços. É totalmente inútil usar uma CPU / SO de 64 bits se a sua memória for pequena o suficiente para que você possa endereçá-la totalmente com 32 bits.

Qual é o menor bit OS e maior bit OS?

Não há limite para os bits que você pode usar. Um "SO de um bit" realmente não faz sentido, porque isso significaria que seu computador não pode ter mais de 2 bytes de memória. Eu acho que sistemas operacionais de descida começam em 8 bits. 32 bit é o mais comum, embora 64bit esteja crescendo muito e eventualmente substituirá 32bit. Eu já ouvi falar de alguns mainframes que têm 128 bits, mas eu não acho que algo maior realmente exista, porque 128bits te dá um grande número de endereços inimagináveis ​​;-).

* Não é necessariamente um endereço por Byte. Esta é a unidade mais comum na arquitetura atual, mas teoricamente também podemos escolher um único bit ou múltiplos bytes. Por exemplo. o Java Virtual Machine aborda em algumas ocasiões em múltiplos de 4 Bytes internamente. No entanto, você precisa de suporte da CPU e do sistema operacional para fazer uso disso.

** Claro que também existem outras possibilidades. Por exemplo. há PAE (extensões de endereço físico). Essa solução divide a memória em segmentos menores, em que cada segmento não tem mais de 4 GB. Com o PAE, você pode endereçar até 64 GB. Isso era comumente usado em servidores com mais de 4 GB de RAM antes que os processadores de 64 bits se tornassem comuns.

*** Bem, os novos processadores de 64 bits são mais rápidos que os antigos processadores de 32 bits. Mas isso não é por causa deles sendo 64 bits, é simplesmente porque as CPUs evoluíram em geral. Se construirmos uma nova CPU de 32 bits com tudo o que aprendemos nesse meio tempo, ela será mais rápida do que a CPU de 64 bits de hoje.


9



"porque o 128bit já fornece um grande número de endereços inimagináveis ​​;-)." Isso me lembra de Bill Gates "640K deveria ser suficiente para qualquer um.". (PARA SUA INFORMAÇÃO : Na verdade, Bill Gates não disse isso ... :() - JiminP
@yankee O que você quis dizer com "desde que cada endereço geralmente ligações para um byte "- (grifo meu). Por favor, você pode explicar um pouco? - Geek
@Geek: Pense na cidade com apenas uma única estrada extremamente longa. As casas ainda têm números e, para simplificar, todas as casas têm exatamente o mesmo tamanho. Eu diria que um número de casa está ligado a uma casa. Não é um quarto, uma porta ou um tijolo. A "casa" é o byte e o "endereço" o número da casa. Talvez haja uma palavra melhor do que "links". Talvez "se refere" ... - yankee
Incompreendido que um "desde que cada endereço geralmente links para um byte" também. Pensamentos na minha cabeça: 32bit = 4byte para endereçamento, então cada endereço é mapeado para 4 bytes, não 1byte .. e então um penny é descartado :) Eu inverteria isso e diria que "cada byte na memória deveria ter (e na realidade tem seu próprio endereço único, então você não pode ter mais de 4 bilhões de bytes únicos, que é de 4 GB ". - pkuderov
@pkuderov: Obrigado pelo feedback, reescrevi partes da minha resposta. - yankee


Os "bits" de um processador podem na verdade significar várias coisas; Há algumas coisas dentro e fora de uma CPU que é limitada por um número de bits. No entanto, no caso de CPUs x86, estas são as seguintes diferenças:

  • As CPUs de 64 bits podem trabalhar com muito mais RAM sem soluções alternativas como PAE do que CPUs de 32 bits.
  • A arquitetura de 64 bits da AMD, que se tornou a dominante, adicionou mais registradores de propósito geral à CPU. Os registros são áreas de retenção temporárias para cálculos muito mais rápidos que a RAM.
  • Todos os registros na CPU são de 64 bits. Isso significa que a CPU pode trabalhar com valores maiores com menos instruções.

No que diz respeito a CPUs Intel compatíveis com PC, o SO de menor bit são os sistemas operacionais de 16 bits, como DOS, CP / M-86, Xenix e Windows 3.x. A Intel fez vários chips de 8 bits (8008, 8080) que rodam uma variante de CP / M, se não me engano, e é claro que há o antigo 4004, que é um chip de 4 bits, mas nunca rodou nenhum sistema operacional. Ninguém está produzindo um chip de 128 bits compatível com x86 ou superior neste momento.


2