Sincronização é o gerenciamento adequado de múltiplas linhas de execução ou processos concorrentes que tem acesso a um mesmo recurso limitado ou uma porção de dados, situação conhecida como condição de corrida.
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.
Entre o mecanismo que provém sincronização podemos citar os semáforos e exclusão mútua que definem regiões críticas.
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.
O escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma actividade organizacional feita pelo escalonador (scheduler) da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.
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 essa execução o processador evita ficar ocioso.
quinta-feira, 29 de outubro de 2009
Defenir e caracterizar sincronazação e escalonamento
Publicada por ▼ David Costa à(s) 06:04