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