한국   대만   중국   일본 
Unix ? Wikipedia, a enciclopedia livre Saltar para o conteudo

Unix

Origem: Wikipedia, a enciclopedia livre.
Unix
Producao Ken Thompson , Dennis Ritchie , Douglas McIlroy , Joe Ossanna , dentre outros. [ 1 ] [ 2 ]
Linguagem C , Assembly .
Modelo Depende da versao. Ha versoes de codigo fechado e outros projetos de codigo aberto - entre os quais estao a familia BSD e o OpenSolaris .
Lancamento 1969
Arquitetura(s) x86 , x64 , ARM , PowerPC
Interface Linha de comando e Interface grafica
Pagina oficial http://opengroup.org/unix

Unix ( ingles:  [?ju:n?ks] ) e um sistema operativo portavel , multitarefa e multiutilizador originalmente criado por Ken Thompson , Dennis Ritchie , entre outros, que trabalhavam nos Laboratorios Bell da AT&T . [ 3 ]

A marca UNIX e uma propriedade do The Open Group , uma companhia formada por empresas de informatica. [ 4 ]

Historia [ editar | editar codigo-fonte ]

Em 1965 formou-se um grupo de programadores, incluindo Ken Thompson , Dennis Ritchie , Douglas McIlroy e Peter Weiner , num esforco conjunto da AT&T (Laboratorios Bell) , da General Electric (GE) e do MIT (Massachussets Institute of Technology) para o desenvolvimento de um sistema operacional chamado Multics . [ 5 ]

Linha do tempo dos variantes do Unix.

O Multics deveria ser um sistema de tempo compartilhado para uma grande comunidade de usuarios. Entretanto, os recursos computacionais disponiveis a epoca, particularmente os do computador utilizado, um GE 645 , revelaram-se insuficientes para as pretensoes do projeto. No periodo entre 1968 e 1969 os Laboratorios Bell retiraram-se lentamente do projeto. Duas razoes principais foram citadas para explicar a sua saida. Primeira: tres instituicoes com objetivos dispares dificilmente alcancariam uma solucao satisfatoria para cada uma delas (o MIT fazia pesquisa, AT&T monopolizava os servicos de telefonia americanos e a GE queria vender computadores). A segunda razao e que os participantes sofriam da sindrome do segundo projeto e, por isso, queriam incluir no Multics tudo que tinha sido excluido dos sistemas experimentais ate entao desenvolvidos. [ carece de fontes ? ]

Ainda em 1969, Ken Thompson, usando um ocioso computador PDP-7 , comecou a reescrever o Multics num conceito menos ambicioso, batizado de Unics, usando linguagem de montagem assembly . Mais tarde, Brian Kernighan rebatizou o novo sistema de UNIX .

Um marco importante foi estabelecido em 1973, quando Dennis Ritchie e Ken Thompson reescreveram o Unix, usando a linguagem C , para um computador PDP-11 . A linguagem C havia sido desenvolvida por Ritchie para substituir e superar as limitacoes da linguagem B , desenvolvida por Thompson. [ 6 ]

Finalmente, ao longo dos anos 1970 e 80 foram sendo desenvolvidas as primeiras distribuicoes de grande dimensao como os sistemas BSD (na Universidade de Berkeley na California ) e os System III e System V (na AT&T).

Em 1977, a AT&T comecou a fornecer o Unix para instituicoes comerciais. A abertura do mercado comercial para o Unix deve muito a Peter Weiner - cientista de Yale e fundador da Interactive System Corporation. Weiner conseguiu da AT&T, entao ja desnudada de seu monopolio nas comunicacoes e liberada para atuacao no mercado de software , licenca para transportar e comercializar o Unix para o computador Interdata 8/32 para ambiente de automacao de escritorio. O Unix saia da linha das maquinas PDP, da Digital Equipament Corporation (DEC), demonstrando a relativa facilidade de migracao (transporte) para outros computadores, e que, em parte, deveu-se ao uso da linguagem C. O sucesso da Interactive de Weiner com seu produto provou que o Unix era vendavel e encorajou outros fabricantes a seguirem o mesmo curso. Iniciava-se a abertura do chamado mercado Unix .

Com a crescente oferta de microcomputadores, outras empresas transportaram o Unix para novas maquinas. Devido a disponibilidade dos fontes do Unix e a sua simplicidade, muitos fabricantes alteraram o sistema, gerando variantes personalizadas a partir do Unix basico licenciado pela AT&T. De 1977 a 1981, a AT&T integrou muitas variantes no primeiro sistema Unix comercial chamado de System III. Em 1983, apos acrescentar varios melhoramentos ao System III, a AT&T apresentava o novo Unix comercial, agora chamado de System V. Hoje, o Unix System V e o padrao internacional de fato no mercado Unix, constando das licitacoes de compra de equipamentos de grandes clientes na America, Europa e Asia.

Atualmente, Unix (ou *nix) e o nome dado a uma grande familia de Sistemas Operativos que partilham muitos dos conceitos dos Sistemas Unix originais (GNU/Linux, embora compartilhe conceitos de sistemas da familia Unix, nao faz parte desta familia por nao compartilhar de codigo derivado de algum sistema da familia Unix e nao possuir o mesmo objetivo e filosofia no qual o Unix se originou e, em grande parte, mantem ate hoje), sendo todos eles desenvolvidos em torno de padroes como o POSIX (Portable Operating System Interface) e outros. Alguns dos Sistemas Operativos derivados do Unix sao: BSD ( FreeBSD , OpenBSD e NetBSD ), Solaris (anteriormente conhecido por SunOS ), IRIX , AIX , HP-UX , Tru64 , SCO , e ate o Mac OS X (baseado em um nucleo Mach BSD chamado Darwin ). Existem mais de quarenta sistemas operacionais *nix, rodando desde celulares a supercomputadores, de relogios de pulso a sistemas de grande porte.

Caracteristicas [ editar | editar codigo-fonte ]

Sistema operacional multitarefa [ editar | editar codigo-fonte ]

Multitarefa 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 multiutilizador [ editar | editar codigo-fonte ]

Uma 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 dispositivo [ editar | editar codigo-fonte ]

Uma 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 caractere (impressora, modem , etc.) e sao associados a arquivos mantidos no diretorio /dev (v. detalhamento mais adiante).

Estrutura [ editar | editar codigo-fonte ]

A estrutura do sistema Unix.

Um sistema Unix consiste, basicamente, de duas partes:

  • Nucleo - o nucleo do sistema operacional, a parte que relaciona-se diretamente com o hardware, e que executa num espaco de memoria privilegiado. Agenda processos, gerencia a memoria, controla o acesso a arquivos e a dispositivos de hardware (estes, por meio dos controladores de dispositivo - drivers - e interrupcoes). O acesso ao nucleo e feito por chamadas de sistema , que sao funcoes fornecidas pelo nucleo; essas funcoes sao disponibilizadas para as aplicacoes por bibliotecas de sistema C (libc).
  • Programas de sistema - sao aplicacoes, que executam em espacos de memoria nao privilegiados, e que fazem a interface entre o usuario e o nucleo. Consistem, principalmente, de:
  • Conjunto de biblioteca C (libc)
  • Shell - um ambiente que permite que o usuario digite comandos.
  • Programas utilitarios diversos - sao programas usados para manipular arquivos, controlar processos etc.
  • Ambiente grafico (GUI) graphics user interface - eventualmente utiliza-se tambem um ambiente grafico para facilitar a interacao do usuario com o sistema.

Em um sistema Unix, o espaco de memoria utilizado pelo nucleo e denominado espaco do nucleo ou supervisor (em ingles : kernel space ); a area de memoria para os outros programas e denominada espaco do usuario ( user space ). Essa separacao e um mecanismo de protecao que impede que programas comuns interfiram com o sistema operacional.

Processos [ editar | editar codigo-fonte ]

Um processo, na visao mais simples, e uma instancia de um programa em execucao. Um programa, para ser executado, deve ser carregado em memoria; a area de memoria utilizada e dividida em tres partes: codigo ( text ), dados inicializados ( data ) e pilha ( stack ).

Por ser um sistema multitarefa, o Unix utiliza uma estrutura chamada tabela de processos, que contem informacoes sobre cada processo, tais como: identificacao do processo (PID), dono, area de memoria utilizada, estado ( status ). Apenas um processo pode ocupar o processador em cada instante - o processo encontra-se no estado "executando" ( running ). Os outros processos podem estar "prontos" ( ready ), aguardando na fila de processos, ou entao estao "dormindo" ( asleep ), esperando alguma condicao que permita sua execucao.

Um processo em execucao pode ser retirado do processador por duas razoes: (i) necessita acessar algum recurso, fazendo uma chamada de sistema - neste caso, apos sua retirada do processador, seu estado sera alterado para "dormindo", ate que o recurso seja liberado pelo nucleo; (ii) o nucleo pode interromper o processo (preempcao) - neste caso, o processo ira para a fila de processos (estado "pronto"), aguardando nova oportunidade para executar - ou porque a fatia de tempo esgotou-se, ou porque o nucleo necessita realizar alguma tarefa.

Existem quatro chamadas de sistema principais associadas a processos: fork , exec , exit e wait . fork e usada para criar um novo processo, que ira executar o mesmo codigo (programa) do programa chamador (processo-pai); exec ira determinar o codigo a ser executado pelo processo chamado (processo-filho); exit termina o processo; wait faz a sincronizacao entre a finalizacao do processo-filho e o processo-pai.

Sistema de arquivos [ editar | editar codigo-fonte ]

Sistema de arquivos e uma estrutura logica que possibilita o armazenamento e recuperacao de arquivos. No Unix, arquivos sao contidos em diretorios (ou pastas), os quais sao conectados em uma arvore que comeca no diretorio raiz (designado por / ). Mesmo os arquivos que se encontram em dispositivos de armazenamento diferentes (discos rigidos, disquetes, CDs, DVDs, sistemas de arquivos em rede) precisam ser conectados a arvore para que seu conteudo possa ser acessado. Cada dispositivo de armazenamento possui a sua propria arvore de diretorios.

O processo de conectar a arvore de diretorios de um dispositivo de armazenamento a arvore de diretorios raiz e chamado de "montar dispositivo de armazenamento" (montagem) e e realizada por meio do comando mount . A montagem associa o dispositivo a um subdiretorio.

Estrutura de diretorios [ editar | editar codigo-fonte ]

A arvore de diretorios do Unix e dividida em varias ramificacoes menores e pode variar de uma versao para outra. Os diretorios mais comuns sao os seguintes:

/ ? Diretorio raiz - este e o diretorio principal do sistema. Dentro dele estao todos os diretorios do sistema do seu computador.
/bin ? Contem arquivos, programas do sistema, que sao usados com frequencia pelos usuarios.
/boot ? Contem arquivos necessarios para a inicializacao do sistema.
/dev ? Contem arquivos usados para acessar dispositivos (perifericos) existentes no computador.
/etc ? Arquivos de configuracao de seu computador local.
/home ? Diretorios contendo os arquivos dos usuarios.
/lib ? Bibliotecas compartilhadas pelos programas do sistema e modulos do nucleo.
/mnt ? Diretorio de montagem de dispositivos.
/mnt/cdrom ? Subdiretorio onde sao montados os CDs. Apos a montagem, o conteudo do CD se encontrara dentro deste diretorio.
/mnt/floppy ? Subdiretorio onde sao montados os disquetes. Apos a montagem, o conteudo do disquete se encontrara dentro deste diretorio.
/proc ? Sistema de arquivos do nucleo. Este diretorio nao existe no disco rigido, e colocado la pelo nucleo e usado por diversos programas.
/root ? Diretorio do usuario root.
/sbin ? Diretorio de programas usados pelo superusuario (root) para administracao e controle do funcionamento do sistema.
/tmp ? Diretorio para armazenamento de arquivos temporarios criados por programas.
/usr ? Contem maior parte de seus programas. Normalmente acessivel somente como leitura.
/var ? Contem maior parte dos arquivos que sao gravados com frequencia pelos programas do sistema.

Particularidades [ editar | editar codigo-fonte ]

Um sistema Unix e orientado a arquivos , quase tudo nele e arquivo. Seus comandos sao na verdade arquivos executaveis , que sao encontrados em lugares previsiveis em sua arvore de diretorios, e ate mesmo a comunicacao entre entidades e processos e feita por estruturas parecidas com arquivos. O acesso a arquivos e organizado atraves de propriedades e protecoes. Toda a seguranca do sistema depende, em grande parte, da combinacao entre as propriedades e protecoes definidas em seus arquivos e suas contas de usuarios.

Aplicacoes [ editar | editar codigo-fonte ]

O Unix permite a execucao de pacotes de softwares aplicativos para apoio as diversas atividades empresariais. Dentre estes pacotes destacam-se:

  • geradores graficos
  • planilhas eletronicas
  • processadores de textos
  • geradores de aplicacoes
  • linguagens de 4° geracao
  • banco de dados

O Unix possui recursos de apoio a comunicacao de dados, que proporcionam sua integracao com outros sistemas Unix, e ate com outros sistemas operacionais distintos. A integracao com sistemas heterogeneos permite as seguintes facilidades:

  • compartilhamento de recursos e informacoes
  • transferencia de informacoes
  • comunicacao entre usuarios remotos
  • submissao de programas para serem executados em computadores remotos
  • utilizacao dos terminais de uma maquina Unix como terminais de outras maquinas remotas, mesmo com sistemas operacionais distintos.

Para ultima, o Unix oferece um ambiente integrado e amigavel, voltado para a gestao automatizada de escritorio, com servicos que atenderao as seguintes areas:

  • arquivamento eletronico de informacoes
  • processador de documentos
  • agenda e calendario
  • calculadora
  • correio eletronico

Ambiente grafico do Unix [ editar | editar codigo-fonte ]

Filiacao dos Sistemas Unix e Unix-like.

X Window System [ editar | editar codigo-fonte ]

Alem do shell , o Unix suporta interface grafica para o usuario . Nas primeiras versoes do Unix as interfaces do usuario eram baseadas apenas em caracteres (modo texto) e o sistema compunha-se apenas do nucleo, de bibliotecas de sistema, do shell e de alguns outros aplicativos. As versoes mais recentes do Unix, alem de manterem o shell e seus comandos, incluem o X Window System que, gracas ao gerenciador de exibicao e ao gerenciador de janelas , possui uma interface atraente e intuitiva que aumenta em muito a produtividade do usuario.

Desenvolvido no MIT (Massachussets Institute of Technology), o X Window System (tambem pode ser chamado de Xwindow) tornou-se o sistema grafico do Unix. O Xwindow funciona como gerenciador de exibicao e por si so, nao faz muita coisa. Para termos um ambiente grafico produtivo e completo, precisamos tambem de um gerenciador de janelas.

O gerenciador de janelas proporciona ao ambiente grafico a aparencia e as funcionalidades esperadas incluindo as bordas das janelas, botoes, truques de mouse , menus etc. Como no sistema Unix o gerenciador de exibicao (X Window System) e separado do gerenciador de janelas, dizemos que seu ambiente grafico e do tipo cliente-servidor . O Xwindow funciona como servidor e interage diretamente com o mouse , o teclado e o video. O gerenciador de janelas funciona como cliente e se aproveita dos recursos disponibilizados pelo Xwindow.

O fato de o Unix possuir o gerenciador de exibicao (Xwindow) separado do gerenciador de janelas tornou possivel o surgimento de dezenas de gerenciadores de janelas diferentes. Os gerenciadores de janelas mais comuns no mundo Unix sao o Motif, Open Look , e o CDE . Tambem existem outros gerenciadores de janelas que sao bastante utilizados no Unix, principalmente nos sistemas Unix-Like (versoes gratuitas e clones do Unix). Sao eles: KDE , Gnome , FVWM , BlackBox , Enlightenment , WindowMaker etc.

Comandos [ editar | editar codigo-fonte ]

Esta e uma lista de programas de computador para o sistema operacional Unix e os sistemas compativeis, como o Linux . Os comandos do Unix tornam-se acessiveis ao usuario a partir do momento em que ele realiza o login no sistema. Se o usuario utiliza tais comandos, entao ele se encontra no modo shell, tambem chamado de modo texto (ou Unix tradicional). Quando estiver utilizando o modo grafico, o usuario tambem podera se utilizar de tais comandos desde que abra uma janela de terminal (Xterm).

A linha de comando do sistema operacional Unix permite a realizacao de inumeras tarefas atraves de seus comandos, de manipulacao de arquivos a verificacao do trafego em rede. Para exibir uma descricao detalhada de cada comando abra uma console ou xterm e digite man comando , onde comando e o comando em questao.

Comandos de manipulacao de diretorio [ editar | editar codigo-fonte ]

mkdir - Cria um diretorio vazio exemplo: mkdir docs.
rmdir - Exclui um diretorio (se estiver vazio).
rm -rf - Exclui um diretorio e todo o seu conteudo.
cd - Entra num diretorio (exemplo: cd docs) ou retorna para HOME.
cd / - Muda para o diretorio raiz.
cd ~ - vai direto para o diretorio home do usuario logado.
cd - - volta ao ultimo diretorio acessado.
pwd - Exibe o local do diretorio atual.
ls - Lista o conteudo do diretorio.
ls -alh - Mostra o conteudo detalhado do diretorio.
ls -a - Exibe os arquivos "ocultos" do determinado diretorio.
ls -ltr - Mostra os arquivos no formado longo(l) em ordem inversa(r) de data (t).
df - Mostra a utilizacao dos sistemas de arquivos montados pelo usuario do computador.
du -ms - Mostra o tamanho do diretorio em Megabytes.
whereis - Mostra onde se encontra determinado arquivo (binarios) exemplo: whereis samba.
Gerenciador de janelas Window Maker.

Comandos para manipulacao de arquivos [ editar | editar codigo-fonte ]

cat - Mostra o conteudo de um arquivo binario ou texto
tac - Semelhante ao cat mas inverte a ordem
tail - Mostra as ultimas linhas de um arquivo. Ex: tail -f <arquivo> Util para visualizar arquivos de log continuamente.
head - Mostra as primeiras linhas de um arquivo. Ex: head -100 visualiza as 100 primeiras linhas do arquivo.
less - Mostra o conteudo de um arquivo de texto com controle
vi - Editor de ficheiros de texto
vim - Versao melhorada do editor supracitado
rm - Remocao de arquivos (tambem remove diretorios, mas com o parametro -r, que significa recursividade)
cp - Copia diretorios 'cp -r' copia recursivamente
mv - Move ou renomeia arquivos e diretorios
chmod - Altera as permissoes de arquivos ou directorios
chown - Altera o dono de arquivos ou directorios
cmd>txt - Cria um novo arquivo(txt) com o resultado do comando(cmd)
cmd>>txt - Adiciona o resultado do comando(cmd) ao fim do arquivo(txt)
touch foo.txt - Cria um arquivo foo.txt vazio; tambem altera data e hora de modificacao para agora
> arquivo.txt - Mais rapido que o touch para criacao de arquivos
split - Divide um arquivo
recode - Recodifica um arquivo ex: recode iso-8859-15..utf8 file_to_change.txt

Comandos para administracao [ editar | editar codigo-fonte ]

man - Mostra o manual do comando.
adduser - Adiciona usuarios. O useradd pode tambem ser usado.
addgroup - Adiciona grupos. O groupadd pode tambem ser usado.
apropos - Realiza pesquisa por palavra ou string
dmesg - Exibe as mensagens da inicializacao(log)
du - Exibe estado de ocupacao dos discos/particoes
find - Comando de busca ex: find ~/ -cmin -3
userdel - Remove usuarios
usermod - Modifica informacoes de um determinado usuario.
groupmod - Modifica informacoes de um determinado grupo.
chfn - Altera informacao relativa a um utilizador (usuario).
who - Informa quem esta logado no sistema. Em algumas versoes do Linux , o comando w pode ser usado, e retorna informacoes mais detalhadas, como o shell do usuario.
whoami - Informa com qual usuario voce esta logado
passwd - Modifica senha (password) de usuarios
umask - Define padroes de criacao de arquivos e diretorios
ps - Mostra os processos correntes
ps aux (ou ps -ef) - Mostra todos os processos correntes no sistema
kill - Mata um processo
killall - Mata todos os processos com o nome informado
su - Troca para o super-usuario root (e exigida a senha)
su user - Troca para o usuario especificado em 'user' (e exigida a senha)
chown - Altera o proprietario de arquivos e pastas (dono)

Comandos para administracao de rede [ editar | editar codigo-fonte ]

ifconfig - mostra as interfaces de redes ativas e as informacoes relacionadas a cada uma delas
route - Mostra as informacoes referentes as rotas
mtr - Mostra rota ate determinado IP
netstat - Exibe as portas e protocolos abertos no sistema.
iptraf - Analisador de trafego da rede com interface grafica baseada em dialogos
tcpdump - Sniffer muito popular. Sniffer e uma ferramenta que "ouve" os pacotes que estao passando pela rede.
traceroute Traca uma rota do host local ate o destino mostrando os roteadores intermediarios
nslookup - Consultas a servicos DNS
dig - Consultas a servicos DNS

Ver tambem [ editar | editar codigo-fonte ]

Referencias

  1. Ritchie, Dennis M. ≪The Evolution of the Unix Time-sharing System≫ (PDF) . Consultado em 24 de maio de 2021 . Copia arquivada (PDF) em 3 de abril de 2017  
  2. ≪In the Beginning: Unix at Bell Labs≫  
  3. Ritchie, D.M.; Thompson, K. (Julho de 1978). ≪The UNIX Time-Sharing System≫ . USA: American Tel. & Tel. Bell System Tech. J. (em ingles). 57 (6): 1905?1929. doi : 10.1002/j.1538-7305.1978.tb02136.x . Consultado em 9 de Dezembro de 2012  
  4. ≪Trademarks | The Open Group Website≫ . www.opengroup.org . Consultado em 23 de maio de 2021  
  5. STUART, Brian (2009). Principles of operating systems: design & applications . Boston, Massachusetts: Thompson Learning. p. 23. ISBN   1-4188-3769-5  
  6. Schildt, Herbert (2006). C Completo e Total . Traduzido por Carlos Meyer. [S.l.]: Makron Books. p. 1. ISBN   9788534605953  

Bibliografia [ editar | editar codigo-fonte ]

  • LEAL, CALHAU (2003). The design of the Unix operating system . New Jersey: Venda da Bifana  
  • RUI, MARTINS (1999). Sistemas operacionais modernos . Rio de Janeiro: LTC  
  • Marques, Pero; Balalaiko, Paulo (2004). The design and implementation of the FreeBSD operating system . Boston: Addison-Wesley  
  • JOSE RODRIGUES, Daniel; CESATI, Marco (2005). Understanding the Linux kernel . [S.l.]: O'Reilly Media  

Ligacoes externas [ editar | editar codigo-fonte ]