Capítulo 2: Estruturas do sistema operacional

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Capítulo 2: Estruturas do sistema operacional por Mind Map: Capítulo 2: Estruturas do sistema operacional

1. Alternativas à virtualização de sistemas

1.1. Simulação: o sistema hospedeiro possui uma arquitetura de sistema e o sistema 'guest' foi compilado para uma arquitetura diferente

1.2. Paravirtualização: apenas um kernel é instalado, o SO e seus dispositivos são virtualizados, dando aos processos dentro de um contêiner a impressão de que são os únicos processos a existir no sistema.

2. Chamadas de sistema

2.1. controle de processos

2.1.1. Ex.: Encerrar, abortar, carregar, criar, esperar, alocar e liberar memória.

2.2. manipulação de arquivos,

2.2.1. Ex.: Criar, excluir, abrir, fechar, ler, escrever arquivos.

2.3. manipulação de dispositivos

2.3.1. Ex.: Solicitar e liberar dispositivo, obter e definir atributos.

2.4. manutenção de informações

2.4.1. Ex.: Obter e definir data e hora, dados do sistema, atributo de processos, arquivos ou dispositivos.

2.5. comunicações

2.5.1. Ex.: Criar e excluir conexão de comunicação, enviar e receber mensagens.

2.6. proteção

2.6.1. Mecanismo para controlar acesso aos recursos do sistema.

3. Programas do sistema

3.1. Gerência de arquivos

3.2. Informações de status

3.3. Modificação de arquivos.

3.4. Suporte para linguagem de programação

3.5. Carga e execução de programas

3.6. Comunicações

4. Máquinas virtuais

4.1. Criar vários ambientes de execução diferentes, dando a ilusão de que cada ambiente de execução separado é computador privado

5. Depuração do sistema operacional

5.1. Análise de falhas

5.2. Ajuste de performance

5.3. DTrace

5.3.1. Acrescenta sondagens dinamicamente a um sistema em execução, tanto em processos do usuário quanto no kernel

6. Geração do sistema operacional

6.1. Qual CPU deve ser utilizada?

6.2. Como o disco será formatado?

6.3. Quanta memória está disponível?

6.4. Que dispositivos estão disponíveis?

6.5. Que opções do sistema operacional são desejadas ou que valores de parâmetro devem ser usados?

7. Boot do sistema

7.1. Programa de boot ou bootstrap loader

7.1.1. Localiza o kernel, carrega-o para a memória principal e inicia sua execução

7.1.2. Está na forma de memória somente de leitura (ROM)

7.1.3. Executa diagnósticos que determinam o estado da máquina

7.1.4. Inicializar todos os aspectos do sistema

8. Serviços de um sistema operacional

8.1. Interface do usuário

8.1.1. Interpretador de comandos

8.1.2. Interface gráfica com o usuário

8.2. Execução de programa

8.3. Operações de E/S

8.4. Manipulação do sistema de arquivos

8.5. Comunicações

8.6. Detecção de erro

8.7. Alocação de recursos

8.8. Contabilidade

8.9. Proteção e segurança

9. Estrutura do sistema operacional

9.1. Estrutura simples

9.1.1. Escrito para fornecer o máximo de funcionalidade no menor espaço possível. Os programas acessam diretamente a memória. Não há nenhuma proteção do hardware.

9.2. Enfoque em camadas

9.2.1. Dividido em uma série de camadas. A mais inferior é o hardware, a mais alta é a interface com o usuário. Uma camada é uma implementação de um objeto abstrato, composta de dados e das operações que podem manipular esses dados.

9.3. Microkernels

9.3.1. Estrutura o sistema operacional removendo todos os componentes não essenciais do kernel e implementando-os como programas em nível de sistema e usuário. O resultado é um kernel menor.

9.4. Módulos

9.4.1. Uso de técnicas de programação orientada a objeto para criar um kernel modular. Essa estratégia utiliza módulos carregáveis dinamicamente e é comum nas implementações modernas do UNIX.

10. Linguagem de programação Java

10.1. Java é uma linguagem de programação de uso geral, orientada a objeto, com suporte para programação distribuída.

10.2. Máquina virtual Java

10.2.1. A máquina virtual Java (JVM) é uma especificação para um computador abstrato. Ela consiste em um carregador de classes (class loader) e um interpretador Java que executa os códigos de bytes independentes da arquitetura.

10.3. Ambiente de desenvolvimento Java

10.3.1. O JDK (Java Development Kit) consiste em ferramentas de desenvolvimento, como um compilador e depurador e um ambiente em tempo de execução (JRE).

10.4. Sistemas operacionais em Java

10.4.1. Conhecido como sistema extensível baseado em linguagem, é executado em um único espaço de endereços.

10.4.2. Contam com recursos de segurança de tipo da linguagem para implementar proteção à memória.

10.4.3. São desejáveis em dispositivos de hardware pequenos, que podem não ter recursos de hardware que ofereçam proteção da memória.