1) Quais as duas principais funes de um Sistema Operacional?
Gerenciar Recursos O sistema operacional deve gerenciar a utilizao dos
recursos fornecidos pelo hardware, como processadores, memria, dispositivos de E/S, de modo que mantenha o controle sobre qual usurio/programa utiliza qual recurso, compartilhando os recursos entre os usurios/programas de modo seguro e sem conflitos. Estender a mquina - O sistema operacional deve oferecer ao usurio uma maneira mais acessvel de programar/utilizar o hardware do que as prprias instrues que este oferece. Por exemplo: o usurio no precisa saber qual a trilha e o setor do disco se deseja gravar alguma informao, apenas faz uma chamada ao sistema que estende as instrues de E/S, disponibilizando instrues mais amigveis para estas e outras tarefas. Ou seja, o sistema operacional atua como uma interface entre o hardware e o ambiente de software. 2) O que multiprogramao? Cite duas razes para se ter multiprogramao? Multiprogramao uma tcnica utilizada em sistemas operacionais para maximizar o uso da CPU. Nesta tcnica, a memria dividida em vrias partes que contm um job cada. Enquanto um job est fazendo uma operao de E/S, a CPU passa a executar outro job que esteja em outra parte da memria, evitando a ociosidade da CPU. Uma razo para se ter multiprogramao a maximizao do uso da CPU obtida por esta tcnica. Outra razo o uso mais inteligente dos recursos de hardware (CPU, memria, E/S) que na poca em que a tcnica surgiu eram caros e no podiam ser desperdiados. Uma outra razo o fato de aumentar o nmero de jobs concludos por unidade de tempo, melhorando a performance do sistema como um todo. 3) O que Spooling? uma tcnica que permite que os jobs fiquem armazenados em um buffer (no disco magntico) para uso do CPU. Quando um job que est na memria termina de executar, um outro lido deste buffer e colocado na partio onde este (o que acabou) estava. Esta tcnica automatizou parte do processo de entrar com programas a serem executados (antes eram fitas que eram gravadas e levadas de um equipamento para outro). A tcnica de Spooling (simultaneous peripheral operations on-line) muito utilizada em impresso, onde h um buffer (fila) onde os arquivos a serem impressos ficam armazenados e a impressora os l sequencialmente, liberando o PC para outro tipo de uso. 4) Defina as propriedades essenciais dos seguintes tipos de Sistemas Operacionais: a. Batch
Execuo contnua at o fim do processamento de um lote, ou at
o uso de E/S; Uso para aplicaes CPU-Bound; Maximizar o uso da CPU o fator fundamental; b. Time-Sharing Compartilhamento da CPU entre os jobs (processos) ao longo do tempo; Uso em sistemas multiusurios/multiprocessos; Escalonamento de recursos; c. Tempo-real Tempo o fator fundamental; Prazos rgidos para o processamento das tarefas, nem antes, nem depois (crticos) ou com uma certa folga (no crtico). Controle de mquinas, udio digital, multimdia. d. Distribudo Distribui a computao entre vrios processadores fsicos; Compartilhamento de recursos; Uso de redes; 5) Descreva as diferenas entre multiprocessamento simtrico e assimtrico. Quais as vantagens e desvantagens dos sistemas multiprocessador? Multiprocessamento assimtrico uma tcnica para sistemas multiprocessados, onde somente um processador tem acesso ao ncleo (e suas estruturas) e realiza o papel de escalonador dos outros processadores, formando uma estrutura mestre-escravo. J no multiprocessamento simtrico, cada processador executa uma cpia idntica do SO e muitos processos podem executar de uma vez sem deteriorao do desempenho, porm surgem problemas de sincronismo entre cada cpia do SO de cada processador. A grande vantagem dos sistemas multiprocessador o ganho de desempenho, ao processar mais de uma tarefa ao mesmo tempo, alm da confiabilidade e economia. Suas desvantagens so os inconvenientes na gerncia da execuo paralela. 6) Porque sistemas distribudos so desejveis? Para solucionar complexos problemas computacionais, no entanto atualmente vem sendo largamente utilizado com outras finalidades, como em um sistema distribudo conectando vrios computadores pela internet o qual est tipicamente envolvido com comunicao de dados. 7) Qual a diferena entre um trap e uma interrupo? Qual o uso de cada uma das funes?
Ambas so excees, ou seja, ambas desviam a CPU do fluxo de
execuo atual. A principal diferena que as interrupes caracterizam eventos assncronos gerados normalmente por algum dispositivo de hardware (I/O, relgio...) que interrompe a ativividade atual da CPU para que este evento seja tratado, isto feito normalmente, atravs de rotinas pr-definidas no sistema operacional. J a trap gerada por software e indica algum evento de erro ou exceo, normalmente utilizada para mudar o modo de execuo do modo usurio para o modo kernel. 8) Para que tipos de operaes o DMA til? Quais as implicaes de uma organizao sem DMA na multiprogramao? O DMA til para operaes em que haja a necessidade da transferncia de informao em blocos de algum dispositivo para a memria principal, com o intuito do uso posterior dos dados pela CPU. O DMA permite que os dados sejam transferidos sem a necessidade do gasto de computao durante a transferncia, liberando a CPU para outro processamento durante este perodo. Aps a concluso da transferncia, o chip DMA manda um sinal de interrupo para a CPU, informando-a do fim. Uma organizao sem DMA na multiprogramao, torna mais lenta a transferncia de dados presente em uma operao de E/S, pois sempre que houver a transferncia de dados entre a memria e o dispositivo, haver utilizao da CPU; enquanto que atravs do DMA, a configurao da transferncia de vrios blocos feita somente no incio da transao. 9) Quais das seguintes instrues deveriam ser privilegiados? a. Set valor do relgio X b. Ler o relgio c. Limpar memria X d. Desligar interrupes X e. Chavear modo usurio/sistema 10) Que caractersticas de hardware (mquina) so necessrias para suportar proteo para o kernel do SO ? Explique brevemente cada caracterstica e como elas permitem o kernel controlar os programas de usurio. Proteo de memria no deixa uma rea de memria ser afetada por programas de outra rea de memria. O kernel pode alocar os processos do usurio cada um com sua rea de memria, no permitindo a invaso de um processo rea do outro ou rea do
sistema. feita atravs de registradores base e limite e do mapeamento
de endereos fsicos para endereos virtuais atravs da MMU. Modos de operao Restringe algumas instrues da CPU ao sistema. A operao em modo kernel tem acesso a todas as instrues do hardware, enquanto que em modo usurio, boa parte das instrues, principalmente de E/S e configurao, no esto disponveis. Permite que somente o kernel tenha controle sobre os dispositivos de E/S, bem como a outras configuraes. Timer e Interrupes No deixa que um nico job tenha monoplio sobre o sistema. Permite a execuo de operaes nos dispositivos de E/S em paralelo com o processamento de outro job na CPU. 11) Qual o propsito das chamadas de sistema? Permitir a programas aplicativos o acesso a recursos e operaes do sistema, dentre os quais: operaes de entrada e sada, comunicao inter-processos, leitura do relgio interno, manipulao de arquivos em disco, servios de impresso, etc. 12) Usando registrador de base e registrador limite, faa um desenho da unidade de gerencia de memria (MMU) que possa prover proteo de memria entre processos?
13) O modelo cliente-servidor popular em sistemas distribudos. Ele
pode ser usado em um sistema single-computer? Pode, pois este modelo apenas especifica a estrutura do sistema atravs de processos clientes e processos servidores (que detm as funcionalidades do sistema) e ambos so executados em modo usurio. Nesse modelo, o sistema apenas trataria da comunicao entre estes processos e das polticas envolvidas nessa comunicao. Portanto, essa estrutura pode ser implementada em modo local, e em sistemas distribudos, apenas diferenciando-se o modo de comunicao entre os processos.