Arquitetura entre Sistemas Operativos/Sincronização e Escalonamento

Escalonamento

editar

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

-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

-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

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.