unix vs linux what is difference between unix
Unix Vs Linux: Saiba qual é a principal diferença entre a arquitetura, o kernel e os comandos do UNIX e Linux
O Linux nada mais é do que um clone do UNIX que foi escrito Linus Torvalds do zero com a ajuda de alguns hackers em todo o mundo.
Unix e sistemas operacionais semelhantes ao Unix são uma família de sistemas operacionais de computador que derivam do Sistema Unix original da Bell Labs, que remonta a 1965.
Linux é a variante mais popular e vem em várias distribuições diferentes.
=> Clique aqui para ver a série completa de tutoriais de Unix
Unix é uma família de sistemas operacionais multitarefa, portáteis e multiusuário, que também possuem configurações de compartilhamento de tempo.
Os sistemas Unix usam um kernel de sistema operacional centralizado que é responsável por gerenciar todo o sistema.
A interface de programação, abstração de arquivo, rede embutida e processamento persistente em segundo plano chamados daemons são os outros recursos e capacidades que são suportados por um sistema operacional Unix.
O que você aprenderá:
- O que é UNIX?
- O que é Linux?
- Diferença entre Unix e Linux
- Linux vs Unix Kernel
- Comandos Unix Vs Linux
- Conclusão
- Leitura recomendada
O que é UNIX?
O Unix é considerado a mãe da maioria dos sistemas operacionais.
O design dos sistemas Unix é baseado na “Filosofia Unix” que inclui as seguintes características:
- Uso de texto simples para armazenamento de dados.
- Sistema de arquivos hierárquico.
- Dispositivos de tratamento e alguns tipos específicos de comunicação entre processos (IPC) como arquivos.
- Empregando um grande número de ferramentas de software.
- Vários programas pequenos, simples e modulares que podem ser encadeados por meio de um interpretador de linha de comando usando tubos, em contraste com o uso de um único programa monolítico que compreende todas as mesmas funcionalidades.
Vale a pena mencionar aqui a citação abaixo sobre a filosofia Unix:
“Embora essa filosofia não possa ser escrita em uma única frase, seu cerne é a ideia de que o poder de um sistema vem mais das relações entre os programas do que dos próprios programas. Muitos programas UNIX fazem coisas bastante triviais isoladamente, mas, combinados com outros programas, tornam-se ferramentas gerais e úteis. ” - Brian Kernighan e Rob Pike
Arquitetura Unix
O diagrama abaixo irá representar a arquitetura Unix.
(imagem fonte )
O programa de controle mestre do Unix é seu Kernel. O kernel tem controle total sobre todo o sistema. Possui subsistemas que oferecem serviços para gerenciamento de sistema de arquivos, gerenciamento de recursos, gerenciamento de memória, iniciar e parar programas e algumas outras tarefas básicas de baixo nível.
O kernel é o coração do sistema operacional e atua como uma interface entre o usuário e o hardware. Cada subsistema do kernel possui certos recursos como simultaneidade, memória virtual, paginação e um sistema de arquivos virtual.
Nas camadas externas da arquitetura, temos o shell, comandos e programas aplicativos. Shell é a interface entre o usuário e o kernel. Shell e o usuário digitam os comandos, interpretam esses comandos e chamam os programas de computador de acordo.
Exemplo do sistema operacional Unix é Solaris e HP-UX. Os maiores distribuidores de sistemas UNIX incluem IBM, HP e SUN.
Leitura recomendada => Tutoriais de treinamento grátis do Unix
O que é Linux?
Agora você já deve ter uma boa idéia sobre o Unix. Agora vamos explorar o Linux em detalhes.
As pessoas confundem muito os termos Unix e Linux e geralmente fazem perguntas como “O Unix é diferente do Linux?” / “Linux e Unix são a mesma coisa?” / “Is Linux like Unix?” / “Is Linux built on Unix?” .
Aqui está a resposta para todas essas perguntas. Primeiro, deixe-me esclarecer sua confusão com uma frase curta. Linux e Unix são diferentes, mas eles têm um relacionamento um com o outro, pois o Linux é derivado do Unix.
como escrever casos de teste junit
Linux não é Unix, mas é um sistema operacional semelhante ao Unix. O sistema Linux é derivado do Unix e é uma continuação da base do design do Unix. As distribuições Linux são o exemplo mais famoso e saudável dos derivados diretos do Unix.BSD (Berkley Software Distribution) também é um exemplo de um derivado do Unix.
Neste momento, é importante para nós deixar você claro como é o Unix?
Um SO tipo Unix (também chamado de UN * X ou * nix) é aquele que funciona de forma semelhante aos sistemas Unix, porém, não é necessário que estejam em conformidade com a Single UNIX Specification (SUS) ou POSIX semelhante (Portable Interface do sistema operacional) padrão.
SUS é um padrão que deve ser cumprido para que qualquer sistema operacional se qualifique para usar a marca registrada ‘UNIX’. Esta marca registrada é concedida por ‘The Open Group’.
Alguns exemplos dos sistemas UNIX registrados atualmente incluem macOS, Solaris e AIX. Se considerarmos o sistema POSIX, então o Linux pode ser considerado um sistema operacional semelhante ao Unix.
De acordo com o arquivo README oficial do kernel Linux, Linux é um clone do UNIX que é desenvolvido do zero por Linus Torvalds e equipe. Tem como objetivo a conformidade com POSIX. O código do kernel do Linux foi totalmente escrito do zero. Ele é projetado de forma a atuar como Unix, mas não contém o código Unix original.
Também é importante notar que Linux é apenas o kernel e não o sistema operacional completo . Este kernel do Linux é geralmente empacotado em distribuições Linux, o que o torna um sistema operacional completo.
Portanto, o Linux é apenas o Kernel, enquanto as distribuições do Linux podem ser tratadas como o SO. Por outro lado, o UNIX em si é um sistema operacional completo, já que tudo (todos os aplicativos necessários vinculados) vêm de um único fornecedor. Por exemplo, Solaris.
A distribuição Linux (também chamada de distro, em resumo) é um sistema operacional criado a partir de uma coleção de software construída sobre o kernel do Linux e é um sistema de gerenciamento de pacotes.
Uma distribuição Linux padrão consiste em um kernel Linux, sistema GNU, utilitários GNU, bibliotecas, compilador, software adicional, documentação, um sistema de janelas, gerenciador de janelas e um ambiente de área de trabalho.
A maior parte do software incluído na distribuição do Linux é gratuito e de código aberto. Eles podem incluir algum software proprietário, como blobs binários, que são essenciais para alguns drivers de dispositivo.
Arquitetura de sistema operacional baseada em Linux
(imagem fonte )
Portanto, as distribuições do Linux tornam o kernel do Linux completamente utilizável como um sistema operacional, adicionando diferentes aplicativos a ele. Existem vários tipos de distribuições Linux que atendem a uma ampla gama de necessidades do usuário.
Por exemplo , temos um sistema operacional baseado em OpenWrt Linux para dispositivos embarcados, Linux Mint para computadores pessoais e Rocks Cluster Distribution para supercomputadores. No total, existem cerca de 600 distribuições Linux.
Será interessante para você saber que o popular sistema operacional Android para dispositivos móveis do Google é baseado no Linux. Cada iteração do sistema operacional Android é construída no kernel Linux atual.
qual é a diferença entre garantia de qualidade e controle de qualidade?
Diferença entre Unix e Linux
Linux | Unix e outras variantes |
---|---|
Diferentes variantes mantidas por diferentes comunidades; com o kernel se fundindo com o branch mantido por Linus | Variantes diferentes mantidas por empresas diferentes; cada um mantém seu próprio kernel |
Linux se refere ao kernel do sistema operacional GNU / Linux. Mais geralmente, refere-se à família de distribuições derivadas. | Unix se refere ao sistema operacional original desenvolvido pela AT&T. De maneira mais geral, refere-se à família de sistemas operacionais derivados. |
Código original desenvolvido por Linus e a Fundação GNU | Código original desenvolvido pela AT&T |
A marca registrada Linux é propriedade de Linus Trovalds e gerenciada pelo Linux Mark Institute sob a Linux Foundation. | A marca comercial UNIX é certificada pelo Open Group. Lista de sistemas operacionais certificados. |
O Linux Standard Base (LSB), disponível como ISO / IEC 23360, é um esforço de padronização por vários distribuidores Linux. LSB é principalmente uma extensão do POSIX, mas tem algumas diferenças. No entanto, não há uma grande necessidade de certificação LSB, pois as várias distribuições usam o mesmo kernel em qualquer caso. | Certificação UNIX baseada na ‘Single Unix Specification’, que é uma extensão do IEEE 1003 (POSIX), também disponível como ISO / IEC 9945. POSIX especifica APIs de programação e interfaces de shell e utilitários. POSIX foi desenvolvido como uma forma de permitir a interoperabilidade entre diferentes fornecedores de UNIX. |
GNU / Linux e derivados como Debian e Fedora | System-V Unix e derivados como IBM-AIX e HP-UX; Berkeley Unix e derivados como FreeBSD e macOS |
Código aberto sob a Licença Pública Geral copyleft | Berkeley Unix é parcialmente open source sob a licença BSD. O código fonte do System-V Unix pode ser adquirido sob uma licença comercial proprietária. |
Projetado como uma plataforma escalável de propósito geral para um amplo conjunto de aplicativos. | Normalmente projetado para um público restrito com um conjunto definido de plataformas e aplicativos de destino. |
Amplamente disponível como download e instalador de software configurável. | Normalmente enviado junto com o hardware, por exemplo, MacBook |
Suporte gratuito da comunidade. Suporte pago disponível em vários provedores de serviços. | Suporte comercial pago. Freqüentemente, leva ao aprisionamento do fornecedor. |
As interfaces frequentemente evoluem | Interfaces geralmente estáveis |
Atualizações frequentes, com correções rápidas de bugs | Atualizações raras e correções podem levar tempo |
Suporta quase todos os sistemas de arquivos usados em sistemas operacionais | A maioria das versões suporta dois ou talvez três sistemas de arquivos |
Variedade de ferramentas de administração do sistema, muitas vezes com foco limitado, por exemplo, Suse YAST | Cada versão normalmente possui uma ferramenta de administração de sistema desenvolvida, por exemplo, HP SAM |
SO preferido para implantação de nuvem e data centers principalmente por razões econômicas | Sistema operacional preferencial para requisitos de servidor de propósito especial devido à disponibilidade de aplicativos e servidores de Internet por motivos de legado |
Escalabilidade alcançada usando clusters, grades ou nuvem. | Escalabilidade alcançada usando clusters ou grades |
(Um cluster é uma coleção de computadores homogêneos, uma grade é uma coleção de computadores distribuídos e um serviço de nuvem é uma coleção de clusters virtualizados.) | |
A maioria das linhas de comando e utilitários gráficos são semelhantes ao Unix | A maioria dos utilitários gráficos e de linha de comando são semelhantes ao Linux |
Esperamos que você tenha entendido as principais diferenças entre Unix e Linux neste artigo.
Vamos agora ver algumas diferenças mais importantes entre Linux e Unix no formato tabular abaixo:
Características | Linux | Unix |
---|---|---|
lançamento inicial | O Linux é mais novo quando comparado ao Unix. Ele foi derivado do Unix e foi lançado em setembro de 1991. | Unix é mais antigo. Foi lançado em outubro de 1973 para festas externas. Antes disso, era usado internamente no Bell Labs desde a sua criação em 1970. |
Desenvolvedor | Inspirado no MINIX (um sistema operacional semelhante ao Unix), o Linux foi originalmente desenvolvido pelo engenheiro de software finlandês-americano Linus Torvalds. Por ser um código aberto, temos desenvolvedores da comunidade para Linux. | Derivado originalmente da AT&T Unix, foi desenvolvido no Bell Labs por Kenneth Lane Thompson, Dennis Ritchie e 3 outros. |
Escrito em | C e outras linguagens de programação. | C e linguagem assembly. |
OS family | Tipo Unix | Unix |
Estado de trabalho | Atual | Atual |
Modelo Fonte | Código aberto | Misturado. Código tradicionalmente fechado, entretanto, poucos projetos Unix são de código aberto, o que inclui o sistema operacional Illumos e o sistema operacional BSD (Berkley Software Distribution). |
Disponível em | Multilíngue | inglês |
Tipo de Kernel | Kernel monolítico | O tipo de kernel varia. Pode ser monolítico, microkernel e híbrido. |
Licença | GNUv2 (Licença Pública Geral GPL) e outros. | O licenciamento varia. Poucas versões são proprietárias, enquanto outras são gratuitas / OSS. |
Website oficial | https://www.kernel.org/ | http://opengroup.org/unix |
Interface de usuário padrão | Shell Unix | CLI (Interface de linha de comando) e gráfica (sistema X Windows) |
Interface de modo de texto | Por padrão, o shell é BASH (Bourne Again Shell). Além disso, é compatível com muitos interpretadores de comandos. | Originalmente o shell Bourne. Também é compatível com muitos interpretadores de comando. |
Custo | Pode ser obtido e usado livremente. Também existem versões com preços do Linux. Mas, geralmente, o Linux é mais barato que o Windows. | Os sistemas operacionais proprietários têm diferentes estruturas de custo definidas de acordo com os fornecedores que os vendem. |
Exemplos | Debian, Ubuntu, Fedora, Red Hat, Android, etc. | IBM AIX, Solaris, HP-UX, Darwin, macOS X, etc. |
Arquitetura | Foi originalmente criado para o hardware x86 da Intel, portas disponíveis para muitos tipos de CPU. | Compatível com máquinas PA e Itanium. Solaris também está disponível em x86 / x64. OSX é PowerPC. |
Detecção e solução de ameaças | Como o Linux é dirigido principalmente pela comunidade de código aberto, muitos desenvolvedores em diferentes partes do mundo estão trabalhando no código. Portanto, a detecção e solução de ameaças são bastante rápidas no caso do Linux. | Devido à natureza proprietária do Unix, os usuários precisam esperar pelos patches de correção de bugs adequados. |
Segurança | Ambos os sistemas operacionais baseados em Linux e Unix são geralmente considerados muito bem protegidos contra malware. Isso pode ser atribuído à falta de acesso root, atualizações rápidas e participação de mercado comparativamente baixa (em comparação com o Windows). Em 2018, não havia nenhum vírus Linux generalizado. | O Unix também é considerado muito seguro. É ainda mais difícil de infectar, pois a fonte também não está disponível. Hoje em dia, não há vírus se espalhando ativamente para o Unix. |
Preço | Linux é grátis. No entanto, o suporte corporativo está disponível por um preço. | O Unix não é gratuito. No entanto, algumas versões do Unix são gratuitas para uso em desenvolvimento (Solaris). Em um ambiente colaborativo, o Unix custa $ 1.407 por usuário e o Linux custa $ 256 por usuário. Conseqüentemente, o UNIX é extremamente caro. |
Linux vs Unix Kernel
Como o Linux sozinho é apenas um kernel, vale a pena discutir as principais diferenças entre o kernel do Linux e o kernel do Unix.
Existem três tipos de kernel, ou seja, monolítico, micro e híbrido (combinação de monolítico e micro), como pode ser visto na imagem abaixo.
(imagem fonte )
Na arquitetura de kernel monolítica, todo o sistema operacional funciona em um único espaço de kernel. Ele define sozinho uma interface virtual de alto nível no topo do hardware do computador.
Embora o kernel do Linux derive a maioria de suas características de kernels do tipo Unix / Unix, no entanto, existem alguns pontos significativos de diferenças entre os dois.
Na arquitetura de microkernel, os principais serviços do sistema operacional são executados em um processo, enquanto os outros serviços são executados em diferentes processos.
No µ kernel, a quantidade quase mínima de mecanismos está incluída no modo kernel. Esses mecanismos incluem IPC básico (comunicação entre processos), agendamento e gerenciamento de espaço de endereço de baixo nível.
Em termos de tamanho do código-fonte, geralmente, um microkernel é menor do que o kernel monolítico.
Características | Kernel do Linux | Kernel Unix |
---|---|---|
Abordagem de kernel | O Linux segue a abordagem de kernel monolítico. | O kernel Unix pode ser monolítico, microkernel ou híbrido. Por exemplo, o macOS tem um kernel híbrido, o Solaris tem o kernel monolítico e o AIX tem um kernel monolítico com módulos carregáveis dinamicamente. |
Adicionando / removendo recursos do kernel | Fornece um ótimo recurso por meio do qual os componentes do kernel, como unidades de dispositivo, podem ser adicionados e removidos dinamicamente como módulos. Este recurso é chamado de módulos de kernel carregáveis (LDM). Isso elimina a necessidade de compilar todo o kernel novamente. Esse recurso, por sua vez, oferece grande flexibilidade ao Linux. | O kernel dos sistemas Unix tradicionais precisa de links estáticos para adicionar novos sistemas. |
Streams | No Linux, não há subsistema de E / S de streams. | Na maioria dos kernels Unix, o subsistema de E / S de streams está incluído, o que acaba sendo a interface desejada para escrever drivers de dispositivo, drivers de terminal, etc. |
Abordagem preemptiva vs não preemptiva | Normalmente, um kernel Linux não é preemptivo. No entanto, nos últimos tempos, o sistema operacional Linux em tempo real começou a usar kernels preemptivos. | Alguns sistemas Unix são totalmente preventivos. Por exemplo, Solaris 2.x. etc. |
Threading de kernel | O Linux usa thread do kernel apenas para executar algum código do kernel periodicamente. | Muitos sistemas operacionais do tipo Unix usam thread do kernel para fins de troca de contexto de processo. |
Maneiras de lidar com o ambiente multi-threaded | Por meio de multithreading, mais de um fluxo de execução independente, chamado de processos leves (LWP), é criado. No Linux, o LWP é criado chamando a função clone (). Esses processos no Linux podem compartilhar memória física, arquivos abertos, espaço de endereço, etc. | No Unix, o LWP é baseado em threads de kernel. |
Comandos Unix Vs Linux
Existem certas diferenças entre os comandos do shell, ou seja, até mesmo entre as versões da mesma variante Unix. No entanto, o que mais varia é o shell interno integrado, e não a apresentação.
No geral, esforços são feitos para manter o Linux o mais próximo possível do Unix, obedecendo aos padrões POSIX. Conseqüentemente, os comandos de terminal em distros Linux e sistemas operacionais Unix não são exatamente os mesmos, mas também não há muitas diferenças.
perguntas da entrevista de teste de software para candidatos experientes
Cada distribuição Linux em si tem sua própria maneira de execução.
Por exemplo , no CentOS, que é um sistema operacional da família Linux, usamos os comandos yum (yellowdog update modifier) para a instalação de novos pacotes, enquanto no Debian, que é outro sistema operacional da família Linux, usamos os comandos apt-get para a instalação.
No IBM AIX, que é um sistema operacional Unix proprietário, usamos -dedo comando para verificar quem está conectado ao sistema. Mas este comando não é usado no Linux. No Linux, usamos o rosado comando para buscar o mesmo resultado.
No Ubuntu / Debian (um sistema operacional Linux), temos fdisk, parted, gparted comandos para a tarefa ‘criar’. Por outro lado, no Solaris (um sistema operacional Unix), temos um formato, fmthard para a tarefa de ‘criar’ .
Você pode consultar a lista de comandos do Linux e Unix, você verá que os comandos do Linux e do Unix são semelhantes, mas não exatamente iguais.
Exemplos
Até agora, neste artigo, vimos as diferenças centrais generalizadas entre Linux e Unix. Essas diferenças podem ser mais específicas se compararmos as versões exatas dos dois. Vamos ver isso por meio de alguns exemplos.
Solaris vs Linux
Solaris, que agora é chamado de Oracle Solaris, é um sistema operacional da família Unix. Vamos comparar o Linux com o Solaris.
O Linux oferece suporte a mais arquiteturas de sistema do que o Solaris. Portanto, o Linux é mais portátil.
Ao falar sobre estabilidade e integração de hardware, Solaris parece melhor aqui. O Linux também tem uma taxa de desenvolvimento mais rápida quando comparado ao Solaris.
Existem algumas outras diferenças técnicas entre os dois, mas aqui estamos limitando nossa comparação apenas ao desempenho.
MacOS vs Linux
MacOS é um sistema operacional Unix certificado. Ele tem seu próprio kernel denominado XNU. É usado em computadores da Apple que são considerados os PCs mais confiáveis.
O MacOS é relativamente fácil de configurar. Por outro lado, o Linux é mais barato e tem muito software de código aberto disponível em comparação com as soluções proprietárias da Apple. Além disso, o Linux é mais flexível, pois pode ser executado em quase qualquer hardware, enquanto o MacOS pode ser executado apenas em hardware Apple. Por exemplo , iPhones.
O MacOS usa HFS + como sistema de arquivos padrão, enquanto o Linux usa ext4.
Conclusão
O Unix é muito antigo e é considerado a mãe de todos os sistemas operacionais. O kernel Linux também é derivado do Unix. A principal diferença entre os sistemas operacionais baseados em Unix e Linux não está na parte da apresentação, mas em como eles funcionam internamente, ou seja, principalmente na parte do kernel.
A diferença entre os dois também dependerá de quais versões exatas do Linux e Unix você está comparando.
Também é essencial afirmar que o Linux (e muitos outros sistemas operacionais semelhantes ao Unix) são gratuitos para obter e modificar, enquanto os sistemas operacionais Unix não são. O custo é sempre uma grande preocupação ao decidir qual tecnologia usar, e o Linux tem uma vantagem nesse aspecto.
O Linux é mais flexível e gratuito quando comparado aos verdadeiros sistemas Unix e é por isso que o Linux ganhou mais popularidade. Ao discutir os comandos no Unix e no Linux, eles não são os mesmos, mas são muito semelhantes. Na verdade, os comandos em cada distribuição de um sistema operacional da mesma família também variam.
Solaris, HP, Intel, etc. empregam servidores de Internet Unix, estações de trabalho e computadores pessoais. Embora o Linux seja amplamente utilizado para software e hardware de computador, jogos, tablet, mainframes, etc.
Há estudos que dizem que o Linux está crescendo mais rápido do que qualquer outro sistema operacional nos últimos anos. Portanto, no futuro, o Linux pode tender a deixar as instalações do UNIX para trás.
Referências: Linux, Unix, Distribuição Linux, Livro: O ambiente de programação Unix
Espero que tenham gostado deste artigo informativo sobre a diferença entre Unix e Linux !!
=> Clique aqui para ver a série completa de tutoriais de Unix
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- O que é Unix: uma breve introdução ao Unix
- Comandos Unix: Comandos Unix básicos e avançados com exemplos
- Comandos de processamento de texto Unix: Filtros Unix com exemplos
- Tutorial de Pipes Unix: Pipes em Programação Unix
- Diferença entre Linux e Windows: qual é o melhor sistema operacional?
- Mais Filtro Unix e Awk, Comandos Sed em Processamento de Texto
- Tutorial do UNIX para iniciantes (mais de 20 vídeos de treinamento aprofundado do Unix)
- Como comparar dois arquivos no Unix: Comandos de comparação de arquivos