SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Universidade Estadual de Campinas
     Instituto de Computação



         MO806/MC914
Tópicos em Sistemas Operacionais

        Seminário: MINIX
        Daniel Bruno Alves dos Santos
        danielbrunoalves@gmail.com
Roteiro

    A história do MINIX

    MINIX2 versus MINIX3

    Processos

    Entrada e saída

    Gerenciamento de memória

    Sistemas de arquivos

    Referências

                                2
A história do MINIX

    Criado por Tanenbaum com propósitos acadêmicos, para exemplificar os
    conceitos de seu livro: “Sistemas Operacionais: projeto e implementação”
    (1987)

    Deriva da palavra (mini-UNIX)

    Microkernel

    Projetado para ser compatível com a versão 7 do UNIX

    Escrito a partir da linguagem C, como o UNIX

    Padrão POSIX para as chamadas de sistemas

    Inspirou a criação do Kernel do Linux

    Atualmente encontra-se na versão 3 (2005)




                                                                           3
MINIX

    O MINIX destina-se a computadores pessoais e
    não a sistemas de compartilhamento de tempo
    de grande porte

    Foi projetado para funcionar em todos os IBM
    PC




                                               4
Versões do MINIX

    Versão 1 (1987):

    −   Compatível com a versão 7 do UNIX
    −   Cerca de 12.000 linhas de código C, contemplando
        Kernel, gerenciamento de memória, sistemas de
        arquivos
    −   Liberou o código fonte e binários através de diskets
        com um manual de referência
    −   Grupo de discussão USENET (cerca de 40.000
        assinantes, em 3 meses)

                                                           5
Versões do MINIX

    Versão 2 (1997):
    −   Baseado na segunda versão do livro de
        Tanenbaum [1]
    −   Disponível apenas para x86, Solaris em arquitetura
        SPARC
    −   Adicionou o padrão POSIX
    −   Disitribuído a partir de CD-ROM




                                                         6
Versões do MINIX

    Versão 3 (2005):
    −   Foi reprojetada para ser “usada como um sistema
        sério sobre recursos limitados e computadores
        embarcados e para aplicações que requerem alta
        confiabilidade” [4]
    −   Suporta apenas arquitetura IA-32
    −   Disponível a partir de LiveCD
    −   Licença FreeBSD



                                                      7
MINIX2 versus MINIX3

    Melhorias em Relação à versão 2:
    −   Novas características:
         
             Instalação baseada em LiveCD
         
             Sistema de janelas X Window
         
             Suporte até 4GB de memória
         
             Blocos de disco com tamanhos: 1, 2, 4 ou 8KB
         
             Adição das chamadas de sistema “Select”
         
             Inclusão de novos programas: gcc, g++, emacs, pyton,
             perl, etc
         
             Servidor de informação para depuração
         
             Reincarnation Server que “mata” e substitui drivers
             defeituosos em tempo de execução

                                                                8
MINIX2 versus MINIX3

    Estrutura de Sistema:
    −   Reescrita do Kernel e diminuição de cerca de 4000
        linhas de código
    −   Cada driver de dispositivo (exceto o relógio) é um
        processo do usuário separado
    −   Novas características de confiabilidade
    −   Mecanismo de Comunicação entre Processos não
        bloqueante
    −   Melhoria no gerenciamento do Timer
    −   Escalonador se tornou mais geral
    −   etc...
                                                             9
Processos no MINIX

    O MINIX é uma coleção de processos que se
    comunicam entre si e com processos de usuários
    através de mensagens

    É estruturado em camadas, que executam funções
    específicas

    A comunicação é feita na mesma camada e/ou da
    camada superior com a inferior




                                                10
Processos – Estrutura Interna




          Fonte: Wikimedia

                                11
Processos – Estrutura Interna

    A camada inferior:
     − Captura todas as interrupções e traps (interrupções
       de software)
     − Faz o escalonamento e fornece modelo de
       processos sequenciais independentes que se
       comunicam por mensagens

    A camada 2:
     − Contém os processos de E/S, chamados de
       tarefas e/ou drivers de dispositivos

    Todas as tarefas na camada 2 e todo código na
    camada 1 formam o Kernel

                                                        12
Processos – Estrutura Interna

    Camada 3:
    −   Contém processos que fornecem serviços úteis
        para os processos de usuário
    −   Realiza a interpretação das chamadas de sistemas
    −   Os processos de servidor executam em um nível
        menos privilegiado que o kernel e as tarefas que
        não podem acessar E/S diretamente
    −   Exemplos:
         
             Gerenciador de memória e Sistemas de arquivos



                                                             13
Processos – Estrutura Interna

    Camada 4:
    −   Contém todos os processos de usuário
    −   Exemplos:
         
             Shells, editores, compiladores e programas escritos
             pelos usuários




                                                              14
Processos no MINIX
   Gerenciamento de processos:
     − Chamadas de sistema FORK e EXEC
   Comunicação interprocessos:
     − através de mensagens
   Agendamento de processos:
     − Filas em 3 níveis, correspondendo às camadas 2, 3 e 4
     − Tarefas e servidores executam até bloquearem
     − Processos de usuário são escalonados por round robin
     − Tarefas tem a prioridade mais alta, seguido do
       gerenciador de memória e servidor de arquivos e por
       fim, processos do usuário

                                                           15
Entrada e Saída (E/S)

    Funções:
    −   Controlar todos os dispositivos de E/S
    −   Enviar comandos para todos os dispositivos
    −   Capturar interrupções
    −   Tratar erros
    −   Oferecer uma interface entre os dispositivos e o
        restante do sistema que seja simples e fácil de usar




                                                          16
Entrada e Saída no MINIX




      Fonte: Tanenbaum (2000)
                                17
Gerenciamento de memória

    Conceitos:
     − Hierarquia de memória
     − Gerenciador de memória (parte do SO que
       gerencia a hierarquia)


    Objetivo:
     − Controlar que partes da memória estão em uso e
       que partes não estão
     − Alocar memória para processos quando estes
       precisam e desalocar quando terminam
     − Gerenciar a troca entre a memória principal e o
       disco
                                                    18
Gerenciamento de memória no MINIX

    Gerenciamento simples: não utiliza paginação nem
    troca (swap) com o disco

    Compatibilidade com computadores antigos

    Não faz parte do Kernel

    É tratado pelo gerenciador de memória que executa
    no espaço do usuário e comunica-se com o Kernel por
    mensagens

    Memória é alocada quando um processo executa
    chamadas de sistemas como FORK ou EXEC



                                                     19
Gerenciamento de memória no MINIX

    O gerenciador de memória monitora a memória
    livre através de uma lista de lacunas e do
    algoritmo do primeiro ajuste

    O seu maior trabalho é executar as chamadas
    de sistemas relacionadas com o gerenciamento
    de memória




                                               20
Sistemas de arquivos

    O sistema de arquivos deve:
    −   Alocar e desalocar espaço para arquivos
    −   Monitorar blocos de disco e liberar espaço
    −   Proteger os arquivos contra uso não autorizado




                                                         21
Sistema de arquivos no MINIX

    Encontra-se fora do Kernel, no espaço de
    usuário

    Por esta razão pode ser usado como servidor
    de arquivos de rede independente

    Implementado todo em C

    Copiou a estrutura básica do Sistema de
    arquivos do UNIX

    Evitou características complexas



                                              22
Sistema de arquivos no MINIX

    As vantagens dessa independência do sistema
    de arquivos são:
    −   Pode sofrer modificações quase que de forma
        independente do restante do MINIX
    −   Pode ser inteiramente removido, recompilado e
        usado como servidor remoto




                                                   23
Sistema de arquivos no MINIX

    Projeto e implementação:

    −   Bloco de Boot (Boot Block)
    −   SuperBloco (Superblock)
    −   Inode bitmap
    −   Zone bitmap
    −   Inode
    −   Área de dados (data area)



                                       24
Sistema de arquivos no MINIX

    O MINIX utiliza um cache de blocos para melhorar o
    desempenho do sistema de arquivos

    O cache é implementado como uma matriz de buffers

    Todos os buffers que não estão sendo utilizados são
    encadeados em uma lista duplamente encadeada do
    mais recente utilizado (MRU) para o menos
    recentemente utilizado (LRU)




                                                     25
Referências

    [1] Tanenbaum, Andrew S; Woodhull, Albert S. Sistemas operacionais:
    projeto e implementação. Tradução de Edson Furmankiewics. 2. ed. Porto
    Alegre: Bookman, 2000.

    [2] Tanenbaum, Andrew S. Sistemas operacionais modernos. 2.ed. São
    Paulo: Prentice Hall, 2003.

    [3] MINIX3. Disponível em: <http://www.minix3.org/ >, Acesso em: 26 Nov.
    2007.

    [4] Wikipedia. Disponível em: <http://en.wikipedia.org/wiki/Minix>, Acesso
    em: 26 Nov. 2007.

    [5] Wikipedia. Disponível em: <
    http://en.wikipedia.org/wiki/MINIX_file_system>, Acesso em: 26 Nov. 2007.

    [6] Some Notes on the "Who wrote Linux" Kerfuffle. Disponível em: <
    http://www.cs.vu.nl/~ast/brown/ >, Acesso em: 26 Nov. 2007.


                                                                                 26
Dúvidas?




           27

Mais conteúdo relacionado

Mais procurados

Free BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da CostaFree BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da CostaAnderson Favaro
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhsAnderson Lago
 
FreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeFreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeBoteco 4Linux
 
Do Unix ao Linux - Carlos Santos e Fernando Massen
Do Unix ao Linux - Carlos Santos e Fernando MassenDo Unix ao Linux - Carlos Santos e Fernando Massen
Do Unix ao Linux - Carlos Santos e Fernando MassenTchelinux
 
Linux Mint 15
Linux Mint 15Linux Mint 15
Linux Mint 15jafelix22
 
Comparação de sistemas operativos cliente
Comparação de sistemas operativos clienteComparação de sistemas operativos cliente
Comparação de sistemas operativos clienteAndré Dias
 
UNIX - História e filosofia
UNIX - História e filosofiaUNIX - História e filosofia
UNIX - História e filosofiaNEO Empresarial
 
Palestra xen-flisol2011
Palestra xen-flisol2011Palestra xen-flisol2011
Palestra xen-flisol2011andreluizfm
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linuxfilipereira
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1Nauber Gois
 
Cent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalCent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalAnderson Favaro
 

Mais procurados (20)

Free BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da CostaFree BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da Costa
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs
 
Lynxos RTOS
Lynxos RTOSLynxos RTOS
Lynxos RTOS
 
Free bsd
Free bsdFree bsd
Free bsd
 
FreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeFreeBsd com Alta Disponibilidade
FreeBsd com Alta Disponibilidade
 
Usuário LInux
Usuário LInuxUsuário LInux
Usuário LInux
 
Free BSD e Cent OS
Free BSD e Cent OS Free BSD e Cent OS
Free BSD e Cent OS
 
Do Unix ao Linux - Carlos Santos e Fernando Massen
Do Unix ao Linux - Carlos Santos e Fernando MassenDo Unix ao Linux - Carlos Santos e Fernando Massen
Do Unix ao Linux - Carlos Santos e Fernando Massen
 
Unix
UnixUnix
Unix
 
Linux Mint 15
Linux Mint 15Linux Mint 15
Linux Mint 15
 
Por que FreeBSD?
Por que FreeBSD?Por que FreeBSD?
Por que FreeBSD?
 
Comparação de sistemas operativos cliente
Comparação de sistemas operativos clienteComparação de sistemas operativos cliente
Comparação de sistemas operativos cliente
 
UNIX - História e filosofia
UNIX - História e filosofiaUNIX - História e filosofia
UNIX - História e filosofia
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 
Palestra xen-flisol2011
Palestra xen-flisol2011Palestra xen-flisol2011
Palestra xen-flisol2011
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Windows 2000
Windows 2000Windows 2000
Windows 2000
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1
 
Cent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalCent-OS - Sistema Operacional
Cent-OS - Sistema Operacional
 
Linux
LinuxLinux
Linux
 

Semelhante a Sistemas de arquivos no MINIX

Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
Sistemas operativos leandro silva
Sistemas operativos leandro silvaSistemas operativos leandro silva
Sistemas operativos leandro silvavbassani
 
Mandriva - Sistema Operacional
Mandriva - Sistema OperacionalMandriva - Sistema Operacional
Mandriva - Sistema OperacionalAnderson Favaro
 
Quest linux lj
Quest linux ljQuest linux lj
Quest linux ljCarol Luz
 
Apresentação Trabalho
Apresentação TrabalhoApresentação Trabalho
Apresentação Trabalhojhoncv
 
Apresentação Mac OS
Apresentação Mac OSApresentação Mac OS
Apresentação Mac OSguestf2a4bc5
 
Grupo 10: Windows 2000
Grupo 10: Windows 2000Grupo 10: Windows 2000
Grupo 10: Windows 2000aguiarense
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Introdução a computação 03
Introdução a computação 03Introdução a computação 03
Introdução a computação 03Felipe Pereira
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafTchelinux
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Fundamentos-de-Sistemas-Operacionais-Parte-1.pdf
Fundamentos-de-Sistemas-Operacionais-Parte-1.pdfFundamentos-de-Sistemas-Operacionais-Parte-1.pdf
Fundamentos-de-Sistemas-Operacionais-Parte-1.pdfConstitucional2fase
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxLucasMansueto
 

Semelhante a Sistemas de arquivos no MINIX (20)

unix_basico.pdf
unix_basico.pdfunix_basico.pdf
unix_basico.pdf
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
Aula 01 So2009
Aula 01   So2009Aula 01   So2009
Aula 01 So2009
 
Sistemas operativos leandro silva
Sistemas operativos leandro silvaSistemas operativos leandro silva
Sistemas operativos leandro silva
 
Mandriva - Sistema Operacional
Mandriva - Sistema OperacionalMandriva - Sistema Operacional
Mandriva - Sistema Operacional
 
Quest linux lj
Quest linux ljQuest linux lj
Quest linux lj
 
Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!
 
Apresentação Trabalho
Apresentação TrabalhoApresentação Trabalho
Apresentação Trabalho
 
Apresentação Mac OS
Apresentação Mac OSApresentação Mac OS
Apresentação Mac OS
 
Grupo 10: Windows 2000
Grupo 10: Windows 2000Grupo 10: Windows 2000
Grupo 10: Windows 2000
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Introdução a computação 03
Introdução a computação 03Introdução a computação 03
Introdução a computação 03
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
 
apostila linux
apostila linuxapostila linux
apostila linux
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Fundamentos-de-Sistemas-Operacionais-Parte-1.pdf
Fundamentos-de-Sistemas-Operacionais-Parte-1.pdfFundamentos-de-Sistemas-Operacionais-Parte-1.pdf
Fundamentos-de-Sistemas-Operacionais-Parte-1.pdf
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação Final
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - Linux
 

Último

cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 

Último (20)

cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 

Sistemas de arquivos no MINIX

  • 1. Universidade Estadual de Campinas Instituto de Computação MO806/MC914 Tópicos em Sistemas Operacionais Seminário: MINIX Daniel Bruno Alves dos Santos danielbrunoalves@gmail.com
  • 2. Roteiro  A história do MINIX  MINIX2 versus MINIX3  Processos  Entrada e saída  Gerenciamento de memória  Sistemas de arquivos  Referências 2
  • 3. A história do MINIX  Criado por Tanenbaum com propósitos acadêmicos, para exemplificar os conceitos de seu livro: “Sistemas Operacionais: projeto e implementação” (1987)  Deriva da palavra (mini-UNIX)  Microkernel  Projetado para ser compatível com a versão 7 do UNIX  Escrito a partir da linguagem C, como o UNIX  Padrão POSIX para as chamadas de sistemas  Inspirou a criação do Kernel do Linux  Atualmente encontra-se na versão 3 (2005) 3
  • 4. MINIX  O MINIX destina-se a computadores pessoais e não a sistemas de compartilhamento de tempo de grande porte  Foi projetado para funcionar em todos os IBM PC 4
  • 5. Versões do MINIX  Versão 1 (1987): − Compatível com a versão 7 do UNIX − Cerca de 12.000 linhas de código C, contemplando Kernel, gerenciamento de memória, sistemas de arquivos − Liberou o código fonte e binários através de diskets com um manual de referência − Grupo de discussão USENET (cerca de 40.000 assinantes, em 3 meses) 5
  • 6. Versões do MINIX  Versão 2 (1997): − Baseado na segunda versão do livro de Tanenbaum [1] − Disponível apenas para x86, Solaris em arquitetura SPARC − Adicionou o padrão POSIX − Disitribuído a partir de CD-ROM 6
  • 7. Versões do MINIX  Versão 3 (2005): − Foi reprojetada para ser “usada como um sistema sério sobre recursos limitados e computadores embarcados e para aplicações que requerem alta confiabilidade” [4] − Suporta apenas arquitetura IA-32 − Disponível a partir de LiveCD − Licença FreeBSD 7
  • 8. MINIX2 versus MINIX3  Melhorias em Relação à versão 2: − Novas características:  Instalação baseada em LiveCD  Sistema de janelas X Window  Suporte até 4GB de memória  Blocos de disco com tamanhos: 1, 2, 4 ou 8KB  Adição das chamadas de sistema “Select”  Inclusão de novos programas: gcc, g++, emacs, pyton, perl, etc  Servidor de informação para depuração  Reincarnation Server que “mata” e substitui drivers defeituosos em tempo de execução 8
  • 9. MINIX2 versus MINIX3  Estrutura de Sistema: − Reescrita do Kernel e diminuição de cerca de 4000 linhas de código − Cada driver de dispositivo (exceto o relógio) é um processo do usuário separado − Novas características de confiabilidade − Mecanismo de Comunicação entre Processos não bloqueante − Melhoria no gerenciamento do Timer − Escalonador se tornou mais geral − etc... 9
  • 10. Processos no MINIX  O MINIX é uma coleção de processos que se comunicam entre si e com processos de usuários através de mensagens  É estruturado em camadas, que executam funções específicas  A comunicação é feita na mesma camada e/ou da camada superior com a inferior 10
  • 11. Processos – Estrutura Interna Fonte: Wikimedia 11
  • 12. Processos – Estrutura Interna  A camada inferior: − Captura todas as interrupções e traps (interrupções de software) − Faz o escalonamento e fornece modelo de processos sequenciais independentes que se comunicam por mensagens  A camada 2: − Contém os processos de E/S, chamados de tarefas e/ou drivers de dispositivos  Todas as tarefas na camada 2 e todo código na camada 1 formam o Kernel 12
  • 13. Processos – Estrutura Interna  Camada 3: − Contém processos que fornecem serviços úteis para os processos de usuário − Realiza a interpretação das chamadas de sistemas − Os processos de servidor executam em um nível menos privilegiado que o kernel e as tarefas que não podem acessar E/S diretamente − Exemplos:  Gerenciador de memória e Sistemas de arquivos 13
  • 14. Processos – Estrutura Interna  Camada 4: − Contém todos os processos de usuário − Exemplos:  Shells, editores, compiladores e programas escritos pelos usuários 14
  • 15. Processos no MINIX  Gerenciamento de processos: − Chamadas de sistema FORK e EXEC  Comunicação interprocessos: − através de mensagens  Agendamento de processos: − Filas em 3 níveis, correspondendo às camadas 2, 3 e 4 − Tarefas e servidores executam até bloquearem − Processos de usuário são escalonados por round robin − Tarefas tem a prioridade mais alta, seguido do gerenciador de memória e servidor de arquivos e por fim, processos do usuário 15
  • 16. Entrada e Saída (E/S)  Funções: − Controlar todos os dispositivos de E/S − Enviar comandos para todos os dispositivos − Capturar interrupções − Tratar erros − Oferecer uma interface entre os dispositivos e o restante do sistema que seja simples e fácil de usar 16
  • 17. Entrada e Saída no MINIX Fonte: Tanenbaum (2000) 17
  • 18. Gerenciamento de memória  Conceitos: − Hierarquia de memória − Gerenciador de memória (parte do SO que gerencia a hierarquia)  Objetivo: − Controlar que partes da memória estão em uso e que partes não estão − Alocar memória para processos quando estes precisam e desalocar quando terminam − Gerenciar a troca entre a memória principal e o disco 18
  • 19. Gerenciamento de memória no MINIX  Gerenciamento simples: não utiliza paginação nem troca (swap) com o disco  Compatibilidade com computadores antigos  Não faz parte do Kernel  É tratado pelo gerenciador de memória que executa no espaço do usuário e comunica-se com o Kernel por mensagens  Memória é alocada quando um processo executa chamadas de sistemas como FORK ou EXEC 19
  • 20. Gerenciamento de memória no MINIX  O gerenciador de memória monitora a memória livre através de uma lista de lacunas e do algoritmo do primeiro ajuste  O seu maior trabalho é executar as chamadas de sistemas relacionadas com o gerenciamento de memória 20
  • 21. Sistemas de arquivos  O sistema de arquivos deve: − Alocar e desalocar espaço para arquivos − Monitorar blocos de disco e liberar espaço − Proteger os arquivos contra uso não autorizado 21
  • 22. Sistema de arquivos no MINIX  Encontra-se fora do Kernel, no espaço de usuário  Por esta razão pode ser usado como servidor de arquivos de rede independente  Implementado todo em C  Copiou a estrutura básica do Sistema de arquivos do UNIX  Evitou características complexas 22
  • 23. Sistema de arquivos no MINIX  As vantagens dessa independência do sistema de arquivos são: − Pode sofrer modificações quase que de forma independente do restante do MINIX − Pode ser inteiramente removido, recompilado e usado como servidor remoto 23
  • 24. Sistema de arquivos no MINIX  Projeto e implementação: − Bloco de Boot (Boot Block) − SuperBloco (Superblock) − Inode bitmap − Zone bitmap − Inode − Área de dados (data area) 24
  • 25. Sistema de arquivos no MINIX  O MINIX utiliza um cache de blocos para melhorar o desempenho do sistema de arquivos  O cache é implementado como uma matriz de buffers  Todos os buffers que não estão sendo utilizados são encadeados em uma lista duplamente encadeada do mais recente utilizado (MRU) para o menos recentemente utilizado (LRU) 25
  • 26. Referências  [1] Tanenbaum, Andrew S; Woodhull, Albert S. Sistemas operacionais: projeto e implementação. Tradução de Edson Furmankiewics. 2. ed. Porto Alegre: Bookman, 2000.  [2] Tanenbaum, Andrew S. Sistemas operacionais modernos. 2.ed. São Paulo: Prentice Hall, 2003.  [3] MINIX3. Disponível em: <http://www.minix3.org/ >, Acesso em: 26 Nov. 2007.  [4] Wikipedia. Disponível em: <http://en.wikipedia.org/wiki/Minix>, Acesso em: 26 Nov. 2007.  [5] Wikipedia. Disponível em: < http://en.wikipedia.org/wiki/MINIX_file_system>, Acesso em: 26 Nov. 2007.  [6] Some Notes on the "Who wrote Linux" Kerfuffle. Disponível em: < http://www.cs.vu.nl/~ast/brown/ >, Acesso em: 26 Nov. 2007. 26
  • 27. Dúvidas? 27