Conceito de processo
Resenha: Conceito de processo. Pesquise 862.000+ trabalhos acadêmicosPor: lucilene123 • 6/6/2013 • Resenha • 1.646 Palavras (7 Páginas) • 619 Visualizações
conceito de processo. Um processo é basicamente um programa em execução. Ele consiste de um programa executável, os seus dados e pilha, o seu stack pointer e registradores, enfim todas as informações necessárias para executar o programa. Quando se fala em multiprogramação, logo nos lembra as vantagens direcionada aos processos o que oferecem melhor desempenho para os Sistema além do fantástico uso da multitarefas ou seja, o usuário pode usar vários aplicativos ao mesmo tempo. Ex: Jogar, usar a calculadora, usar o aplicativo excel e outros.
Periodicamente o sistema operacional decide se a execução de um processo deve ser interrompida e se a execução de um outro processo deve ser iniciada pela razão do primeiro já ter tido mais do que a sua `fatia' de tempo de CPU. Em um sistema de multiprogramação a CPU fica se alternando entre a execução de vários processos, cada um por dezenas ou centenas de milisegundos.
Um processo pode estar em um dos seguintes estados:
1. Running: usando a CPU naquele instante;
2. Ready: pronto para
2. Ready: pronto para ser executado, temporariamente parado para que outro processo possa ser executado; e
3. Blocked: impossibilitado de ser executado até que algum evento externo ocorra.
Em um sistema de multiprogramação temos frequentemente a situação onde vários processos estão prontos para serem executados. Quando mais de um processo está ready, o sistema operacional deve decider qual processo deve ser executado primeiro. A parte do sistema operacional que toma esta decisão é chamada de scheduler, e o algoritmo que é usado é chamado de scheduleralgorithm. A cada interrupçao do relógio o sistema operacional toma o controle e decide se o processo que está sendo executado deve continuar a ser executado ou deve ser suspenso para que outro processo passe a ser executado. A estratégia que permite que um processo que está sendo executado seja suspenso temporariamente é chamada de preemptiveschedule.
Existem schedulingalgoritms que assumem que todos os processos são iguais. Entretanto, existem muitas pessoas que possuem e administram centros de computação que discordam disto. Por exemplo, em um centro de computação de uma universidade pode ser dada a mais alta prioridade aos processos de diretores, depois aos de professores, depois aos de secretarias, depois aos de porteiros, ...e finalmente aos de alunos. Isto é chamado de um priorityschedule(alguns podem chamar isto de injustiça).
O que é um Sistema Operacional Multiprogramado?
Os recursos da máquina são alocados de modo dinâmico entre o número de programas ativos, de acordo com o nível de prioridade ou o estagio de execucao de cada um dos programas. O sistema operacional gerencia o acesso concorrente aos seus diversos recursos de forma ordenada e protegida, pelos diversos programas. Dessa forma é possivel aumentar a produtividade e reduzir os custos de utilizacao do sistema, aproveitando melhor o hardware. Por exemplo, enquanto um programa espera por uma operacao de leitura e gravacao em disco, outros programas podem estar sendo processados no mesmo intervalo de tempo.
Estes tipos de SO sao mais complexos e eficientes do que os sistemas monoprogramados, já que varios programas utilizam os mesmos recursos. Podem ser classificados pela forma com que suas aplicacoesao gerenciadas / interacao com os usuários, sendo que um Sistema Operacional pode suportar um ou mais desses tipos de processamento:
- BATCH ( LOTE ) - Os programas quando executados sao armazenados em disco ou fita, onde esperam para serem "atendidos". Normalmente, os programas ( jobs ou tarefas ) que sao executados nesses sistemas nao exigem interacao com os usuários ( por exemplo, compilacoes );
- TIME-SHARING ( TEMPO-COMPARTILHADO ) - O Sistema Operacional aloca uma "fatia de tempo" ( time-slice ) do processador para cada usuário. Caso o programa do usuarionao esteja concluído nesse intervalo de tempo, ele é substituidos por um de outro usuário e fica esperando por uma nova fatia de tempo. Permitem a interacao dos usuarios com o sistema;
- REAL-TIME ( TEMPO-REAL ) - Semelhante ao time-sharing, sendo a maior diferença o tempo de resposta exigido na execucao. Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicacoes em execucao, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rigidos. Nao existe a ideia de fatia de tempo, um programa executa o
tempo que for necessario, ou ate que apareça outro prioritario em funcao de sua importancia. Essa importancia ou prioridade de execucao é controlada pela propriaaplicacao e nao pelo sistema operacional, como acontece no sistema tempo-compartilhado. Esse tipo de sistema está normalmente presente em controle de processos, como no monitoramento de refinarias de petroleo, controle de trafego aereo, usinas termoeletricas e nucleares, ou em qualquer aplicacao onde a seguranca é fator fundamental.
Para evitar que processos que têm alta prioridade fiquem sendo executados indefinidamente o scheduler pode baixar a prioridade do processo que esta sendo executado a cada interrupção do relógio.
Alguns priorityschedulers fazem uso de classes de prioridade. Os processos na classe de prioridade mais baixa podem ser executados sem serem suspensos por no máximo uma QUANTA (uma quantidade de tempo de CPU). Processos na próxima classe de prioridade pode ser executado por no máximo duas QUANTAS, e assim por diante. Sempre que um processo usa toda as QUANTAS alocadas para ele este processo é rebaixado de classe.
Quando um processo deseja imprimir um arquivo, ele coloca o nome do arquivo em um diretório especial chamado de spooler directory. Um outro processo, o printerdaemon, periodicamente verifica se existe algum arquivo a ser impresso, se existir ele imprime o arquivo e remove o nome do arquivo do diretório spooler.
2. Ready: pronto para ser executado, temporariamente parado para que outro processo possa ser executado; e
3. Blocked: impossibilitado de ser executado até que algum evento externo ocorra.
Em um sistema de multiprogramação temos frequentemente a situação onde vários processos estão prontos para serem executados. Quando mais de um processo está ready, o sistema operacional deve decider qual processo deve ser executado primeiro. A parte do sistema operacional que
...