Você está na página 1de 12

Fundamentos de processo

Captulo 5 Processo
1. Defina o conceito de processo.
Um processo pode ser definido como o ambiente onde um programa executado. Este ambiente, alm das informaes sobre a execuo, possui tambm o quanto de recursos do sistema cada programa pode utilizar, como o espao de endereamento, tempo de processador e rea em disco. (V) Um processo basicamente um programa em execuo. (V) Processos podem ser definidos como qualquer entidade independente que compete por recursos da mquina; (V) Associado a cada processo, est o seu espao de endereamento. (F) Um processo um programa em execuo que compartilha com outros processos o seu espao de endereamento, suas variveis globais e arquivos abertos.

2. Quais partes compem um processo?


Um processo formado por trs partes, conhecidas como contexto de hardware, contexto de software e espao de endereamento, que juntos mantm todas as informaes necessrias execuo de um programa.

3. possvel que um programa execute no contexto de um processo e no execute no contexto de um outro? Por que?
Sim, pois a execuo de um programa pode necessitar de recursos do sistema que um processo pode possuir enquanto outro no.

4. O que o contexto de hardware de um processo e como a implementao da troca de contexto?


O contexto de hardware armazena o contedo dos registradores gerais da UCP, alm dos registradores de uso especfico como program counter (PC), stack pointer (SP) e registrador de status. Quando um processo est em execuo, o seu contexto de hardware est armazenado nos registradores do processador. No momento em que o processo perde a utilizao da UCP, o sistema salva as informaes no contexto de hardware do processo.

5. Por que o conceito de processo to importante no projeto de sistemas multiprogramveis?


Atravs de processos, um programa pode alocar recursos, compartilhar dados, trocar informaes e sincronizar sua execuo. Nos sistemas multiprogramveis os processos so executados concorrentemente, compartilhando o uso do processador, memria principal, dispositivos de E/S dentre outros recursos.

6. Qual a funo do contexto de software? Exemplifique cada grupo de informao.


No contexto de software so especificadas caractersticas e limites dos recursos que podem ser alocados pelo processo, como o nmero mximo de arquivos abertos simultaneamente, prioridade de execuo e tamanho do buffer para operaes de E/S. O contexto de software composto por trs grupos de informaes sobre o processo: identificao, quotas e privilgios. Ver item 5.2.2.

7. O que o espao de endereamento de um processo?


O espao de endereamento a rea de memria pertencente ao processo onde as instrues e dados do programa so armazenados para execuo. Cada processo possui seu prprio espao de endereamento, que deve ser devidamente protegido do acesso dos demais processos. (F) Um espao de endereamento contm, tambm, os dados do programa e a sua pilha. (estranho???)

8. Como o sistema operacional implementa o conceito de processo? Qual a estrutura de dados indicada para organizar os diversos processos na memria principal?
O processo implementado pelo sistema operacional atravs de uma estrutura de dados chamada bloco de controle do processo (Process Control Block PCB). A partir do PCB, o sistema operacional mantm todas as informaes sobre o contexto de hardware, contexto de software e espao de endereamento de cada processo. (V) Cada processo tem seu prprio PCB (bloco de controle de processo) no qual constam informaes importantes, como prioridade, rea de armazenamento de dados e seu prprio nmero de identificao;

9. Defina os cinco estados possveis de um processo?


Estado de Execuo: processo que est sendo processado pela UCP no momento. Estado de Pronto: processo que aguarda para ser executado. Estado de Espera: processo que aguarda por algum evento ou recurso para prosseguir processamento. Estado de Criao: processo cujo PCB j foi criado porm ainda no teve seu processamento iniciado. Estado de Terminado: processo que no pode ter mais nenhum programa executado no seu contexto, porm o sistema operacional mantm suas informaes de controle presentes na memria..

10. D um exemplo que apresente todas as mudanas de estado de um processo, juntamente com o evento associado a cada mudana.
Livre.

11. Explique a diferena entre processos foreground e background. (no deu tempo de d)
Um processo foreground aquele que permite a comunicao direta do usurio com o processo durante o seu processamento. Neste caso, tanto o canal de entrada quanto o de sada esto associados a um terminal com teclado, mouse e monitor, permitindo, assim, a interao com o usurio. Um processo background aquele onde no existe a comunicao com o usurio durante o seu processamento. Neste caso, os canais de E/S no esto associados a nenhum dispositivo de E/S interativo, mas em geral a arquivos de E/S.

12. Qual a relao entre processo e a arquitetura microkernel? (no deu tempo)
A arquitetura microkernel baseia-se na utilizao de processos em modo usurio para executar diversas funes relativas ao sistema operacional, como gerncia de memria e escalonamento.

13. D exemplos de aplicaes CPU-bound e I/O-bound.


Livre.

14. Justifique com um exemplo a frase o sinal est para o processo assim como as interrupes e excees esto para o sistema operacional.
Quando ocorre uma diviso por zero, por exemplo, o sistema operacional notificado do problema atravs de uma exceo. Por sua vez, o sistema deve notificar ao processo que gerou o problema atravs de um sinal.

15. Explique como a eliminao 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 excludo do sistema quando for selecionado para execuo. Neste caso, possvel que o processo demore algum perodo de tempo at ser eliminado de fato. (F) Um processo que suspenso temporariamente, devido ao seu tempo de compartilhamento com a CPU ter sido excedido, ser reiniciado mais tarde a partir do comeo do processo. (V) Um conjunto de registradores, como o ponteiro para uma pilha, por exemplo, est associado a cada processo gerenciado pelo Sistema Operacional. Uma das caractersticas fundamentais existentes nos Sistemas Operacionais (S.O.) modernos o compartilhamento do poder de processamento de uma nica Unidade Central de Processamento (CPU) entre vrios processos. Com base nessa afirmao, marque V para (Verdadeiro) e F para (Falso). (F) Havendo compartilhamento de CPU entre processos, significa que mais de um processo, num dado instante, estar no estado de execuo. (V) S.O. modernos disponibilizam System Calls (chamadas ao sistema) aos desenvolvedores de aplicativos, para que esses possam criar, duplicar e extinguir processos. (F) Processos em estado de bloqueado so aqueles que, num dado instante, esto utilizando todo o poder de processamento da CPU. 1. Que aes o sistema operacional deve tomar face ocorrncia dos seguintes eventos: (1,6 ponto) a) o tempo mximo de posse da CPU (quantum) por parte de um processo expirou;

O SO interrompe a execuo do processo, salva seu estado de execuo (contexto), seleciona um processo pronto (escalonamento) e restaura seu estado de execuo. b) um processo termina sua execuo; O SO remove a entrada referente a este processo da tabela de processo e libera todos os recursos (memria, buffers, arquivos abertos) alocados ao processo. O processo tambm notifica o processo pai atravs de um sinal. c) um processo tem sua execuo bloqueada (por exemplo, devido a uma operao de entrada/sada); Idem ao item a). O processo desbloqueado (tornando-se pronto) quando o motivo do bloqueio deixa de existir. d) um processo executa uma instruo ilegal (por exemplo: diviso por zero). O SO envia um sinal correspondente a este evento que, se no tratado, causa o trmino do processo com a liberao dos recursos a ele alocados. (V)Um processo com estado bloqueado significa que este no pode, enquanto neste estado, concorrer pela CPU; (F)Quando um processo, que estava bloqueado, volta a competir por recursos passa ento, para o estado executando; (V)Um processo com estado suspenso, significa que este no pode, enquanto neste estado, concorrer pela CPU. (F)O Sistema Operacional tem sempre a preocupao direta com o usurio, dando sempre uma menor importncia aos processos em execuo; (V)Quando dois ou mais processos disputam um determinado recurso, ocorre um fato chamado de Concorrncia; (F)Manter uma boa Sincronizao significa que o Sistema Operacional ir sempre garantir uma mxima ocorrncia de conflitos, porm sem garantir a individualidade dos processos em execuo. 1. Sejam as afirmativas abaixo: (1,0 ponto) I) Um processo com estado pronto significa que j foi submetido ao sistema e j foi definitivamente concludo; II) Quando, em um processo, h uma solicitao de E/S, neste momento o processo entrar em estado de espera; III) Quando um processo conclui a solicitao de E/S, o sistema muda seu estado de espera para pronto. IV) Quando um processo, que estava bloqueado, volta a competir por recursos passa ento, para o estado executando. Das afirmativas mostradas anteriormente, esto totalmente corretas: a) II, III e IV b) I, II e III c) II e III d) I, II, III e IV 1. Segundo a Microsoft, o Windows 95 um sistema operacional grfico de 32 bits, com multitarefa preemptiva e plug and play que aproveita melhor os recursos das mquinas a partir do 386. O termo multitarefa preemptiva refere-se ao sistema operacional que: (1,0 ponto) a) faz cooperao com os programas aplicativos durante a execuo dos mesmos. b) fornece aos processos que esto sendo executados uma prioridade, e mantm o controle do tempo gasto com qualquer processo antes de passar para o processo seguinte. c) faz o escalonamento entre processos considerando apenas o tempo de processamento. d) faz o escalonamento entre os processos considerando apenas a prioridade dos mesmos. e) decide, automaticamente, qual o processo a ser executado, caso ocorra deadlock entre vrios processos.

2. Descreva as aes tomadas por um kernel para a troca de contexto entre os processos. (2,0 pontos) Em geral, o sistema operacional precisa salvar o estado do processo correntemente em execuo e restaurar o estado do processo escalonado para ser executado em seguida. Salvar o estado de um processo normalmente inclui os valores de todos os registradores da CPU, alm da alocao de memria. As trocas de contexto tambm

precisam realizar muitas operaes especficas da plataforma, incluindo o esvaziamento de caches de dados e instrues.

3. Qual a finalidade da estrutura PCB para controlar a execuo de um processo? (1,5 ponto) A partir do PCB, o SO implementa o conceito de processo e mantm as informaes sobre o contexto de hardware o contexto de software e o espao de endereamento de cada processo.

Thread

16. Diferencie processos multithreads, subprocessos e processos independentes.


Processos independentes no tm vnculo com os processos criadores. A criao de um processo independente exige a alocao de um PCB, possuindo contextos de hardware, contexto de software e espao de endereamento prprios. Subprocessos so processos criados dentro de uma estrutura hierrquica. Caso um processo pai deixe de existir, os subprocessos subordinados so automaticamente eliminados. Semelhante aos processos independentes, subprocessos possuem seu prprio PCB. Alm da dependncia hierrquica entre processos e subprocessos, uma outra caracterstica neste tipo de implementao que subprocessos podem compartilhar quotas com o processo pai. Neste caso, quando um subprocesso criado, o processo pai cede parte de suas quotas ao processo filho. Processos multithreads suportam mltiplos threads, cada qual associado a uma parte do cdigo da aplicao. Neste caso no necessrio haver diversos processos para a implementao da concorrncia. Threads compartilham o processador da mesma maneira que um processo, ou seja, enquanto um thread espera por uma operao de E/S, outro thread pode ser executado.

4. Fornea dois exemplos de programao em que o uso de multithreads no oferece melhor desempenho do que uma soluo com uma nica thread. (1,0 ponto) (1) Qualquer tipo de programa seqencial no um bom candidato para usar threads. Um exemplo disso um programa para calcular a devoluo de imposto de renda individual. (2) Outro exemplo um programa de shell, como o C-shell. Esse tipo de programa precisa monitorar de perto seu prprio espao de trabalho, como arquivos abertos, variveis de ambiente e diretrio de trabalho atual. 5. So vantagens de utiliza threads no espao de usurio, exceto: (1,0 ponto) (no visto em sala de aula) a) Nenhuma modificao necessria no kernel. b) O sistema operacional escalona a thread. c) O escalonamento pode ser especfico para a aplicao. d) A criao e o gerenciamento das threads so mais eficientes. e) Maior portabilidade da aplicao. 6. Fornea dois exemplos de programao em que o uso de multithreads oferece melhor desempenho do que uma soluo com nica thread. (2,0 pontos) (Exemplo 1) Um servidor Web que atende a cada requisio em uma thread separada. (Exemplo 2) Uma aplicao paralelizada, como uma multiplicao de matriz em que diferentes partes da matriz podem ser atuadas paralelo. (Exemplo 3) Um programa GUI interativo, como um depurador em que uma thread usada para monitorar a entrada do usurio, outra thread representa a aplicao em execuo e uma terceira thread monitora o desempenho. (F)Os benefcios da programao multithread so: responsividade, j que possvel um programa continuar funcionando mesmo com parte dele bloqueado; compartilhamento de recursos (memria e

processamento); economia, pois threads compartilham recursos do processo ao qual pertencem; e a utilizao de arquiteturas multi-processadas, uma vez que as threads podem executar em paralelo, nos diferentes processadores.

Captulo 6 Thread
1. Como uma aplicao pode implementar concorrncia em um ambiente monothread?
Atravs de processos independentes e subprocessos.

2. Quais os problemas de aplicaes concorrentes desenvolvidas em ambientes monothread?


Um problema que o uso de processos no desenvolvimento de aplicaes concorrentes demanda consumo de diversos recursos do sistema. Sempre que um novo processo criado, o sistema deve alocar recursos para cada processo, consumindo tempo de processador neste trabalho. No caso do trmino do processo, o sistema dispensa tempo para desalocar recursos previamente alocados. Outro problema a ser considerado quanto ao compartilhamento do espao de endereamento. Como cada processo possui seu prprio espao de endereamento, a comunicao entre processos torna-se difcil e lenta, pois utiliza mecanismos como pipes, sinais, semforos, memria compartilhada ou troca de mensagem.

3. O que um thread e quais as vantagens em sua utilizao?


Um thread pode ser definido como uma subrotina de um programa que pode ser executada de forma assncrona, ou seja, executada paralelamente ao programa chamador. A grande vantagem no uso de threads a possibilidade de minimizar a alocao de recursos do sistema, alm de diminuir o overhead na criao, troca e eliminao de processos.

4. Quais as vantagens e desvantagens do compartilhamento do espao de endereamento entre threads de um mesmo processo?
Como threads de um mesmo processo compartilham o mesmo espao de endereamento, no existe qualquer proteo no acesso memria, permitindo que um thread possa alterar facilmente dados de outros. Para que threads trabalhem de forma cooperativa, fundamental que a aplicao implemente mecanismos de comunicao e sincronizao entre threads, a fim de garantir o acesso seguro aos dados compartilhados na memria. Por outro lado, o compartilhamento do espao de enderemento extremamente simples e rpido.

5. Compare os pacotes de threads em modo usurio e modo kernel?


Threads em modo usurio (TMU) so implementados pela aplicao e no pelo sistema operacional. Para isso, deve existir uma biblioteca de rotinas que possibilita aplicao realizar tarefas como criao/eliminao de threads, troca de mensagens entre threads e uma poltica de escalonamento. Neste modo, o sistema operacional no sabe da existncia de mltiplos threads, sendo responsabilidade exclusiva da aplicao gerenciar e sincronizar os diversos threads existentes. Threads em modo kernel (TMK) so implementadas diretamente pelo ncleo do sistema operacional, atravs de chamadas a rotinas do sistema que oferecem todas as funes de gerenciamento e sincronizao. O sistema operacional sabe da existncia de cada thread e pode escalon-los individualmente. No caso de mltiplos processadores, os threads de um mesmo processo podem ser executados simultaneamente.

6. Qual a vantagem do scheduler activations comparado ao pacote hbrido?


A principal vantagem melhorar o desempenho no seu uso evitando as mudanas de modos de acesso desnecessrias (usurio-kernel-usurio). Caso um thread utilize uma chamada ao sistema que o coloque no estado de espera, no necessrio que o kernel seja ativado, bastando que a prpria biblioteca em modo usurio escalone outro thread. Isto possvel porque a biblioteca em modo usurio e o kernel se comunicam e trabalham de forma

cooperativa. Cada camada implementa seu escalonamento de forma independente, porm trocando informaes quando necessrio.

7. Como o uso de threads pode melhorar o desempenho de aplicaes paralelas em ambientes com mltiplos processadores?
Para obter os benefcios do uso de threads, uma aplicao deve permitir que partes diferentes do seu cdigo sejam executadas em paralelo de forma independente. O uso de uma arquitetura com mltiplos processasdores beneficia a concorrncia entre os threads com a possibilidade do paralelismo de execuo entre processadores.

8. Quais os benefcios do uso de threads em ambientes cliente-servidor?


O principal benefcio do uso de threads em ambientes cliente-servidor a melhoria no desempenho da aplicao servidora. Alm disso, a comunicao entre os threads no servidor pode ser feita atravs de mecanismos mais simples e eficientes.

9. Como o uso de threads pode ser til em arquiteturas microkernel?


A arquitetura microkernel utiliza processos para implementar funes relativas ao kernel do sistema operacional, sendo que esses processos so utilizados como servidores quando algum cliente necessita de algum servio do sistema. Arquiteturas que implementam threads, possibilitam um melhor desempenho dos processos servidores.

10. Explique a diferena entre unidade de alocao de recursos e unidade de escalonamento?


Em ambientes monothread, o processo ao mesmo tempo a unidade de alocao de recursos e a unidade de escalonamento. A independncia entre os conceitos de processo e thread permite separar a unidade de alocao de recursos da unidade de escalonamento, que em ambientes monothread esto fortemente relacionadas. Em um ambiente multithread, a unidade de alocao de recursos o processo, onde todos os seus threads compartilham o espao de endereamento, descritores de arquivos e dispositivos de E/S. Por outro lado, cada thread representa uma unidade de escalonamento independente e, neste caso, o sistema no seleciona um processo para a execuo, mas sim um de seus threads.

Um thread, ou linha de execuo em portugus, uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente. As threads da categoria _______________ so suportadas pela aplicao que est sendo desenvolvida, sem conhecimento do ncleo do sistema operacional, e, geralmente so implementadas por pacotes de rotinas por uma determinada biblioteca de uma linguagem de programao. Assinale a alternativa que preenche corretamente a lacuna acima. (1,0 ponto) a) User-Level Thread b) Kernel-Level Thread c) Time-Sharing d) Fiber e) Multithreading

Captulo 3 Concorrncia (no existe uma apresentao sobre este item)


1. O que concorrncia e como este conceito est presente nos sistemas operacionais multiprogramveis?
Concorrncia o princpio bsico para projeto e implementao dos sistemas operacionais multiprogramveis onde possvel o processador executar instrues em paralelo com operaes de E/S. Isso possibilita a utilizao

concorrente da UCP por diversos programas sendo implementada de maneira que, quando um programa perde o uso do processador e depois retorna para continuar o processamento, seu estado deve ser idntico ao do momento em que foi interrompido. O programa dever continuar sua execuo exatamente na instruo seguinte quela em que havia parado, aparentando ao usurio que nada aconteceu.

2. Por que o mecanismo de interrupo fundamental para a implementao da multiprogramao?


Porque em funo desse mecanismo que o sistema operacional sincroniza a execuo de todas as suas rotinas e dos programas dos usurios, alm de controlar dispositivos.

3. Explique o mecanismo de funcionamento das interrupes.


Uma interrupo sempre gerada por algum evento externo ao programa e, neste caso, independe da instruo que est sendo executada. Ao final da execuo de cada instruo, a unidade de controle verifica a ocorrncia de algum tipo de interrupo. Neste caso, o programa em execuo interrompido e o controle desviado para uma rotina responsvel por tratar o evento ocorrido, denominada rotina de tratamento de interrupo. Para que o programa possa posteriormente voltar a ser executado, necessrio que, no momento da interrupo, um conjunto de informaes sobre a sua execuo seja preservado. Essas informaes consistem no contedo de registradores, que devero ser restaurados para a continuao do programa.

4. O que so eventos sncronos e assncronos? Como estes eventos esto relacionados ao mecanismo de interrupo e exceo?
Eventos sncronos so resultados direto da execuo do programa corrente. Tais eventos so previsveis e, por definio, s podem ocorrer um nico de cada vez. Eventos assncronos no so relacionados instruo do programa corrente. Esses eventos, por serem imprevisveis, podem ocorrer mltiplas vezes, como no caso de diversos dispositivos de E/S informarem ao processador que esto prontos para receber ou transmitir dados. Uma interrupo um evento assncrono enquanto uma exceo um evento sncrono.

5. D exemplos de eventos associados ao mecanismo de exceo.


Uma instruo que gere a situao de overflow ou uma diviso por zero.

6. Qual a vantagem da E/S controlada por interrupo comparada com a tcnica de polling?
Na E/S controlada por interrupo, as operaes de E/S podem ser realizadas de uma forma mais eficiente. Em vez de o sistema periodicamente verificar o estado de uma operao pendente como na tcnica de polling, o prprio controlador interrompe o processador para avisar do trmino da operao. Com esse mecanismo, o processador, aps a execuo de um comando de leitura ou gravao, permanece livre para o processamento de outras tarefas.

7. O que DMA e qual a vantagem desta tcnica?


A tcnica de DMA permite que um bloco de dados seja transferido entre a memria principal e dispositivos de E/S, sem a interveno do processador, exceto no incio e no final da transferncia. Quando o sistema deseja ler ou gravar um bloco de dados, o processador informa ao controlador sua localizao, o dispositivo de E/S, a posio inicial da memria de onde os dados sero lidos ou gravados e o tamanho do bloco. Com estas informaes, o controlador realiza a transferncia entre o perifrico e a memria principal, e o processador somente interrompido no final da operao.

8. Como a tcnica de buffering permite aumentar a concorrncia em um sistema computacional?


Como o buffering permite minimizar o problema da disparidade da velocidade de processamento existente entre o processador e os dispositivos de E/S, esta tcnica permite manter, na maior parte do tempo, processador e dispositivos de E/S ocupados.

9. Explique o mecanismo de spooling de impresso.


No momento em que um comando de impresso executado, as informaes que sero impressas so gravadas antes em um arquivo em disco, conhecido como arquivo de spool, liberando imediatamente o programa para outras

atividades. Posteriormente, o sistema operacional encarrega-se em direcionar o contedo do arquivo de spool para a impressora.

10. Em um sistema multiprogramvel, seus usurios utilizam o mesmo editor de textos (200 Kb), compilador (300 Kb), software de correio eletrnico (200 Kb) e uma aplicao corporativa (500 Kb). Caso o sistema no implemente reentrncia, qual o espao de memria principal ocupado pelos programas quando 10 usurios estiverem utilizando todas as aplicaes simultaneamente? Qual o espao liberado quando o sistema implementa reentrncia em todas as aplicaes?
Sem reentrncia, cada usurio teria sua cpia do cdigo na memria totalizando 10 x (200 Kb + 300 Kb + 200 Kb + 500 Kb) = 12.000 Kb. Caso a reentrncia seja implementada, apenas uma cpia do cdigo seria necessria na memria principal (200 Kb + 300 Kb + 200 Kb + 500 Kb) totalizando 1.200 Kb. Um total de 10.800 Kb seriam liberados da memria principal.

11. Por que a questo da proteo torna-se fundamental em ambientes multiprogramveis?


Se considerarmos que diversos usurios esto compartilhando os mesmos recursos como memria, processador e dispositivos de E/S, deve existir uma preocupao em garantir a confiabilidade e a integridade dos programas e dados dos usurios, alm do prprio sistema operacional. Sincronizao e deadlock 2. Explique o que sincronizao condicional e d um exemplo de sua utilizao. (1,0 ponto) Sincronizao condicional uma situao onde o acesso ao recurso compartilhado exige a sincronizao de processos vinculada a uma condio de acesso. Um recurso pode no se encontrar pronto para uso devido a uma condio especfica. Nesse caso, o processo que deseja acess-lo dever permanecer bloqueado at que o recurso fique disponvel. Um exemplo clssico desse tipo de sincronizao a comunicao entre dois processos atravs de operaes de gravao e leitura em um buffer. 7. Sejam as afirmativas abaixo: (1,0 ponto) I) A excluso mtua no permite que um processo estando em seo crtica, outros tambm venham a executar a mesma seo crtica; II) A no preempo de um processo ocorre quando um processo, utilizando um recurso, somente o libera aps concluir completamente sua tarefa; III) Uma das formas de minimizar as conseqncias de uma paralisao indefinida estabelecer uma quantidade mxima de tentativas por processo. IV) A excluso mtua de mais de dois processos pode ser conseguida atravs do uso do algoritmo de Peterson. Das afirmativas mostradas anteriormente, esto totalmente corretas: a) somente I b) I e IV c) I, II e IV a) I, II, III e IV 8. O que excluso mtua e como implementada? (1,0 ponto) impedir que dois ou mais processos acessem um mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando determinado recurso, todos os demais processos que queiram acess-lo devero esperar pelo trmino da utilizao do recurso.

Escalonamento

(V)Um mtodo de escalonamento de processos deve levar em considerao, entre outros aspectos, a produo, a capacidade de resposta, a consistncia e a ociosidade do processador; (V)Em um sistema Real Time o escalonamento deve priorizar o atendimento imediato da solicitao, sendo a preocupao maior sempre com a rapidez da resposta do sistema. (V)Um mtodo de escalonamento de processos deve levar em considerao, entre outros aspectos, a produo, a capacidade de resposta, a consistncia e a ociosidade do processador. (V)Em um sistema Real Time o escalonamento deve priorizar o atendimento imediato da solicitao, sendo a preocupao maior sempre com a rapidez da resposta do sistema. (F) O escalonamento de processos pode ser apenas de alto ou baixo nvel; (F) H vrias estratgias de escalonamento. Todas no do importncia ao tempo em que o processo permanece em execuo. (V) Os mtodos de escalonamento podem ser no preemptivos e preemptivos. (F) O escalonamento por revezamento uma abordagem puramente no preemptiva (V) No escalonamento por revezamento, a definio do quantum fundamental para manuteno da boa performance do sistema. Um quantum errado pode levar a estagnao de processos; (V) Teoricamente, dois processos, submetidos ao mesmo tempo em sistemas com abordagens diferentes, sendo uma revezamento e a outra FIFO, acredita-se que o sistema com abordagem FIFO poder concluir mais rpido. (V)O escalonador de processos classificado como de longo prazo (long term scheduler) ou escalonador de tarefas executado com menos freqncia que o escalonador de curto prazo (short term scheduler) ou escalonador de CPU; e ainda controla o grau de multiprogramao no sistema. (F)O estado de um processo definido de acordo com a sua atividade corrente, em: novo (new) quando est sendo criado, executando (running) quando em execuo, pronto (ready) quando est esperando algum evento especfico; e terminado (terminated) ao final de sua execuo. (V)No Unix, um novo processo criado a partir da chamada de sistemas fork( ) - que consiste em uma cpia do espao de endereos do processo-pai. O processo pai, por sua vez, comunica-se com seu processo-filho por meio do uso do identificador de processo (PID Process Identifier) retornado.

Muitos algoritmos de escalonamento de CPU so parametrizados. Por exemplo, o algoritmo RR (Revezamento) requer um parmetro para indicar a fatia de tempo. As mltiplas filas com realimentao exigem parmetros para definir o nmero de filas, os algoritmos de escalonamento para cada fila, os critrios usados para mover processos entre filas, e assim por diante. Esses algoritmos so, na realidade, conjuntos de algoritmos (por exemplo, o conjunto de algoritmos RR para todas as fatias de tempo, e assim por diante). Um conjunto de algoritmos pode incluir outro (por exemplo, o algoritmo FIFO o algoritmo RR com um quantum de tempo infinito). Que relao (se houver alguma) permanece entre os seguintes pares de conjuntos de algoritmos? a) Prioridade e SJF b) Mltiplas Filas com Realimentao e FIFO c) Prioridade e FIFO d) RR e SJF A) A tarefa mais curta tem a prioridade mais alta. b) O menor nvel de MFQ FIFO c) FIFO oferece prioridade mais alta para a tarefa que existe h mais tempo d) Nenhuma 9. Cinco jobs A, B, C, D e E, em batch, chegam ao computador com 1 segundo de intervalo entre eles. Seus tempos de processamento so estimados em 10, 7, 3, 4 e 5 segundos de CPU,

respectivamente. Sendo round-robin a poltica de escalonamento utilizada, com um quantum de 1 segundo. O tempo mdio de turnaround desses processos (ignorando overheads de troca de contexto e interrupes e assumindo que um job recm-chegado colocado no incio da fila, ou seja, na frente dos outros) : (1,0 ponto)

a) b) c) d) e)

25,5 s 13,1 s 10,0 s 19,6 s 29,0 s

3. Suponha que os seguintes processos cheguem para execuo nos momentos indicados. Cada processo ser executado pela quantidade de tempo indicada. Ao responder as perguntas, use o escalonamento no-preemptivo, e baseie todas as decises nas informaes que voc tem no momento em que a deciso deve ser tomada. (1,0 ponto) Processo P1 P2 P3 Tempo de chegada 0,0 0,4 1,0 Tempo de burst 8 4 1

a) Qual o turnaround mdio para esses processos com o algoritmo de escalonamento FCFS? 10,53. b) Qual o turnaround mdio para esses processos com o algoritmo de escalonamento SJF? 9,53. 4. Considere o seguinte algoritmo de escalonamento por prioridade preemptiva, baseado em prioridades alteradas dinamicamente. Nmeros de prioridade maiores implicam em prioridade mais alta. Quando um processo est esperando pela CPU (na fila de prontos, mas no em execuo), sua prioridade muda a uma taxa ; quando est executando, sua prioridade muda a uma taxa . Todos os processos recebem uma prioridade 0 quando entram na fila de prontos. Os parmetros e podem ser definidos para dar muitos algoritmos de escalonamento diferentes. Qual o algoritmo que resulta quando > > 0? (0,5 ponto) FIFO. 5. (1,5 ponto) Considere uma aplicao que utilize uma matriz na memria principal para comunicao entre vrios processos concorrentes. Que tipo de problema pode ocorrer quando dois ou mais processos acessam uma mesma posio da matriz? Caso no haja uma gerncia no uso concorrente dos recursos compartilhados, inconsistncias nos dados podem ocorrer. Como seria possvel resolver os problemas decorrentes do compartilhamento da matriz utilizando o conceito de excluso mtua? Garantindo na aplicao que somente um nico processo pode estar acessando a matriz por vez.

6. (1,4 ponto) Qual o significado do termo espera ocupada? A espera ocupada ocorre quando um processo est realizando um loop enquanto espera a ocorrncia de um evento externo. Ela chamada espera ocupada porque o processo normalmente est em um loop tipo while(true); Que outros tipos de espera existem em um sistema operacional? Existem outros exemplos de espera ocupada em um sistema operacional: esperar at que a E/S esteja disponvel, esperar at que um semforo seja liberado etc. A espera ocupada pode ser completamente evitada? Explique sua resposta. Sim, a espera ocupada pode ser evitada por meio de uma primitiva de sincronismo, como um semforo ou varivel de condio. 10. Considere um sistema operacional com escalonamento por prioridades onde a avaliao do escalonamento realizada em um intervalo mnimo de 5ms. Neste sistema, os processos A e B competem por uma nica CPU. Desprezando os tempos de processamento relativo s funes do sistema operacional, a tabela a seguir fornece os estados dos processos A e B ao longo do tempo, medido em intervalos de 5ms (E = Executando; P = Pronto e W = Espera). O processo A tem menor prioridade que o processo B. (2,0 pontos) 00-04 P E 5054 P W 05-09 P E 55-59 E P 10-14 E W 60-64 P E 65-69 P E 15-19 E W 70-74 E W 20-24 E P 75-79 E W 25-29 P E 80-84 W P 30-34 P E 85-89 W E 00-94 P E 35-39 P E 9599 E 40-44 E W 100105 E 45-49 W W

Processo A Processo B

Processo A Processo B

e) Em que tempos A sofre preempo? Instantes: 24-25 e 59-60. f) Em que tempos B sofre preempo? Nunca, pois o processo B possui maior prioridade do que o processo A. g) Refaa a tabela anterior supondo que o processo A mais prioritrio que o processo B. Sugesto: 00-04 E P 5054 W E 05-09 E P 55-59 P E 10-14 E P 60-64 E W 65-69 E W 15-19 E P 70-74 W 20-24 W E 75-79 P 25-29 P E 80-84 E 30-34 E W 85-89 E 00-94 W 35-39 E W 9599 P 40-44 E P 100105 E 45-49 W E

Processo A Processo B

Processo A Processo B