Anda di halaman 1dari 66

Sistemas Operacionais

Introdução

09/12/21
Introdução: Resumo

Apresenta conceitos teóricos sobre o tema


“sistemas operacionais”, tais como processos,
gerência de memória, sistemas de arquivos,
entrada e saída, entre outros.

09/12/21
Introdução: Estrutura da Apresentação
• Conceitos Gerais Introdutórios;
• Processos e Threads;
• Gerência de Memória;
• Sistemas de Arquivo;
• Entrada e Saída;
• Deadlock;
• Aspectos do Projeto de Sistemas Operacionais.

09/12/21
Introdução: Introdução Geral
• Processos;
• Gerência de Memória;
• Sistemas de Arquivo;
• Entrada e Saída.

09/12/21
Introdução: Conceitos Fundamentais
• Histórico;
• Processo;
• Chamada de Sistema;
• Arquivo;
• Diretório;
• Diferentes Estruturas.
Introdução: Chamadas de Sistema
• Gerenciamento de Processos;
• Gerenciamento de Arquivos;
• Gerenciamento de Diretórios;
• Chamadas Diversas;
• API.
Sistemas Operacionais

Processos e Threads

09/12/21
Processo: Introdução
• Modelo;
• Implementação.
Processo: Estados

Bloqueado Pronto

1 3

Rodando
Processo: Threads
• Modelo;
• Uso;
• Implementação no Espaço de Usuário;
• Implementação no Kernel;
• Implementação Híbrida;
• Escalonamento.
Processo: Comunicação
• Condições de Corrida;
• Regiões Críticas.
Processo: Problemas Clássicos de
Comunicação
• O Problema dos Filósofos Comendo;
• O Problema dos Leitores e Escritores;
• O Problema do Barbeiro Dorminhoco.
Processo: Soluções para Problemas de
Comunicação
• Exclusão Mútua com Espera Ocupada;
• Bloqueio e Desbloqueio;
• Mutex;
• Semáforos;
• Contadores de Eventos;
• Monitores;
• Troca de Mensagens;
• Barreiras.
Processo: Escalonamento
• Round Robin;
• Prioridades;
• Filas Múltiplas;
• SJF – Menor Job Primeiro;
• Garantido;
• Política versos Mecanismo;
• Dois Níveis.
Sistemas Operacionais

Gerência de Memória

09/12/21
Memória: Sem Swapping e sem
Paginação
• Monoprogramação sem Swapping e sem
Paginação;
• Multiprogramação e Utilização da
Memória;
• Multiprogramação com Partições Fixas.
Memória: Swapping
• Multiprogramação com Partições
Variáveis;
• Mapeamento de Bits;
• Listas Ligadas;
• Sistema Buddy;
• Alocação do Espaço de Swap;
• Análise dos Sistemas com Swapping.
Memória: Memória Virtual
• Paginação;
• Tabelas de Página;
• Hardware para Paginação;
• Memória Associativa;
• Tabelas de Páginas Invertidas.
Memória: Algoritmos de Substituição de
Páginas
• Ótimo;
• NUR;
• FIFO;
• Segunda Chance;
• Relógio;
• LRU.
Memória: Modelando Algoritmos de
Páginação
• Anomalia de Belady;
• Pilha;
• Padrão de Distância;
• Taxa de Falta de Páginas.
Memória: Aspecto do Projeto de Sistemas
Paginados
• Conjunto de Trabalho;
• Alocação Local versus Global;
• Tamanho da Página;
• Aspectos da Implementação.
Memória: Segmentação
• Implementação da Segmentação.
Sistemas Operacionais

Sistemas de Arquivo

09/12/21
Arquivo: Arquivos
• Identificação;
• Estrutura;
• Tipos;
• Acesso;
• Atributos;
• Operações;
• Mapeados na Memória.
Arquivo: Diretórios
• Diretório Hierárquico;
• Nomes;
• Operações.
Arquivo: Implementação de Um Sistema
de Arquivo
• Implementação de Arquivos;
• Implementação de Diretórios;
• Arquivos Compartilhados;
• Gerência do Espaço em Disco;
• Confiabilidade;
• Desempenho.
Memória: Segurança
• O Ambiente da Segurança;
• Falhas de Segurança Famosas;
• A Violação da Internet;
• Ataques à Segurança de um Computador;
• Princípios de Projeto para Garantir
Segurança;
• Autenticação do Usuário.
Memória: Mecanismos de Proteção
• Domínios de Proteção;
• Listas de Controle de Acesso;
• Capacidades;
• Modelos de Proteção;
• Canais Ocultos.
Sistemas Operacionais

Entrada/Saída

09/12/21
E/S: Princípios do Hardware de E/S
• Dispositivos de E/S;
• Controladoras;
• DMA.
E/S: Princípios do Software de E/S
• Objetivos do Software de E/S;
• Manipuladores de Interrupção;
• Drivers;
• Software de E/S Independente do
Dispositivo;
• Software de E/S no Espaço do Usuário.
E/S: Discos
• Disco;
• Algoritmos para Escalonamento do Braço
do Disco;
• Tratamento de Erros;
• Cache em Disco;
• RAM Disks.
E/S: Clocks
• Por Hardware;
• Por Software.
E/S: Terminais
• Terminal;
• Mapeamento na Memória;
• Software de Entrada;
• Software de Saída.
Sistemas Operacionais

Deadlocks

09/12/21
Deadlocks: Deadlocks
• Recursos;
• Condições para Ocorrência de Deadlocks;
• Modelo de Deadlock.
Deadlocks: Métodos para Tratar Deadlocks
• Ignorar;
• Detectar e Recuperar;
• Evitar;
• Prevenir.
Deadlocks: Ignorando Deadlocks
• Algoritmo do Avestruz
Deadlocks: Detectando e Recuperando
Deadlocks
• Um Recurso de Cada Tipo;
• Vários Recursos de Cada Tipo;
• Recuperação de Situações de Deadlock.
Deadlocks: Evitando Deadlocks
• Trajetórias de Recursos;
• Estados Seguros e Inseguros;
• Algoritmo do Banqueiro (Um tipo de
Recurso);
• Algoritmo do Banqueiro (Vários tipos de
Recursos).
Deadlocks: Prevenindo Deadlocks
• Ataque ao Problema da Exclusão Mútua;
• Ataque ao Problema da Posse e da
Espera;
• Ataque ao Problema da Condição de Não-
preempção;
• Ataque ao Problema da Condição de
Espera Circular.
Deadlocks: Outros Aspectos
• Bloqueio em Duas Fases;
• Deadlocks que Não Envolvem Recursos;
• Preterição Indefinida.
Sistemas Operacionais

Projeto de Sistemas Operacionais

09/12/21
Projeto: Resumo

Aborda conceitos envolvidos no projeto de


sistemas operacionais, tais como objetivos,
dificuldades, características das interfaces,
formas de implementação, desempenho,
gerência e tendências atuais e futuras.

09/12/21
Projeto: Estrutura da Apresentação
• Objetivos
• Complexidade dos Sistemas Operacionais
• Projeto de Interface
• Implementação
• Desempenho
• Gerenciamento do Projeto
• Tendências
09/12/21
Projeto: Introdução
• O Que Será Projetado?
• Como Será Projetado?
• Alcançar Objetivos

09/12/21
Objetivos
• Definir Abstrações
• Prover Operações Primitivas
• Proporcionar Isolamento
– Processos
– Falhas
• Gerenciar Recursos

09/12/21
Complexidade dos Sistemas
Operacionais
• Programas Muito Grandes
• Lidar com Concorrência
• Lidar com Usuários Hostis
• Lidar com a Falta de Confiança entre os Usuários
• Expectativa de Vida Elevada
• Emprego do Sistema
• Portabilidade
• Compatibilidade

09/12/21
Projeto de Interface
• Princípios
• Paradigmas
• Interface das Chamadas de Sistema

09/12/21
Projeto de Interface: Princípios
• Simples
• Completa
• Eficiente

09/12/21
Projeto de Interface: Paradigmas
• Interface de Usuário
– Gráfica
– Texto
• Execução
– Algoritmos
– Event-Driven
• Dados
– Fita Magnética
– Arquivo
– Objeto
– Documento

09/12/21
• Arquitetura Coerente
Interface das
Projeto de Interface:

Chamadas de Sistema
• Simples
• Completa
• Eficiente
• Expor Potencial
• Orientado ou Não à Conexão
• Visível

09/12/21
Implementação
• Estrutura do Sistema
• Mecanismo X Política
• Ortogonalidade
• Nomes
• “Binding Time”
• Estruturas Estáticas X Dinâmicas
• “Top-Down X Bottom-Up”
• Técnicas Interessantes
09/12/21
Implementação: Estrutura do Sistema
• Sistema em Camadas
• “Exokernel”
• Sistema Cliente Servidor
• Sistema Extensível
• “Kernel Thread”

09/12/21
Implementação: Mecanismo X Política
• Mecanismo
• Política

09/12/21
Implementação: Ortogonalidade
• Conceitos Separados Podem Ser
Combinados Independentemente
• Conseqüência Direta de uma
Implementação Simples e Completa

09/12/21
Implementação: Nomes
• Externo
• Interno

09/12/21
Implementação: “Binding Time”
• “Early Binding”
• “Intermediate Binding”
• “Late Binding”

09/12/21
Implementação: Estruturas Estáticas X
Dinâmicas
• Estática
– Simples
– Fácil
– Rápida
• Dinâmica
– Complexa
– Flexível

09/12/21
Implementação: “Top-Down X Botton-
Up”
• “Top-Down”
• “Botton-Up”

09/12/21
Implementação: Técnicas Interessantes
• Escondendo o “Hardware”
• “Indirection”
• Reutilização
• “Reentrancy”
• Força Bruta
• Checar Erros Primeiro

09/12/21
Desempenho
• Lentidão
• Otimização
• Espaço X Tempo
• Cache
• Dicas
• Localidade
• Caso Comum
09/12/21
Gerenciamento de Projeto
• Mão de Obra
• Estrutura da Equipe
• Desenvolvimento do Sistema

09/12/21
Tendências
• Espaço de Endereçamento
• “Networking”
• Sistemas Paralelos e Distribuídos
• Multimídia
• Portáteis
• Sistemas Embarcados

09/12/21
Considerações Finais

Sistemas operacionais são programas que


demandam muito tempo e mão de obra para
serem concluídos devido à sua complexidade,
mas são factíveis se os seus objetivos forem
bem definidos desde o princípio e seguirem
projetos baseados em conceitos como os que
foram apresentados aqui.

09/12/21
Bibliografia
• Sistemas Operacionais Modernos, A. S.
Tanenbaum, 2ª ed, Prentice Hall.

09/12/21

Anda mungkin juga menyukai