Sistemas Operacionais: Processos, Memória e Arquivos

Computação10,94 KB

Conceitos Básicos de Sistemas Operacionais

Paralelismo: Coexistência de processos.
Presenças: Paralelos entre os processos relacionados que requerem sincronização.
Calendário: A correspondência entre a ordem temporal, derivada dos processos de comunicação entre eles, necessária para garantir a exclusão mútua.
Threads (Fios): Relação de dominação e dependência entre o sistema operacional e os processos.
Variáveis Compartilhadas: Variável que pode ser atualizada por dois ou mais processos.
Seção Crítica: Localização do programa onde uma variável compartilhada é acessada.
Primitiva: Estruturas de controle de paralelismo ou simultaneidade; estado composto por pares de afirmações que indicam, respectivamente, a divisão e fusão de linha de comando (Parbegin / Cobegin-Coend).
Exclusão Mútua: A técnica de programação usada para executar a seção crítica de um programa.

Tipos de Algoritmos de Exclusão Mútua

Espera Ativa: Algoritmos que baseiam seu trabalho no estabelecimento da espera para entrada na seção crítica com um laço a ser quebrado no momento de certa condição. Chamada de espera ativa porque o processo não é bloqueado durante a execução, competindo constantemente pelo processador. Por esta razão, estes algoritmos sobrecarregam o sistema desnecessariamente (Maia e outros, p. 82).
Algoritmo de Dekker: Baseia o desempenho em uma tabela lógica bidimensional de dois elementos (switches).
Mutex: Utiliza um interruptor chamado Mutex através do qual ocorre a sincronização.
Alternância: Utiliza uma variável chamada Tempo para sincronia.

Mecanismos de Espera e Sincronização

Espera Ativa (Continuação): Algoritmos que aguardam para entrar na seção crítica bloqueando o processo, certificando-se de concorrer ao processador até a condição de liberação (Maia e outros, p. 82).
Semáforos: Baseiam a operação em uma variável inteira utilizada como contador de pedidos de entrada em uma seção crítica, compartilhada por todos os processos. Desenhado por Dijkstra (1965), é chamado de "luz" pela capacidade de gerenciar o tráfego de processos que desejam acessar dados compartilhados.
Regiões Críticas: Permitem que dados compartilhados sejam acessados apenas de determinadas áreas, sendo transparentes para o resto. Apresentam pequenos problemas de tempo e não permitem múltiplas operações de leitura simultâneas.
Regiões Críticas Condicionais: Melhoria do método anterior para corrigir problemas de tempo.
Monitores: Diferente dos mecanismos acima, onde o programador deve prover explicitamente o método de sincronização, os monitores garantem a exclusão mútua no compartilhamento de dados sem intervenção explícita do programador. Atendem funções sobre dados compartilhados em um único módulo e devem ser suportados pela linguagem (ex: Modula e Ada).
Contadores de Eventos: Baseados em uma variável inteira com operações de acesso, permitindo atividades sincronizadas sem impor exclusão mútua.
Mensagens: Mecanismo cooperativo baseado em uma área de memória compartilhada gerenciada pelo SO, oculta aos processos. Um processo envia uma mensagem para um tanque na memória e o receptor a lê.
Comunicação por Mensagens:

  • Direta: Processos enviam e recebem mensagens diretamente entre si.
  • Indireta: Mensagens são enviadas e recebidas através de caixas de correio.

Chamada Remota (RPC): Semelhante à passagem de parâmetros em procedimentos; envolve a passagem de um processo para outro, garantindo que, se um processo não terminar, o outro permanecerá em espera.
Rendez-vous: Culminação dos mecanismos anteriores; modificação das chamadas remotas onde a chamada é apenas um grupo de instruções internas. Implementado em Ada.

Mecanismos de Hardware

Instruções de hardware que garantem a exclusão mútua:

  • Desabilitar Interrupções: Computadores atuais permitem desativar interrupções; se um dispositivo gera uma interrupção, o tratamento é adiado até a reativação, forçando a exclusão mútua.
  • Instrução Test-and-Set: Missão de fazer cumprir a exclusão mútua; contudo, sozinha pode não ser suficiente para assegurar o Mutex em todos os sistemas.
  • Fechamento (Locking): Baseado na instrução acima, permite o acesso à seção crítica na ausência de outras atividades internas.

Gerenciamento de Memória

Hierarquia de Armazenamento: Avaliada por Custo, Tempo de Acesso e Capacidade.
Estratégias de Gestão:

  • Monoprogramação: Memória dedicada (sem gerente), Monitor (início dos SOs), Proteção de Fronteiras.
  • Remapeamento de Endereço: Estático (Compilação) e Dinâmico (Execução).
  • Permuta (Swapping) e Multiprogramação.
  • Proteção de Memória: Partições vizinhas de tamanho fixo ou variável.
  • Fragmentação Interna/Externa e Compactação.

Paginação e Segmentação

Paginação: Esquema que divide a aplicação em seções de igual tamanho (quadros de página) e o programa em blocos (páginas). Cria-se uma tabela de páginas, não exigindo armazenamento contíguo.
Segmentação: Suporta a perspectiva do usuário na memória física, baseada em segmentos com ID e deslocamento, realizada pelo montador ou compilador.
Paginação de Segmento: Esquema onde a tabela de páginas é apropriada ao tamanho do programa (ex: IBM Série 370).
Segmentação com Paginação: Muda os segmentos de conteúdo da tabela para indicar comprimentos (ex: Intel 386, Honeywell Multics).
Memória Virtual: Permite a execução de programas parcialmente carregados. Envolve estratégias de Carga (pedidos), Seleção de espaço e Substituição (FIFO, LRU, LFU).
Cache: Do francês cacher (esconder). Técnica que utiliza blocos da unidade de disco mantidos na RAM para melhorar o desempenho.

Gestão de Registros e Dados

Evolução Histórica:

  • 1950-1960: Arquivos sequenciais.
  • 1960-1970: Arquivos sequenciais indexados.
  • 1970-1980: Arquivos de acesso aleatório.
  • 1980-1990: DBMS, Data Marts, Data Warehouse.
  • 1990-Atual: ORDBMS (Relacional/Objeto) e sistemas de arquivos em cluster.

Conceitos Fundamentais

Organização Física e Lógica:

  • Unidade mínima: Bit.
  • Informação lógica: Caractere, Byte (8 bits).
  • Estrutura: Campo (Palavra), Registro (Conjunto de campos), Bloco Físico, Arquivo, Área de Dados.

Campo Chave: Identifica o registro de forma única (ex: ID, CPF, Serial).
Registro Físico / Bloco: Menor quantidade de dados transferida em E/S entre memória e periféricos.
Fator de Bloqueio: Número de registros lógicos contidos em um físico.
Campo: Elemento básico com valor único, distinguido por ID, magnitude e tipo.
Registro: Coleção de áreas afins tratadas como unidade.
Arquivo: Coleção de registros similares com nome único.
Banco de Dados: Coleção de dados inter-relacionados e programas de acesso.
Diretório: Espaço reservado pelo SO para controle de arquivos.

Sistemas de Gerenciamento de Banco de Dados (DBMS)

Consiste em um conjunto de dados inter-relacionados e programas para acessá-los (HF Korth). É um conjunto de registros integrados auto-descritivos (Kroenke DM).
Por que usar Bancos de Dados? Para evitar redundância, inconsistência de dados (dados repetidos em vários formatos), dificuldades de acesso e problemas de segurança/integridade.

Tecnologias de Dados Modernas

Data Warehouse: Repositório de informações integradas para pesquisa e análise, unindo vários Data Marts. Geralmente, 80% dos dados usados vêm de 20% das fontes.
Data Mart: Repositório com dimensões padronizadas para uma área específica da empresa.
OLAP: Ferramentas de busca analítica para Data Warehouse.
OLTP: Processamento de transações em tempo real.
Ferramentas CASE: Dicionário de recursos incluindo análise, projeto (DFD, DER), algoritmos e repositórios.

Objetivos da Gestão de Arquivos

  • Prover regime de gestão para usuários e aplicações.
  • Atender necessidades de gerenciamento e do usuário.
  • Garantir coerência e validade dos dados.
  • Proteger contra perda ou destruição.
  • Suportar diversos dispositivos de E/S e otimizar desempenho.

Arquitetura de Sistemas de Arquivos

No nível baixo, drivers se comunicam com periféricos. Cada controlador inicia operações de E/S.
Níveis: Método de acesso, E/S Lógica, Supervisor Básico de E/S, Sistema de Arquivos Básico, Administrador de Dispositivos.
Sistema de Arquivos Básico: Interface principal com o ambiente externo; trata blocos de dados entre disco/fita e memória (buffer). É irrelevante ao conteúdo dos dados.
Supervisor de E/S: Responsável pelo início e conclusão das operações, planejamento e status dos arquivos.
E/S Lógica: Permite acesso aos registros, oferecendo capacidade de propósito geral.
Método de Acesso: Nível mais próximo do usuário (ex: bateria, sequencial, indexado, dispersão).

Administração de Segurança

Critérios: Impedir acesso não autorizado (espionagem, roubo, sabotagem), manutenção do sistema e minimizar riscos (desastres naturais, vírus).
Classificação:

  • Segurança Externa: Estratégias fora do sistema informático.
  • Segurança Interna (Proteção): Recursos próprios do computador.
  • Segurança Física: Alarmes, grades e proteção contra desastres.
  • Administração de Segurança: Controle de acesso lógico (Firewall, Checksum, CRC, Bit de Paridade/Hamming).

Autenticação: Baseada em algo que o usuário sabe (senha), algo que o usuário possui ou algo que o usuário é (biometria). Deve seguir o princípio de privilégios mínimos.

Baixar

PDF Word HTML