O SO gerencia recursos (CPU, memória, I/O) e fornece interface ao usuário. Ele evoluiu de sistemas de lote e tempo‑compartilhado para ambientes multitarefa modernos, suportando múltiplos usuários, redes e requisitos de tempo real.
Software de sistema (ex.: SO, drivers) controla hardware; software aplicativo (ex.: editores, jogos) resolve problemas do mundo real.
Processo de inicialização carrega o SO a partir de ROM e disco; máquinas podem ter dual‑boot, mas apenas um SO roda por vez.
Trata da alocação, proteção e tradução de endereços lógicos para físicos.
Um único programa ocupa um bloco contíguo; endereço físico = endereço lógico + base. Simples, porém desperdiça espaço e CPU.
Divisão em partições fixas ou dinâmicas. Usa registradores base e limite para tradução. Estratégias de alocação:
Divisão em quadros (frames) e páginas de tamanho fixo. Cada endereço lógico <página, deslocamento> é traduzido via Tabela de Mapeamento de Páginas (TMP). Exemplo: <2,518> → quadro 5 → endereço físico = 5·1024 + 518.
Páginas são carregadas apenas quando referenciadas. Cria a ilusão de memória ilimitada, mas pode causar hiperpaginação se houver trocas excessivas.
Um processo é a instância em execução de um programa. O SO controla seu ciclo de vida.
Novo → Pronto → Executando → Esperando → Concluído. Apenas um processo pode estar em “executando” simultaneamente.
Armazena contador de programa, registradores, prioridade, informações de memória (base/limite ou TMP) e dados de contabilidade. É usado no “context switch”.
Decide qual processo pronto recebe a CPU.
Não preemptivo; processos são atendidos na ordem de chegada.
Seleciona o processo com menor tempo de serviço estimado; ótimo teoricamente, mas depende de estimativas precisas.
Preemptivo; cada processo recebe um quantum de tempo (ex.: 50 ms) antes de ser devolvido à fila pronta.
Métricas de avaliação incluem tempo de retorno (turnaround time) e tempo médio de resposta.
Execução de tarefas sem interação humana; antecedeu a multiprogramação.
Vários usuários interagem simultaneamente, criando a ilusão de máquinas virtuais dedicadas.
Garantem tempo de resposta máximo; críticos em controle de robôs, reatores, mísseis.
Resposta correta: B) O endereço lógico depende da posição de carregamento do programa; o físico indica a localização real na memória.
O endereço lógico é relativo ao programa (base = 0) e só se torna físico após a ligação de endereço feita pelo SO.
Resposta correta: C) Worst‑fit (maior partição disponível).
Ao deixar a maior partição livre, aumenta‑se a chance de acomodar futuros processos maiores, reduzindo fragmentação externa.
Resposta correta: B) Um quantum pequeno aumenta a sobrecarga de troca de contexto, podendo elevar o tempo médio de resposta.
Trocas frequentes consomem tempo de CPU que não avança a execução dos processos, aumentando o tempo médio de resposta.
<3, 600>?
Resposta correta: A) 7 × 1024 + 600 = 7 824
Endereço físico = (número do quadro × tamanho da página) + deslocamento = 7·1024 + 600 = 7 824.