Sistema operacional multitarefaMultitarefa significa executar uma ou mais tarefas ou processos simultaneamente. Na verdade, em um sistema monoprocessado, os processos sao executados sequencialmente de forma tao rapida que parecem estar sendo executados simultaneamente. O Unix escalona sua execucao e reserva-lhes recursos computacionais (intervalo de tempo de processamento, espaco em memoria RAM, espaco no disco rigido, etc.).O Unix e um sistema operacional de multitarefa preemptiva. Isso significa que, quando esgota-se um determinado intervalo de tempo (chamado quantum), o Unix suspende a execucao do processo, salva o seu contexto (informacoes necessarias para a execucao do processo), para que ele possa ser retomado posteriormente, e coloca em execucao o proximo processo da fila de espera. O Unix tambem determina quando cada processo sera executado, a duracao de sua execucao e a sua prioridade sobre os outros.A multitarefa, alem de fazer com que o conjunto de tarefas seja executado mais rapidamente, ainda permite que o usuario e o computador fiquem livres para realizarem outras tarefas com o tempo economizado.Sistema operacional multiutilizadorUma caracteristica importante do Unix e ser multiusuario (multiutilizador). Bovet e Cesati [4] definem um sistema multiusuario como "aquele capaz de executar, concorrente e independentemente, varias aplicacoes pertencentes a dois ou mais usuarios". O Unix possibilita que varios usuarios usem um mesmo computador simultaneamente, geralmente por meio de terminais. Cada terminal e composto de um monitor, um teclado e, eventualmente, um mouse. Varios terminais podem ser conectados ao mesmo computador num sistema Unix. Ha alguns anos eram usadas conexoes seriais, mas atualmente e mais comum o uso de redes locais, principalmente para o uso de terminais graficos (ou terminais X), usando o protocolo XDMCP.O Unix gerencia os pedidos que os usuarios fazem, evitando que um interfira com outros. Cada usuario possui direitos de propriedade e permissoes sobre arquivos. Quaisquer arquivos modificados pelo usuario conservarao esses direitos. Programas executados por um usuario comum estarao limitados em termos de quais arquivos poderao acessar.O sistema Unix possui dois tipos de usuarios: o usuario root (tambem conhecido como superusuario), que possui a missao de administrar o sistema, podendo manipular todos os recursos do sistema operacional; e os usuarios comuns, que possuem direitos limitados.Para que o sistema opere adequadamente em modo multiusuario, existem alguns mecanismos: (i) um sistema de autenticacao para identificacao de cada usuario (o programa login, p.ex., autentica o usuario verificando uma base de dados, normalmente armazenada no arquivo /etc/passwd); (ii) sistema de arquivos com permissoes e propriedades sobre arquivos (os direitos anteriormente citados); (iii) protecao de memoria, impedindo que um processo de usuario acesse dados ou interfira com outro processo. Esse ultimo mecanismo e implementado com a ajuda do hardware, que consiste na divisao do ambiente de processamento e memoria em modo supervisor (ou modo nucleo) e modo usuario.Arquivos de dispositivoUma caracteristica singular no Unix (e seus derivados) e a utilizacao intensiva do conceito de arquivo. Quase todos os dispositivos sao tratados como arquivos e, como tais, seu acesso e obtido mediante a utilizacao das chamadas de sistema open, read, write e close.Os dispositivos de entrada e saida sao classificados como sendo de bloco (disco, p.ex.) ou de