Sistema operacional - Linux

Linux é uma das versões populares do sistema operacional UNIX. É open source, pois seu código-fonte está disponível gratuitamente. É de uso gratuito. O Linux foi projetado considerando a compatibilidade do UNIX. Sua lista de funcionalidades é bastante semelhante à do UNIX.

Componentes do sistema Linux

O sistema operacional Linux tem basicamente três componentes

  • Kernel- Kernel é a parte central do Linux. Ele é responsável por todas as principais atividades deste sistema operacional. Ele consiste em vários módulos e interage diretamente com o hardware subjacente. O kernel fornece a abstração necessária para ocultar detalhes de hardware de baixo nível para o sistema ou programas de aplicativos.

  • System Library- Bibliotecas do sistema são funções ou programas especiais que usam os programas aplicativos ou utilitários do sistema que acessam os recursos do Kernel. Essas bibliotecas implementam a maioria das funcionalidades do sistema operacional e não requerem direitos de acesso ao código do módulo do kernel.

  • System Utility - Os programas utilitários do sistema são responsáveis ​​por realizar tarefas especializadas de nível individual.

Modo Kernel vs Modo de Usuário

O código do componente do kernel é executado em um modo privilegiado especial chamado kernel modecom acesso total a todos os recursos do computador. Este código representa um único processo, é executado em um único espaço de endereço e não requer nenhuma troca de contexto e, portanto, é muito eficiente e rápido. Kernel executa cada processo e fornece serviços de sistema para processos, fornece acesso protegido ao hardware para processos.

O código de suporte que não é necessário para ser executado no modo kernel está na Biblioteca do sistema. Os programas do usuário e outros programas do sistema funcionam emUser Modeque não tem acesso ao hardware do sistema e ao código do kernel. Os programas / utilitários do usuário usam as bibliotecas do sistema para acessar as funções do Kernel para obter as tarefas de baixo nível do sistema.

Recursos básicos

A seguir estão alguns dos recursos importantes do sistema operacional Linux.

  • Portable- Portabilidade significa que o software pode funcionar em diferentes tipos de hardware da mesma maneira. O kernel do Linux e os programas de aplicativos suportam sua instalação em qualquer tipo de plataforma de hardware.

  • Open Source- O código-fonte do Linux está disponível gratuitamente e é um projeto de desenvolvimento baseado na comunidade. Várias equipes trabalham em colaboração para aprimorar a capacidade do sistema operacional Linux e ele está em constante evolução.

  • Multi-User - O Linux é um sistema multiusuário, o que significa que vários usuários podem acessar recursos do sistema como memória / memória RAM / programas de aplicativos ao mesmo tempo.

  • Multiprogramming - Linux é um sistema de multiprogramação, o que significa que vários aplicativos podem ser executados ao mesmo tempo.

  • Hierarchical File System - O Linux fornece uma estrutura de arquivos padrão na qual os arquivos do sistema / arquivos do usuário são organizados.

  • Shell- O Linux fornece um programa interpretador especial que pode ser usado para executar comandos do sistema operacional. Ele pode ser usado para fazer vários tipos de operações, chamar programas de aplicativos. etc.

  • Security - O Linux fornece segurança ao usuário usando recursos de autenticação como proteção por senha / acesso controlado a arquivos específicos / criptografia de dados.

Arquitetura

A ilustração a seguir mostra a arquitetura de um sistema Linux -

A arquitetura de um sistema Linux consiste nas seguintes camadas -

  • Hardware layer - O hardware consiste em todos os dispositivos periféricos (RAM / HDD / CPU etc).

  • Kernel - É o componente central do Sistema Operacional, interage diretamente com o hardware, fornece serviços de baixo nível aos componentes da camada superior.

  • Shell- Uma interface para o kernel, ocultando a complexidade das funções do kernel dos usuários. O shell recebe comandos do usuário e executa as funções do kernel.

  • Utilities - Programas utilitários que fornecem ao usuário a maioria das funcionalidades de um sistema operacional.