TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

ATP SISTEMAS OPERACIONAIS

Seminário: ATP SISTEMAS OPERACIONAIS. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  19/11/2013  •  Seminário  •  3.556 Palavras (15 Páginas)  •  399 Visualizações

Página 1 de 15

ATPS SISTEMAS OPERACIONAIS

Processo

É o conjunto de informações necessárias para que um sistema operacional implemente a concorrência de programas. Ele é formado por três partes:

• Contexto de hardware: armazena conteúdo dos registradores gerais da UCP, registradores de uso específicos e registrador de status;

• Contexto de software: especifica limites de características dos recursos a serem alocados pelo processo, prioridade de execução e tamanho do buffer para operações de E/S;

• Espaço de endereçamento: área da memória que integra o processo e armazena instruções e dados para execução.

 Estados do Processo

• Execução: quando ele está sendo processado pela UCP;

• Pronto: quando aguarda apenas a sua execução;

• Espera: quando aguarda por um evento externo ou um recurso para prosseguir seu processamento.

 Criação e Eliminação de Processos

• Criação: quando o sistema operacional já criou um bloco de controle de processo e não pode colocá-lo na lista do estado de pronto;

• Terminado: neste estado ele não poderá ter programas sendo executados em seu contexto mas o sistema operacional ainda mantém suas informações de controle em memória.

 Processos CPU-bound e I/O-bound

• CPU-bound: passa a maior parte do tempo no estado de execução ou pronto;

• I/O-bound: passa a maior parte do tempo no estado de espera.

 Processos Foreground e Background

• Foreground: permite a comunicação direta do usuário com o processo durante seu processamento;

• Background: não existe a comunicação com o usuário durante seu processamento.

 Formas de Criação de Processos: as principais formas de criação são:

• Logon interativo: através de um terminal, o usuário fornece um username e senha;

• Via linguagem de comandos: cria novos processos a partir de um do seu próprio processo;

• Via rotina do sistema operacional: a partir de qualquer programa executável.

 Processos independentes, Subprocessos e Thread: São maneiras diferentes de implementar a concorrência dentro de uma aplicação.

• Processos independentes: é a maneira mais simples de implementar a concorrência em sistemas multiprogramáveis. Não existe vínculo do processo criado com o seu criador;

• Subprocessos: são processos criados dentro de uma estrutura hierárquica. O processo criador é denominado processo-pai e o novo processo é chamado subprocesso;

• Thread: programa desenvolvido para reduzir o tempo gasto em criação, eliminação e troca de contexto de processos, e economizar recursos do sistema como um todo.

 Sinais: mecanismo que permite notificar processos de eventos gerados pelo sistema operacional ou por outros processos.

Thread

Programa desenvolvido para reduzir o tempo gasto em criação, eliminação e troca de contexto de processos, e economizar recursos do sistema como um todo.

 Ambiente Monothread: é quando apenas um programa é suportado no espaço de endereçamento do processo;

 Ambiente multithread: neste ambiente múltiplos threads são suportados no espaço de endereçamento do processo.

 Programação Multithread: conjunto de rotinas disponíveis para que uma aplicação utilize as facilidades dos threads.

 Arquitetura e implementação

• Threads em Modo Usuário (TMU): são implementados pela aplicação e não pelo sistema operacional;

• Threads em Modo Kernel (TMK): são implementados diretamente pelo núcleo do sistema operacional;

• Threads em Modo Híbrido: combina as vantagens de threads implementados em modo usuário e modo kernel;

• Scheduler Activations: nesse modo, cada camada implementa seu escalonamento de forma independente, porém trocando informações quando necessário.

Sincronização e Comunicação entre Processos

 Aplicações Concorrentes: estruturas que permitem que partes diferentes do código do programa possam executar aplicações concorrentemente.

 Especificações de Concorrência em Programas: são notações utilizadas para especificar a concorrência em programas;

 Problemas de Compartilhamento de Recursos: envolvem o compartilhamento de um arquivo e apresentam uma variável na memória principal sendo compartilhada por dois processos.

 Exclusão Mútua: é a exclusividade de acesso a um determinado recurso, ou seja, impede que dois ou mais processos acessem um mesmo recurso simultaneamente.

 Soluções de Hardware:

• Desabilitação de interrupções: faz com que o processo desabilite todas as interrupções antes de entrar na região crítica;

 Soluções de Software:

• Primeiro algoritmo: apresenta uma solução para exclusão mútua entre dois processos, onde um mecanismo de controle alterna a execução das regiões críticas:

• Segundo algoritmo: introduz uma variável para cada processo que indica se ele está ou não em sua região crítica;

• Terceiro algoritmo: tenta solucionar o problema apresentado no segundo, colocando a instrução de atribuição das variáveis, antes do loop de teste.

• Quarto algoritmo: apresenta uma implementação, onde o processo altera o estado da variável antes de entrar na sua região crítica, porém há a possibilidade de esta alteração ser revertida;

• Algoritmo de Dekker: primeira solução de software que garantiu a exclusão mútua entre dois processos sem a incorrência de outros probelmas;

• Algoritmo de Peterson:

...

Baixar como (para membros premium)  txt (25.7 Kb)  
Continuar por mais 14 páginas »
Disponível apenas no TrabalhosGratuitos.com