Introdução aos Sistemas Operacionais
Gerenciamento de processos
click to edit
Programa
Processo
Passivo
Ativo
Precisa de recursos para realizar sua tarefa
CPU
Memória
E/S
Arquivos
Dados de inicialização
click to edit
Processo singlethread
Processo multithread
Program counter especifica próxima instrução
Executa instruções sequencialmente
Um program counter por thread
Responsabilidades do SO
Executar o escalonamento de processos e threads nas CPUs
Criar e excluir processos de usuário e do sistema
Suspender e retomar processos
Fornecer mecanismos de sincronização de processos
Fornecer mecanismos de comunicação entre processos
Gerenciamento de memória
Memória principal
Grande array de bytes
Compartilhado por CPU e dispositivos de E/S
Único grande dispositivo de armazenamento disponível a CPU diretamente
Computadores mantêm vários programas na memória simultaneamente
Muitos esquemas diferentes de gerenciamento da memória são usados
Diversas abordagens
Eficácia varia com a situação
Atividades de gerenciamento
Acompanhar quais partes da memória estão sendo usadas atualmente e por quem
Decidir quais processos/dados devem ocupar a memória
Alocar e desalocar espaço de memória
Gerenciamento de armazenamento
O SO oferece visão uniforme do armazenamento de informações
Unidade lógica de armazenamento
Arquivo
Cada meio é controlado pelo dispositivo
Sistema de arquivos
Organizados em diretórios
Controle de acesso
Determina "quem pode acessar o que"
Atividades do SO
Criar e excluir arquivos e diretórios
Primitivos para manipular arquivos e diretórios
Mapear arquivos no armazenamento secundário
Arquivos de backup no armazenamento estável
Armazenamento de massa
De importância central
Velocidade de operação do computador inteiro depende do subsistema de disco e seus algoritmos
Atividades do SO
Gerenciamento do espaço livre
Escalonamento de disco
Alocação de armazenamento
Caching
realizado em muitos níveis em um computador
Informação copiada do armazenamento mais lento para o mais rápido
Armazenamento mais rápido verificado primeiro para determinar se a informação está lá
Se estiver, usa a informação diretamente do cache
Se não, dados copiados ao cache e usados lá
Memória mais rápida cacheia a mais lenta
Cache > RAM
RAM > SSD
SSD > HD
Em armazenamentos híbridos
Subsistemas de E/S
ocultar do usuário as peculiaridades dos dispositivos de hardware
Responsável por
Gerenciamento de memória da E/S
Interface geral do driver de dispositivo
Drivers para dispositivos de hardware específicos
Buffering
Caching
Spooling
Ambientes de computação
Computação tradicional
Computação móvel
Sistemas distribuídos
Cliente - Servidor
Peer-to-Peer
Virtualização
Nuvem
Sistemas embarcados
Ambiente de escritório
Redes domésticas
Smartphones e tablets
Muitos recursos integrados
Computadores separados conectados por rede
Provê vários serviços aos usuários
tipo especializado de sistema distribuído
tipo especializado de sistema distribuído
P2P não distingue clientes e servidores
entrega recursos como serviço através de uma rede
Extensão da virtualização
forma mais comum de computação
Propósito específico
SOs primitivos
Pequenos e de baixo consumo
Pouca ou nenhuma interface com o usuário
permite que SOs rodem como aplicações dentro de outros SOs
Máquinas virtuais
Emulação
Arquiteturas diferentes
Interpretação de código
Isoladas entre si