Buscar

Informações sobre Processos em Sistemas Operacionais

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
35
INFORMAÇÕES SOBRE PROCESSOS
Nos processos são identifi cados os limites e características dos recursos que 
podem ser utilizados pelos processos, como a quantidade de arquivos que podem ser 
abertos simultaneamente, qual execução vai se realizar primeiro e o tamanho do buffer 
para operações de I/O.
O arquivo de usuário do sistema operacional contém várias informações a respeito 
do processamento. É nesse arquivo que são especifi cados os limites dos recursos que 
Aula 04
UMA ABORDAGEM
SOBRE PROCESSOS
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
36
cada processo pode alocar. Com o gerenciamento do administrador do sistema, outras 
informações são geradas dinamicamente. De acordo com o andamento dos processos, as 
informações são separadas por três grupos de informação.
Identificação: PID (Process Identification Number) é o número de identificação 
de processo. Através desse número o sistema operacional e outros processos podem 
identificar qualquer processo existente e alguns sistemas. Além de identificar através do 
número, faz a identificação através do nome do processo. Há no processo a identificação 
do usuário ou do processo que o criou, (UID user identifcation). O usuário possui 
identificação única no sistema.
Quotas: Há limites para cada recurso do sistema que um processo pode alocar, 
mas caso uma cota seja insufi ciente, esse processo pode ser executado lentamente ou 
interrompido durante a sua execução ou até mesmo não ser executado.
Privilégios: Pode ser também chamado de direito, pois é o que defi ne as ações que o 
processo pode fazer em relação a si, aos demais processos e ao sistema operacional. Alguns 
privilégios afetam o seu próprio processo. Assim, ele pode alterar suas características e sua 
prioridade de execução. Alguns podem tanto alterar suas características como as dos outros 
processos, permitindo assim sua própria alteração e a dos outros processos também. 
Privilégios que afetam os sistemas são mais amplos e podem se relacionar com 
a gerência de ambiente. A desativação do sistema, a alteração de regras de segurança, a 
criação de outros processos privilegiados, na maioria dos sistemas operacionais, têm um 
usuário com acesso a todos os privilégios para alteração, com a intenção de o administrador 
gerenciar o sistema operacional através de comandos.
Espaço de endereçamento é onde os dados pertencentes ao processo são salvos para 
a execução, pois cada processo possui o seu próprio espaço de endereçamento e é protegido 
dos demais processos, e cada processo tem um único thread1. Em algumas situações, é 
recomendável que se tenha múltiplos threads no mesmo espaço de endereçamento e quase 
que executando os processos em paralelo, ou é essa a impressão que se tem.
PCB – BLOCO DE CONTROLE DO PROCESSO
Há uma área onde o sistema operacional mantém todas as informações sobre 
hardware, software e espaço de endereçamento de cada processo. O processo é implementado 
através dessa estrutura. Esse PCB de todos os processos ativos fi ca na memória principal, em 
uma área exclusiva do sistema operacional, e o tamanho dessa área, geralmente é limitado 
por parâmetro do sistema operacional que pode especifi car a quantidade de processos 
1Wikipédia –Thread, ou linha de execução em português, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que 
podem ser executadas simultaneamente. O suporte à threadé fornecido pelo próprio sistema operacional (SO), no caso da Kernel-Level 
Thread (KLT), ou implementada através de uma biblioteca de uma determinada linguagem, no caso de uma User-Level Thread (ULT).
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
37
suportada simultaneamente pelo sistema. Um exemplo para a visualização dos processos 
que estão sendo executados é o comando (process status) no sistema operacional Linux. 
Os processos são criados no momento em que o sistema operacional acrescenta um novo 
PCB à sua estrutura e aloca um espaço de endereçamento na memória para o uso. Quando o 
PCB é criado, o sistema operacional já reconhece a existência de um novo processo. Assim 
ele pode gerenciá-lo e associar programas ao seu contexto para que sejam executados. Por 
outro lado, quando ele for eliminado de um processo, todos os recursos associados a ele são 
deslocados e o PCB é eliminado pelo sistema operacional.
THREADS
Até o fi nal da década de 70 havia sistemas operacionais que suportavam processos 
com um único thread, um processo com um único programa fazendo parte de seu contexto. 
Logo após meados dos anos de 1980, período em que foi desenvolvido o sistema operacional 
Toth, desenvolveu-se também o conceito de processos lightweight (peso leve). Isso signifi ca 
que o espaço de endereçamento de processo é compartilhado por vários programas e, com 
isso, veio o conceito de múltiplos threads ou multithread, em que é possível projetar e 
implementar aplicações concorrentes de forma efi ciente. Um processo pode ter partes 
diferentes de seu código sendo executado concorrentemente. Para visualizar melhor os 
threads podemos dizer o seguinte, imagine um programa como um gerenciador de e-mail. 
Em vez de ter um processo com um único thread, para visualizar os e-mails recebidos e 
enviar outros, o processo pode ser separado em diversos thread, a fi m de se obter um ganho 
de qualidade no desempenho. 
Imagine se em um aplicativo, onde se pode fazer várias ações ao mesmo tempo, 
fosse desenvolvido o conceito de se usar apenas um thread, o usuário teria que realizar uma 
tarefa de cada vez.
Podemos ter o desenvolvimento do conceito threads de duas maneiras: uma no 
modo usuário (TMU Threads em modo usuário) e o outro em modo kernel. No modo 
usuário os threads são implementados pelo aplicativo e não pelo sistema operacional. A 
vantagem desse modelo é que se pode implementar aplicações multithread. 
Mas há uma grande limitação nesse conceito. É que mesmo com a aplicação sendo 
desenvolvida para vários threads, o sistema operacional gerencia cada processo como se 
tivesse apenas um thread. No instante em que um thread chama uma rotina do sistema, 
coloca-o em estado de espera. Mesmo havendo outros threads prontos para a execução, 
para que isso não ocorra, a biblioteca do aplicativo precisa conter rotinas que substituam as 
rotinas bloqueantes, por outras que não causam o bloqueio.
Threads em modo kernel (TMK), já são implementados diretamente no núcleo 
do sistema operacional. O grande vilão do mokernel é o baixo desempenho, pois o modo 
kernel utiliza-se das chamadas rotinas do sistema, consequentemente, causando várias 
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
38
mudanças no modo de acesso. Existe o modo híbrido, que é a junção dos dois modos, 
utilizado em uma combinação em que podem ter as vantagens do modo usuário (TMU) e 
do modo kernel.
Um processo pode ter vários TMK e, por sua vez, um TMK pode ter vários TMU. 
O que pode ser feito é que o núcleo reconhece os thread modo kernel e pode escaloná-los. 
Um thread modo usuário pode ser executado em um thread modo kernel.
Podemos considerar os threads como miniprocessos. Podem ser chamados de 
processos leves ou pequenas fatias de um processo no qual compartilham o espaço para 
endereçamento. Mas podemos também dizer que há processos com apenas um thread. Uma 
das maiores motivações na criação de theads foi o processo em cooperação. Várias aplicações 
dependem de componentes independentes, para comunicar e sincronizar atividades. Antes 
de serem implementados, os threads eram executados com múltiplos processos que eram 
grandes e pesados. Outra questão é o desempenho. Como as threads podem compartilhar 
um processador ou vários, porque as tarefas podem ser realizadas em paralelo, isso pode 
reduzir signifi cavelmente o tempo requerido para a aplicação multithread concluir o seu 
trabalho em comparação a um sistema monothread. 
Hoje é muito comum aplicaçõesmultithreads serem utilizadas em sistemas de 
computadores, pois se dá uma melhora substancial no desempenho dos aplicativos.
CANCELAMENTO
O cancelamento de um thread é quando várias threads estão pesquisando em um 
banco de dados. Por exemplo, se um thread retorna algum resultado, os outros podem 
ser cancelados. O thread que está para ser cancelado é chamado de thread alvo e esse 
cancelamento alvo pode ocorrer em dois diferentes casos:
Cancelamento assíncrono: E um thread cancelado no exato momento, é o thread 
alvo.
Cancelamento adiado: O thread-alvo pode verifi car periodicamente se deveria 
terminar.
CPU-BOUND E I/O(E/S)-BOUND
Os processos podem ser classifi cados em dois tipos: os utilizados pelo processador 
e os utilizados pelos dispositivos de entrada e saída.
Quando um processo passa a maior parte do tempo em estado de execução, ou 
seja, utilizando o processador, ou em estado pronto, defi ne-se como um tipo de processo 
encontrado em aplicações científi cas, em que são realizados muitos cálculos e poucas 
operações de leitura e gravação. Já os processos que são classifi cados como E/S-bound 
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
39
são aqueles que fi cam a maior parte do tempo em estado de espera. Como o próprio nome 
sugere, realiza um grande número de operações de E/S. Esse tipo de processo é encontrado 
em aplicações comerciais baseadas em leitura, processamento e gravação. Há também os 
processos interativos por sua forma de comunicação entre o usuário e o sistema. Veja uma 
comparação entre os dois sistemas na fi gura 1. 
No CPU-bound percebemos que o processo se utiliza da CPU por mais tempo, já 
no I/O-bound o processo fi ca por mais tempo nos dispositivos de entrada e saída.
 
PROCESSOS FOREGROUND E BACKGROUND
O processo possui sempre dois canais de comunicação ligados à sua estrutura. 
Durante o seu processo são realizadas todas as entradas e saídas de dados e os canais de 
entrada (input) e saída (output) podem estar associados a terminais, arquivos, impressoras 
e ligados até mesmo a outros processos.
 Um processo que permite a comunicação direta do usuário com o processo, 
no momento do processamento, tem o canal de entrada quanto o de saída ligados a um 
terminal como teclado, mouse e monitor, estabelecendo, assim, a comunicação direta com 
o usuário. O processamento que tem a comunicação direta com o usuário tem como base 
processos foreground.
No processo que não tem a comunicação direta dos processos com o usuário 
no momento de seu processamento, os canais de E/S não estão associados a nenhum 
dispositivo de E/S interativo, mas, em geral, a arquivos de E/S. Esse processo é definido 
como processo background.
É possível associar o canal de saída de um processo ao canal de entrada de outro 
processo. Exemplo: se temos um processo que gera uma listagem e outro processo que tem 
a função de ordenar a listagem, podemos associar o canal de saída do primeiro processo ao 
canal de entrada do segundo processo.
Figura 1
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
40
SINAIS
Sinais podem ser considerados quando o usuário faz o uso da combinação de teclas 
[Ctrl+C], para interromper a execução de um programa. A partir da digitação dessas teclas, 
o sistema operacional gera um sinal e sinaliza ao processo a ocorrência do evento. Um 
processo não pode responder imediatamente a um sinal. Por isso, os sinais fi cam pendentes 
até que o processo seja escalonado, pois só quando for escalonado, aí sim será tratado. Por 
exemplo, quando um processo é eliminado, o sistema ativa o bit associado a esse evento e 
o processo será somente excluído do sistema quando for selecionado para execução. 
Podemos perceber que, nesse caso, é possível que o processo demore até que seja 
realmente eliminado. O mecanismo de sinais é muito semelhante a interrupções e exceções. 
O sinal é para o processo assim como as interrupções são para o sistema operacional.
ATIVIDADES 
As atividades referentes a esta aula estão disponibilizadas na ferramenta 
“Atividades”. Após respondê-las, envie-nas por meio do Portfólio- ferramenta do 
ambiente de aprendizagem UNIGRAN Virtual. Em caso de dúvidas, utilize as ferramentas 
apropriadas para se comunicar com o professor.
Figura 2

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes