Minix

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
 Minix

MINIX 3.1.2a
Desenvolvedor: Andrew Stuart Tanenbaum
Família do SO: UNIX
Modelo do desenvolvimento: Software livre
Última versão: 3.1.2a
Data da última versão: 29 de Maio de 2006
Kernel: Micro-Kernel
Interface: {{{ui}}}
Interface: {{{iu}}}
Licença: {{{licenca}}}
Estado do desenvolvimento: Estável
Website: Site Oficial www.minix3.org

O Minix é um sistema operacional Unix-like (semelhante ao UNIX), gratuito e com o código fonte disponível.

  • Multitarefa (múltiplos programas podem correr ao mesmo tempo ).
  • Roda em 286, 386, 486, Pentium.
  • Suporta memória estendida (16MB no 286 e 4GB no 386, 486 e Pentium ou superior).
  • RS-232 serial line suporte com terminal emulation, kermit, zmodem, etc.
  • Máximo de três usuários simultaneamente na mesma máquina.
  • Chamadas de sistemas compatíveis com POSIX.
  • Inteiramente escrito em C (SO, utilitários, bibliotecas etc.).
  • Compilador ANSI C.
  • Shell funcionalmente idêntico ao Bourne shell.
  • Rede TCP/IP.
  • 5 editores (emacs subset, vi clone, ex, ed, and simple screen editor).
  • Mais de 200 utilitários (cat, cp, ed, grep, kermit, ls, make, sort, etc.).
  • Mais de 300 bibliotecas (atoi, fork, malloc, read, stdio, etc.).

Foi organizado em camadas, onde as duas primeiras formam o kernel:

  • Captura interrupções e traps, salvar e restaurar registradores, agendar as demais funções
  • Processos de I/O.
  • As tarefas de I/O são chamadas drivers de dispositivos;
  • Contém processos que fornecem serviços úteis ao usuário;
  • Existem em um nível menos privilegiado que o kernel;
  • Shell, editores, compiladores, etc.

Processos são entidades independentes, cada um com suas permissões de acesso, e têm atribuídos propriedades como o id do usuário que o criou (UID) e do grupo (GID). Grande parte de sua execução se processa em user-mode, quando o processador não admite a execução de instruções privilegiadas, mas em certos instantes (durante uma chamada de sistema), ele executa em kernel-mode para conseguir o acesso a partes do hardware que de outra forma seriam inacessíveis. Cada processo é identificado pelo seu process id (PID), que é simplesmente um número inteiro.

Mais especificamente, do ponto de vista do sistema operacional, é uma coleção de instruções (programa) mais os dados necessários à sua execução. Armazenados juntamente com o processo estão o seu contexto, ou seja, o contador de instruções, e o conjunto de todos os registradores da CPU. É responsabilidade do sistema operacional gerenciar os processos do sistema, de forma que, se um processo tenta ler ou escrever em um disco, por exemplo, este processo ficará em estado waiting (suspenso) até que a operação seja completada.

Nesse ínterim, outro processo será habilitado a correr, desperdiçando assim o mínimo do tempo da CPU, memória e demais periféricos. O Linux suporta inclusive um procedimento de "escrita retardada", quando escrevemos em algum arquivo. No momento da escrita, o buffer que contém estes dados é simplesmente marcado como "sujo" (dirty), e o sistema operacional escolhe o instante mais apropriado para descarregar esse buffer no disco físico. Isso explica a necessidade que temos de executar um procedimento de parada (shutdown ) antes de desligar a máquina, para evitar que fiquem dados a serem descarregados (escritos) no disco.

Ligações externas


This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net