Estudo

Disponível somente no TrabalhosFeitos
  • Páginas : 48 (11805 palavras )
  • Download(s) : 0
  • Publicado : 9 de abril de 2013
Ler documento completo
Amostra do texto
Ambiente monothread.
cada um com seu próprio contexto de hardware, contexto de software e espaço de endereçamento.

São exemplos de sistemas monothread o Microsoft MS-DOS e as primeiras versões do MS-\~indo^\^N s. .\Mesmo em ambientes multiprogramaveis e multiusuário, encontramos exemplos de implementações monothread, como nas versões mais antigas dos sistemas Unix.

6.3 Ambiente MultithreadEm um ambiente MultiThread. ou seja~ com múltiplos threads, não existe a ideia de programas associados a processos~ mas, sim, a threads. O processo, neste ambiente, tem pelo menos um thread de execução, mas pode compartilhar o seu espaço de endereçamento com inúmeros outros threads. Na Fig. 6.3 existe apenas um processo com três threads de execução compartilhando o mesmo espaço deendereçamento.
861 Arquitetura de Sistemas Operacionais

De forma simplificada, um thread pode ser definido como uma sub-rotina de um programa que pode ser executada de forma associada, ou seja~ executada paralelamente ao programa chamador. O programador deve especificar os threads~ associando-os as sub-rotinas associadas. Desta forma~ um ambiente multithread possibilita a execuc^7ao concorrente desub-rotinas dentro de um mesmo processo.

Na Fig. 6.4 existe um programa principal que realiza a chamada de duas sub-rotinas associadas (Sub_l e Sub_2). Inicialmente. o processo e criado apenas com o Thread 1 para a execução do programa principal. Quando o programa principal chama as sub-rotinas Sub_l e Sub_2~ são criados os Thread_2 e Thread_3, respectivamente, e executados independentemente doprograma principal. Neste processo, os três threads são executados concorrentemente

No ambiente multithread, cada processo pode responder a varias solicitações concorrentemente ou mesmo simultaneamente. caso haja mal de um processador. A grande vantagem no uso de threads e a possibilidade de minimizar a alocação de recursos do sistema, além de diminuir o overhead na criação, troca e eliminação deprocessos.

Threads compartilham o processador da mesma maneira que processos e passam pelas mesmas mudanças de estado (execução, espera e pronto). Por exemplo, enquanto um thread espera por uma operação de E/S, outro thread pode ser executado. Para permitir a troca de contexto entre os diversos threads, cada thread possui seu próprio contexto de hardware com o conteúdo dos registradores gerais, PCe SP. Quando um thread esta sendo executado, seu contexto de hardware esta armazenado nos registradores do processador. No momento em que o thread perde a utilização da UCP, as informações são atualizadas no seu contexto de hardware.

Dentro de um mesmo processo, threads compartilham o mesmo contexto de software e espaço de endereçamento com os demais threads, porem cada thread possui seucontexto de hardware individual. Threads são implementados internamente através de uma estrutura de dados denominada bloco de controle do thread ( Thread Control Block—T(~B^). O TCB armazena. além do contexto de hardware, mais algumas informações relacionadas exclusivamente ao thread, como prioridade, estado de execução e bits de estado.

Em ambientes monothread. o processo e ao mesmo tempo a unidadede alocação de recursos e a unidade de escalonamento. A independência entre os conceitos de processo e thread permite separar a unidade de alocação de recursos da unidade de escalonamento, que em ambientes monothread estão fortemente relacionadas. Em um ambiente multithread~ a unidade ~e alocação de recursos e o processo, onde todos os seus threads compartilham o espaço de endereçamento,descritores de arquivos e dispositivos de E/S. Por outro lado. cada thread representa uma unidade de escalonamento independente. Neste caso. o sistema não seleciona um processo para a execução, mas sim um de seus threads.

A grande diferença entre aplicações monothread e multlthread esta no uso do espaço de endereçamento. Processos independentes e sub processos possuem espaços de endereçamento...
tracking img