Por que o Linux escala tão bem em diferentes plataformas de hardware?

21

Por que o Linux roda bem em tantos tipos diferentes de máquinas - desktops, laptops, servidores, dispositivos embarcados, telefones celulares, etc? É principalmente porque o sistema está aberto, então qualquer parte dele pode ser modificada para funcionar em diferentes ambientes? Ou existem outras propriedades do kernel e / ou sistema Linux que facilitam o funcionamento deste sistema operacional em uma ampla gama de plataformas?

    
por Justin Ethier 17.02.2011 / 23:13

4 respostas

31
Embora a abertura seja certamente parte disso, eu acho que o fator chave é a contínua insistência de Linus Torvald de que todo o trabalho, do grande ao pequeno, tem um lugar no kernel principal do Linux, desde que seja bem feito. Se ele tivesse decidido, em algum momento, traçar uma linha e dizer "ok, para aquele sofisticado hardware de supercomputador, precisamos de um garfo", então variantes completamente distintas de sistemas pequenos e de alta qualidade podem ter se desenvolvido. Assim, as pessoas fizeram o trabalho mais difícil de fazer tudo funcionar relativamente bem.

E os kludges que permitem um lado das coisas em detrimento do outro não são, geralmente, permitidos novamente, forçando as pessoas a resolver problemas de uma maneira mais difícil, mas mais correta, o que geralmente é mais fácil de resolver. avance de uma vez o que for necessário para o kludge se tornar uma nota de rodapé histórica.

De uma entrevista há vários anos :

Q: Linux is a versatile system. It supplies PC, huge servers, mobiles and ten or so of other devices. From your privileged position, which sector will be the one where Linux will express the highest potential?

A: I think the real power of Linux is exactly that it is not about one niche. Everybody gets to play along, and different people and different companies have totally different motivations and beliefs in what is important for them. So I’m not even interested in any one particular sector.

    
por 18.02.2011 / 04:43
4

O Linux é dimensionado para muitos tipos diferentes de hardware porque:

  • é muito configurável
  • a fonte está disponível gratuitamente e pode ser criada para qualquer CPU que tenha um compilador C disponível
  • processadores em dispositivos embarcados e telefones celulares têm pelo menos o mesmo nível ou mais potência em comparação com as máquinas originais 386 que o desenvolvimento inicial do Linux foi realizado e continuam a ganhar energia
  • funciona muito bem com nada além de uma rede, alguma forma de dispositivo disco ou disco e uma porta serial
por 18.02.2011 / 04:44
4

O Kernel Linux escala bem porque é assim. O núcleo do kernel é relativamente pequeno e faz o que precisa fazer. Os drivers de dispositivos são opcionais e podem ser deixados de fora do kernel para sistemas menores. Além dos requisitos mínimos do kernel, a maior parte da funcionalidade é implementada como recursos opcionais.

Dê uma olhada no arquivo de configuração instalado ao lado da maioria dos kernels. Ele listará todos os recursos que foram ativados, bem como quais drivers são suportados.

Os drivers são suportados ou incorporados no kernel ou como módulos carregáveis. Isso permite que um kernel seja dinamicamente configurado para o hardware em que está sendo executado. Esta é a abordagem usada por muitas distribuições.

Além de ter as ferramentas de compilação, modificar o kernel para novo hardware é relativamente simples. Para um novo processador, apenas o código relacionado precisa ser implementado como modificações na funcionalidade existente. Novos dispositivos requerem apenas um novo driver com os ganchos relevantes. Novos sistemas de arquivos também são modificações relativamente triviais.

A base de código foi bem mantida para manter essa flexibilidade sem bifurcações externas. A compilação condicional conduz um kernel muito flexível que foi mantido o mínimo possível.

    
por 21.02.2011 / 07:30
1

Não tenho o conhecimento técnico detalhado para respaldar essa resposta, mas minha experiência sugere que o Linux se adapta bem em comparação com outros sistemas operacionais que eu uso com frequência (principalmente, Windows). Então, talvez a questão é por que o Windows não escala tão bem quanto o Linux.

Se reafirmar a pergunta desse modo ainda é útil para você, sugiro que as forças do mercado motivem a Microsoft a adicionar recursos e funcionalidade voltados ao hardware mais recente e mais capaz, porque eles vendem mais cópias do sistema operacional principalmente quando usuários finais comprar novos sistemas. Assim, a qualquer momento, acho que a versão mais recente do Windows apresenta um desempenho ruim em hardware mais antigo e menos capaz.

Perdoe-me se isso simplificar sua pergunta.

    
por 18.02.2011 / 04:03