Conjunto de Softwares que estabelece a interface entre usuário e
hardware e abstrai a parte física do computador.
Composição
do Hardware
CPU (Central
Processing Unit)
ALU (Arithmetic
and Logic Unit)
CU (Control Unit)
Registradores
Barramentos
Memória
Endereço
Controle
Gerencia de
Memória
Hierarquia de Memória
Memória Primária
Annotations:
Memória RAM. Utilizada pelos processos para armazenar dados vindos da memória secundária
Característica: Volatilidade
Memória Secundária
Annotations:
Tipo de memória com grande capacidade de armazenamento e baixo custo por byte.
Característica: não-volatilidade
Memória ROM
Annotations:
Read Only Memory, tipo de memória que vem pré-carregada com dados do fabricante. Em geral, é não-reprogramável, com exceção de alguns tipos como a EPROM que demandam um hardware específico para tal
ciclo de execução de uma instrução de processador
primeiramente carregará uma instrução da memória para o
processador.
A instrução será decodificada e os operandos carregados da
memória.
Após a execução da instrução, os resultados são armazenados de volta na
memória
Ligação de endereços
Tempo de
compilação
possível saber onde o programa residirá em
memória
Tempo de
carregamento
a ligação final a endereços de memória é
realizada no momento da execução do programa
Tempo de
execução
se o processo puder ser movido durante sua
execução de um segmento de memória para
outro
Endereços podem ser gerados
Indexação
Registradores Base
Registradores de segmento
Overlay
técnica para livrar os programas da limitação
do tamanho da memória principal disponível
divide- se o programa em partes (módulos) que
possam executar independentemente uma da
outra
Endereçamento Lógico e
Físico
conjunto de todos os endereços lógicos gerados por
um programa é chamado de espaço de endereços
lógico
conjunto dos endereços físicos correspondentes a
estes endereços lógicos é chamado de espaço de
endereços físico.
O Mapeamento é feito pela MMU
Alocação em memória
Paginação
dividir a memória destinada aos processos em páginas ou partições fixas
Gera a Fragmentação Interna
Sobrar espaço na caixa criada pela memória
Segmentaçao
espaço de memória é fracionado em segmentos de tamanhos variados
Gera a fragmentação externa
sobra de espaços entre os segmentos
segmentação
paginada
memória é divida em segmentos, e cada segmento é dividido em
páginas
algoritmos de escolha do
espaço
First fit
Ele varre a tabela de espaços livres até encontrar a primeira lacuna que caiba o
processo
Aloca o primeiro bloco com tamanho suficiente
procura ao longo da lista
Next fit
Varre e encontra a primeira lancuna, mas memoriza a posição do último segmento encontrado e recomeça busca a partir desta
posição.
Best fit
Varre toda a tabela de espaços livres e percorre a lista inteira, só então escolhe o MENOR SEGMENTO livre de
memória possível
mais lento que o first fit e desperdiça mais memória que o first e next fit, pois gera minúsculos segmentos.
Worst Fit
Ele também varre toda a tabela de espaços livres, mas escolhe MAIOR SEGMENTO disponível
Gera um segmento suficientemente grande para alocar outro processo
Quick fit
Mais Rápido que couber, mantém listas separadas para alguns tamanhos de segmentos
disponíveis
Swapping
Em Round Roubin cada processo que tem seu quantum de
tempo expirado, ele será trocado (swapped) por outro
processo que estava na área de swapping.
recurso de gerenciamento de memória que realiza troca de dados entre a
memória principal e a memória auxiliar (disco)
Memória
Virtual
memória principal (RAM) e a memória secundária (disco rígido) são
combinadas de forma a simular uma memória de tamanho muito
maior que a efetivamente existente.
Mapeamento
Quando ocorre a execução de uma instrução ou qualquer referência à memória
virtual uma TRADUÇÃO para o espaço de endereçamento real precisa ocorrer
Paginação
o espaço de endereçamento total (tanto o virtual como o real)
é dividido em blocos de tamanho fixo chamados de páginas
Substituição de
páginas
O maior problema consiste em definir que páginas remover da
memória virtual quando um número máximo de páginas foi
atingido
Retirada de páginas da memória virtual:
Aleatória
(random)
escolhe uma página qualquer do working set para retirar da
memória.
First-in-first-out
(FIFO)
a página que foi carregada primeiro (mais antiga) sairá
primeiro.
Least-recently-used
(LRU):
seleciona a página usada menos recentemente
(página que está a mais tempo sem ser
referenciada).
Not-recently-used
(NRU)
seleciona páginas que não tenham sido usadas recentemente
Least-frequently-used
(LFU):
página menos frequentemente usada é selecionada
Memória alocada dinamicamente - SO
Mapa de Bits
Lista Livres (Disponíveis)
Arquitetura Von Neumann
Annotations:
Arquitetura de Sistemas Operacionais que permitiu os softwares estarem armazenados na mesma máquina do SO.
Arquiteturas
Monolítica
Annotations:
Arquitetura na qual todo funcionamento do SO acontece no mesmo nível. Exemplo: Linux
Camadas
Annotations:
Arquitetura que divide as atribuições do SO em camadas.
Exemplo: Windows
Máquina Virtual
Annotations:
Máquina que abstrai ações do SO. Exemplo: JVM (Máquina Virtual Java), que executa bytecodes
JVM
DVM
CLR
Microkernel
Annotations:
Arquitetura de SO na qual as funções do Kernel são reduzidas
Gerência de Arquivos
Formas de Acesso
Direto
Sequencia.l
Indexado
Blocos
físicos
lógicos
Gerência de E/S
Categoria
Dispositivo
de Bloco
Discos
Pen Drive
Dispositivo de
Caractere
Teclado
Mouse
IImpressora
Comunicação
Interface Serial
Interface Paralela
Formas
DMA
Interrupção
Interação Processador X
Dispositivo
Programada
Polling
pipe
forma de encadeamento entre a saída de
um processo e a entrada de outro