Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
ESTRUTURAS DO SO por Mind Map: ESTRUTURAS DO SO

1. COMO GARANTIR UM SISTEMA EFICIENTE?

1.1. ALOCAÇÃO DE RECURSOS

1.1.1. PARA USUARIOS E TAREFAS EXECUTANDO SIMULTANEAS

1.2. CONTABILIDADE

1.2.1. REGISTRAR QUAIS USUARIOS, QUANTOS, QUE TIPOS DE RECURSOS DO PC

1.3. PROTEÇÃO E SEGURANÇA

1.3.1. TODO ACESSO AOS RECURSOS DO SISTEMA É CONTROLADO

1.3.2. REQUER AUTENTICAÇÃO DO USUÁRIO

1.3.3. PRECAUÇÕES

2. SYSTEM CALLS

2.1. ESTRUTURA PARA SOLICITAR SERVIÇOS AO SO

2.2. C OU C++

2.3. ACESSADAS POR API

2.3.1. ALTO NIVEL

2.4. CLASSIFICADAS EM

2.4.1. CONTROLE DE PROCESSOS

2.4.1.1. CRIA/ENCERRA/ABORTA/CARREGA/EXECUTA

2.4.1.2. ALOCA E LIBERA MEMÓRIA

2.4.2. GERENCIAMENTO DE ARQUIVOS

2.4.2.1. CRIA/EXCLUI/LE/GRAVA/REPOSICIONA/OBTEM/DEFINE ATRIBUTOS

2.4.3. GERENCIAMENTO DE DISPOSITIVOS

2.4.3.1. SOLICITA/LIBERA/LE/GRAVA/REPOSICIONA/OBTEM/DEFINE ATRIBUTORS

2.4.4. MANUTENÇÃO DE INFORMAÇÃO

2.4.4.1. OBTEM/ DEFINE HORA/DADOS E ATRIBUTOS

2.4.5. COMUNICAÇÃO

2.4.5.1. CRIA/EXCLUI CONEXOES/ENVIA./RECEBE/TRANSFERE/ DES E CONECTA

2.5. TRAPAS OU INTERRUPÇÕES

2.5.1. TRAPAS SOTWARE

2.5.1.1. PRECISA ESTAR RODANDO

2.5.2. INTERRUPÇÃO HARDWARE

2.5.2.1. NAO PRECISA ESTAR RODANDO

3. PROJETO E IMPLEMENTAÇÃO

3.1. NAO EXISTE O PERFEITO

3.1.1. ALGORITMOS QUE RESOLVA QUALQUER PROBLEMA PARA QUALQUER ENTRADA

3.1.2. TEM QUE VARIAR DE ACORDO ESCOLHA HARDWARE

3.2. OBJETIVO DO USUÁRIO

3.2.1. CONVENIENTE/FACIL/CONFIAVEL/SEGURO E RÁPIDO

3.3. OBJETIVO DO SISTEMA

3.3.1. FACIL DE PROJETAR/IMPLEMENTAR E MANTER/ FLEXIVEL

3.3.2. CONFIAVEL/LIVRE DE ERRO/EFICIENTE

3.4. ESCRITOS EM C/C++

3.4.1. FACILIDADE DE ESCRITA/PORTABILIDADE PARA DIFERENTES HARDWARE

3.4.2. ALGUNS TRECHOS OTIMIZADOS EM ASSEMBLY

4. GERAÇÃO DO SO

4.1. SAO CONFIGURADOS PARA CADA PONTO ESPECIFICO DO PC

4.2. SYSGEN OBTEM INFORMAÇÃO A CONFIGURAÇÃO ESPECIFICA DO HARDWARE

5. BOOT DO SISTEMA

5.1. SO PRECISA ESTAR DISPONIVEL AO HARDWARE

5.2. FIRMWARE - MANTEM O CODIGO INIICIAL DE BOOT

5.3. BOOTSTRAP?!

6. FUNÇÕES AO USUÁRIO

6.1. INTERFACE COM O USUARIO

6.1.1. SHEL "INTERPRETADOR DE COMANDOS

6.1.1.1. INTERFACE DE LINHA DE COMANDOS (CLI)

6.1.1.1.1. ENTRADA DIRETA DO COMANDO

6.1.1.1.2. NO KERNEL OU PROGRAMA ESPECIAL

6.1.1.1.3. MULTIPLOS TIPOS IMPLEMENTADOS

6.1.1.1.4. APANHA UM COMANDO DO USUÁRIO E EXECUTAR

6.1.1.2. INTERFACE GRÁFICA (GUI)

6.1.1.2.1. AMIGAVEL COM O USUÁRIO

6.2. EXECUÇÃO DE PROGRAMAS

6.2.1. INDICA ERRO SIM /NAO

6.3. OPERAÇÕES E/S

6.4. MANIPULAÇÃO DO SISTEMA DE ARQUIVOS

6.4.1. SISTEMA DE ARQUIVO É DE INTERESSE DE CADA PROGRAMA

6.5. COMUNICAÇÃO

6.5.1. COMPARTILHADA

6.5.2. POR PASSAGEM DE MENSAGENS

6.6. DETECÇÃO DE ERROS

6.6.1. PRECISA SEMPRE ESTAR CIENTE

6.6.2. DEPURAÇÃO DE ERROS

6.6.2.1. PODE SER NA CPU E NO HARDWARE DE MEMORIA

6.6.2.2. EM DISPOSITIVOS E/S

6.6.2.3. PROGRAMA DO USUÁRIO

6.6.3. CADA ERRO TEM PRÓPRIA CORREÇÃO

6.6.3.1. QUANTO MELHOR A DEPURAÇÃO MAIS EFICIENTE É

7. PROGRAMAS DO SISTEMA

7.1. AMBIENTE CONVENIENTE PARA DESENVOLVIMENTO E EXECUÇÃO DE PROGRAMAS

7.2. DIVIDIDOS

7.2.1. INFORMAÇÃO DE STATUS

7.2.2. MODIFICAÇÃO DE ARQUIVOS

7.2.2.1. MANIPULAÇÃO DE ARQUIVOS

7.2.3. SUPORTE À LINGUAGEM DE PROGRAMAÇÃO

7.2.3.1. COMPILADORES/ DEPURADORES/INTERPRETADORES

7.2.4. CARGA E EXECUÇÃO DO PROGRAMAÇÃO

7.2.4.1. CARREGADORES ABSOLUTOS/RELOCAVEIS, SISTEMA DE DEPURAÇÃO

7.2.5. COMUNICAÇÕES

7.2.5.1. MECANISMOS PARA CRIAR CONEXOES VIRTUAIS

7.2.6. PROGRAMAS DE APLICAÇÃO

8. TIPOS

8.1. SIMPLES

8.1.1. MS-DOS

8.1.2. MAXIMO DE FUNCIONALIDADE MENOR ESPAÇO

8.1.3. INTERFACE E NIVEIS DE FUNCIONAMENTO MAL SEPARADOS

8.1.4. UNIX ANTES SIMPLES/ POUCO ESTRUTURADO

8.2. ENFOQUE EM CAMADAS

8.2.1. SO DIVIDIDO EM CAMADAS/NIVEIS

8.2.1.1. UMA SOB A OUTRA

8.2.1.2. BAIXA/ CAMADA 0 - HARDWARE

8.2.1.3. ALTA/CAMADA N - INTERFACE USUARIO

8.2.2. UMA CAMADA REQUISITA DA CAMADA INFERIOR

8.2.2.1. REGRA

8.3. MICROKERNELS

8.3.1. MOVE O MAX DO KERNEL PARA O ESPAÇO DO USUARIO

8.3.1.1. KERNEL MANTEM OS COMPONENTES ESSENCIAIS

8.3.2. MODULOS ISOLADOS

8.3.2.1. ESTRUTURAS E MEMÓRIA PROPRIOS

8.3.2.2. RESPONSAVEL POR UMA FUNCIONALIDADE

8.3.2.3. SE COMUNICAM POR PASSAGEM DE MENSAGENS

8.3.3. BENEFICIOS

8.3.3.1. FACIL DE ESTENDER UM MICROKERNEL

8.3.3.2. FACIL DE SUBSTITUIR SEM GRANDES IMPACTOS

8.3.3.3. FACIL DE PORTABILIZAR PARA NOVAS ARQUITETURAS

8.3.3.4. CONFIAVEL E SEGURO

8.3.3.4.1. MENOS CODIGO EXECUTANDO NO MODO KERNEL

8.3.4. DESVANTAGENS

8.3.4.1. OVERHEAD DE DESEMPENHO

8.3.4.1.1. COMUNICAÇÃO ENTRE USUARIO E MODO KERNEL

8.4. MODULOS E HIBRIDOS

8.4.1. MAIS MODERNOS

8.4.2. IMPLEMENTAÇÃO DE MÓDULOS NO KERNEL

8.4.2.1. ORIENTAÇÃO A OBJETO

8.4.2.2. COMUNICAÇÃO DE MODULOS POR INTERFACES CONHECIDAS

8.4.2.3. COMPONENTES DO NÚCLEO SEPARADOS

8.4.2.4. CARREGAMENTO NO KERNEL CONFORME NECESSIDADE

8.4.2.5. FLEXIBILIDADE?!

8.4.2.6. COMUNICAÇÃO MAIS DIRETA

8.4.2.7. MODULOS CARREGADOS E ANEXADOS AO KERNEL ATIVO