Você está na página 1de 8

UNIPLAN - Centro Universitário Planalto do Distrito Federal

Nome: Wedson da Silva Melo


Turma: CC5P30 (Ciência da Computação)

1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais
funções?
Utilizar um computador sem um sistema operacional seria muito difícil para um usuário pois
o mesmo teria que se comunicar diretamente com o hardware. As duas principais funções são:
facilidade de acesso aos recursos do sistema e o compartilhamento de recursos de forma organizada
e protegida;

2. Explique o conceito de máquina virtual. Qual a grande vantagem em utilizar este conceito?
O conceito de máquina virtual é definido com base nas seguintes propriedades: o efeito
demonstrado deve ser o mesmo de que se o software estivesse rodando no hardware real da
MV; um conjunto dominante de instruções do processador virtual é executado diretamente no
processador da máquina real e o VMM tem controle total sobre os recursos de hardware da máquina
real, que não devem ser acessador diretamente pela MV. A principal vantagem e poder criar ou
instalar um novo sistema que fica rodando independentemente com recursos emulados pela VM.

3. Defina o conceito de uma máquina de níveis ou camadas.


O computador contem varios níveis ou camadas, possuindo tantos níveis para poder adequar
o usuário às suas diversas aplicações. Caso algum usuario estiver trabalhando em um desses niveis
sempre e bom que ele conheça o funcionamento das demais para que a interação entre usuário e
computador apresenta-se mais simples, confiável e eficiente.

4. Quais os tipos de sistemas operacionais existentes?


Existem os Sistemas Monoprogramáveis, Sistemas Multiprogramáveis e Sistemas com
Múltiplos
Processadores.

5. Por que dizemos que existe uma subutilização de recursos em sistemas monoprogamáveis?
Por executarmos apenas um programa de cada vez, assim fazendo com que outros recursos
do computador fiquem sem ser utilizados ou aproveitados para outros programas.

6. Qual a grande diferença entre sistemas monoprogramáveis e sistemas multiprogramáveis?


Os sistemas monoprogramáveis se caracterizam por permitir que o processador, a memória e
os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Nos
sistemas multiprogramáveis ou multitarefa, os recursos computacionais são compartilhados entre os
diversos usuários e aplicações. Enquanto em sistemas monoprogramáveis existe apenas um
programa utilizando os recursos disponíveis, nos multiprogramáveis várias aplicações compartilham
os mesmos recursos.

7. Quais as vantagens dos sistemas multiprogramáveis?


As vantagens são: redução do tempo de resposta das aplicações processadas no ambiente e
de custos, a partir do compartilhamento dos diversos recursos do sistema entre as diferentes
aplicações.

8. Um sistema monousuário pode ser um sistema multiprogramável? Dê um exemplo.


Sim, um usuário pode mexer com o sistema executando diversas aplicações
concorrentemente. Um bom exemplo e o MS-DOS .
9. Quais são os tipos de sistemas multiprogramáveis?
Os Sistemas Multiprogramaveis são os: Sistemas Batch, Sistemas de Tempo Compartilhado
e Sistemas de Tempo Real.

10. O que caracteriza o processamento batch? Quais aplicações podem ser processadas neste tipo de
ambiente?
A principal característica e a de não exigir a interação do usuário com a aplicação. Alguns
exemplos de aplicações originalmente processadas em batch são programas envolvendo cálculos
numéricos, compilações, ordenações, backups e todos aqueles onde não é necessária a interação
com o usuário.

11. Como funcionam os sistemas de tempo compartilhado? Quais as vantagens em utilizá-los?


Os sistemas de tempo compartilhado permitem que diversos programas sejam executados a
partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo
(time-slice). A vantagem e fazer o usuário achar que tem todo o sistema dedicado, exclusivamente, a
ele.

12. Qual a grande diferença entre sistemas de tempo compartilhado e tempo real? Quais aplicações são
indicadas para sistemas de tempo real?
Nos de tempo Compartilhados temos o fator tempo de resposta já nos sistemas de tempo
real, os tempos de resposta devem estar dentro de limites rígidos. Aplicações de controle de
processos, como no monitoramento de refinarias de petróleo, controle de tráfego aéreo em geral
onde e preciso uma grande precisão de cálculos.

13. O que são sistemas com múltiplos processadores e quais as vantagens em utilizá-los?
Os sistemas com múltiplos processadores possuem duas ou mais UCPs interligadas e
trabalhando em conjunto. A vantagem deste tipo de sistema é permitir que vários programas sejam
executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes para serem
executadas simultaneamente em mais de um processador.

14. Qual a grande diferença entre sistemas fortemente acoplados e fracamente acoplados?
Nos sistemas fortemente acoplados existem vários processadores compartilhando uma única
memória física e dispositivos de I/O, sendo gerenciados por apenas um sistema operacional. Os
sistemas fracamente acoplados possuem dois ou mais sistemas computacionais conectados através
de linhas de comunicação. Cada sistema funciona de forma independente, possuindo seu próprio
sistema operacional e gerenciando seus próprios recursos, como UCP, memória e dispositivos de
I/O.

15. O que é um sistema SMP? Qual a diferença para um sistema NUMA?


Nos sistemas SMP, o tempo de acesso à memória principal pelos diversos processadores é
uniforme. Nos sistemas NUMA, existem diversos conjuntos de processadores e memória principal
interconectados, onde o tempo de acesso à memória principal varia em função da sua localização
física.

16. O que é um sistema fracamente acoplado? Qual a diferença entre sistemas operacionais de rede e
sistemas operacionais distribuídos?
Os sistemas fracamente acoplados possuem dois ou mais sistemas computacionais
conectados através de linhas de comunicação. Cada sistema funciona de forma independente,
possuindo seu próprio sistema operacional e gerenciando seus próprios recursos, como UCP,
memória e dispositivos de I/O. Os sistemas operacionais de rede permitem que um host compartilhe
seus recursos, como uma impressora ou diretório, com os demais hosts da rede enquanto que nos
sistemas distribuídos, o sistema operacional esconde os detalhes dos hosts individuais e passa a
tratá-los como um conjunto único, como se fosse um sistema fortemente acoplado.
17. Quais são as unidades funcionais de um sistema computacional?
O Processador ou Unidade Central de Processamento(UCP), memória principal e
dispositivos de I/O.

18. Quais os componentes de um processador e quais são suas funções?


Um processador é composto por uma Unidade de Controle(UC), unidade lógica e aritmética,
e registradores. A unidade de controle (UC) é responsável por gerenciar as atividades de todos os
componentes do computador, como a gravação de dados em discos ou a busca de instruções na
memória. A unidade lógica e aritmética (ULA) é a responsável pela realização de operações lógicas
como: testes e comparações; já a aritméticas e responsavel pelas: somas e subtrações.

19. Como a memória principal de um computador é organizada?


A memória principal é organizada em células. Que é a menor unidade da memória que pode
ser endereçada e tem um tamanho fixo.

20. Descreva os ciclos de leitura e gravação da memória principal.


No ciclo de leitura, a UCP armazena no Memory Address Register (MAR), o endereço da
célula a ser lida e gera um sinal de controle para a memória principal, indicando que uma operação
de leitura deve ser realizada. O conteúdo da célula, identificada pelo endereço contido no MAR, é
transferido para o MBR. E durante o ciclo de gravação, a UCP armazena no MAR, o endereço da
célula que será gravada e armazena no MBR, a informação que deverá ser gravada. A UCP gera um
sinal de controle para a memória principal, indicando que uma operação de gravação deve ser
realizada e a informação contida no MBR é transferida para a célula de memória endereçada pelo
MAR.

21. Qual o número máximo de células endereçadas em arquiteturas com MAR de 16, 32 e 64 bits?
MAR=16 bits número máximo de células e de 216.
MAR=32 bits número máximo de células e de 232.
MAR=64 bits número máximo de células e de 264.
22. O que são memórias voláteis e não-voláteis?
As Memórias voláteis precisam estar sempre energizadas para manter suas informações ou
então perdem qualquer informação armazenada nelas como por exemplo a Memoria RAM, o que
não acontece com as não voláteis como o HD.

23. Conceitue memória cache e apresente as principais vantagens no seu uso.


A memória cache é uma memória de alta velocidade, com uma pequena capacidade de
armazenamento. O propósito do uso da memória cache é minimizar o atraso existente entre a
velocidade com que o processador executa instruções e a velocidade com que dados são acessados
na memória principal.

24. Qual a importância do principio da localidade na eficiência da memoria cache?


O princípio da localidade consiste no fato de que as referências à memória feitas por um
processo não são aleatórias, dado um instante de execução. É muito mais provável que itens de
memória que serão acessados, dentro de um período razoável de tempo.

25. Quais os benefícios de uma arquitetura de memoria cache com múltiplos níveis?
Para o cache quanto maior a capacidade, maior a probabilidade de encontrar nele uma cópia
do dado que se procura. Por outro lado, quanto maior o cache, maior a latência, pois mais tempo se
leva para encontrar alguma coisa que nele esteja armazenada. A solução foi hierarquizar o cache.
Criou-se então dois níveis de cache, ambos no interior da UCP, o primeiro um cache pequeno,
rapidíssimo, latência curta devido ao menor tamanho, bem junto ao âmago da UCP e o segundo,
entre o primeiro e o mundo exterior, um cache bem maior, portanto aumentando a probabilidade de
encontrar nele uma cópia do dado desejado, porém de maior latência
26. Quais as diferenças entre a memória principal e a memória secundária?
A memória principal é um dispositivo de armazenamento, onde são armazenados instruções
e dados utilizados pelo processador durante a execução de programas, exemplo Memoria RAM. A
memória secundária é um dispositivo com maior capacidade de armazenamento, porém com menor
velocidade de acesso aos seus dados armazenados, exemplo o HD.

27. Diferencie as funções básicas dos dispositivos de E/S.


Os dispositivos de E/S podem ser divididos em duas categorias: os que são utilizados como
memória secundária e os que servem para a interface usuário-máquina. Os dispositivos utilizados
como memória secundária caracterizam-se por ter capacidade de armazenamento bastante superior
ao da memória principal. Seu custo é relativamente baixo, porém o tempo de acesso à memória
secundária é bem superior ao da memória principal. Outros dispositivos têm como finalidade a
comunicação usuário-máquina, como teclados, monitores de vídeo, impressoras entre outros.

28. Caracterize os barramentos processador-memória, E/S e backplane.


Os barramentos Processador-Memória são de curta extensão e alta velocidade para que seja
otimizada a transferência de informação entre processadores e memórias. Os barramentos de E/S
possuem maior extensão, são mais lentos e permitem a conexão de diferentes dispositivos.
Enquanto o barramento de backplane tem a função de integrar os dois barramentos.

29. Como a técnica de pipelining melhora o desempenho dos sistemas computacionais?


Deixando que o processador execute múltiplas instruções paralelamente em níveis
diferentes.

30. Compare as arquiteturas de processadores RISC e CISC.


A arquitetura RISC (Reduced Instruction Set Computer), é uma linha de arquitetura de
computadores que favorece um conjunto simples e pequeno de instruções que levam
aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos
microprocessadores modernos são RISCs. O tipo de microprocessador mais utilizado em Desktops,
é mais CISC do que RISC. As caraterísticas da arquitetura RISC são: conjunto reduzido e simples
de instruções; formatos simples e regulares de instruções; operandos sempre em registros; modos
simples de endereçamento à memória; uma operação elementar por ciclo máquina e o uso do
pipeline. Já o CISC (Complex Instruction Set Computer) é uma linha de arquitetura de
processadores capaz de executar centenas de instruções complexas diferentes sendo, assim,
extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel. Os
processadores baseados na computação de conjunto de instruções complexas contêm uma
microprogramação, ou seja, um conjunto de códigos de instruções que são gravados no processador,
permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas
na sua microprogramação.

31. Conceitue a técnica de benchmark e como é sua realização.


O Benchmark permite uma análise de desempenho comparativa entre sistemas
computacionais. Neste método, um conjunto de programas é executado em cada sistema avaliado e
o tempo de execução comparado. A escolha dos programas deve ser criteriosa para refletir os
diferentes tipos de aplicação.

32. Por que o código-objeto gerado pelo tradutor ainda não pode ser executado?
Pois ele fica esperando por alguma sub-rotinas externas, pois o tradutor não tem pode
associar o programa principal às sub-rotinas chamadas. Esta função é desempenhada através do
linker.

33. Por que a execução de programas interpretados é mais lenta que a de programas compilados?
Como não existe a geração de um código executável, as instruções de um programa devem
ser traduzidas toda vez que este for executado. Um exemplo e o java que passa pela VM antes de
ser executada pois antes tem que ser interpretada e compilada.

34. Quais as funções do linker?


Seu papel e de resolver todas as referências simbólicas existentes entre os módulos de um
programa e reservar memória para sua execução.

35. Qual a principal função do loader?


Buscar na memória principal um programa ou processo para ser executado.

36. Quais as facilidades oferecidas pelo depurador?


O depurador oferece ao usuário recursos de acompanhar a execução de um programa passo-
a-passo, possibilitar a alteração e visualização do conteúdo de variáveis; implementar pontos de
parada dentro do programa.

37. O que é concorrência e como este conceito está presente nos sistemas operacionais
multiprogramáveis?
A Concorrência é a responsavel pela implementação dos sistemas operacionais
multiprogramáveis onde é possível o processador executar instruções em paralelo com operações de
I/O. Isso possibilita a utilização 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 idêntico ao do momento em que foi interrompido.

38. Por que o mecanismo de interrupção é fundamental para a implementação da multiprogramação?


Pois ele sincroniza a execução de todas as suas rotinas dentro do sistema operacional e dos
programas dos usuários, além de controlar dispositivos.

39. Explique o mecanismo de funcionamento das interrupções.


A interrupção é sempre gerada por algum evento externo ao programa, independe da
instrução que está sendo executada. Ao final da execução de cada instrução, a unidade de controle
verifica a ocorrência de algum tipo de interrupção. Para que o programa possa posteriormente voltar
a ser executado, é necessário que, no momento da interrupção, um conjunto de informações sobre a
sua execução seja preservado. Essas informações consistem no conteúdo de registradores, que
deverão ser restaurados para a continuação do programa.

40. O que são eventos síncronos e assíncronos? Como estes eventos estão relacionados ao mecanismo
de interrupção e exceção?
Um eventos síncronos são resultados direto da execução do programa corrente, onde só
podem ocorrer uma único de cada vez. Eventos assíncronos não são relacionados à instrução do
programa corrente. Esses eventos, por serem imprevisíveis, podem ocorrer múltiplas vezes, como
no caso de diversos dispositivos de E/S informarem ao processador que estão prontos para receber
ou transmitir dados. Uma interrupção é um evento assíncrono enquanto uma exceção é um evento
síncrono.

41. Dê exemplos de eventos associados ao mecanismo de exceção.


E uma instrução que gere a uma situação de overflow(ultrapassar algum limite) ou uma
divisão por zero.

42. Qual a vantagem da E/S controlada por interrupção comparada com a técnica de polling?
Na E/S controlada por interrupção, as operações de E/S podem ser realizadas de uma forma
mais eficiente, de usar polling para verificar se o processo já foi concluído, o próprio controlador
interrompe o processador para avisar do término da operação para que o processamento permanece
livre de outras tarefas.
43. O que é DMA e qual a vantagem desta técnica?
O DMA permite que um bloco de dados seja transferido entre a memória principal e
dispositivos de E/S, sem a intervenção do processador, exceto no início e no final da transferência,
par que o controlador realiza a transferência entre o periférico e a memória principal, e o
processador é somente interrompido no final da operação.

44. Como a técnica de buffering permite aumentar a concorrência em um sistema computacional?


O buffering permite minimizar o problema da disparidade da velocidade de processamento
existente entre o processador e os dispositivos de E/S, fazendo com que o processador e
dispositivos de E/S fiquem ocupados a maior parte do tempo.

45. Explique o mecanismo de spooling de impressão.


Quando um comando de impressão é executado, as informações que serão impressas são
gravadas antes em um arquivo em disco, conhecido como arquivo de spool, liberando
imediatamente o programa para outras atividades, para só depois o sistema operacional direcionar o
conteúdo do arquivo de spool para a impressora.

46. Em um sistema multiprogramável, seus usuários utilizam o mesmo editor de textos (200 Kb),
compilador (300 Kb), software de correio eletrônico (200 Kb) e uma aplicação corporativa (500 Kb).
Caso o sistema não implemente reentrância, qual o espaço de memória principal ocupado pelos
programas quando 10 usuários estiverem utilizando todas as aplicações simultaneamente? Qual o
espaço liberado quando o sistema implementa reentrância em todas as aplicações?
Sem areentrância, cada usuário teria sua cópia do código na memória totalizando 10 x (200
Kb + 300 Kb + 200 Kb + 500 Kb) = 12.000 Kb. Já com a reentrância implementada, apenas uma
cópia do código seria necessária na memória principal (200 Kb + 300 Kb + 200 Kb + 500 Kb)
totalizando 1.200 Kb. Um total de 10.800 Kb seriam liberados da memória principal.

47. Por que a questão da proteção torna-se fundamental em ambientes multiprogramáveis?


Pois com o compartilhamento de recursos do computador devemos ter uma preocupação em
garantir a confiabilidade e a integridade dos programas e dados dos usuários, além do próprio
sistema operacional.

48. O que é o núcleo do sistema e quais são suas principais funções?


São um conjunto de rotinas que oferece serviços aos usuários, suas aplicações, além do
próprio sistema operacional. As principais funções do núcleo encontradas na maioria dos sistemas
comerciais são: tratamento de interrupções e exceções; criação e eliminação de processos e threads;
sincronização e comunicação entre processos e threads; escalonamento e controle dos processos e
threads; gerência de memória; gerência do sistema de arquivos; gerência de dispositivos de E/S;
suporte à redes locais e distribuídas; contabilização do uso do sistema; auditoria e segurança do
sistema.

49. O que é uma system call e qual sua importância para a segurança do sistema? Como as system
calls são utilizadas por um programa?
As system calls podem ser entendidas como uma porta de entrada para o acesso ao núcleo
do sistema operacional e a seus serviços. Através dos parâmetros fornecidos na system call, a
solicitação é processada e uma resposta é retornada a aplicação juntamente com um estado de
conclusão indicando se houve algum erro.

50. O que são instruções privilegiadas e não-privilegiadas? Qual a relação dessas instruções com os
modos de acesso?
As Instruções privilegiadas são instruções que só devem ser executadas pelo sistema
operacional ou sob sua supervisão, impedindo, assim, a ocorrência de problemas de segurança e
integridade do sistema. As instruções não-privilegiadas não oferecem risco ao sistema. Quando o
processador trabalha no modo usuário, uma aplicação só pode executar instruções não-
privilegiadas, tendo acesso a um número reduzido de instruções, enquanto no modo kernel ou
supervisor a aplicação pode ter acesso ao conjunto total de instruções do processador.

51. Quais das instruções a seguir devem ser executas apenas em modo kernel? Desabilitar todas as
interrupções, consultar a data e hora do sistema, alterar a data e hora do sistema, alterar informações
residentes no núcleo do sistema, somar duas variáveis declaradas dentro do programa, realizar um
desvio para uma instrução dentro do próprio programa e acessar diretamente posições no disco.
Desabilitar todas as interrupções, alterar a data e hora do sistema, alterar informações
residentes no núcleo do sistema e acessar diretamente posições no disco.

52. Explique como funciona a mudança de modos de acesso e dê um exemplo de como um programa
faz uso desse mecanismo.
Quando um programa necessita executar uma instrução privilegiada, a solicitação deve ser
realizada através de uma chamada a uma system call, que altera o modo de acesso do processador
do modo usuário para o modo kernel. Ao término da execução da rotina do sistema, o modo de
acesso retorna para o modo usuário.

53. Como o kernel do sistema operacional pode ser protegido pelo mecanismo de modos de acesso?
Através do modo de acesso de uma aplicação determinado por um conjunto de bits
localizado no registrador de status do processador ou PSW. Através desse registrador, o hardware
verifica se a instrução pode ou não ser executada pela aplicação, possibilitando proteger o kernel do
sistema operacional de um acesso indevido.

54. Compare as arquiteturas monolítica e de camadas. Quais as vantagens e desvantagens de cada


arquitetura?
A arquitetura monolítica pode ser comparada com uma aplicação formada por vários
módulos que são compilados separadamente e depois linkados, formando um grande e único
programa executável. Na arquitetura de camadas, o sistema é dividido em níveis sobrepostos. A
vantagem da estruturação em camadas é isolar as funções do sistema operacional, facilitando sua
manutenção e depuração, além de criar uma hierarquia de níveis de modos de acesso, protegendo as
camadas mais internas. Uma desvantagem para o modelo de camadas é o desempenho. Cada nova
camada implica em uma mudança no modo de acesso.

55. Quais as vantagens do modelo de máquina virtual?


Permitir a convivência de sistemas operacionais diferentes no mesmo computador, assim
criando um isolamento total entre cada VM, oferecendo segurança para cada máquina virtual.

56. Como funciona o modelo cliente-servidor na arquitetura microkernel? Quais suas vantagens e
desvantagens dessa arquitetura?
Sempre que uma aplicação deseja algum serviço, é realizada uma solicitação ao processo
responsável. Neste caso, a aplicação que solicita o serviço é chamada de cliente, enquanto o
processo que responde à solicitação é chamado de servidor. Um cliente, que pode ser uma aplicação
de um usuário ou um outro componente do sistema operacional, solicita um serviço enviando uma
mensagem para o servidor. O servidor responde ao cliente através de uma outra mensagem. A
utilização deste modelo permite que os servidores executem em modo usuário, ou seja, não tenham
acesso direto a certos componentes do sistema. Apenas o núcleo do sistema, responsável pela
comunicação entre clientes e servidores, executa no modo kernel. Como conseqüência, se ocorrer
um erro em um servidor, este poderá parar, mas o sistema não ficará inteiramente comprometido,
aumentando assim a sua disponibilidade. Outra vantagem é que a arquitetura microkernel permite
isolar as funções do sistema operacional por diversos processos servidores pequenos e dedicados a
serviços específicos, tornado o núcleo menor, mais fácil de depurar e, conseqüentemente,
aumentando sua confiabilidade. Na arquitetura microkernel, o sistema operacional passa a ser de
mais fácil manutenção, flexível e de maior portabilidade. Apesar de todas as vantagens deste
modelo, sua implementação, na prática, é muito difícil. Primeiro existe o problema de desempenho,
devido a necessidade de mudança de modo de acesso a cada comunicação entre clientes e
servidores. Outro problema é que certas funções do sistema operacional exigem acesso direto ao
hardware, como operações de E/S.

57. Por que a utilização da programação orientada a objetos é um caminho natural para o projeto de
sistemas operacionais?
Pois traz uma serie de benefícios como: melhoria na organização das funções e recursos do
sistema; redução no tempo de desenvolvimento; maior facilidade na manutenção e extensão do
sistema; facilidade de implementação do modelo de computação distribuída.