Arquitetura entre Sistemas Operativos/Sincronização e Escalonamento

Origem: Wikilivros, livros abertos por um mundo aberto.

Escalonamento[editar | editar código-fonte]

escalonamento de processos ou agendador de tarefas (scheduling) é uma ferramenta de organização do escalonador (scheduler) do CPU ou de um Sistema Operativo, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os CPU Bound.

O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco. Com esta execução o processador evita ficar ocioso.

Critérios de Escalonamento:[editar | editar código-fonte]

-I/O Bound ou CPU Bound;

-interativo ou não;

-urgência de resposta (tempo real);

-comportamento recente;

-necessidade de periféricos especiais;

-prioridade.

Objetivos do Escalonamento:[editar | editar código-fonte]

-em geral:

equidade, impondo que as regras impostas pelo algoritmo sejam respeitadas.

-sistemas de batch:

toughput, turnaround time, maximizando a utilização do CPU.

Sincronização[editar | editar código-fonte]

Sincronização é o gerenciamento adequado de múltiplas linhas de execução ou processos concorrentes que acessam um mesmo recurso limitado ou uma porção de dados.

Este gerenciamento em geral deve prover acesso a todas as linhas de execução dentro dos limites do recurso limitado, de modo que todas tenham tempo finito de espera (não ficarão em espera infinita). No caso de acesso a uma porção de dados, as leituras e escritas realizadas devem ocorrer de modo a preservar a consistência.

Sincronização é útil em programas multitarefa para manter a consistência de dados usados por diversas linhas de execução, em sistemas distribuídos para controlar o acesso de diversos nós a um recurso limitado e bancos de dados para escalonar adequadamente acessos concorrentes à base.