Apostila Básica
 de Unix

 

Autor: Marcelo Palmieri Martins
(Analista de Sistemas - Imp. Eletr.)
 Introdução ao Unix

Histórico

 A primeira versão do sistema operacional Unix foi desenvolvida em 1969 por Ken Thompson do grupo de pesquisas da Bell (braço subsidiário da AT&T). Várias versões do Unix foram desenvolvidas a partir daí, até que em 1978 a Universidade de Berkeley lançou uma versão do Unix para computadores VAX, além de incluir diversas facilidades no S.O. Vários fabricantes passaram então a se interessar pelo produto (que já possuía boa receptividade no meio acadêmico) desenvolvendo suas próprias versões.

Características Básicas

 O sistema operacional Unix permite que várias pessoas o utilizem simultaneamente (multiusuário), arbitrando as várias solicitações para distribuir os recursos do computador justa e eficazmente. Diversos programas podem “rodar” simultaneamente (multiprogramação).
 O sistema parcela o tempo do computador em uma série de partes e os aloca entre os vários usuários. O objetivo desta técnica, denominada “tempo compartilhado”, é dar a cada usuário a ilusão de uso exclusivo da máquina. Cada tarefa a ser executada pelo computador (programas, editoração, etc...) recebe uma fatia de tempo da CPU da máquina. Portanto, quanto mais tarefas, menor o tempo de CPU que cada uma recebe.
 Todos estes conceitos demonstram que o sistema Unix é um sistema operacional complexo e que necessita da figura de um administrador denominado pelo sistema de “super-usuário”. Este tem privilégios que os demais usuários do sistema não possuem.
 O sistema operacional Unix controla os recursos do computador, faz sua distribuição entre os vários usuários concorrentes, executa o escalonamento de tarefas (processos), controla os dispositivos periféricos conectados ao sistema, fornece funções de gerenciamento do sistema, e de um modo geral oculta do usuário final a arquitetura interna da máquina. Isso é realizado através de uma arquitetura que usa camadas de software projetadas para diferentes finalidades.
 

Shell

 O “shell” é um interpretador de comandos (interpreta os comandos inseridos pelo teclado), ou seja, provê a interface entre o usuário e o sistema operacional. Em muitos sistemas o interpretador de comandos é uma parte da estrutura interna do S.O.. No Unix porém, o “shell” é um programa como outro qualquer, além de ser uma linguagem de programação sofisticada (scripts em shell), que será visto mais adiante. Existem diversos tipos de “shell” como o /bin/sh (“Bourne Shell”), /bin/ksh (“Korn Shell”) e o /bin/csh (“C Shell”).

OBS: No Unix espaços em branco, letras maiúsculas e minúsculas são extremamente importantes.
 Ex.: o comando “echo hello” é dife

1