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.
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
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
###