Conceitos Fundamentais de Sistemas Operacionais

Computação5,48 KB

Deadlock

Ocorre quando dois ou mais processos bloqueiam uns aos outros permanentemente, pois cada um detém um recurso que o outro processo necessita. As quatro condições necessárias para a sua ocorrência são:

  • Exclusão Mútua: Pelo menos um recurso deve ser mantido em modo não compartilhável, ou seja, apenas um processo pode usar o recurso de cada vez.
  • Posse e Espera: Um processo, que já detém pelo menos um recurso, solicita novos recursos que estão alocados a outros processos e não libera os que já possui.
  • Não Preempção: Um recurso não pode ser retirado de um processo que o detém; ele deve ser liberado voluntariamente pelo próprio processo.
  • Espera Circular: Existe um conjunto de processos em espera, onde cada processo aguarda por um recurso que está sendo utilizado pelo próximo processo na cadeia.

Gerenciamento de Memória

Memória Principal

É onde o processador executa as instruções. É aconselhável que a memória seja suficiente para alocar todos os processos em execução.

Swapping

Técnica que permite que um processo seja temporariamente movido da memória principal para a memória secundária (disco), para que a memória principal possa ser utilizada por outros processos.

Swap In e Swap Out

São as operações da técnica de swapping: swap in é o ato de trazer um processo da memória secundária para a principal, e swap out é o ato de levar um processo da memória principal para a secundária.

Fragmentação da Memória

É um problema que ocorre quando os espaços de memória livres não são contíguos, dificultando a alocação de novos processos, mesmo que o total de memória livre seja suficiente.

Fragmentação Externa

Ocorre quando existem espaços de memória livres, mas são tão pequenos e não contíguos que não podem ser utilizados para alocar um novo processo.

Fragmentação Interna

Ocorre quando um processo é alocado em um bloco de memória maior do que o necessário, resultando em um desperdício de espaço dentro do próprio bloco alocado.

Alocação de Memória

Alocação Estática

O endereço de memória para um processo é definido no momento da compilação.

Alocação Dinâmica

O endereço de memória para um processo é definido durante a sua execução.

Alocação Contínua Simples

Consiste em organizar a memória principal em duas partes: uma para o sistema operacional e outra para os processos do usuário.

Desvantagens:

  • Não permite a utilização eficiente do processador e da memória.
  • Se um processo não utilizasse todo o espaço alocado, o restante se tornaria um espaço desperdiçado.
  • Se um processo fosse maior que o espaço de memória disponível, ele não poderia ser executado.
Alocação Particionada Fixa

A memória é dividida em partições de tamanho fixo, e cada processo é alocado em uma partição que seja grande o suficiente para contê-lo.

Técnicas de Otimização

Overlay

Técnica que permite que um processo seja maior que a quantidade de memória alocada para ele, dividindo-o em módulos (overlays) que são carregados conforme a necessidade.

Cache

É uma memória menor e mais rápida que armazena cópias de dados de locais de memória principal usados com frequência, a fim de acelerar o acesso a esses dados.

Paginação

Técnica de gerenciamento de memória que permite que o espaço de endereçamento físico de um processo não seja contíguo. A memória é dividida em blocos de tamanho fixo chamados frames (quadros), e a memória lógica é dividida em blocos do mesmo tamanho chamados pages (páginas).

Gerenciamento de Entrada/Saída (I/O)

Devido à sua complexidade, o gerenciamento de I/O (Entrada/Saída) é frequentemente dividido em camadas, dependendo da existência de um controlador.

System Calls (Chamadas de Sistema) ou APIs

As operações de I/O são iniciadas através de system calls. Elas podem ser de dois tipos:

  • Síncronas: O processo fica bloqueado até que a operação de I/O seja concluída.
  • Assíncronas: O processo continua suas atividades enquanto aguarda um sinal de que a operação de I/O foi concluída.

Subsistemas de I/O

Componente do sistema operacional responsável por gerenciar os dispositivos de I/O, prover uma interface padronizada para os drivers e oferecer proteção no acesso aos dispositivos.

Componentes de I/O

Drivers

Software responsável por traduzir os comandos genéricos de I/O do sistema operacional em comandos específicos que o controlador de um dispositivo entende.

Controladores

Hardware que recebe as informações do driver e opera diretamente o dispositivo. É responsável por ações como a transferência de dados e o uso de interrupções (IRQs).

Métodos de Acesso a Arquivos

Acesso Sequencial

Os dados de um arquivo são processados em ordem, um registro após o outro. Novos registros são geralmente gravados no final do arquivo.

Acesso Indexado

Utiliza um índice para encontrar e acessar registros diretamente em um arquivo, sem a necessidade de ler o arquivo desde o início.

Baixar

PDF Word HTML