Prévia do material em texto
Tecnologia em Análise e Desenvolvimento de Sistemas Faculdade Guairacá Autor: Antonio Marcos Zampier Tecnologia em Análise e Desenvolvimento de Sistemas Rua XV de Novembro, 7050 – Centro – Guarapuava – PR Antonio Marcos Zampier amzampier@ig.com.br Página.: 1 Capitulo 5 – Processos 1. Defina o conceito de processo. Conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas. Pode ser definido como um ambiente onde um programa é executado, além das informações sobre a execução, também possui a quantidade de recursos do sistema que cada programa pode utilizar, como o espaço de endereçamento da memória principal, tempo de processador e área em disco. 2. Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis? Porque o processo encapsula a tarefa a ser realizada pelo programa permitindo que o sistema operacional administre tal processo provendo recursos à medida que são solicitados. Assim o sistema operacional tem como identificar qual processo pediu qual recurso. Além disso, através dos processos é possível para um programa alocar recursos, trocar informações, compartilhar dados, sincronizar sua execução. E nestes sistemas os processos são executados concorrentemente, ou seja, compartilham o uso da memória principal, dispositivos de E/S, processador, entre outros. 3. Quais partes compõe um processo? O processo possui três partes: O contexto de software, o contexto de hardware e espaço de endereçamento. 4. O que é o contexto de hardware de um processo e como é a implementação da troca de contexto? O contexto de hardware de um processo armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. No momento que o processador perde a utilização da UCP, o sistema salva informações no contexto do hardware do processo. 5. Qual a função do contexto de software? Exemplifique cada grupo de informação. No contexto de software de um processo são especificados limites e características dos recursos que podem ser alocadas pelo processo, com o número máximo de arquivos abertos simultaneamente, prioridade de execução e tamanho do buffer para operações de E/S. Muito destas características são determinadas no momento da criação do processo, enquanto outras podem ser alteradas durante sua existência. O contexto de software é composto por três grupos de informações sobre o processo: Identificação, Quotas e privilégios. Tecnologia em Análise e Desenvolvimento de Sistemas Rua XV de Novembro, 7050 – Centro – Guarapuava – PR Antonio Marcos Zampier amzampier@ig.com.br Página.: 2 Identificação: Cada processo criado pelo sistema recebe uma identificação única. PID (process identification), representada por um número, através deste, o SO e outros processos podem fazer referência a qualquer processo existentes, consultando seu contexto ou alterando uma das suas características. O processo também possui outra identificação do usuário ou processo que o criou. Cada usuário possui uma identificação única no sistema UID (user identification), ele permite implementar um sistema de segurança, onde apenas os objetos que possuem a mesma UID do usuário podem ser acessados. Quotas: São os limites de cada recurso do sistema que o processo pode alocar, caso uma quota seja insuficiente, o processo poderá ser executado lentamente, interrompido durante seu processamento ou mesmo não ser executado. Privilégios: ou direitos definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional, privilégios que afetam o próprio processo permite que suas características possam ser alteradas. Já os privilégios que afetam os demais processos permitem, além da alteração de suas próprias características como também alterar as de outros processos. 6. O que é o espaço de endereçamento de um processo? O espaço de endereçamento é a área da memória pertencente ao processo onde as instruções e dados dos programas são armazenados para a execução. Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos. 7. Defina os cinco estados possíveis de um processo. Estado de criação: O processo está sendo alocado na memória, sendo criado no sistema. Todos os recursos necessários à execução do processo são reservados durante a passagem do processo por este estado, o que acontece uma única vez. Vários processos podem estar neste estado, ao mesmo tempo. Estado de Pronto: É o estado onde os processos, depois de criados ou quando retornam do tratamento de uma interrupção, permanecem aguardando a liberação do CPU para que possam iniciar ou continuar seu processamento. Estado de Execução: É onde o processo efetivamente utiliza a CPU. Ele permanece no processador ate que seja interrompido ou termine sua execução. Neste estado, somente um processo pode permanecer de cada vez, já que existe apenas um processador. Estado de Espera: Neste estado estão todos os processos que sofreram algum tipo de interrupção de E/S, onde permanecem até que a intervenção seja resolvida. Vários processos podem estar neste estado ao mesmo tempo. Estado de Saída: É o estado final do processo, quando este termina seu processamento, vários processos podem estar neste mesmo estado e tempo. Tecnologia em Análise e Desenvolvimento de Sistemas Rua XV de Novembro, 7050 – Centro – Guarapuava – PR Antonio Marcos Zampier amzampier@ig.com.br Página.: 3 8. Diferencie processos multhreads, subprocessos e processos independentes. Processos independentes: São os mais simples de todos, já que não existe um vínculo do processo criado com seu criador, sua criação exige a alocação de um PCB, contendo contexto de hardware, contexto de software e espaço de endereçamento. Subprocessos: São processos criados dentro de uma estrutura hierárquica, o processo criador é denominado processo-pai, e uma característica deste processo é a dependência entre processos criador e subprocessos. Multhreads: Foi criado para diminuir o tempo no processo, onde um único processo pode suportar múltiplos threads cada qual associado a uma parte do código de aplicação. 9. Explique a diferença entre processo foreground e background. Processo Foreground: É aquele que permite a comunicação direta do usuário com o processo durante seu processamento, tanto o canal de entrada e saída estão associados a um terminal como teclado, mouse e monitor, permitindo assim a interação com o usuário. Processo Background: É aquele que não existe a comunicação com o usuário durante seu processamento. Neste caso, 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. 10. Explique como a eliminação de um processo utiliza o mecanismo de sinais. Quando um processo é eliminado, o sistema ativa o sinal associado a este evento. O processo somente será excluído do sistema quando for selecionado para execução. Neste caso é possível que o processo demore algum período de tempo até ser eliminado de fato.