Buscar

Lista 2 SO

Prévia do material em texto

Lista 2 – SO Multiprogramação 
1. Explique os três principais estados de um processo: 
Apto (Ready); 	
É quando o processo está pronto e esperando para ser executado pela CPU.
 Executando (Running);
Quando o processo está pronto e esperando para ser executado pela CPU. 
Bloqueado (Blocked). 
Por fim é quando o processo está esperando algum evento externo ou por algum recurso para poder prosseguir seu processamento.
2. Descreva os eventos que fazem com que o processo mude de estado. 
A execução muda para bloqueado se necessitar de uma entrada, e muda para pronto caso seu tempo acabe e o escalonador selecione outro processo. O bloqueado muda para pronto caso a entrada esteja disponível. O pronto muda para execução se o escalonador o selecionar para tal.
3. Explique as três partes de um processo descrevendo alguns elementos que as compõem: 
Contexto de hardware; constitui-se do conteúdo de registradores. A troca de um processo por outro na CPU, pelo sistema operacional, é denominada mudança de contexto. Mudança de Contexto - salva o conteúdo dos registradores da CPU e carregá-los com os valores referentes ao do processo que está ganhando a utilização do processador.
Contexto de software; Características do processo incluídas na execução de um programa, divididas em: Identificação – Principalmente número (PID) de identificação e identificação do processo ou usuário (UID) que o criou. Quotas – Limites de cada recurso do sistema que um processo pode alocar. Privilégios – o que o processo pode ou não fazer em relação ao sistema e aos outros processos. 
Espaço de endereçamento: 
Área da memória do processo onde o programa será executado e para dados utilizados por ele. Deve ser protegido do espaço de endereçamento dos demais processos.
4. Explique o que é swap? 
O swap é uma técnica aplicada ao gerenciamento de memória que visa dar maior taxa de utilização da memória principal melhorando o compartilhamento, criada na tentativa de melhorar o problema da insuficiência de memória durante a execução de alguns processos em ambientes multiprogramados. Essa técnica consiste em transferir automaticamente todo o processo da memória principal para o disco (swap out) e vice-versa.
5. A operação “desabilita interrupções” deve ser privilegiada ou não? Justifique. 
Sim, pois as interrupções são essenciais, elas são ignoradas pelo processador. Elas não são perdidas, apenas ficam pendentes.
6. A operação “desliga o temporizador” deve ser privilegiada ou não? Justifique. 
Sim, porque caso o contrário o processo terá controle do processador por tempo indeterminado. O temporizador ligado é a garantia de que o Sistema Operacional será acionado ao menos uma vez a cada período de alguns milissegundos.
7. Pode-se considerar como consequência da multiprogramação “uma pior utilização do processador”? Justifique. 
Não, pelo contrário, o processador é mais bem utilizado, pois quando o programa faz uma requisição de entrada de um dado, por exemplo, a CPU não fica ociosa e é escalonado outro job para ela enquanto o dado não é carregado.
8. Pode-se considerar uma consequência da multiprogramação “uma menor necessidade de hardware de proteção”? Justifique. 
Não, em consequência da multiprogramação devemos ter um maior hardware para proteção, para evitar que um programa invada a área de memória de outro, etc.
9. Explique o funcionamento e a utilidade dos registradores base e limite. 
Quando um processo é escalonado o registrador-base é carregado com o endereço de início da partição e o registrador- limite com o tamanho da partição, o registrador-base torna impossível a um processo uma remissão a qualquer parte de memória abaixo de si mesmo. Automaticamente, a MMU adiciona o conteúdo do registrador-base a cada endereço de memória gerado. Endereços são comparados com o registrador-limite para prevenir acessos indevidos.
10. Descreva o processo realizado para o atendimento a uma interrupção.
Toda interrupção possui um código de identificação. Sempre que uma nova interrupção chega nesse gerenciador, ele armazena esse código em sua memória e manda um sinal para CPU através do Barramento de Controle. Durante seu Ciclo de Instrução, sempre que uma instrução é executada, antes de voltar para o Ciclo de Busca, a CPU checa se algum sinal de interrupção foi enviado pelo Gerenciador de Interrupção. As interrupções também ocorrem se o próprio programa em execução executar uma operação ilegal. Isso é feito para evitar que a CPU entre em erro. Por exemplo, se um programa tentar acessar uma área da memória que é proibida para ele, como a área de outro programa ou do Sistema Operacional. Nesse caso, o programa é interrompido e não volta mais a executar, ele é finalizado e a execução é devolvida ao Sistema Operacional.

Continue navegando