Aldeia Numaboa
Um portal diferente em Português do Brasil

Informática da Aldeia

Home Informática Oráculo de Referências Windows Processos e Linhas de processo

Na Aldeia

Há 133 visitantes e 1 usuário registrado online

3308 registros
3 hoje
12 nesta semana
45 neste mês

Boas vindas: paulo

Estatística

Artigos: 1063
Leituras: 6040180
Arquivados: 21
Downloads: 533
Baixados: 172375
Glossário: 1208
Bibliografia: 25
Links: 90

Visitas de onde

Top 5:
Brasil flag 73%Brasil (48946)
Portugal flag 5%Portugal (3182)
EUA flag 3%EUA (2201)
Rússia flag 0%Rússia (262)
Holanda flag 0%Holanda (240)
67254 visitas de 100 países

Hoje:2262
Ontem:2587
No mês:41439
Mês passado:25815
Total:67254
Recorde:3037
No dia:04.03.10
Leituras hoje:26318
Leituras Total:287870
Bots hoje:374
Dados desde:16.02.2010

Login



Kanji da hora




Faça contato






Dom

27

Mai

2007


10:21

Processos e Linhas de processo PDF Imprimir Indique esta página
(10 votos, média 3.3 de 5)
Escrito por vovó Vicki   


Índice do Artigo
Processos e Linhas de processo
Prioridades
Todas as páginas

Simplificando ao extremo, um PROCESSO é simplesmente um programa em execução. A execução do programa segue uma sequência de instruções. Podemos dizer que o programa segue o "fio da meada" das instruções, ou seja, possui no mínimo uma LINHA DE PROCESSO.

A linha de processo ( thread) ocupa tempo do processador, onde as instruções são executadas. Daí a definição:

Linha de processo é a unidade básica para a qual o sistema operacional aloca tempo de processador.


Image

Uma linha de processo pode executar qualquer parte do código do processo, inclusive partes que estejam sendo utilizadas por outra linha de processo.

Mas nem só de código vive um processo. Cada processo precisa fornecer todos os recursos necessários para que o programa possa ser executado. Um processo possui um espaço de endereçamento virtual, código executável, dados, manipuladores (handles) de objetos, variáveis do ambiente e uma prioridade básica. Para cada processo que é iniciado, o sistema operacional atribui uma linha de processo inicial, geralmente chamada de linha de processo primária. Depois, se for necessário, o processo pode criar linhas de processo adicionais.

A multitarefa

Imagine um processo e sua linha de processo primária ocupando todo o tempo do processador. A uma certa altura, o processo cria uma segunda linha de processo que vai percorrer um caminho diferente na sequência de instruções. Neste caso, o processador precisa prestar serviços às duas linhas de processo, dividindo o tempo entre as duas. Pronto, nasceu a MULTITAREFA!

O Windows foi desenhado para realizar multitarefas preemptivas. Para quem não sabe, preempção é o mesmo que prioridade, preferência, direito de aquisição. E é isso mesmo o que acontece: cada linha de processo passa a ter direito a uma parte do tempo do processador. É claro que o processador não pode atender todas as linhas de processo de todos os processos em execução ao mesmo tempo. É aí que ele pratica a preempção... faz rodízio de atendimento e aloca uma fatia do seu tempo para cada linha de processo.

A duração da fatia de tempo depende do sistema operacional e do processador. De qualquer maneira, como as fatias de tempo são muito pequenas (aproximadamente 20 milisegundos), o processamento de múltiplas linhas de processo dá a impressão de ser simultâneo. Para o usuário, é como se fosse "assobiar e chupar cana ao mesmo tempo". Para o processador é uma roda viva! Se houver processos demais e/ou linhas de processo em excesso, o processador perde o fôlego e o rendimento do sistema pode cair muito.

Todas a linhas de processo de um determinado processo compartilham seu espaço de endereçamento virtual e os recursos do sistema. É claro que precisa ser assim, senão as linhas de processo iriam se estranhar. Adicionalmente, cada linha de processo mantém manipuladores de exceção (que controlam erros que possam ocorrer), a sua prioridade de atendimento e um jogo de estruturas que o sistema usa para guardar o contexto da linha de processo enquanto ela não é atendida.

Para o usuário, a vantagem de um sistema multitarefa está no fato de poder usar vários aplicativos que trabalhem simultaneamente. Por exemplo, enquanto estiver trabalhando num editor de texto, outro aplicativo pode estar recalculando uma extensa planilha de cálculos.

Para o programador também existem vantagens. Ele pode criar aplicativos que utilizem mais de um processo, cada um deles com uma ou mais linhas de processo. Por exemplo, um aplicativo pode ter uma linha de processo para a interface do usuário que gerencia a entrada do teclado e do mouse, enquanto uma segunda linha de processo realiza um trabalho diferente. Dando uma prioridade maior à linha de processo que atende o usuário, este será atendido mais rapidamente e o trabalho de fundo usará o processador com eficiência sempre que a primeira estiver ociosa.



Última atualização ( Dom, 27.05.2007 11:49 )
 

Topo

Topo

Exceto onde especificamente citado, todo material deste site está sob Licença Creative Commons