Вы находитесь на странице: 1из 3

HISTRIA Primeira verso do UNIX foi desenvolvida em 1969 por Ken Thompson para uso em um PDP-71 que de outro

modo, ficaria ocioso. Ritchie e Thompson trabalharam em silencio no UNIX durante muitos anos. Com isso medida que o UNIX se desenvolveu, ele se tornou amplamente usado na Bell Laboratories e em algumas Universidades, com sua primeira verso fora da Bell Laboratories foi a verso 6, em 1976. O primeiro trabalho no Berkeley VAX UNIX recebeu o apoio da DARPA para uso do governo, que inclui novo suporte rede X.25 em conformidade com o padra POSIX. Vrias outras alteraes, como segurana aprimorada e melhor estrutura do kernel, tambm esto includas. Como o UNIX cresceu em popularidade, foi movido para muitos computadores e sistemas de computao diferentes, e variedade de sistemas operacionais, e levou os usurios a esperar um ambiente UNIX independente de qualquer fabricante de computador especfico. Mas com isso levou a uma grande variao de interfaces de programao e de usurio distribudas pelos fornecedores, onde na verdade precisavam de interfaces consistentes. O UNIX de um projeto pessoal de dois funcionrios da Bell Laboratories, passou para um sistema operacional que est sendo definido por rgos de padronizao internacionais. Os SO Tunis, Xinu e Minix que so baseados no UNIX forma desenvolvidos para estudo em sala de aula.

PRINCIPIOS DE PROJETO
O UNIX foi projetado para ser um sistema de tempo compartilhado, escrito na sua maior parte em linguagem C, que foi desenvolvido para fornecer suporte ao UNIX, j que seus programadores no gostavam de programar em Assembly. Seu sistema de arquivo em rvore com multinvel permite aos usurios criarem seus prprios subdiretrios. Isso simplificou o transporte de sistema de hardware para outro. O UNIX suporta mltiplos processos, onde um processo pode facilmente criar novos processos, o escalonamento de CPU um algoritmo de prioridade simples. O swapping usado se um sistema estiver sofrendo de excesso de paginao. O sistema UNIX primeiramente foi desenvolvido por um programador e depois por outro para sua prpria convenincia, era pequeno o suficiente para ser entendido, foi selecionado por simplicidade, em vez de por velocidade ou sofisticao, com isso resultou em muitas imitaes e modificaes. Como foi projetado de programadores para programadores ele sempre foi interativo, e recursos para o desenvolvimento de programas foi sempre uma alta prioridade. INTERFACE DO PROGRAMADOR O UNIX consiste em duas partes separadas, o kernel e os programas do sistema, onde tudo que esta abaixo da interface de chamadas ao sistema e acima do hardware fsico o kernel, que fornece as funes de sistemas de arquivos, escalonamento de

CPU, gerncia de memria e outras funes, j os programas de sistema usam as chamadas suportadas pelo kernel para fornecer funes teis, como compilao e manipulao de arquivos MANIPULAO DE ARQUIVOS O arquivo no UNIX uma sequncia de bytes, onde so organizados em diretrios estruturados em rvores. Seus diretrios propriamente ditos so arquivos que contm informaes sobre como localizar outros arquivos. O sistema de arquivos UNIX tem nomes de caminhos absolutos e relativos onde os caminhos absolutos comeam na raiz do sistema de arquivos e so diferenciados por uma barra no inicio do nome de caminho, /usr/local/font um exemplo, j os relativos comeam no diretrio corrente, que um atributo do processo que acessa o nome do caminho, local/font um exemplo. CONTROLE DE PROCESSO Um processo um programa em execuo, onde so identificados por seu identificador de processo que um inteiro. Um novo processo criado pela chamada ao sistema fork e consiste em uma cpia do espao de endereamento do processo original. O pai e o filho continuam a execuo na instruo depois de fork com uma diferena o cdigo de retorno para fork zero para o novo processo (filho), enquanto o identificador de processo (no zero) do filho devolvido para o pai. A forma mais simples de comunicao entre processos por meio de pipes, ou canais, que podem ser criados anates do fork e cujas extremidades so ento configuradas em fork e execve. SINAIS Os sinais so um recurso para lidar com condies excepcionais, semelhante a interrupes de software. Existem 20 sinais diferentes, cada qual correspondendo a uma condio distinta. Um sinal pode ser gerado por uma interrupo de teclado, por um erro em um processo. O sinal interrupt, usado para parar um comando antes que ele seja completado. O sina quit, interrompe o programa em execuo no momento. MANIPULAO DE INFORMAES Existem chamadas ao sistema para ajustar, e retornar um temporizador de intervalo e a hora atual em microssegundos. Alm disso, os processos podem solicitar os seus identificadores de processo, seus identificadores de grupo, o nome da maquina na qual esto executando e muitos outros valores.

ROTINAS DE BIBLIOTECA A interface de chamadas ao sistema do UNIX suportada e incrementada por uma grande coleo de rotinas de biblioteca e arquivos de header, onde uma grande biblioteca de funes fornece suporte adicional a programas. Suporte de biblioteca adicional fornecido para funes matemticas, acesso de rede, converso de dados e assim por diante. I/O PADRO Os processos podem abrir arquivos como quiserem, mas partes dos processos esperam que trs descritores de arquivos (nmeros 0, 1, 2) estejam abertos quanto eles comearem. So chamados de entrada padro (0), sada padro (1) e erro padro (2). Todos os trs so abertos com frequncia no terminal do usurio. Assim, o programa pode ler o que o usurio digita, lendo a entrada padro, e o programa pode enviar sada para a tela do usurio escrevendo na sada padra. O descritor de arquivo de erro padro tambm aberto para escrita e usado para sada de erros, a sada padro usada para sada normal. A maioria dos programas tambm aceitam um arquivo para entrada e sada padro. BLOCOS DE CONTROLE DE PROCESSO Um importante problema de projeto nos sistemas operacionais a representao de processos. Uma diferena substancial entre o UNIX e muito outros sistemas a facilidade com a qual mltiplos processos podem ser criados e manipulados. Esses processos so representados no UNIX por vrios blocos de controle. No existem blocos de controle de sistemas acessveis no espao de endereamento virtual de um processo de usurio, os blocos de controle associados a um processo so armazenados no kernel. As informaes nesses blocos de controle so usadas pelo kernel para o controle de processo e o escalonamento de CPU. ESCALONAMENTO DE CPU O escalonamento de CPU no UNIX foi criado para beneficiar os processo interativos, pequenas fatias de tempo de CPU por um algoritmo de prioridade que se reduz ao Round-Robin para Jobs limitados pela CPU. Todo processo tem uma prioridade de escalonamento associada a ele, nmeros maiores indicam prioridade menor. Quanto mais tempo de CPU determinado processo acumula, menor (ou mais positiva) se torna a sua prioridade, e vice-versa, de modo que existe um feedback negativo no escalonamento de CPU e E difcil para um nico processo usar todo o tempo da CPU. O envelhecimento de processos usado para evitar paralisao.

Вам также может понравиться