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

Eu Sou O Mundo

Exames: Eu Sou O Mundo. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  27/5/2014  •  959 Palavras (4 Páginas)  •  197 Visualizações

Página 1 de 4

Relatório 02 Gerenciamento de Processos e Threads.

Todos os softwares que podem executar em um computador, inclusive o SO (os mais tradicionais são assim), são organizados para serem executados num processador, como vários processos sequenciais (também chamados processos). Um processo é uma atividade (ou tarefa) de um programa, que contém o código e dados de uma atividade. Essas são: leitura de dados, escrita de dados, cálculos no processador, comunicação com o usuário, comunicação com um BD, comunicação com a rede interna ou externa, entre outras. Um processo define a unidade de processamento concorrente, que é executada num dado instante num processador, utilizando um contador de programa lógico, usando o único contador de programa físico (registro no processador), valores em registradores, variáveis do programa e uma pilha de execução. Processos são escalonados para o processador, que faz uma troca a todo o momento do processo sendo executado, através do mecanismo chamado multiprogramação.

Em SO tradicionais, cada processo tem um único fluxo de execução (o que define uma thread), a unidade de processamento concorrente destinada para ser executada sob as condições de desempenho de um processador da época. Com o surgimento de processadores de mais alto desempenho, uma nova unidade de processamento concorrente pôde ser definida dentro do próprio processo, materializando novas unidades de fluxo de execução e assim podem-se ter múltiplos fluxos de execução (múltiplas threads) num mesmo processo.

O que as threads 2.1 Política de Gerenciamento de Processador:

Essa política é um das diferenças entre os sistemas operacionais existentes no mercado, pois cada sistema operacional possui a sua política adequada a suas características. Apesar de cada sistema operacional adotar seus critérios, podemos citar alguns dos principais:

* Todos os processos são tratados igualmente, não ficando processo sem tratamento;

* Deve maximizar seu desempenho com maior numero possível de processos por unidade de tempo;

* Atender os usuários em tempos de respostas aceitáveis;

* Previsibilidade e fundamental independentemente do sistema;

* Mitigar recursos perdidos;

* Balancear o uso de recursos;

* Ocupar o máximo o processador;

* Evitar espera indefinida (starvation), e principalmente o deadlock;

* Priorizar os processos de forma a identificar os de maiores prioridades;

O objetivo de escalonamento e maximizar a utilização da CPU via multiprogramação. O escalonamento de processador ocorre quando existe uma politica do sistema para escolher quais processos executar. A politica de escalonamento deve atender algumas premissas ligadas a desempenho e maximização do numero de processos executados, reduzir o tempo de latência (tempo de espera antes da execução), evitar antecipação indefinida de processos e aperfeiçoar o uso do(s) processador (es).

Escalonamento Preemptivo: E quando o sistema operacional atua de forma sublime, pois deve saber parar um processo em execução e ate mesmo substitui-lo por um novo processo. O mercado denomina “processadores multicore” os circuitos integrados que possuem dois ou mais núcleos de processamento completos no seu interior.

Atualmente com o surgimento desses processadores (dual core, core 2 duo, quad-core) com maior poder de processamento, consolidam nos sistemas operacionais as politicas de escalonamento do tipo Preemptivo. Um forte uso dessa técnica esta desenvolvida em aplicações de sistemas de tempo real, onde caracteriza por se preocupar com o fator tempo: de processador, de espera, de resposta, “turnaround”.

* Tempo de processador: e o tempo que um processo leva no estado de execução durante seu processamento.

* Tempo de espera: e o tempo total que um processo permanece na fila durante seu processamento, aguardando para ser executado.

* Tempo de turnaround: é o tempo que um processo leva desde a sua criação até ao seu término, inclusive o tempo para alocação de memória, espera na fila, processamento na CPU e nas operações de Entrada e Saída.

* Tempo

...

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