SO ListaExercicios1 Isabela Lucas
SO ListaExercicios1 Isabela Lucas
SO ListaExercicios1 Isabela Lucas
Instruções (atenção!):
Nome Prontuário
Capítulo 1:
1) Quais as vantagens dos sistemas multiprogramáveis? Quais são os tipos de sistemas multiprogramáveis?
Resposta: A principal vantagem dos sistemas multiprogramáveis é o compartilhamento de recursos entre as
aplicações, como por exemplo a divisão da CPU em várias "CPUs" virtuais conforme a necessidade. Os tipos
de sistemas multiprogramáveis são: Batch, Tempo compartilhado e Tempo real.
2) O que caracteriza o processamento batch? Que tipo de aplicações são melhor processadas nesse tipo de
ambiente?
Resposta: O processamento Batch pode ser entendido como um processamento em lote. As aplicações mais
viáveis para processamento Batch são aquelas que não dependem de uma interação do usuário como por
exemplo um processamento de cálculos ou um backup.
4) Qual a grande diferença entre sistemas multiprocessadores fortemente acoplados e fracamente acoplados?
Resposta: Em sistemas fortemente acoplados todos os processadores têm acesso a uma memória principal
comum enquanto os fracamente acoplados possuem uma memória para cada processador.
Capítulo 2:
5) Como a técnica do pipelining melhora o desempenho dos sistemas computacionais?
Resposta: A técnica do pipelining é similar a uma linha de montagem. Isso permite que o processador
execute mais de uma instrução de forma paralela, em diferentes estágios. Ou seja, cada um dos estágios é
responsável por uma atividade, fazendo com que o tempo total para executar as instruções seja menor.
Capítulo 3:
9) Dê exemplos de eventos que geram exceções.
Resposta: Exceções são geradas por uma determinada execução dentro de um processo, os principais
exemplos são as divisões por zero, overflow.
11) Explique o mecanismo de funcionamento das interrupções, detalhando todas as etapas: inicie com a
ocorrência do evento externo e vá até concluir a execução da rotina de atendimento da interrupção e
retornar o fluxo de execução.
Resposta: Após o dispositivo de I/O realizar a leitura de dados de um disco e armazenar os dados em seu
buffer interno a mesma realiza uma interrupção na CPU para informar a necessidade da CPU copiar os dados
na memória RAM, neste momento a CPU para o processo que está sendo executado e inicia a rotina de
tratamento deste caso de interrupção que consiste em buscar a informação no buffer do dispositivo de I/O,
ler e copiar os dados na memória RAM. Terminada a execução da rotina a CPU retorna para o fluxo de
execução anterior do ponto onde a interrupção ocorreu isto porque estes dados foram armazenados nos
registradores e após a execução da rotina de tratamentos os mesmos são recuperados.
12) Qual a vantagem da Entrada/Saída controlada por interrupção em comparação com a técnica de polling?
Resposta: Na técnica de polling é necessário definir um tempo onde a CPU para o que está fazendo e verifica
se algum processo de entrada e saída já está finalizado para que a mesma possa executar a próxima ação
necessária, na técnica polling é possível um pouco de paralelismo porém é um método onde se encontra
problemas como a parada da CPU para verificação de um processo que ainda não está finalizado ou a
“demora” da CPU para descobrir que um processo já está finalizado e aguardando uma ação, o que não
ocorre com a interrupção pois assim que um processo de I/O é finalizado a CPU é interrompida para
execução da rotina de tratamento evitando verificações desnecessárias ou a demora em descobrir um
processo já finalizado.
13) Explique como a técnica de bufferização consegue aumentar o desempenho e a concorrência em um sistema
computacional.
Resposta: Como a bufferização compensa a falta de compatibilidade na velocidade dos dispositivos, um
dispositivo mais rápido, como a CPU, não precisa reduzir sua velocidade para se adequar a um dispositivo
mais lento ganhando em desempenho pois a CPU continua operando em sua capacidade máxima, desta
forma aumenta também a concorrência pois como os dados já estão armazenados no buffer o dispositivo
fica livre para executar novos processos.
14) A técnica de bufferização pode provocar a perda de dados em determinadas situações? Explique.
Resposta: Sim, como o buffer faz parte da memória RAM, no caso de perda de energia com os dados ainda
no buffer os dados serão perdidos pois a memória RAM é uma memória volátil, ou seja, não guarda os dados
permanentemente.
Capítulo 4:
15) O que é o núcleo do SO e quais são suas principais funções?
Resposta: O núcleo do sistema operacional é sua parte principal. Para o usuário conseguir acessá-lo é feito
de forma indireta, através de aplicativos ou utilitários, uma vez que ele de forma majoritária está localizado
na memória RAM após o boot (processo de inicialização do sistema) . As principais funções podem ser dadas
por: Tratar interrupções e execuções ( mecanismos de sinalização e sincronização de eventos). Gerenciar a
memória, o sistema de arquivos, e os dispositivos de entrada e saída. Pela criação e eliminação,
sincronização e comunicação, e escalonamento e controle dos processos e threads.
16) Detalhe as etapas envolvidas numa chamada ao sistema (system call), explicando como funciona a mudança
de modos de acesso.
Resposta: Dentro de um programa do usuário, há uma chamada ao sistema (system call), que quando
iniciada vai salvar o contexto dos registradores. Após isso alterar o modo do processador de modo usuário
para modo kernel, para que sejam executadas instruções privilegiadas de modo indireto. Quando esse passo
for concluído, é rodado a rotina do sistema, ou seja, o código da system call de forma privilegiada. Quando
finalizado esse processo, é alterado o modo do processador para usuário novamente e há a restauração do
contexto dos registradores.
17) Comparando projetos de SOs, compare as arquiteturas monolítica e de camadas. Quais as vantagens e
desvantagens de cada arquitetura?
Resposta: A vantagem da arquitetura monolítica na teoria seria o bom desempenho, porém pela alta
complexidade demanda o trabalho de muitas pessoas o que torna isso mais uma desvantagem que uma
vantagem em si. E a vantagem da arquitetura de camadas é a facilidade para o desenvolvimento,
manutenção e depuração. A desvantagem da arquitetura monolítica pode ser dada pelo difícil
desenvolvimento e manutenção. E a desvantagem da arquitetura de camadas é o seu desempenho, uma vez
que para cada camada o modo de acesso precisa ser alterado.