Introdução do Linux

Sistema operacional Linux

História

Antes de compreender a popularidade do Linux, precisamos voltar aos últimos anos. Quando o computador começou a se desenvolver, não havia nenhum sistema operacional fixo para o computador. O tamanho do computador era muito grande e cada computador tinha um sistema operacional diferente. O software de um computador não funcionava em outro computador e era difícil trabalhar de um computador para outro. No geral, os computadores ficaram mais caros e difíceis de trabalhar.

Em 1969, alguns desenvolvedores do Laboratórios Bell Lab começou a trabalhar em uma solução de software de sistema operacional compatível que pode ser executada em qualquer computador. Eles desenvolveram um sistema operacional avançado com muitos recursos escritos em linguagem C chamado Sistema operacional UNIX. O UNIX era muito simples e capaz de reciclar o código. A linguagem C foi desenvolvida recentemente para a criação do UNIX. O UNIX pode ser executado em qualquer computador e precisava apenas de pequenos trechos de código chamados núcleo.

UNIX é compatível com diversos sistemas e inicialmente desenvolvido para mainframes e minicomputadores especialmente para universidades. Quando comecei a desenvolver pequenos computadores para usuários individuais, como computadores domésticos, chamados microcomputadores. Naquela época, muitas versões do UNIX suportavam arquitetura de PC, mas não eram totalmente compatíveis e eram lentas. Assim, os usuários começaram a executar o MS-DOS ou o Windows em seus computadores domésticos.

Em 1990, os PCs eram totalmente equipados com UNIX e tinham bons recursos, mas não eram totalmente de código aberto, o que significa que não havia software livre disponível. Em 1991, Linus Torvalds começou a desenvolver um sistema operacional chamado Linux, que é membro de uma grande família de sistemas operacionais semelhantes ao UNIX. Linux é desenvolvido para computadores pessoais compatíveis com IBM baseados no microprocessador Intel 80386. Todos os recursos do UNIX foram adicionados ao Linux em poucos anos, o que torna o sistema operacional Linux maduro. Hoje o Linux é compatível com qualquer estação de trabalho, PC de usuário doméstico e servidor e cliente.

O que é Linux?

Linux é um sistema operacional gratuito totalmente personalizável. É suportado qualquer componente de hardware. Devido ao advento do recurso de código aberto do Linux, todos podem baixar o código-fonte do Linux e modificá-lo. No lado do servidor, o Linux é um sistema operacional estável e confiável bem conhecido. Dia a dia o Linux se tornou mais popular e fácil de usar. O Linux moderno não é apenas compatível com servidores de última geração, estações de trabalho e PCs domésticos, mas também é executado em vários dispositivos.

Linux é um kernel totalmente UNIX mas não um sistema operacional totalmente UNIX porque não inclui aplicativos UNIX completos, como sistema de arquivos, sistema de janelas, editor de texto, compilador e assim por diante. Linux é apenas um kernel. Toda a distribuição Linux é uma coleção de Kernel Linux, GUI, compilador GNU C/C++, editores de texto e vários aplicativos sob GPL. Linux é usado apenas POSIX (Portable Operating System Interface Standards) do UNIX. POSIX são padrões especificados pela sociedade de informática IEEE para manter a compatibilidade entre sistemas operacionais.

sistema operacional linux

Figura 1: Sistema Operacional Linux

O Linux é necessário um compilador GNU C padrão e GPL (Licença de Uso Geral). GNU é uma coleção de software de computador que pode ser usado na construção de um sistema operacional como UNIX ou Linux. GNU é uma organização que implementa um sistema operacional inteiro que pode ser usado gratuitamente por todos. Vários componentes GNU usados ​​para desenvolver Linux, como compilador, depurador e hardware GNU. O Linux foi licenciado sob a GPL. Sem pagar nenhuma taxa, você pode baixar o código-fonte do Linux para usá-lo, compartilhá-lo e modificá-lo. GPL (General Public License) é um software de licença gratuita que oferece liberdade para executá-lo, compartilhá-lo, modificá-lo e estudá-lo.

Antes de discutirmos brevemente o Linux, mencionei vantagens do Linux:

  • Código aberto
  • Execute em hardware de baixo e alto nível
  • Compatível com outros sistemas operacionais
  • Mais poderoso
  • Baixo tempo de falha
  • Bem suportado
  • Bem seguro
  • Totalmente personalizável em todos os seus componentes

Recurso do Linux

Linux é um sistema operacional completo. O Linux adotou vários recursos de diferentes versões do UNIX.

Multithreading:

Linux é compatível com ambiente multithreading. Mais de um thread pode ser executado ao mesmo tempo no Linux. Thread é um pequeno código dentro do processo. Explicarei resumidamente sobre o tópico em outro tutorial.

Kernel monolítico:

O kernel do Linux é um kernel monolítico. Kernel monolítico é uma arquitetura de sistema operacional em que todo o sistema operacional é executado no modo kernel em vez do modo de usuário. Quando programas ou aplicativos desejam usar hardware, envie uma solicitação para o modo kernel por chamada do sistema. O kernel avalia a solicitação da chamada do sistema e interage com o hardware adequado. Todos os serviços operacionais, como gerenciamento de memória, gerenciamento de arquivos e gerenciamento de processos, estão funcionando no kernel.

Sistema de arquivo:

Todo o kernel do Linux consiste na arquitetura do sistema de arquivos. O Linux suportava muitos tipos de arquivos, como arquivo de diretório, link, pipe, pipe nomeado, arquivo especial e arquivo de dispositivo de bloco. Cada tipo de arquivo possui suas próprias características e recursos. O sistema de arquivos não contém apenas os dados do arquivo, mas também contém a estrutura do arquivo e todas as informações sobre o arquivo.

Capacidade multiusuário:

O sistema operacional Linux compartilha o mesmo recurso como memória, disco rígido, etc. para vários usuários. Vários usuários podem acessar o mesmo recurso usando um terminal individual (ou seja, PC cliente).

Arquitetura do sistema operacional Linux

estrutura do sistema operacional linux

Figura 2: Arquitetura do sistema operacional Linux

A arquitetura do sistema operacional Linux consiste nas seguintes camadas:

Camada de hardware:

O hardware consiste em todos os dispositivos periféricos como RAM, HDD, CPU, etc. O usuário não pode interagir diretamente com o hardware do espaço do usuário (onde o aplicativo ou programa é executado).

Núcleo:

Kernel é um pequeno código especial que é o componente principal do sistema operacional. O kernel interage diretamente com o hardware. O kernel fornece serviço de baixo nível para os componentes do modo de usuário. O kernel é totalmente desenvolvido em linguagem C e arquitetura de sistema de arquivos.

Concha:

Shell é um meio de interface entre o modo de usuário e o modo kernel. Qualquer programa ou aplicativo pode interagir com o kernel através do shell. Shell está escondendo do usuário a complexidade da função do kernel. Ele pega o comando do modo de usuário (ou seja, terminal de comando) e executa a função do kernel. Por exemplo, se você inseriu qualquer comando do terminal (que é executado no modo de usuário), por trás do shell do terminal está o comando do terminal, interage com o kernel e executa a função correspondente relacionada ao comando.

Usuário ou utilitários:

Esta é a camada superior do sistema operacional, também chamada de modo de usuário, onde o aplicativo ou programa é executado. Na camada Usuário, vários usuários, aplicativos, software e programas podem ser executados ao mesmo tempo.

Diferença entre o modo Usuário e o mod Kernele

Modo Kernel:

Todos os programas kernel são executados no modo kernel. O modo Kernel acessa diretamente a memória e o hardware. Ele pode executar qualquer instrução da CPU e acessar qualquer endereço de memória. É fornecer um serviço de baixo nível totalmente confiável. Todo o PC é interrompido e o sistema operacional é corrompido se ocorrerem falhas no modo Kernel. É evitar que o aplicativo do modo de usuário danifique o sistema. Este modo é reservado para drivers de dispositivos que operam em baixo nível e são executados mediante solicitação pela API.

Modo de usuário:

Todos os programas e aplicativos do usuário são executados no modo de usuário. O modo de usuário não pode acessar diretamente a memória e o hardware. O programa que está sendo executado no modo de usuário pode acessar a memória e o hardware chamando a API. Devido à proteção total, as falhas no modo de usuário são recuperáveis.

Distribuições Linux

A distribuição Linux é um sistema totalmente operacional que é uma coleção de kernel Linux e sistema de gerenciamento de pacotes. O usuário pode baixar qualquer distribuição e rodar em PC ou hardware. Várias distribuições são suportadas em diferentes plataformas, como ambiente de desktop, plataforma embarcada, etc. A distribuição Linux inclui Linux, ferramenta GNU, software e coleção de bibliotecas. Algumas distribuições são desenvolvidas especialmente para hardware específico.

Aqui estão algumas distribuições populares do Linux:

Debian:

Debian é um sistema operacional Linux composto apenas por software livre e de código aberto. Foi introduzido em 1993 e até agora é estável e usado no sistema. O Debian é muito mais lento que o Ubuntu e o Linux mint. Debian é amigável e preferido para servidor.

Ubuntu:

Ubuntu é uma distribuição Linux bem conhecida para ambiente desktop. É baseado no Debian, mas possui seu próprio repositório (local central onde os dados são armazenados e gerenciados). É bem fácil de usar.

Linux Mint:

Linux mint também distribuição Linux para ambiente desktop semelhante ao Ubuntu. É usado o repositório do Ubuntu. Os mesmos pacotes estão disponíveis para Ubuntu e Linux mint. O Linux mint inclui codec de mídia que não está incluído no Ubuntu por padrão.

Mais algumas distribuições Linux são mencionadas aqui:

  • Fedora
  • CentOS
  • KaliLinux
  • OpenSUSE
  • Arco Linux
  • SlackwareLinux
  • Mageia

Código fonte do projeto

 

Código fonte do projeto

###

//Program to 

###

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.