Buscar

Sinc Proc W2K

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SINCRONIZAÇÃO ENTRE PROCESSOS 
WINDOWS 2000 
 
ALUNO: LUIS FILIPE ESPINOSA BRILHANTE 
MATRÍCULA: 202102464382 
 
 
 
 
 
 
Em sistema multiprogramável com um único processador, os processos alternam 
sua execução a partir de critérios de escalonamento estabelecidos pelo Sistema 
Operacional. Mesmo sem paralelismo na execução das instruções, ocorre 
significativo ganho de desempenho. Em sistemas multiprocessados, as vantagens 
são ainda maiores graças a possibilidade de paralelismo na execução das 
instruções. 
É comum que processos de uma aplicação concorrente compartilhem recursos do 
sistema, como arquivos, registros, dispositivos de E/S e áreas de memória. Porém, 
o compartilhamento de recursos entre os processos pode trazer situações 
indesejáveis, capazes até de comprometer a execução das aplicações. 
Muitas vezes, em uma aplicação concorrente, é necessário que processos se 
comuniquem entre si. Essa comunicação pode ser implementada de diversos 
mecanismos, como variáveis compartilhadas na memória principal ou troca de 
mensagens. Sendo assim, é estritamente necessário que os processos tenham sua 
execução sincronizada pelo sistema operacional. Onde dois ou mais processos 
compartilham um mesmo recurso, devem existir mecanismos de controle para 
evitar problemas. 
Esses problemas são conhecidos como condições de corrida (race conditions). São 
falhas num sistema ou processo em que o resultado é inesperadamente 
dependente da sequência ou sincronia de outros eventos. 
 
Exclusão Mútua 
A solução mais simples para evitar que os problemas de compartilhamento 
ocorram é impedir que dois ou mais processos acessem um mesmo recurso 
simultaneamente. Para isso, enquanto um processo estiver acessando determinado 
recurso, todos os demais processos que queiram acessá-lo deverão aguardar pelo 
fim da utilização do recurso. Essa ideia de exclusividade de acesso é chamada de 
exclusão mútua (mutual exclusion). 
 
Regiões Críticas 
A exclusão mútua deve afetar apenas os processos concorrentes somente quando 
um deles estiver fazendo acesso ao recurso compartilhado. A parte do código do 
programa onde é feito o acesso ao recurso compartilhado é denominada região 
crítica (critical region). Se for possível evitar que dois processos entre em suas 
regiões críticas ao mesmo tempo, ou seja, se for garantida a execução mutuamente 
exclusiva das regiões críticas, os problemas decorrentes do compartilhamento 
serão evitados. 
Os mecanismos que implementam a exclusão mútua utilizam protocolos de acesso 
à região crítica. Toda vez que um processo quiser executar uma instrução de sua 
região crítica, deverá obrigatoriamente executar antes um protocolo de entrada 
nesta região. Da mesma forma, ao sair da região crítica um protocolo de saída 
deverá ser executado. 
 
Semáforos 
É um mecanismo de sincronização proposto por E. W. Dijkstra em 1965, sendo 
apresentado como um mecanismo de sincronização que permitia implementar, de 
forma simples, a exclusão mútua e sincronização condicional entre processos. De 
fato, o uso de semáforos tornou-se um dos principais mecanismos utilizados em 
projetos de sistemas operacionais e em aplicações concorrentes. Um semáforo é 
uma variável inteira, não-negativa, que só pode ser manipulada por duas 
instruções: DOWN e UP. 
Estas instruções são indivisíveis, isto é, não pode ser interrompida. 
Semáforos são classificados em dois tipos: 
• Semáforos binários: chamados de mutexes (mutual exclusion semaphores), 
só podem assumir valores 0 e 1. Permitem a implementação da exclusão 
mútua e são utilizados nos casos onde a sincronização condicional é 
exigida. 
 
• Semáforos contadores: podem assumir qualquer valor inteiro positivo, 
além do 0. Semáforos contadores são úteis quando aplicados em 
problemas de sincronização condicional onde existem processo 
concorrentes alocando recursos do mesmo tipo. 
 
 
 
 
 
 
 
 
 
 
Windows 2000 
Desenvolvido pela Microsoft, o Windows NT surgiu com o objetivo de ser um 
sistema operacional da década de 90 antenado aos avanços tecnológicos e as 
exigencias do mercado. Desde o seu lançamento, o W2K teve a preocupação de 
oferecer suporte a ambientes de rede e distribuídos. Sua evolução, o Windows NT 
5.0, comercialmente conhecido como Windows 2000, foi orientada à 
interoperabilidade com outros sistemas operacionais. 
A arquitetura do W2K é fortemente inspirada no princípio de micronúcleo. Cada 
funcionalidade do sistema é oferecida e gerenciada por um único componente do 
SO. Os demais componentes do SO e todas as aplicações acessam os serviços 
providos por um determinado componente através de uma interface bem definida. 
Na teoria, cada módulo pode ser removido, atualizado ou substituído sem a 
necessidade de alterações nas demais partes do sistema. 
O W2K possui uma organição em camadas. O SO é dividido em módulos que são 
dispostos uns sobre os outros em camadas.Cada camada ofereçe um conjunto de 
serviços à camada superiore só pode usar serviços fornecidos pela camada 
imediatamente inferior. Outro conceio explorado no W2K é o modelo orientado a 
objetos. Os recursos do sistema, arquivos, memória e dispositivos físicos são 
implementados por objetos e manipulados através de métodos associados a esses 
objetos. 
O modo Kernel em três grandes módulos: 
• Hardware abstraction layer (HAL): é um módulo carregável do núcleo. Esse 
módulo respeita uma interface padrão de serviços, porém possui uma 
implementação específica para o hardware no qual o SO está executando. 
Todas as funcionalidades que são dependentes de um determinado 
hardware são implementadas dentro desse módulo. 
• Drivers de dispositivos: são outra categoria de módulos carregáveis no 
núcleo. Eles oferecem, dentro do executivo do SO, uma interface entre o 
sistema de E/S e o HAL. Tal módulo apresentou uma evolução significativa 
através do suporte plug and play. 
• Executivo: Constitui o núcleo operacional do SO. É o módulo responsável 
por implementar os serviços básicos do W2K. Os principais componentes do 
executivo são: gerência de objetos, processos, threads, memória virtual, 
entrada e saída, monitor de segurança e módulo de suporte a Local 
Procedure Call (LPC). 
O Windows 2000 possui duas versões: Uma versão para monoprocessadores e 
outra para multiprocessadores. Com exeção do HAL, que por causa de sua 
funcionalidade difere de uma arquitetura a outra, apenas um arquivo é diferente 
entre as versões. Esse arquivo corresponde a implementação do executivo. Todos 
os demais arquivos que compõem o W2K foram concebidos de forma a serem 
executados corretamente em qualquer um dos dois sistemas. A diferença básica 
entre as versões monoprocessador e multiprocessador do executivo está nas 
operações de sincronizações adicionais necessárias a versão multiprocessador. 
Outra diferença entre as versões é relacionada ao escalonamento. 
O Windows 2000 implementa o conceito de processo a partir de dois objetos: 
objeto processo e objeto thread. O objeto processo é a entidade que corresponde 
a recursos do sistema como memória, arquivos, etc. O objeto thread constitui uma 
unidade de trabalho que é executada de forma sequencial e podendo ser 
interrompida em qualquer ponto. 
As threads em qualquer processo, inclusive as do executivo do W2K , em máquinas 
multiprocessadoras, podem ser executadas em qualquer em qualquer processador. 
O escalonador do W2K atribui uma thread apta a executar para o próximo 
processador disponível. Múltiplas threads de um mesmo processo podem estar em 
execução simultaneamente. O escalonador do Windows 2000 é preemptivo com 
prioridades. 
 
 
 
 
Referências: 
 
http://walderson.com/site/wp-content/uploads/2014/05/Aula09-Sincronizacao-e-
comunicacao-entre-processos.pdf 
https://www.gsigma.ufsc.br/~popov/aulas/so1/cap7so.html 
http://lucilia.com.br/Arq/ApostilaSO.pdf 
https://www.youtube.com/watch?v=v5oEn3UhMVYhttp://www.univasf.edu.br/~andreza.leite/aulas/SO/ProcessosSincronizacao.pdf 
http://www.professores.uff.br/mquinet/wp-
content/uploads/sites/42/2017/08/7.pdf 
http://www.inf.ufrgs.br/~asc/livro/windows2k.pdf 
http://www.romulosilvadeoliveira.eng.br/discipli/cad-cbtisa/SO-Jai2002-pagina.pdf 
http://walderson.com/site/wp-content/uploads/2014/05/Aula09-Sincronizacao-e-comunicacao-entre-processos.pdf
http://walderson.com/site/wp-content/uploads/2014/05/Aula09-Sincronizacao-e-comunicacao-entre-processos.pdf
https://www.gsigma.ufsc.br/~popov/aulas/so1/cap7so.html
http://lucilia.com.br/Arq/ApostilaSO.pdf
https://www.youtube.com/watch?v=v5oEn3UhMVY
http://www.univasf.edu.br/~andreza.leite/aulas/SO/ProcessosSincronizacao.pdf
http://www.professores.uff.br/mquinet/wp-content/uploads/sites/42/2017/08/7.pdf
http://www.professores.uff.br/mquinet/wp-content/uploads/sites/42/2017/08/7.pdf
http://www.inf.ufrgs.br/~asc/livro/windows2k.pdf
http://www.romulosilvadeoliveira.eng.br/discipli/cad-cbtisa/SO-Jai2002-pagina.pdf

Continue navegando