UNIX é um poderoso sistema operacional desenvolvido inicialmente por Ken Thompson e Dennis Ritchie nos laboratórios AT&T Bell em 1970. É predominante entre instituições científicas, de engenharia e acadêmicas devido aos seus recursos mais apreciados, como multitarefa, flexibilidade e muito mais. No UNIX, o sistema de arquivos é uma estrutura hierárquica de arquivos e diretórios onde os usuários podem armazenar e recuperar informações usando os arquivos.
Recursos do sistema operacional UNIX:
Vamos discutir detalhadamente os recursos do sistema operacional UNIX, um por um.
Multitarefa: Um sistema operacional UNIX é um sistema operacional multitarefa que permite iniciar mais de uma tarefa a partir do mesmo terminal, de modo que uma tarefa seja executada em primeiro plano e a outra tarefa como processo em segundo plano.
Multi usuário: O sistema operacional UNIX suporta mais de um usuário para acessar recursos do computador, como memória principal, disco rígido, unidades de fita, etc. Vários usuários podem fazer logon no sistema a partir de diferentes terminais e executar diferentes trabalhos que compartilham os recursos de um terminal de comando. Trata do princípio do time-sharing. O compartilhamento de tempo é feito por um agendador que divide o tempo de CPU em vários segmentos, também chamados de intervalo de tempo, e cada segmento é atribuído a cada usuário de forma programada. Este intervalo de tempo é minúsculo. Quando esse tempo expirar, ele passará o controle para o usuário seguinte no sistema. Cada usuário executa seu conjunto de instruções dentro de seu intervalo de tempo.
Portabilidade: Esse recurso faz com que o UNIX funcione em diferentes máquinas e plataformas com fácil transferência de código para qualquer sistema de computador. Uma vez que uma parte significativa do UNIX é escrita em linguagem C, e apenas uma pequena parte é codificada em linguagem assembly para hardware específico.
Segurança e proteção de arquivos: Sendo um sistema multiusuário, o UNIX dá atenção especial à segurança de arquivos e sistemas. UNIX possui diferentes níveis de segurança usando a atribuição de nome de usuário e senha a usuários individuais garantindo a autenticação, no nível que fornece permissão de acesso a arquivos, viz. ler, escrever e executar e, por último, criptografia de arquivo para alterar o arquivo para um formato ilegível.
Estrutura de Comando: Os comandos UNIX são fáceis de entender e simples de usar. Exemplo: 'cp', mv etc. Ao trabalhar no ambiente UNIX, os comandos UNIX diferenciam maiúsculas de minúsculas e são inseridos em letras minúsculas.
Comunicação: No UNIX, a comunicação é um excelente recurso que permite ao usuário se comunicar em todo o mundo. Ele suporta vários recursos de comunicação fornecidos usando o comando write, comando mail, comando talk, etc.
Código aberto: O sistema operacional UNIX é de código aberto, o que significa que está disponível gratuitamente para todos e é um projeto de desenvolvimento baseado na comunidade.
Contabilidade: UNIX mantém uma conta dos trabalhos criados pelo usuário. Este recurso melhora o desempenho do sistema em termos de monitoramento da CPU e verificação de espaço em disco. Ele permite que você mantenha um registro do espaço em disco usado por cada usuário, e o espaço em disco pode ser limitado entre si. Você pode atribuir a cada usuário uma cota de disco diferente. O usuário root pode realizar essas tarefas de contabilidade usando vários comandos como quota, df, du, etc.
Ferramentas e utilitários UNIX: O sistema UNIX fornece vários tipos de ferramentas e utilitários, como UNIX grep, sed e awk, etc. Algumas das ferramentas de uso geral são compiladores, interpretadores, aplicativos de rede, etc. .
A estrutura das camadas do sistema operacional Unix é a seguinte:
Ao trabalhar com o sistema operacional UNIX, várias camadas deste sistema fornecem interação entre o hardware do PC e o usuário. A seguir está a descrição de cada estrutura de camada no sistema UNIX:
Camada 1: Hardware -
Esta camada do UNIX consiste em todas as informações relacionadas ao hardware no ambiente UNIX.
Camada 2: Kernel -
O núcleo do sistema operacional responsável por manter todas as funcionalidades é denominado kernel. O kernel do UNIX é executado no hardware da máquina específica e interage efetivamente com o hardware.
Também funciona como gerenciador de dispositivos e desempenha funções valiosas para os processos que requerem acesso aos dispositivos periféricos conectados ao computador. O kernel controla esses dispositivos através de drivers de dispositivos.
O kernel também gerencia a memória. Processos são programas executados que possuem humanos ou sistemas proprietários que iniciam sua execução.
O sistema deve fornecer a todos os processos acesso a uma quantidade adequada de memória, e alguns processos exigem muita memória. Fazer uso eficaz da memória principal e alocar uma quantidade suficiente de memória para cada processo. Ele usa técnicas essenciais como paginação, troca e armazenamento virtual.
Camada 3: A Casca -
O Shell é um interpretador que interpreta o comando enviado pelo usuário no terminal e chama o programa que você deseja.
Ele também mantém um histórico da lista de comandos que você digitou. Se precisar repetir um comando digitado, use as teclas do cursor para rolar para cima e para baixo na lista ou digite histórico para obter uma lista de comandos anteriores. Existem vários comandos como cat, mv, cat, grep, id, wc e muitos mais.
Tipos de Shell no sistema UNIX:
Camada 4: Camada de Programas Aplicativos -
É a camada mais externa que executa os aplicativos externos fornecidos. Distribuições UNIX normalmente vêm com vários programas aplicativos úteis como padrão. Por exemplo: editor emacs, StarOffice, visualizador de imagens xv, compilador g++ etc.