sistemas operacionais - apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf ·...

57
Questões comentadas Sistemas Operacionais para concursos

Upload: buituong

Post on 08-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Questões comentadas

Sistemas Operacionaispara concursos

Page 2: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Prefácio

Tal como nas arquiteturas de hardware, os Sistemas Operacionais (SO) também passam porum processo evolutivo, classi�cado em gerações. O surgimento dos SOs data da segunda gera-ção de computadores, na década de 50.

Hoje, um sistema operacional implementa políticas e estruturas de software de modo a possibili-tar o uso e�ciente e controlado dos diversos componentes de hardware do computador (unidadecentral de processamento, memória, dispositivos de entrada e saída). Além disso, o S.O. ofereceuma interface mais amigável aos usuários em relação às operações associadas a cada componenteda máquina.

O tema Sistemas Operacionais, devido à sua relevância, tende a ser cobrado pela maioria dosconcursos da área de Tecnologia de Informação, que buscam averiguar se o conhecimento docandidato evolui ao mesmo passo da área.

Este volume tem por objetivo fornecer ao candidato uma visão dos principais mecanismos en-volvidos na concepção de um sistema operacional moderno. Para tanto, o Grupo Handbook deTI selecionou uma série de questões comentadas em detalhes para você.

Bons estudos,

Grupo Handbook de TI

Página 1 de 55www.handbookdeti.com.br

Page 3: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Direitos Autorais

Este material é registrado no Escritório de Direitos Autorais (EDA) da Fundação BibliotecaNacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aosseus autores.

Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próxi-mos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material deforma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites dacolaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comuni-dade concurseira Handbook de TI.

A série Handbook de Questões de TI Comentadas para Concursos � Além do Gabarito é umaprodução independente e contamos com você para mantê-la sempre viva.

Grupo Handbook de TI

Página 2 de 55www.handbookdeti.com.br

Page 4: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Canais de Comunicação

O Grupo Handbook de TI disponibiliza diversos canais de comunicação para os concurseirosde TI.

Loja Handbook de TI

Acesse a nossa loja virtual em http://www.handbookdeti.com.br

Serviço de Atendimento

Comunique-se diretamente conosco através do e-mail [email protected]

Twitter do Handbook de TI

Acompanhe de perto promoções e lançamentos de produtos pelo nosso Twitter http://twitter.com/handbookdeti

Página 3 de 55www.handbookdeti.com.br

Page 5: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

1. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Processador, Escalo-namento de Processos,Banca: FCCInstituição: TCE/CECargo: Analista de Controle Externo - Auditoria de Tecnologia da InformaçãoAno: 2008Questão: 71

Criado para sistemas de tempo compartilhado e semelhante ao escalonamento FCFS, porémcom preempção para alternar entre processos. Trata-se do algoritmo de escalonamento

(a). Multilevel Queue.

(b). em tempo real.

(c). por prioridade.

(d). Multilevel Feedback-Queue.

(e). Round-Robin.

Solução:

Para implementar o compartilhamento da CPU entre diversos processos, um sistema ope-racional deve possuir um critério para determinar, entre os diversos processos no estadopronto, qual o próximo processo a executar. Esse procedimento de seleção chama-se esca-lonamento, e é realizado por um componente do sistema operacional chamado escalonador.Os principais objetivos do escalonamento de processos são:

• maximizar a utilização do processador;

• maximizar o número de processos completados por unidade de tempo;

• garantir que todos o processos recebam o processador;

• minimizar o tempo de resposta para o usuário.

Os algorítimos de escalonamento pode ser subdivididos em duas classes:

• Não Preemptivo: processo que está executando não pode ser interrompido. Pre-sente nos primeiros sistemas multiprogramáveis, onde predominava o processamentoem batch. As políticas que implementam escalonamento não-preemptivo não são apli-cáveis à sistemas de tempo compartilhado, pois em processos interativos é necessárioum tempo de resposta ao usuário razoável;

• Preemptivo: o processador pode ser retirado do processo que está executando. Per-mite atenção imediata aos processos mais prioritários, melhores tempos de resposta,compartilhamento uniforme do processador.

Alguns exemplos de algorítimos de escalonamento não preemptivos são:

• FIFO (First In First Out): Também conhecido como FCFS (First Come FirstServed). O primeiro processo que chegar é o primeiro a ser selecionado para execução.Esse algorítimo é implementado de forma simples utilizando uma única �la;

• SJF (Shortest Job First): O processo escolhido para execução é sempre o que temmenor tempo de processador. Esse algorítimo minimiza o tempo médio de espera de umconjunto de processos. A implementação do SJF depende da determinação antecipadado tempo de processador que cada um dos processos da �la exigirá. Essa uma tarefadifícil, e na prática o tempo é estimado de forma aproximada com base em informações

Página 4 de 55www.handbookdeti.com.br

Page 6: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

históricas do processo. Além disso, o SJF pode causar o problema da postergaçãoinde�nida para grandes processos, que não conseguiram tomar posse do processadorcaso sempre existam processos menores.

Com relação aos algorítimos de escalonamento preemptivos, oa mais famosos são:

• Round Robin: Essa é a resposta da questão. Nesse algorítimo, cada processo executadurante uma fatia de tempo (time-slice). Se a fatia de tempo for excedida, o processoque estava executando é movido para o �nal da �la de prontos (preempção) e a possedo processador é dada para o próximo processo da �la. Esse algorítimo é bastanteadequado para sistemas de tempo compartilhado, favorecendo os processos pequenos,que terminam primeiro, sem penalizar os grandes. Um aspecto crucial na implementa-ção do round robin é a de�nição do time-slice. Se este for muito pequeno, haverá umoverhead em virtude da grande quantidade de trocas de contexto. Se for muito grande,o tempo de resposta dos processos no �nal da �la de prontos aumentará.

• Por Prioridades: Nesse algorítimo, a cada processo é atribuída uma prioridade. Oprocesso com maior prioridade na �la de prontos receberá o processador. As prioridadespodem ser atribuídas de forma estática (quando o processo tem uma prioridade �xadurante seu tempo de vida), ou dinâmica (quando a prioridade muda ao longo dotempo de vida do processo). A atribuição dinâmica pode ser utilizada para resolver oproblema da postergação inde�nida, que pode com processos de baixa prioridade. Oaumento dinâmico da prioridade dos processos é conhecido como aging.

• Múltiplas Filas: Nesse algorítimo, prioridades são atribuídas à classes de processosde acordo com o tipo de processamento. Os processos das classes de maior prioridaderecebem o processador primeiro, enquanto os processos das classes de menor prioridadesó receberão o processador se as �las de prontos das outras classes (de maior priori-dade) estiverem vazias. Cada classe possui sua própria �la de prontos, gerenciada peloseu próprio algorítimo de escalonamento (FIFO, SJF, Prioridades, Round Robin etc).Uma variante do algoritmo de Múltiplas Filas é o algorítimo de Múltiplas Filas comRealimentação, em que os processos podem mudar de classe (e consequentemente de�la), ao longo de seu ciclo de vida.

Página 5 de 55www.handbookdeti.com.br

Page 7: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

2. Assuntos relacionados: Arquitetura de Computadores, Thread,Banca: CESGRANRIOInstituição: PetrobrasCargo: Analista de Sistemas - Eng. de SoftwareAno: 2008Questão: 22

Alguns sistemas operacionais permitem que seus processos criem múltiplos threads de exe-cução. Em operação normal, o que é previsto que os threads de um mesmo processo dosistema operacional compartilhem?

(a). Arquivos abertos

(b). Registradores

(c). Pilha (stack)

(d). Variáveis locais de cada thread

(e). Contador de instrução (program counter)

Solução:

Uma thread é comumente de�nida como um �uxo único de controle sequencial dentro deum programa. O uso de threads visa reduzir o custo do gerenciamento de processos, queconsiste principalmente em:

• criação do processo;

• trocas de contextos entre processos;

• overhead associado a esquemas de proteção de memória;

• comunicação entre processos.

Podemos dizer que as threads pertencentes ao mesmo processo utilizam os recursos alocadosno sistema operacional para esse processo, como:

• o espaço de endereçamento na memória;

• os arquivo abertos (handles);

• os objetos de sincronização.

O compartilhamento desses recursos permite que os �uxos de execução (threads) se comu-niquem e�cientemente. Então, a letra (a) é a opção correta.

Entretanto, threads dentro de um processo (e também entre processos) são escalonadase executadas independentemente. No momento de sua execução, cada thread recebe algunsrecursos próprios, como:

• os registradores;

• a pilha de execução, que lhe dará poder para chamar métodos, passar parâmetros ealocar variáveis locais;

• o contador de instrução (program counter), que é essencial para que o �uxo de execuçãoprossiga.

É importante perceber que para que o acesso a esses recursos exclusivos ocorra, é necessárioo chaveamento de contexto entre as threads, ou seja, o estado dos elementos próprios citadosdeverá ser armazenado e restaurado a cada troca de thread no uso do processador.

Página 6 de 55www.handbookdeti.com.br

Page 8: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Dado o exposto, as alternativas (b), (c), (d) e (e) podem ser eliminadas, pois citam recursosque não são compartilhados entre threads. A Figura 1 exempli�ca o compartilhamento dasthreads dentro de um processo.

Figura 1: exempli�cação de um processo com uma única thread e com múltiplas threads.

Concluindo, as principais vantagens do uso de threads são:

• permite a exploração do paralelismo real oferecido por máquinas multiprocessadas;

• possibilita o aumento do número de atividades executadas por unidade de tempo (th-roughput);

• permite sobrepor operações de cálculo com operações de I/O e, com isso, reduzir otempo de resposta;

• o tempo de criação e destruição de threads é inferior ao tempo de criação e destruiçãode processos, respectivamente;

• o chaveamento de contexto entre threads é mais rápido que o tempo de chaveamentoentre processos;

• como threads compartilham o descritor do processo, elas dividem o mesmo espaço deendereçamento, o que permite a comunicação por memória compartilhada sem interaçãocom o núcleo (kernel) do sistema operacional.

Página 7 de 55www.handbookdeti.com.br

Page 9: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

3. Assuntos relacionados: Programação Multithreading, Thread,Banca: ESAFInstituição: Superintendência de Seguros Privados (SUSEP)Cargo: Analista Técnico da SUSEP - Tecnologia da InformaçãoAno: 2010Questão: 25

Em relação à programação multithreading, é correto a�rmar que

(a). multithreads podem ser oferecidos em modo usuário e modo organização.

(b). um thread é a sub-rotina de um programa que não pode ser executado de formaassíncrona.

(c). threads podem ser oferecidos em modo segmentado, modo estrutura, modo kernele modo híbrido.

(d). no ambiente multithread cada programa pode responder a várias processos con-correntes, em um único processador.

(e). no ambiente multithread, cada processo pode responder a várias solicitações con-correntes, caso haja mais de um processador.

Solução:

Um processo tradicional rodando em um sistema operacional possui apenas uma linha deexecução. Um processo possui sua própria área de memória. O conceito de multithreadsepara um processo em várias linhas de execução (Threads), cada uma rodando indepen-dentemente. Caso haja mais de um processador, um processo pode ter mais de uma threadexecutando simultaneamente na máquina.

A Thread compartilha o mesmo espaço de memória do processo de qual ela faz parte. No en-tanto, há itens que são intrínsecos das threads (apesar de poderem ser acessadas por outrasthreads do processo): pilha, registradores, estado e program counter (apontador da instru-ção atual). As propriedades do processo são: variáveis globais, arquivos abertos, espaço deendereço, processos �lhos, alarmes pendentes, sinais e tratadores de sinais, informação deconta (dono do processo, grupo, etc.).

As threads podem ser implementadas de três formas diferentes: Modo usuário, modo kernele modo híbrido.

O modo usuário pode ser implantado em um SO que não suporta threads, assim a im-plementação é um conjunto de procedimentos de gerência de threads e uma tabela paragerenciar as propriedades das mesmas. A principal vantagem é a velocidade de criação,destruição e alternação entre linhas de execução. No entanto, sua principal desvantagem éque chamadas de sistema bloqueantes, bloqueiam todo o processo e consequentemente todasas threads dele.

No modo kernel, o Kernel possui uma tabela que gerência as threads de todos os processose a criação e destruição dessas são feitas através de chamadas de sistemas o que causa perdade desempenho. Em compensação, chamadas de sistemas bloqueantes podem ser utilizadase há apenas o escalonamento de outra thread.

O modo híbrido busca atingir a velocidade do modo usuário com as vantagens do modo

Página 8 de 55www.handbookdeti.com.br

Page 10: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

kernel. Uma das abordagens utilizadas para isso é o escalonador de ativações. Nessa técnica,o kernel aloca processadores virtuais para cada processo e esses possuem um escalonador emmodo usuário que alocam threads a processadores. Em caso de ter mais de um processador,um processador virtual pode ser um processador real. Quando o kernel detecta que umathread será bloqueada, ele noti�ca o processo através de um upcall, que é a ativação doescalonador a partir de um ponto inicial conhecido. O sistema é parecido com a utilizaçãode sinais.

Sendo assim, como resolução da questão anterior, temos:

a) ERRADO: como citado anteriormente Mutithreads pode ser oferecida em modo usuá-rio, kernel e híbrido;

b) ERRADO: uma thread é uma linha de execução de um processo. Ela normalmentetem como ponto inicial uma sub-rotina. Um processo poder ou não poder ser executadoassincronamente não possui relação com a criação de uma thread;

c) ERRADO: as threads são oferecidas nos três modos citados anteriormente;

d) ERRADO: em um ambiente multithread um processo pode possuir várias linhas deexecução simultâneas (threads) executando concorrentemente em um processador;

e) CORRETO: um exemplo desse fato pode ser um servidor web multithread, onde háum receptor de requisições e a cada requisição, ele cria uma thread para atendê-la. Sehouver mais de um processador poderá haver mais de uma solicitação sendo atendidaao mesmo tempo por processadores diferentes.

Página 9 de 55www.handbookdeti.com.br

Page 11: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

4. Assuntos relacionados: Sistemas Operacionais, Bootstrap,Banca: FCCInstituição: MPUCargo: Analista de Desenvolvimento de SistemasAno: 2007Questão: 34

NÃO é um componente dos sistemas operacionais:

(a). bootstrap.

(b). scheduler.

(c). kernel.

(d). shell.

(e). GUI.

Solução:

Como se trata de uma questão muito direta e que cobra o entendimento de termos utilizadosem computação, vamos analisar alternativa por alternativa.

(A) O termo bootstrap é uma redução do termo bootstrap load. Já o termo boot, maisusado hoje em dia, é uma redução do termo bootstrap. O termo bootstrap começou a serutilizado na década de 1950.

O processador central de um computador usualmente só é capaz de executar códigos queestejam na memória ROM ou na memória RAM. Nos sistemas modernos, tanto o sistemaoperacional quanto os programas de aplicação são armazenados em dispositivos de armazena-gem de dados não voláteis como discos rígidos, DVDs e �ash drives. Quando o computadoré iniciado, ele não possui o sistema operacional na memória ROM ou RAM. Para que osistema operacional possa ser usado, um pequeno programa armazenado na memória ROMdeve ser executado com o intuito de colocar os principais códigos do sistema operacional namemória RAM para que eles possam ser executados. Esse programa armazenado na ROMé comumente chamado de bootstrap loader. Frequentemente, os boot loaders funcionam emvárias etapas. Logo, é comum que o bootstrap de primeiro estágio carregue um boot loaderde segundo estágio na memória RAM e o execute. Esse boot loader terá a função de carregaro sistema operacional propriamente dito.

Como explicado, o bootstrap é responsável por colocar a partes mais importantes do sis-tema operacional na memória RAM para que elas possam ser executadas e, portanto, obootstrap não faz parte do sistema operacional. A alternativa a ser marcada é a letra A.

(B) Em um sistema de multiprogramação, temos frequentemente a situação onde váriosprocessos estão prontos para serem executados. Quando mais de um processo está pronto,o sistema operacional deve decidir qual processo deve ser executado primeiro. A parte dosistema operacional que toma esta decisão é chamada de escalonador (scheduler). O algo-ritmo que é usado, neste caso, é chamado de algoritmo de escalonamento.

(C) A responsabilidade do kernel em um sistema operacional consiste em abstrair a in-terface do hardware, permitindo que processos utilizem estes recursos concorrentemente, deforma segura e padronizada. O kernel fornece sistema de arquivos, escalonamento de CPU,gerência de memória e outras funções do sistema operacional através de chamadas de sistema.

Página 10 de 55www.handbookdeti.com.br

Page 12: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

(D) O shell de comando é um software independente que oferece comunicação direta entreo usuário e o sistema operacional. A interface de usuário não grá�ca do shell de comandoé o ambiente propício para a execução de aplicativos e utilitários baseados em caracteres.O shell de comando executa programas e exibe os dados de saída em uma tela usando ca-racteres individuais. o shell nada mais é que o interpretador de comandos que transmiteao kernel o que é para ser realizado. Os nomes de shell mais conhecido no Windows são ocommand.com e o cmd.exe, já no Linux existem o Bourne shell (sh), o Korn Shell (ksh), oC Shell (csh) e o Bash.

(E) GUI, a sigla de Graphical User Interface, é uma interface Homem-computador (istoé, uma maneira para que os seres humanos possam interagir com computadores) que usajanelas, ícones e menus e que pode ser manipulada por um mouse e, às vezes, de formarestrita, também pelo teclado. GUIs diferenciam-se de forma acentuada das interfaces porlinha de comando (CLI - Command Line Interface em Inglês), pois estas utilizam textoapenas e são acessadas exclusivamente pelo teclado.

Página 11 de 55www.handbookdeti.com.br

Page 13: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

5. Assuntos relacionados: Sistemas de Arquivos, Fragmentação de Dados,Banca: CESGRANRIOInstituição: BNDESCargo: Analista de SuporteAno: 2008Questão: 62

Sobre a fragmentação de dados em um disco rígido, tem-se que

(a). é desejável porque aumenta o desempenho de leitura dos arquivos, embora o di-minua nos acessos de gravação.

(b). não há relação com a quantidade de movimentações dos cabeçotes de leitura egravação no acesso de um arquivo.

(c). o nível de fragmentação dos sistemas de arquivos EXT3 e NTFS é zero, ou seja,não existem arquivos fragmentados.

(d). discos menos fragmentados têm vida útil mais reduzida em comparação com discosmais fragmentados.

(e). comparando discos utilizados com o mesmo padrão de interleaving sobre os setores,o impacto negativo da fragmentação é atenuado pelo disco de maior densidade dedados e maior velocidade de rotação.

Solução:

Diz-se que um arquivo está fragmentado quando o espaço por ele alocado no disco rígido nãoé contíguo. Ou seja, os dados que compõem o arquivo não estão unidos, mas sim espalhadospelo disco. Isso signi�ca dizer que para acessar um arquivo fragmentado é necessário ummaior deslocamento do cabeçote de leitura do disco rígido.

Por consequência, a fragmentação causa queda de desempenho do sistema, tanto para ope-rações de leitura quanto para escrita. Lembrando que o tempo de acesso a um determinadodado em disco é dado pela fórmula:

Tacesso = Tseek + Tlatencia + Ttransferencia

Em discos com alto nível de fragmentação, o tempo de seek, que é o tempo necessáriopara deslocar o cabeçote de leitura até o cilindro correto, tende a ser mais alto, já que osdiversos setores do disco que compõem o arquivo estão espalhados.

Na prática, a fragmentação ocorre quando nenhum dos espaços contíguos disponíveis nodisco é su�ciente para comportar um arquivo, e isso não depende do sistema de arquivos,seja ele FAT, NTFS, EXT3 etc. É claro que alguns sistemas de arquivos são mais e�cientesna prevenção de altos índices de fragmentação. Notoriamente, os sistemas de arquivos doLinux, por meio de técnicas heurísticas de alocação de espaço, apresentam índices de frag-mentação quase nulos. Porém, ela ainda se manifesta quando o disco está com alta utilizaçãoe existam arquivos grandes no sistema.

O padrão de interleaving, do qual fala a alternativa E, está relacionado com a organiza-ção dos setores no disco. Discos com mesmo fator de interleaving e mesma velocidade derotação, podem ser ditos equiparáveis em tempo médio de seek. A alternativa E é a correta,pois quanto maior a velocidade de rotação, menor será o tempo de seek e, por consequência,menor o tempo de acesso.

Página 12 de 55www.handbookdeti.com.br

Page 14: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

6. Assuntos relacionados: Redes de Computadores, Network File System (NFS),Banca: CesgranrioInstituição: IBGECargo: Analista de Sistemas - SuporteAno: 2010Questão: 32

Quando o Linux é iniciado, qual arquivo de con�guração é utilizado pelo sistema operacionalpara veri�car quais os compartilhamentos NFS que devem ser montados?

(a). etc/exports

(b). etc/nfs.conf

(c). etc/fstab

(d). nfs/conf

(e). nfs/exports

Solução:

NFS (Network File System) é um sistema distribuído de arquivos, desenvolvido inicialmentepela Sun Microsystems. O seu principal propósito é prover compartilhamento de arquivose diretórios entre computadores interconectados em rede, formando assim uma espécie dediretório virtual. Esse sistema utiliza um protocolo que também se chama NFS. O protocoloNFS é especi�cado nas seguintes RFCs: RFC 1094, RFC 1813 e RFC 3530 (que tornou aRFC 3010 obsoleta).

O livro de Andrew S. Tanenbaum, intitulado Sistemas Operacionais Modernos, traz umaótima explicação sobre NFS. Nessa explicação, podemos entender que a ideia básica do NFSé permitir que um conjunto qualquer de clientes e servidores compartilhem um sistema dearquivos comum. Em muitos casos, todos os clientes e servidores estão na mesma LAN, masessa não é uma condição obrigatória. É importante notar que um servidor NFS tambémpode se comportar como cliente, e vice-versa. Veja na Figura 2, um cenário hipotético deutilização de NFS.

Figura 2: exemplo de sistemas de arquivos montados remotamente via NFS.

Página 13 de 55www.handbookdeti.com.br

Page 15: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Cada servidor NFS exporta um ou mais de seus diretórios locais para serem acessados pe-los clientes remotos. Quando um diretório é exportado, o mesmo acontece com todos osseus subdiretórios. A lista de diretórios que um servidor exporta é mantida, na maioriados sistemas, no arquivo /etc/exports. Dessa forma, os diretórios podem ser exportadosautomaticamente sempre que o servidor for reiniciado.

Cada cliente NFS monta um ou mais diretórios remotos, que �cam fazendo parte de suahierarquia de diretórios. É importante notar que os usuários de um sistema cliente NFSnem percebem que um determinado diretório é remoto. Para eles, tudo acontece de formatransparente e a utilização de diretórios remotos e locais não se altera. Analogamente ao/etc/exports do lado servidor, no lado cliente temos o /etc/fstab.

O arquivo fstab (�le systems table) permite que partições (ou diretórios exportados) se-jam montadas com facilidade na inicialização do sistema, sem que o usuário tenha que fazeras montagens manualmente todas vezes que o sistema for inicializado. Cabe ressaltar que ofstab também pode ser utilizado em outros momentos sem ser o de inicialização do sistema.Para isso, pode-se utilizar o comando �mount� com parâmetros especí�cos. Dependendodos parâmetros utilizados, o �mount� lê as con�gurações do arquivo /etc/fstab e realiza (ouatualiza) montagens de partições e de diretórios remotos. Em cada linha do arquivo fstab éespeci�cado o seguinte: o dispositivo ou o diretório que será montado; o diretório local ondeserá feita a montagem; o tipo de sistema de arquivo que será utilizado; e outros parâmetrosde montagem. Veja um exemplo abaixo:

# device name mount point fs-type options dump-freq pass-num

LABEL=/ / ext3 defaults 1 1

/dev/hda6 swap swap defaults 0 0

none /dev/pts devpts gid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

# Montagem NFS

pingu:/store /store nfs rw 0 0

# Mídias Removíveis

/dev/cdrom /mount/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0

/dev/fd0 /mount/floppy auto noauto,owner,kudzu 0 0

# NTFS Windows XP partição

/dev/hda1 /mnt/WinXP ntfs ro,defaults 0 0

# Partição (pasta) Windows and Linux

/dev/hda7 /mnt/shared vfat umask=000 0 0

Com o que já foi exposto, não é difícil perceber que a resposta correta para esta questão é aletra c. Já vimos também o real propósito do arquivo /etc/exports. Agora vamos abordaros outros arquivos mencionados nas alternativas.

Em alguns sistema baseados em UNIX há o arquivo /etc/nfs.conf. Contudo, ele não éutilizado para especi�car o que deve ser montado. Ele contém con�gurações de como oservidor e/ou o cliente NFS deve funcionar.

Página 14 de 55www.handbookdeti.com.br

Page 16: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Já as opções /nfs/conf e /nfs/exports nem mesmo fazem sentido. Isso porque, por padrão,nenhum sistema operacional conhecido tem um diretório de nome nfs em sua raiz.

Página 15 de 55www.handbookdeti.com.br

Page 17: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

7. Assuntos relacionados: Redes de Computadores, Network File System (NFS),Banca: CesgranrioInstituição: PetrobrasCargo: Analista de Sistemas - InfraestruturaAno: 2008Questão: 30

O NFS é um protocolo que fornece aos usuários acesso transparente aos arquivos compar-tilhados em uma rede utilizando o protocolo TCP/IP. Para que o NFS funcione, algunsserviços devem estar em execução no servidor NFS. Dos serviços abaixo, qual é fornecidopelo daemon mountd?

(a). Atender as requisições dos clientes NFS.

(b). Executar as solicitações repassadas pelo nfsd.

(c). Fornecer números de porta nas quais os clientes podem se vincular.

(d). Monitorar o status dos servidores e clientes para recuperá-los de bloqueios NFS.

(e). Gerenciar os sistemas bloqueados para evitar modi�cações de dados por váriosclientes ao mesmo tempo.

Solução:

O NFS - Network File System é um protocolo de rede que permite que árvores de diretóriose arquivos sejam compartilhados através de uma rede. Através do NFS é possível mon-tar diretórios compartilhados remoto como se fossem dispositivos locais. É um protocolooriginalmente desenvolvido pela Sun Microsystens, mas atualmente está disponível em pra-ticamente todos os sistemas UNIX. O NFS precisa estar habilitado no kernel, seja nativo oucarregado como módulo, tanto no servidor quanto no cliente.

O NFS é mantido por diversos daemons que são processos que são executados em backgroundno sistema. Os daemons de servidor NFS, chamados de daemons nfsd, são executados noservidor e aceitam chamadas RPC dos clientes. O daemon nfsd nada mais é que um processoreceptor de subrotinas do kernel que executam operações de sistemas de arquivos. Ele existecomo um processo separado para prover um escalonamento tratado pelo kernel, permitindoque um servidor aceite mais requisições NFS enquanto outros daemons nfsd estão aguar-dando que uma operação no disco seja completada.

O servidor NFS também executa o daemon mountd que executa as solicitações que o nfsdlhe passa, além disso, veri�ca as permissões de acesso do cliente e retorna um ponteiro paraum sistema de arquivos. Uma vez montando um diretório, ele permanece ligado ao sistemade arquivos local até que seja desmontado com o comando umount ou até que o sistema localseja reinicializado. No cliente, o uso da cache e de bu�ers é manipulado pelo comando biod,o daemon de E/S de bloco. No cliente NFS, o daemon biod está normalmente em execuçãopara melhorar a desempenho do NFS, apesar de não ser imprescindível.

O daemon portmap faz o mapeamento dos números de programa RPC para os númerosde porta TCP/IP apropriados. Se o daemon portmap não estiver sendo executado corre-tamente, o NFS também não funcionará. O daemon lock é o que manipula as requisiçõeslocks de arquivos. É executado nos clientes e nos servidores. Clientes requisitam �le locke os servidores fornecem. O daemon statd é exigido pelo lockd para fornecer os serviçosde monitoração. Permite que os locks sejam liberados após uma eventual queda da rede.

Página 16 de 55www.handbookdeti.com.br

Page 18: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Clientes e servidores rodam daemon statd. Os daemons NFS clients são: biod, statd e lockde os daemons server são biod, statd, lockd, nfsd e o mountd (os daemons server às vezesexecutam como daemons clients utilizando os daemons biod, statd e lockd).

Como foi apresentado acima, o daemon mountd realiza os pedidos que o nfsd passa a ele,ou seja, trata as requisições repassadas pelo nfsd. Portanto, alternativa B está correta.

Página 17 de 55www.handbookdeti.com.br

Page 19: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

8. Assuntos relacionados: Sistemas Operacionais, Arquitetura de Computadores,Banca: CesgranrioInstituição: BR DistribuidoraCargo: Analista de Sistemas - DesenvolvimentoAno: 2008Questão: 29

Como é chamado o setor 0 (zero) de um disco, o primeiro a ser lido e executado pela BIOS?

(a). FAT

(b). MBR

(c). I-node

(d). GRUB

(e). Superbloco

Solução:

Vamos analisar alternativa por alternativa com o intuito de apresentar a teoria relacionadacom cada uma.

FAT é um sistema de arquivos e é a sigla para File Allocation Table (ou tabela de alo-cação de arquivos). O primeiro FAT surgiu em 1977, para funcionar com a primeira versãodo DOS. Trata-se de um sistema que funciona através de uma espécie de tabela que contémindicações para onde estão as informações de cada arquivo. Quando um arquivo é salvo numdisquete por exemplo, o FAT divide a área do disco em pequenos blocos. Assim, um arquivopode (e ocupa) vários blocos, mas eles não precisam estar numa sequência. Os blocos dedeterminados arquivos podem estar em várias posições diferentes. Daí a necessidade de umatabela para indicar cada bloco.

Com o surgimento de dispositivos de armazenamento com mais capacidade e mais so�s-ticados, o sistema FAT foi ganhando alterações (identi�cadas pelos nomes FAT12 e FAT16).Isso foi necessário porque o FAT era limitado a determinada capacidade de armazenamento.Por exemplo, ele só operava com tamanho máximo de 2 GB. Assim, num disco de 5 GB, serianecessário dividi-lo em 3 partições. Fora o fato de que o FAT apresentava problemas cominformações acima de 512 MB. Diante de tantos problemas, em 1996, a Microsoft lançou umnovo FAT: o FAT32, que é compatível com os Windows 9x/Me/2000 e XP (apesar destesdois últimos terem um sistema de arquivos mais avançado, o NTFS).

MBR é abreviação de �Master Boot Record�, também conhecido como setor 0. O MBRarmazena tanto o gerenciador de boot quanto a tabela de particionamento do disco rígido.Dos seus 512 bytes, 446 bytes são reservados para o setor de boot, enquanto os outros 66bytes guardam a tabela de partição. Esta tabela contém informações sobre o tipo, endereçode início e �nal de cada partição.

O BIOS (Basic Input/Output System) é muito limitado no sentido de ser inicializar o sistemaoperacional, embora seja capaz de contar a memória e reconhecer os periféricos instalados(via plug-and-play), o BIOS não tem o discernimento de como prosseguir para carregar osistema. O setor de boot funciona como um ponto de partida, assim que o POST (PowerOn Self Test) é concluído, o BIOS lê o setor de boot e segue as instruções que estiveremgravadas nele, que iniciarão o carregamento do sistema operacional. Como já dissemos, nodisco rígido, o setor de boot faz parte do MBR, que é o primeiro setor a ser lido pela BIOS.

Página 18 de 55www.handbookdeti.com.br

Page 20: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

A alternativa correta da questão é a letra B.

O I-node é uma estrutura de dados constituinte de um sistema de arquivos que seguea semântica Unix. O I-node armazena informações sobre um arquivo, tais como o dono,permissões e sua localização. Cada diretório e arquivo é identi�cado com um número I-node.

O I-node é exclusivo somente para o dispositivo (partição) dentro do qual ele está con-tido. Portanto, para identi�car unicamente um arquivo, o núcleo do sistema operacionaldeve ter o número de dispositivo e o I-node do arquivo.

Um arquivo possui um único I-node, não importa por quantos nomes este arquivo é identi-�cado no sistema. Logo, é o conjunto de inodes que indica o número de arquivos/diretóriosque o sistema possui.

O GRUB foi desenvolvido a partir de um pacote chamado GRand Uni�ed Bootloader,de onde deriva o acrônimo GRUB. O GRUB é um multi-carregador de sistema operacional(multi boot boot-loader) e é adotado por diversos sistemas Linux. É utilizado, normalmente,quando se deseja que um computador tenha dual booting, ou seja, que o usuário possa esco-lher ao iniciar a máquina, um sistema operacional dentre dois ou mais sistemas instalados.O MBR contém o primeiro estágio do GRUB. Dado o pequeno tamanho deste estágio, eleapenas carrega o próximo estágio do GRUB, que pode residir em qualquer locação do disco.

O superbloco é o contêiner para os metadados de alto nível referentes a um sistema dearquivos. É uma estrutura que existe no disco rígido (na verdade, em vários lugares no disco,para �ns de redundância) e também na memória. Fornece a base para o gerenciamento dosistema de arquivos em disco à medida que de�ne os parâmetros de gerenciamento do sis-tema de arquivos (por exemplo, número total de blocos, blocos livres e nó de índice raiz).

No disco, o superbloco apresenta informações sobre o kernel na estrutura do sistema dearquivos no disco. Na memória, o superbloco apresenta as informações necessárias e o es-tado para gerenciar o sistema de arquivos ativo (montado). Por exemplo, como o Linux dásuporte a vários sistemas de arquivos concorrentes montados simultaneamente, cada estru-tura de superbloco é mantida em uma lista e são gerenciadas através de um conjunto deinterfaces padrão, também conhecido como virtual �le system switch (VFS).

Página 19 de 55www.handbookdeti.com.br

Page 21: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

9. Assuntos relacionados: RAID,Banca: CESGRANRIOInstituição: BNDESCargo: Analista de SuporteAno: 2008Questão: 38

Oito discos rígidos, cada um com 1 TB de capacidade, formam um arranjo do tipo RAID 5.A esse respeito, considere as a�rmativas a seguir.

I - Caso dois discos falhem simultaneamente, o desempenho de leitura, em média, será25% menor, mas não haverá perda de dados.

II - Nesse arranjo, 1 TB é utilizado para dados de redundância e, portanto, o espaço emdisco útil é de 7 TB.

III - O disco destinado à paridade efetua muitas operações de escrita e, por isso, é reco-mendável que possua, pelo menos, 1 GB de cache de escrita.

Está(ão) correta(s) somente a(s) alternativa(s)

(a). I

(b). II

(c). III

(d). I e II

(e). I e III

Solução:

Em um arranjo em RAID 5, as informações de paridade são distribuídas ao longo de todosos discos do conjunto ao invés de serem armazenas em um único disco dedicado como ocorreno RAID 4. Entretanto, as informações de cada disco são únicas, ou seja, os valores deparidade armazenados em um disco são calculados em função dos outros discos. Então,não será possível recuperar o dado caso mais de um disco falhe. Logo, a alternativa I estáincorreta.

É necessário lembrar que a única diferença de um arranjo em RAID 6 em relação ao RAID 5é que o primeiro possui o dobro de bits de paridade, tornando possível a recuperação quandoaté dois discos falharem.

A alternativa II está correta, uma vez que o espaço reservado para as informações de pa-ridade é equivalente a um disco do conjunto (1 TB), embora seja distribuído, tornando oespaço em disco útil equivalente a 7 TB (8 TB - 1 TB).

Como explicado anteriormente, as informações de paridade são distribuídas e, portanto,não existe disco dedicado para armazenar essas informações. Esse fato torna a alternativaIII incorreta.

Logo, somente a alternativa II está correta, tornando B a resposta a ser marcada.

Página 20 de 55www.handbookdeti.com.br

Page 22: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

10. Assuntos relacionados: Alta Disponibilidade, Soluções de Armazenamento, RAID,Banca: CesgranrioInstituição: BNDESCargo: Analista de Sistemas - SuporteAno: 2008Questão: 43

Em relação a um arranjo de sete discos em RAID nível 2, pode-se a�rmar que

(a). somente um dos discos é dedicado à paridade.

(b). em caso de falha em um disco, haverá perda de dados.

(c). não exige muito processamento do controlador de disco.

(d). utiliza tiras de tamanho �xo - n setores em cada.

(e). é utilizado código de Hamming para redundância de informação.

Solução:

RAID (Redundant Array of Inexpensive/Independent Disks) é uma classe de dispositivo deE/S cuja ideia fundamental é o uso de um conjunto de discos con�gurados de tal forma acomportarem-se como um único disco de grande capacidade de armazenamento e de altodesempenho de escrita/leitura, além de con�abilidade de armazenamento e robustez a falhas.

O RAID nível 2 trabalha por palavra (diferentemente dos RAIDs de nível 0 e 1 que traba-lham com tiras de dados), dividindo seus bits pelos discos existentes e intercalando-os combits de paridade. Uma palavra de 4 bits, por exemplo, poderia ser dividida em 4 discos,acrescentando-se mais 3 discos para paridade (em código Hamming), o que resultaria emuma palavra de 7 bits, com os bits 1, 2 e 4 destinados ao controle de paridade, proporcio-nando redundância da informação para prevenção de possíveis falhas.

Para seu efetivo funcionamento, deve haver sincronismo entre a posição do braço e a posiçãorotacional dos sete discos. Desta forma, possibilita-se a escrita de uma palavra de 7 bitscodi�cada por Hamming, um bit em cada disco.

Com esse esquema, a falha de um disco não causa qualquer problema, pois sua perda equi-vale a perder um bit por palavra, o que é facilmente gerenciado pelo código de Hamming.Em contrapartida, exige-se muito do controlador de discos (controlador de RAID), já queele deve efetuar uma soma de veri�cação de Hamming a cada tempo de bit.

(A) ERRADA

Face ao exposto, observa-se que a alternativa (A) está incorreta, pois a paridade é divi-dida por mais de um disco, à medida que o tamanho da palavra cresce. Os RAIDs de nível3 e 4 organizam-se de forma a concentrar os bits de paridade em um único disco. O RAIDde nível 4 possui um disco dedicado apenas à paridade.

(B) ERRADA

A alternativa (B) também está incorreta, pois a falha de um disco não ocasiona perdade dados devido à utilização do código de Hamming. O RAID nível 0 não possui quaisquerredundância ou controle de erro, ocasionando perda de dados no caso de falha em um disco

Página 21 de 55www.handbookdeti.com.br

Page 23: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

(alguns estudiosos nem consideram esse esquema um RAID verdadeiro).

(C) ERRADA

Conforme explanado, uma das desvantagens do RAID nível 2 é a grande exigência de pro-cessamento por parte do controlador de discos devido à constante veri�cação dos dadoscodi�cados por Hamming. Desta forma, a alternativa (C) está incorreta ao comentar sobreo processamento do controlador de disco.

(D) ERRADA

Como o RAID de nível 2 trabalha com palavras em vez de tiras de dados, a alternativa(D) está incorreta. Além dos RAIDs nível 0 e 1, os RAIDs nível 4 e 5 também utilizam tirasde dados para organização da informação armazenada.

(E) CORRETA

A alternativa (E) está correta ao a�rmar que o RAID nível 2 utiliza o código Hammingpara proporcionar redundância de dados.

Página 22 de 55www.handbookdeti.com.br

Page 24: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

11. Assuntos relacionados: Sistemas de Arquivos, RAID, Banco de Dados,Banca: CesgranrioInstituição: BNDESCargo: Analista de Sistemas - SuporteAno: 2008Questão: 70

Sobre a utilização de RAID 5 em bancos de dados, marque a a�rmativa correta.

(a). Em bancos de dados OLTP com alta taxa de escritas, é o armazenamento queoferece melhor desempenho.

(b). Possui desempenho de escrita superior ao RAID 0+1 (combinação dos dois níveis),mas inferior ao RAID 0 puro.

(c). Como os dados de redundância (paridade) estão em um único disco, não é reco-mendável para aplicações de missão crítica.

(d). Quando o espaço em disco é um recurso escasso, e o banco de dados é somente deconsultas (query database), o uso de RAID 5 é admissível.

(e). Oferece o melhor desempenho para bancos de dados standby.

Solução:

O esquema RAID (Redundant Array of Independent Disks - Conjunto Redundante de DiscosIndependente) é um meio de se criar um subsistema de armazenamento composto por váriosdiscos individuais, com a �nalidade de ganhar segurança (redundância em caso de falha emum dos discos) e desempenho (pedidos de I/O podem ser tratados em paralelo, desde queos dados residam em discos separados).

O esquema RAID puro consiste em vários níveis (abordaremos alguns aqui), não havendoqualquer relação hierárquica entre eles, mas cada um deles designa arquiteturas distintasque compartilham 3 características:

• o conjunto dos discos físicos em RAID é visto pelo sistema operacional como sendo umúnico disco lógico;

• os dados são distribuídos pelos discos físicos de um array;

• redundância de capacidade é usada para armazenar informação de paridade, que ga-rante a recuperação dos dados no caso de uma falha num disco.

Abordaremos, agora, cada nível RAID (exceto o RAID 6 e o RAID 1 + 0).

RAID 0

Este nível RAID refere-se a um array de discos onde os dados estão divididos em segmentos,mas não existe nenhuma redundância para tolerância a falhas. Sempre que a performancee a capacidade forem a preocupação principal e o baixo custo for mais importante que acon�abilidade adicional, esta é uma opção a considerar. A Figura 3 exempli�ca o tipo deestrutura existente num sistema deste tipo.

Os dados são divididos em segmentos consecutivos (stripes) que são escritos paralelamenteem cada um dos discos de um array. Alguns pontos em relação ao desempenho deste tipode esquema são descritos abaixo:

Página 23 de 55www.handbookdeti.com.br

Page 25: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

• em um ambiente com uso intensivo de I/O ou em um ambiente de banco de dadosonde múltiplas requisições concorrentes são feitas para pequenos registros de dados(banco de dados OLPT, por exemplo), um segmento de tamanho grande é preferencial,pois se o tamanho de segmento para um disco é grande o su�ciente para conter umregistro inteiro, os discos do arranjo podem responder de forma independente para asrequisições simultâneas de dados;

• em um ambiente onde grandes registros de dados são armazenados, segmentos depequeno tamanho são mais apropriados, pois se um determinado registro de dadosestende-se através de vários discos do arranjo, o conteúdo do registro pode ser lido emparalelo, aumentando o desempenho total do sistema.

Figura 3: RAID 0.

Arranjos RAID-0 oferecem performance de escrita superior se comparados a outros níveis deRAID por não apresentarem sobrecarga associada com cálculos de paridade ou com técnicasde recuperação de dados (eliminamos, assim, a alternativa A). Esta incapacidade de recons-truir dados perdidos indica que esse tipo de arranjo deve ser restrito ao armazenamento dedados não críticos e combinado com e�cientes programas de backup.

RAID 1

Também conhecido como �Mirroring� ou �Espelhamento�, o RAID 1 funciona adicionandoHDs paralelos aos HDs principais existentes no computador. Assim, se, por exemplo, umcomputador possui 2 discos, pode-se aplicar mais um HD para cada um, totalizando 4. Osdiscos que foram adicionados trabalham como uma cópia do primeiro. Assim, se o discoprincipal recebe dados, o disco adicionado também os recebe. Daí o nome de �espelha-mento�, pois um HD passa a ser uma cópia praticamente idêntica do outro. Dessa forma, seum dos HDs apresentar falha, o outro imediatamente pode assumir a operação e continuar adisponibilizar as informações. A consequência neste caso, é que a gravação de dados é maislenta, pois é realizada duas vezes. No entanto, a leitura dessas informações é mais rápida,pois pode-se acessar duas fontes. Alguns pontos em relação ao desempenho deste tipo deesquema são descritos abaixo:

• um pedido de leitura pode ser satisfeito por qualquer um dos dois discos que contenhaos dados em questão, podendo ser escolhido o que implicar um tempo menor de procura

Página 24 de 55www.handbookdeti.com.br

Page 26: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

e latência de rotação (por esta razão, é muito comum o uso do RAID 1 em servidoresde arquivos);

• um pedido de escrita requer uma atualização em ambos os discos, mas isto pode serfeito em paralelo. Deste modo, a performance de escrita é ditada pela mais lenta dasduas faixas físicas (por esta razão, sempre que uma fração substancial dos pedidos forescrita, pode não haver superioridade de desempenho relativamente a RAID 0);

• a recuperação de uma falha é simples. Quando ocorre uma falha num dos discos, ésempre possível acessar os dados utilizando o outro disco.

RAID 2

O nível RAID 2, agora obsoleto, propõe um controle de erro por código Hamming (có-digos ECC - Error Correction Code), o qual já está integrado diretamente nos controladoresde discos atuais.

Esta tecnologia consiste em armazenar os dados seguindo o mesmo princípio do RAID 0,mas escrevendo numa unidade distinta os bits de controle ECC (geralmente 3 discos ECCsão utilizados para 4 discos de dados).

RAID 3

O RAID 3 requer apenas um disco redundante, qualquer que seja o tamanho do arrayde discos. Em vez de um código corretor de erros, como o existente em RAID 2, um simplesbit de paridade é calculado para o conjunto de bits na mesma posição em todos os discos earmazenado no disco redundante referido. Através da veri�cação da informação de paridade,é possível assegurar a integridade dos dados, em casos de recuperação.

Em RAID 3, qualquer pedido I/O implicará a transferência paralela de dados de todosos discos, contanto que todos os eixos das unidades de disco estejam sincronizados. Esteaumento de desempenho é mais visível em grandes transferências. Por outro lado, apenasum pedido de I/O pode ser executado de cada vez, portanto não constituirá a melhor opçãopara um ambiente de transações.

RAID 4

Este tipo de RAID, basicamente, divide os dados entre os discos, sendo que um é exclu-sivo para paridade. O RAID 4 é indicado para o armazenamento de arquivos grandes, ondeé necessário assegurar a integridade das informações. Isso porque, neste nível, cada operaçãode gravação requer um novo cálculo de paridade, dando maior con�abilidade ao armazena-mento (apesar de isso tornar as gravações de dados mais lentas).

Ao contrário do sistema de RAID 3 que armazena a paridade bit-a-bit, em RAID 4 aparidade é armazenada sob a forma de blocos e associada a um conjunto de blocos de dados,isto é, a paridade é simplesmente um somatório de informações; observando quais bits se al-teram quando gravamos as novas informações, só precisamos mudar os bits correspondentesno disco de paridade. Dessa forma, temos de ler os dados antigos do disco que está sendogravado, comparar os dados antigos com os novos para veri�car quais bits mudaram, ler aparidade antiga, modi�car os bits correspondentes, depois gravar os novos dados e a novaparidade. Desse modo, uma pequena gravação envolve quatro acessos a dois discos, em vezdo acesso a todos os discos (uma desvantagem do sistema é que o disco de paridade deve ser

Página 25 de 55www.handbookdeti.com.br

Page 27: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

atualizado em cada gravação, tornando-se, assim, o gargalo de gravações).

Os sistemas RAID de nível 4, assim como os níveis 5 e 6, faz uso de uma técnica de acessoindependente. Neste tipo de acesso, cada disco opera independentemente sendo assim pos-sível satisfazer pedidos I/O em paralelo.

RAID 5

Este é muito semelhante ao RAID 4, exceto o fato de que a paridade não �ca destinadaa um único disco, mas a todo array de discos (eliminamos, aqui, a alternativa C). Isso fazcom que a gravação de dados seja mais rápida, pois não é necessário acessar um mesmodisco de paridade em cada gravação, o que gerava um gargalo quando da ocorrência de es-critas concorrentes. Ainda assim, o RAID 5 continuará a sofre por causa do processamentoadicional causado pela leitura, re-cálculo e atualização da informação sobre paridade. Porisso, ele é mais indicado para ser utilizado em banco de dados cujas ações são limitadas aconsultas (operações de leitura). Isto reforça a indicação da alternativa D como correta.

Note que, ao invés de espelhar HDs inteiros para a tarefa, como em RAID 1, os dados deparidade são espalhados entre os discos, o que representa uma melhor utilização do espaçodisponível. O espaço necessário para armazenar a informação de paridade é equivalente a1/(Número de discos). Por exemplo, para uma matriz com 10 discos, 10% da usa capacidadeserá utilizada para armazenar informação de paridade. Concluímos, aqui, que a alternativaD está correta.

Além disso, lembre-se que um banco de dados standby nada mais é que uma réplica deoutro banco de dados, criado a partir de um backup. Portanto, não há necessidade algumaem se adotar RAID 5 numa cópia de um banco de dados, sendo mais adequado adotar RAID0. Logo, eliminamos a alternativa E.

RAID 0+1

O RAID 0 + 1 é uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os da-dos são divididos entre os discos para melhorar o rendimento, mas também utilizam outrosdiscos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0com a redundância do nível 1.

Assim como o RAID 0, o RAID 0+1 não realiza cálculo de bit de paridade, o que torna otempo de escrita menor que o do RAID 5. Assim, eliminamos a alternativa B.

Página 26 de 55www.handbookdeti.com.br

Page 28: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

12. Assuntos relacionados: Microsoft Windows 2000, RAID,Banca: ESAFInstituição: Receita Federal (RF)Cargo: Técnico da Receita Federal - Tecnologia da InformaçãoAno: 2006Questão: 8

No Sistema Operacional Windows 2000 é possível a instalação de um sistema de discostolerante a falhas. Nesse caso, um sistema RAID 5 é caracterizado

(a). pelo espelhamento de discos, onde o sistema se encarregará de gravar, para os doisdiscos, a mesma informação.

(b). pela duplicação de disco. É um sistema tolerante a falhas, semelhante ao espelha-mento, só que os dois discos devem estar conectados a controladoras diferentes,aumentando, assim, o desempenho do sistema quanto à leitura e gravação dasinformações.

(c). pelo ganho real no espaço de armazenamento, que se torna (N + 1) vezes o tamanhodo primeiro volume, onde N é a quantidade de discos utilizados no sistema de faixade disco.

(d). por uma faixa de discos com paridade que permite que vários discos, no mínimo 3,sejam acoplados como uma única unidade lógica de disco para obter a tolerânciaa falhas.

(e). por uma faixa de discos sem paridade que permite que vários pares de discos, nomínimo 4, sejam acoplados como uma única unidade lógica espelhados dois a dois.

Solução:

Redundant Array of Inexpensive Disks (mais tarde trocado para Independent) ou RAID é atecnologia que provê aumento na capacidade de armazenamento, aumento desempenho noacesso aos dados e segurança através de redundância combinando vários discos de baixo custoem uma unidade lógica onde os dispositivos são independentes. Há vários esquemas em quepodem ser organizados os discos que são normalmente referidos como níveis. Originalmenteforam concebidos os níveis padrões, conhecidos como RAID0 a RAID5 mas posteriormentevárias variações foram criadas.

Sendo assim, como resolução desta questão, temos:

a) ERRADO: o modelo em que há espelhamentos dos discos e os dados são salvos emdois discos é o RAID 1. É utilizado quando o desempenho de leitura (pode-se lerparalelamente) ou con�abilidade (se um disco falhar, haverá a cópia funcionando) sãomais importantes do que espaço;

b) ERRADO: espelhamento não caracteriza o RAID 5 e sim o RAID 1 ou RAID10. Enão há a necessidade de ser em controladoras separadas;

c) ERRADO: o ganho de armazenamento é caracterizado por Tmin*(N-1), onde Tminé o tamanho do menor disco;

d) CORRETO: RAID 5 utiliza �strips�, faixas de k setores, que são escritas nos discosde forma �round robin� (de forma circular, escreve-se em um disco, na próxima vaipara o outro e quando chegar no último volta ao primeiro). São calculados stripsde paridade que também são distribuídos pelos discos. Esse tipo de RAID, funcionamelhor com requisições de tamanho grande. Quanto maior melhor, pois pode-se tirar

Página 27 de 55www.handbookdeti.com.br

Page 29: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

proveito do paralelismo dos discos. Ele é normalmente implementado pela controladoramas pode ser implementado em nível de sistema operacional. No caso do Windows2000 pelo Windows Dynamic Disks. A Figura 4 ilustra os strips dos dados sendosalvos distribuidamente e para cada conjunto desses um de paridade também é salvo,alternadamente entre os discos;

e) ERRADO: o modelo sem paridade que vários pares de discos sejam acoplados comouma única unidade de disco espelhada dois a dois é o RAID10 (ou RAID 1 + 0).

Figura 4: ilustração de RAID 5.

Página 28 de 55www.handbookdeti.com.br

Page 30: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

13. Assuntos relacionados: Sistemas Operacionais, Operações de Entrada e Saída, DMA,Banca: CesgranrioInstituição: BR DistribuidoraCargo: Analista de Sistemas - DesenvolvimentoAno: 2008Questão: 30

Que tecnologia tem por objetivo liberar a CPU em operações de entrada/saída?

(a). Acesso direto à memória (DMA)

(b). Cache

(c). Paginação

(d). Pipeline

(e). Spool

Solução:

Antes desta tecnologia, a transferência de dados, além de envolver o processador, envolviadois movimentos: um da interface (controlador) para o processador, e outro do processadorpara a memória. A técnica que libera o CPU de operações de entrada e saída, ou seja, per-mite que os dados sejam transferidos diretamente do controlador para a memória é chamadade Direct Memory Acces (DMA � Acesso Direto à Memória). Logo, a alternativa correta éa letra A.

A técnica de DMA baseia-se na utilização de um hardware especial, chamado de contro-lador de DMA, para transferir os dados entre um dispositivo de entrada/saída e memória.O controlador de DMA é conectado �sicamente ao barramento de dados e de endereços paraacessar diretamente a memória.

Para que ocorra uma transferência de dados, o processador precisa inicializar o controladorde DMA fornecendo informações como quantidade de dados a transferir, origem e destinodos dados e qual sentido de transferência, memória para dispositivo ou vice-versa. Apósessa inicialização, o controlador realiza a transferência e libera o processador para executaroutras tarefas. Após �nalizar a transferência, o controlador de DMA avisa o processadorpor meio de uma interrupção.

É importante observar que existe uma disputa pelo barramento de dados e endereço pelocontrolador de DMA e o processador. Essa disputa é coordenada pelo arbitramento do bar-ramento.

Cache é uma memória rápida que contém dados e/ou instruções recentemente referenci-adas pelo processador. A técnica de paginação permite que um programa ocupe áreas nãocontíguas na memória. A técnica de Pipeline trabalha as diversas etapas do ciclo de instru-ção (busca, indireto, execução e interrupção) de forma paralela, e não serial, aumentando odesempenho da CPU. E Spool é um recurso compartilhado no disco para aceitar operaçõesde saída para melhorar o desempenho de impressão.

Página 29 de 55www.handbookdeti.com.br

Page 31: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

14. Assuntos relacionados: Máquina Virtual,Banca: CESGRANRIOInstituição: BNDESCargo: Analista de SuporteAno: 2008Questão: 57

No âmbito de monitores de máquinas virtuais, que propriedade garante que um software emexecução em uma máquina virtual não acesse, nem modi�que, outro software em execuçãoem outra máquina virtual?

(a). Recompilação dinâmica

(b). Paravirtualização de código

(c). Virtualização de CPU

(d). Interposição

(e). Isolamento

Solução:

Em computação, virtualização é um termo amplo que se refere à abstração dos recursoscomputacionais. Ainda dentro de uma visão conceitual, virtualizar é colocar uma camadade abstração entre o recurso e o usuário do recurso, desacoplando os limites da naturezafísica e os recursos dos usuários, permitindo o compartilhamento simultâneo.

No âmbito de virtualização de computadores, virtualizar signi�ca permitir que vários sis-temas operacionais sejam executados simultaneamente sobre um único computador físico.Cada sistema operacional é executado em uma máquina virtual própria.

O monitor de máquinas virtuais é o responsável por arbitrar o acesso aos recursos (disco,processador, memória etc) da máquina hospedeira, de modo que esses possam ser compar-tilhados pelos sistemas clientes de forma e�ciente e segura.

Nesse contexto, segurança signi�ca garantir a correta execução das aplicações que estãorodando nas diversas máquinas virtuais. Para isso, é necessário que os monitores implemen-tem mecanismos de controle para a utilização simultânea dos recursos físicos pelas diversasmáquinas virtuais, como a proteção dos espaços de endereçamento, da alocação de espaçoem disco, e do processamento das aplicações.

A implementação desses mecanismos de controle é o que confere às máquinas virtuais apropriedade de isolamento. Isolar signi�ca tornar os funcionamentos das diversas máquinasvirtuais independentes entre si, apesar do fato delas compartilharem os recursos físicos.

Página 30 de 55www.handbookdeti.com.br

Page 32: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

15. Assuntos relacionados: Sistemas Operacionais, Virtualização, Máquina Virtual, Coman-dos UNIX, Java, Máquina Virtual Java (JVM),Banca: CesgranrioInstituição: BNDESCargo: Analista de Sistemas - SuporteAno: 2008Questão: 37

Suponha duas máquinas M1 e M2 com os seguintes serviços:

M1 - Servidor de correio Post�x em Linux, arquitetura x86. M2 - Servidor WEB IIS emWindows 2003, arquitetura x86.

Uma terceira máquina M3 (x86) com Windows 2000 será criada para execução dos ser-viços das máquinas M1 e M2, tornando esses dois últimos servidores máquinas virtuais.Que software pode ser utilizado para isso?

(a). JIT-Server

(b). V-IDS

(c). Wine

(d). chroot

(e). VMWare

Solução:

Antes de analisarmos cada alternativa, faremos uma breve introdução sobre o conceito deVirtualização e Máquina Virtual.

A Virtualização faz com que os recursos computacionais possam ser divididos e compar-tilhados por vários ambientes simultaneamente, permitindo, por exemplo, a execução demúltiplos sistemas operacionais em um único hardware físico. O que temos, basicamente, éum software que parece e funciona como um hardware que realmente não existe (MáquinaVirtual).

A Máquina virtual é um ambiente isolado que compartilha os recursos de um hardwarereal através de um monitor de máquinas virtuais (VMM - Virtual Machine Monitor). Po-demos ver o VMM, também conhecido com hypervisor, como um sistema operacional parasistemas operacionais, capaz de criar uma ou mais máquinas virtuais sobre uma única má-quina real. Este Monitor pode ser implementado de duas formas diferentes (Vide Figuras 5e 6).

Neste ponto, você pode estar se perguntando por que utilizar máquinas virtuais? Abaixo,apresentamos algumas vantagens:

• sistemas operacionais e aplicações não dependem do hardware físico;

• facilidade na manutenção de hardwares;

• menos problemas com atualizações de hardware;

• novas opções de recuperação de desastres;

• hardware virtual padronizado;

Página 31 de 55www.handbookdeti.com.br

Page 33: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

• extremamente fácil de criar uma imagem da máquina virtual;

• o sistema operacional e suas aplicações são con�gurados uma única vez;

• possibilidade de fazer o backup da máquina virtual inteira copiando apenas algunsarquivos;

• muitas VMs podem executar em um mesmo servidor físico;

• maior e melhor utilização de recursos, reduzindo o tempo em que o processador �caocioso;

• as máquinas virtuais não são afetadas por outras máquinas virtuais.

Existem, contudo, algumas desvantagens:

• menor performance em relação ao uso de um servidor sem virtualização;

• limitações do hardware virtual em relação ao físico.

Figura 5: o monitor é implementado entre o hardware e os sistemas convidados (textitguestsystem).

Figura 6: o monitor é implementado como um processo de um sistema operacional real subja-cente, denominado sistema an�trião (textithost system).

Agora, partiremos para a análise de cada alternativa.

(A) ERRADA

Página 32 de 55www.handbookdeti.com.br

Page 34: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

A compilação textitJust-In-Time (JIT) é uma técnica amplamente utilizada no aperfei-çoamento do desempenho da Máquina Virtual Java (JVM, do inglês textitJava VirtualMachine), convertendo, em tempo de execução, instruções de um formato para outro, porexemplo, de textitbytecode para código de máquina. Esta técnica é normalmente utilizadapara incrementar o desempenho de programas �executados� - na verdade, interpretados - emmáquinas virtuais.

Em sistemas computacionais baseados em máquinas virtuais, como Java, o processo de com-pilação traduz o código fonte para uma representação intermediária conhecida pelo termotextitbytecode. Esta representação intermediária não está associada a nenhum código demáquina especí�co e pode ser transportada para várias arquiteturas de computador distin-tas. Em cada arquitetura especí�ca, essa representação intermediária é interpretada - ouexecutada em uma máquina virtual.

Nos ambientes que oferecem o recurso de JIT, a máquina virtual responsável pela execuçãodos textitbytecodes resultantes da compilação do programa fonte realiza a tradução dessetextitbytecode para código de máquina nativo enquanto o executa. No caso mais comum,cada trecho de código é traduzido no instante em que está para ser executado pela primeiravez, daí derivando o nome�textitjust-in-time�.

Neste escopo, o JIT-Server é adotado para otimizar chamadas constantes a classes/métodosde Java, estando mais preparado para sessões que duram dias/semanas/meses. Apesar dasobrecarga da expressão Máquina Virtual, lembre-se que JVM não virtualiza um sistemareal (virtualiza apenas uma aplicação), portanto, a alternativa está errada.

(B) ERRADA

Comando ou software inexistente. Alternativa, obviamente, errada.

(C) ERRADA

Wine (textitWINE Is Not an Emulator - Wine Não é um Emulador) é uma ferramentapara sistemas UNIX que permite a execução de algum software especi�camente concebidopara o Microsoft Windows.

Trata-se de uma implementação livre das bibliotecas do Windows no Linux, não sendo,portanto um emulador, pois ele não faz nenhuma emulação para executar softwares paraWindows. O Wine funciona como uma camada que expõe uma API compatível com a doWindows; ao serem executadas as diferentes funções, o Wine irá traduzi-las para rotinas emUNIX cujo resultado seja idêntico.

O WINE atua então apenas como um tradutor ou um interpretador de linha de comando,muito parecido com um shell. Se o Wine fosse de fato um emulador e uma máquina virtualperfeita, a princípio, todos os programas do Windows deveriam rodar no Linux sem proble-mas, o que, de fato, não ocorre. Logo, alternativa errada.

(D) ERRADA

O comando chroot do sistema operacional Unix permite que super-usuários transformemo diretório raiz no diretório especi�cado como parâmetro:

Página 33 de 55www.handbookdeti.com.br

Page 35: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

# chroot <diretório>

A partir da execução do comando acima, a pasta especi�cada em <diretório> passa a servista pelo sistema como se fosse o diretório raiz, fazendo com que todos os comandos sejamexecutados dentro da mesma. Alternativa, obviamente, errada.

(E) CORRETA

VMware é um software de virtualização que permite a instalação e utilização de um sistemaoperacional dentro de outro, dando suporte real a softwares de outros sistemas operacionais.

Usando software de virtualização como o VMware é possível executar um ou mais sistemasoperacionais simultaneamente num ambiente isolado, criando máquinas completas (virtuais)que �rodam� dentro de uma mesma máquina real. Do ponto de vista do usuário e do softwarenão se nota diferença entre a máquina real e a virtual.

Saiba que o VMware não se trata de um emulador, pois ou o processador (com tecnolo-gia AMD-V ou Intel VT-x) executa diretamente o código da máquina virtual ou o código éconvertido de forma que o processador não precise trocar o contexto para o modo real.

Dentre as utilidades do Vmware, podemos citar:

• testar uma aplicação em várias plataformas;

• dar suporte a diversas aplicações e sistemas operacionais;

• migrar e consolidar servidores antigos, concentrando-os em uma máquina só;

• testar sistemas operacionais novos;

• manter a compatibilidade de hardware;

• criar redundância contra falhas e segurança adicional contra intrusão.

Concluímos, assim, que esta alternativa está correta.

Página 34 de 55www.handbookdeti.com.br

Page 36: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

16. Assuntos relacionados: Arquitetura de Computadores, Virtualização,Banca: CesgranrioInstituição: IBGECargo: Analista de Sistemas - SuporteAno: 2010Questão: 48

Durante uma reunião da equipe de TI de uma empresa, para discutir a estratégia de virtuali-zação dos seus servidores, um analista fez as seguintes considerações sobre os inconvenientesrelacionados à virtualização:

I � a virtualização não pode ser utilizada quando as aplicações que rodarão em um am-biente virtualizado precisarem acessar dispositivos conectados à porta paralela ou à USB,pois os softwares de virtualização ignoram a existência desses dispositivos;II � existe um grande consumo de memória RAM dos servidores, dado que cada máquinavirtual vai ocupar uma área separada da mesma;III � o gerenciamento �ca descentralizado, e o suporte e a manutenção �cam mais comple-xos, em comparação a um ambiente que não utiliza virtualização, mas sim, máquinas físicaspara suprir as necessidades.

Qual(is) dos inconveniente(s) apontado(s) pelo analista está(ão) correto(s)?

(a). I, apenas.

(b). II, apenas.

(c). III, apenas.

(d). I e II, apenas.

(e). I, II e III.

Solução:

Em uma de�nição simpli�cada, a virtualização é um processo que, através do compartilha-mento de hardware, permite a execução de inúmeros sistemas operacionais em um únicoequipamento. Cada máquina virtual criada neste processo é um ambiente operacional com-pleto, seguro e totalmente isolado como se fosse um computador independente. Com avirtualização, um único servidor pode armazenar diversos sistemas operacionais em uso.Isto permite que um data center opere com muito mais agilidade e com um custo mais baixo.

Dentre os benefícios da virtualização, podemos citar:

• segurança: usando máquinas virtuais, pode ser de�nido qual é o melhor ambientepara executar cada serviço, com diferentes requerimentos de segurança, ferramentasdiferentes e o sistema operacional mais adequado para cada serviço. Além disso, cadamáquina virtual é isolada das demais. Usando uma máquina virtual para cada serviço,a vulnerabilidade de um serviço não prejudica os demais;

• con�ança e disponibilidade: a falha de um software não prejudica os demais serviços;

• custo: a redução de custos é possível de ser alcançada com a consolidação de pequenosservidores em outros mais poderosos;

• adaptação às diferentes cargas de trabalho: variações na carga de trabalho podem sertratadas facilmente. Ferramentas autônomas podem realocar recursos de uma máquinavirtual para a outra;

Página 35 de 55www.handbookdeti.com.br

Page 37: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

• balanceamento de carga: toda a máquina virtual está encapsulada no monitor de má-quina virtual. Sendo assim, é fácil trocar a máquina virtual de plataforma, a �m deaumentar o seu desempenho;

• suporte a aplicações legadas: q uando uma empresa decide migrar para um novo Sis-tema Operacional, é possível manter o sistema operacional antigo sendo executado emuma máquina virtual, o que reduz os custos com a migração. Vale ainda lembrar quea virtualização pode ser útil para aplicações que são executadas em hardware legado,que está sujeito a falhas e tem altos custos de manutenção. Com a virtualização dessehardware, é possível executar essas aplicações em hardwares mais novos, com custo demanutenção mais baixo e maior con�abilidade.

Os ambientes virtuais necessitam ser instanciados, monitorados, con�gurados e salvos. Exis-tem produtos que fornecem essas soluções, mas esse é o campo no qual estão os maioresinvestimentos na área de virtualização, justamente por se tratar de um dos maiores contra-tempos na implementação da virtualização. Vale lembrar que o VMWare é a plataformamais �exível e fácil de usar, mas ainda apresenta falhas que comprometem a segurança,assim como as demais plataformas. Entretanto, os benefícios com a centralização da admi-nistração são inegáveis, uma vez que uma padronização entre os servidores é mais fácil deser conseguida com as ferramentas atuais, então a a�rmativa III é falsa.

É verdade o fato de que cada máquina virtual vai ocupar áreas exclusivas de memóriaRAM nos servidores físicos. Isso torna a a�rmativa II verdadeira, mas devemos lembrarque, muitas vezes, a memória principal dos servidores físicos é subutilizada e o uso da virtu-alização pode ser vantajoso nesses casos. Em relação ao hardware dos servidores, incluindo,o processador, em média, os servidores utilizam somente de 5% a 10% da sua capacidade,segundo estimativa da empresa de software para virtualização VMware.

Devemos nos atentar às limitações de hardware da virtualização, pois o processamento,a capacidade de armazenamento da memória virtual e o espaço em disco da máquina sãocompartilhados pelos ambientes virtuais, e sendo assim, o hardware pode se tornar o gargaloda virtualização. As máquinas virtuais não podem ser criadas livremente sem uma análisedos recursos consumidos pela mesma.

Hoje em dia, os principais softwares que gerenciam a virtualização dão um bom suporteao acesso do hardware do computador hospedeiro como o uso de DVD, USB, monitor eoutras diversas formas de interface. A a�rmativa I é, claramente, incorreta.

Como somente a a�rmativa II está correta, a alternativa a ser marcada é a letra (B).

Página 36 de 55www.handbookdeti.com.br

Page 38: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

17. Assuntos relacionados: LPAR, Virtualização, Máquina Virtual,Banca: CesgranrioInstituição: IBGECargo: Analista de Sistemas - SuporteAno: 2010Questão: 58

Em uma arquitetura Mainframe, uma LPAR é um(a)

(a). banco de modems projetado para utilizar linhas de alta velocidade.

(b). conjunto de discos rígidos organizados segundo uma estrutura de RAID 1.

(c). subconjunto dos recursos de hardware de um computador virtualizado como umcomputador separado.

(d). estratégia de gerenciamento de memória utilizada para otimizar o processo debusca de informação.

(e). placa de rede utilizada para conectar um Mainframe a um switch de rede.

Solução:

Na área de TI, virtualizar é o ato de criar máquinas virtuais, máquinas que não existem�sicamente, por exemplo: se uma máquina puder virtualizar 3 servidores, com isto o admi-nistrador usa um único meio físico para 3 máquinas com funções diferentes, que podem seracessadas separadamente através da Internet. Uma de�nição mais acadêmica sobre virtua-lização pode ser a técnica que combina ou divide recursos computacionais para prover umou mais ambientes operacionais de execução, sendo chamado de máquinas virtuais.

A virtualização surgiu em 1960 com os mainframes (computadores de grande porte). Na-quela época era muito caro adquirir e manter um mainframe, e devido ao elevado preço,estes equipamentos só eram acessíveis a universidades e órgãos públicos. Com isso havia anecessidade de compartilhar o mesmo meio físico para realizar operações e executar aplicati-vos de diferentes �nalidades. Este conceito é, também, conhecido como Logical Partitioning(Particionamento Lógico).

LPAR é uma abordagem de arquitetura do sistema que promete revolucionar as infraestru-turas corporativas de TI e ter um grande impacto nas operações de negócios e nas decisõesde compra de equipamento. Originalmente desenvolvida para computadores de mainframe,LPAR permite a divisão de um único servidor em vários servidores ou partições �virtuais�totalmente independentes.

Uma LPAR refere-se à divisão dos processadores, da memória e do armazenamento de umcomputador em vários conjuntos de recursos, para que cada conjunto seja operado de ma-neira independente com sua própria instância de sistema operacional e seus aplicativos físicosou virtuais.

O particionamento lógico é tipicamente usado para permitir o uso de diferentes sistemasoperacionais e aplicativos em um único dispositivo. As partições podem ou não ser con�gu-radas para se comunicarem entre si ou dividirem alguns recursos do servidor, como interfacesde rede. Cada partição é independente das operações que ocorrem em outras partições, podeexecutar sua própria versão do sistema operacional e ter recursos de processador, memóriae E/S dedicados à sua utilização exclusiva.

Página 37 de 55www.handbookdeti.com.br

Page 39: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Concluindo, LPAR é a divisão dos processadores, da memória e do armazenamento de umcomputador em vários conjuntos de recursos, ou seja, subconjunto dos recursos de hardwarede um computador virtualizado como um computador separado. Portanto, a alternativa Cestá correta.

Página 38 de 55www.handbookdeti.com.br

Page 40: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

18. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Memória, Alocação deMemória,Banca: CesgranrioInstituição: BNDESCargo: Analista de Sistemas - DesenvolvimentoAno: 2008Questão: 51

Um sistema operacional que usa segmentação de memória tem a seguinte con�guração:

segmento 1 : 100 KBsegmento 2 : 50 KBsegmento 3 : 200 KBsegmento 4 : 50 KB

A memória é preenchida com segmentos de diversos tamanhos, colocados na ordem abaixo.

20 KB, 50 KB, 10 KB, 50 KB, 20 KB, 20 KB, 40 KB

Qual o espaço livre de cada segmento, respectivamente, para as estratégias abaixo?

I: best-�tII: �rst-�tIII: worst-�t

(a). I: 1=30 KB, 2=0 KB, 3=160 KB, 4=0 KBII: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KBIII: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KB

(b). I: 1=0 KB, 2=0 KB, 3=160 KB, 4=30 KBII: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KBIII: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KB

(c). I: 1=30 KB, 2=0 KB, 3=160 KB, 4=0 KBII: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KBIII: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KB

(d). I: 1=0 KB, 2=0 KB, 3=160 KB, 4=30 KBII: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KBIII: 1=20 KB, 2=0 KB, 3=120 KB, 4=50 KB

(e). I: 1=20 KB, 2=0 KB, 3=120 KB, 4=50 KBII: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KBIII: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KB

Solução:

A alocação de memória para processo (ou um segmento) está relacionada à Gerência deMemória do Sistema Operacional. Os algoritmos em questão estão relacionados à alocaçãode memória por partições variáveis, ou seja, o tamanho das partições é ajustado dinamica-mente de acordo com a necessidade exata de memória do processo.

O sistema operacional mantém uma lista de segmentos livres. Quando um processo é cri-ado, essa lista é percorrida e um segmento de tamanho igual ou maior que a necessidade doprocesso é selecionado. Entretanto, o que segmento escolhido tiver a mais que o necessário

Página 39 de 55www.handbookdeti.com.br

Page 41: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

será transformado em um novo segmento livre. Dessa forma, o processo recebe o tamanhoexato de memória que necessita.

Existem quatros formas básicas de percorrer a lista de segmentos livres. São eles: First-�t,que utiliza o primeiro segmento livre que encontrar com tamanho su�ciente; Best-�t, queutiliza o segmento que resultar em menor sobra; Worst-�t, que utiliza o segmento que resultana maior sobra; e Circular-�t, que semelhante ao First-�t, mas inicia a procura no segmentoseguinte à última sobra.

O enunciado especi�ca inicialmente 4 segmentos livres: 100 KB, 50 KB, 200 KB e 50 KB, eos novos segmentos a serem alocados na seguinte ordem são: 20 KB, 50 KB, 10 KB, 50 KB,20 KB, 20 KB e 40 KB.

Utilizando o algoritmo Best-�t, temos que para o segmento de 20KB, o segmento que produzmenor sobra (30 KB) é o segmento 2. O segmento seguinte, 50 KB, é alocado no segmento4, sobrando 0 KB. O segmento de 10 KB é alocado no segmento 2, pois produz menor sobra(20 KB) entre os quatros segmentos. E assim por diante com os segmentos de 50 KB, 20KB, 20 KB e 40 KB. Então, ao �nal da alocação dos segmentos, no segmento 1 sobra 30KB, no segmento 2 sobra 0 KB, no segmento 3 sobra 160 KB e no segmento 4 sobra 0 KB.A Tabela 1 mostra para cada alocação a sobra em cada um dos quatros segmentos.

Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento 4100 KB 50 KB 200 KB 50 KB

20 KB 100 KB 30 KB 200 KB 50 KB50 KB 100 KB 30 KB 200 KB 0 KB10 KB 100 KB 20 KB 200 KB 0 KB50 KB 50 KB 20 KB 200 KB 0 KB20 KB 50 KB 0 KB 200 KB 0 KB20 KB 30 KB 0 KB 200 KB 0 KB40 KB 30 KB 0 KB 160 KB 0 KB

Sobra 30 KB 0 KB 160 KB 0 KB

Tabela 1: alocação dos segmentos utilizando a estratégia Best-�t.

Utilizando o algoritmo First-�t, temos que para o segmento de 20 KB, o primeiro segmentoque comporta os 20 Kb é o segmento 1, gerando uma sobra de 80 KB. O segmento de 50KB, novamente, é alocado no segmento 1, pois é o primeiro segmento que comporta os 50KB, gerando uma sobra de 30 KB. O segmento de 10 KB, também, é alocado no segmento1, gerando uma sobra de 20 KB, enquanto que os segmentos de 2 a 4 continuam com otamanho inicial. O outro segmento de 50 KB não é mais alocado no segmento 1, mas nosegmento 2, gerando uma sobra de 0 KB. E assim por diante com os segmentos de 20 KB,20 KB e 40 KB. Então, ao �nal da alocação dos segmentos, no segmento 1 sobra 0 KB, nosegmento 2 sobra 0 KB, no segmento 3 sobra 140 KB e no segmento 4 sobra 50 KB. ATabela 2 mostra para cada alocação a sobra em cada um dos quatros segmentos.

Utilizando o algoritmo Worst-�t, temos que para o segmento de 20KB, o segmento queproduz a maior sobra é o segmento 3, gerando uma sobra de 180 KB. O segmento de 50KB, novamente, é alocado no segmento 3, pois este produz a maior sobra, gerando umasobra de 130 KB. O segmento de 10 KB, também, é alocado no segmento 3, gerando uma

Página 40 de 55www.handbookdeti.com.br

Page 42: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento 4100 KB 50 KB 200 KB 50 KB

20 KB 80 KB 50 KB 200 KB 50 KB50 KB 30 KB 50 KB 200 KB 50 KB10 KB 20 KB 50 KB 200 KB 50 KB50 KB 20 KB 0 KB 200 KB 50 KB20 KB 0 KB 0 KB 200 KB 50 KB20 KB 0 KB 0 KB 180 KB 50 KB40 KB 0 KB 0 KB 140 KB 50 KB

Sobra 0 KB 0 KB 140 KB 50 KB

Tabela 2: alocação dos segmentos utilizando a estratégia First-�t.

sobra de 120 KB, enquanto que os segmentos de 1, 2 e 4 continuam com o tamanho inicial.E assim por diante com os segmentos de 50 KB, 20 KB, 20 KB e 40 KB. Então, ao �nalda alocação dos segmentos, no segmento 1 sobra 60 KB, no segmento 2 sobra 50 KB, nosegmento 3 sobra 30 KB e no segmento 4 sobra 50 KB. A Tabela 3 mostra para cadaalocação a sobra em cada um dos quatros segmentos.

Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento 4100 KB 50 KB 200 KB 50 KB

20 KB 100 KB 50 KB 180 KB 50 KB50 KB 100 KB 50 KB 130 KB 50 KB10 KB 100 KB 50 KB 120 KB 50 KB50 KB 100 KB 50 KB 70 KB 50 KB20 KB 80 KB 50 KB 70 KB 50 KB20 KB 60 KB 50 KB 70 KB 50 KB40 KB 60 KB 50 KB 30 KB 50 KB

Sobra 60 KB 50 KB 30 KB 50 KB

Tabela 3: alocação dos segmentos utilizando a estratégia Worst-�t.

Percebe-se nos exemplos de alocação de memória anterior, alguns segmentos de tamanhopequeno surgem quando um processo é alocado. Não é interessante para o Sistema Operaci-onal manter segmentos de poucos bytes. Para evitar o aparecimento de segmentos pequenos,foi criada uma técnica chamada Parágrafo, que consiste em determinar a menor unidade dealocação de memória.

De acordo com o discutido anteriormente, temos os seguintes valores de espaço livre para osseguimentos de 1 a 4 de acordo com a técnica utilizada:

Página 41 de 55www.handbookdeti.com.br

Page 43: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento 4Best-�t 30 KB 0 KB 160 KB 0 KB

First-�t 0 KB 0 KB 140 KB 50 KB

Worst-�t 60 KB 50 KB 30 KB 50 KB

Tabela 4: sumário das sobras dos segmentos de 1 a 4 para cada estratégia.

Então, a alternativa correta é a letra (A).

Página 42 de 55www.handbookdeti.com.br

Page 44: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

19. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Memória, Alocação deMemória,Banca: CesgranrioInstituição: BR DistribuidoraCargo: Analista de Sistemas - DesenvolvimentoAno: 2008Questão: 28

Um sistema encontra-se com a seguinte lista de segmentos de memória disponíveis, emsequência: 13KB, 21KB, 9KB, 17KB, 40KB. Neste instante, recebe pedido de alocação dememória para quatro novos processos, nesta ordem: 15KB, 24KB, 20KB, 11KB. Considereos algoritmos a seguir, para alocação de memória.

I - First �t

II - Best �t

III - Worst �t

Qual(is) o(s) algoritmo(s) que consegue(m) alocar memória para todos os quatro novosprocessos?

(a). I, apenas.

(b). II, apenas.

(c). I e II, apenas.

(d). II e III, apenas.

(e). I, II e III.

Solução:

Umas das funções fundamentais dos sistemas operacionais é a de realizar a gerencia da me-mória principal do computador, permitindo que os diversos processos executem de formae�ciente e protegida. Nos primeiros sistemas operacionais, a memória era dividida em par-tições de tamanho �xo, porém esta técnica acarretava em dois problemas: Fragmentaçãointerna e Fragmentação externa.

A fragmentação interna ocorre quando um programa aloca uma partição de memória queexcede a quantidade necessária. O espaço excedente naquela partição é desperdiçado. Já afragmentação externa ocorre quando, apesar da quantidade total de memória ser su�ciente,não existe uma partição contígua capaz de atender as necessidades de um programa.

Para solucionar o problema da fragmentação interna, foi criado o mecanismo de partici-onamento dinâmico, no qual um programa aloca somente a quantidade exata de memória.No entanto, esse método aumentava a fragmentação externa uma vez que permitia o apare-cimento de lacunas pequenas demais para serem utilizadas por algum programa.

Para aprimorar ainda mais o gerenciamento de memória, surgiram inúmera técnicas depreenchimento de lacunas, incluindo as apresentadas no enunciado da questão: �rst �t, best�t e worst �t. A descrição das técnicas, bem como o resultado da aplicação delas no cenárioapresentado no enunciado são mostrada a seguir.

Na política de alocação First Fit, os processos são alocados no primeira lacuna que pos-sua tamanho su�ciente. Já na Best Fit, os processos são alocados nas lacunas cujo tamanho

Página 43 de 55www.handbookdeti.com.br

Page 45: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

seja mais próximo do tamanho necessário ao processo. Por �m, na Worst Fit, os processossão alocados nas maiores lacunas disponíveis. O resultado da aplicação dessas três políticasno cenário apresentado no enunciado é mostrado na Figura 7. Na Figura, as células emamarelo representam o espaço na lacuna após a alocação de memória para o processo.

Figura 7: políticas de alocação de memória.

Portanto, percebe-se que somente com as políticas Best Fit e Worst Fit seria capaz alocarmemória su�ciente para todos os quatro processos. Como mostrado na �gura, a políticaFirst Fit falhou ao ter que alocar memória para o processo de tamanho 20K, pois após asduas primeiras alocações, não havia mais nenhum espaço contíguo maior ou igual a 20K.Portanto, a resposta da questão é a alternativa D.

Finalizando a questão, vale à pena ressaltar o seguinte. Todas as técnicas apresentadaslevam em consideração o fato de que os programas devem ocupar áreas contíguas de me-mória. Os sistema operacionais modernos supriram esta necessidade através da técnica dePaginação.

Página 44 de 55www.handbookdeti.com.br

Page 46: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

20. Assuntos relacionados: Servidor de Aplicações, Java, J2EE,Máquina Virtual Java (JVM),Heap,Banca: CesgranrioInstituição: BNDESCargo: Analista de Sistemas - SuporteAno: 2008Questão: 31

Um servidor Linux, que roda, exclusivamente, um servidor de aplicação Java EE, possui 2GB de memória RAM e 1 CPU. A única aplicação em execução atinge, em momentos depico, 50 usuários simultâneos. Para que essa aplicação tenha um desempenho adequado, otamanho máximo da Heap da JVM pode ser con�gurado para

(a). 100 threads.

(b). 32 MB.

(c). 60 threads.

(d). 2 GB.

(e). 512 MB.

Solução:

O Java EE (Enterprise Edition) é uma plataforma de desenvolvimento de sistemas em Java.A plataforma inicialmente era conhecida por Java 2 Platform Enterprise Edition (J2EE),até ter seu nome trocado para Java EE, o que ocorreu na versão 5.

A plataforma JEE oferece uma série de componentes e funcionalidades que permitem aimplementação de software Java distribuído. Uma descrição sucinta da destinação e dascaracterísticas gerais da plataforma JEE pode ser encontrada na Wikipedia:

A Plataforma Java (Enterprise Edition) difere-se da Plataforma Java Standard Edition(Java SE) pela adição de bibliotecas que fornecem funcionalidade para implementar softwareJava distribuído, tolerante a falhas e multi-camada, baseada amplamente em componentesmodulares executando em um servidor de aplicações. Ela é voltada para aplicações multi-camadas, baseadas em componentes que são executados em um servidor de aplicações... Elacontém bibliotecas desenvolvidas para o acesso a base de dados, RPC, CORBA, etc. Devidoa essas características a plataforma é utilizada principalmente para o desenvolvimento deaplicações corporativas.

Os servidores de aplicação mencionados na descrição acima, em linhas gerais, são softwaresque provêem um ambiente onde as aplicações podem executar.

Uma aplicação Java usualmente é dividida em 2 partes: uma parte que executa no cli-ente e uma outra parte que executa no servidor. O servidor em si é dividido em diferentescontainers que oferecem diferentes serviços às aplicações. Entre os serviços mais comunsoferecidos pelos containers estão a execução da lógica de negócio, serviços de mensagens,serviços de gerenciamento de conexões a bancos de dados, serviços de segurança etc.

Entendido o conceito de servidores de aplicação, agora vamos falar um pouco sobre JVM(Java Virtual Machines).

Página 45 de 55www.handbookdeti.com.br

Page 47: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Quando um código Java é compilado, ele dá origem a um programa codi�cado nos cha-mados bytecodes. Os bytecodes são uma espécie de código intermediário, que só pode serexecutado por uma JVM. Uma JVM, por sua vez, é um programa que converte os bytecodesem código executável de máquina, que pode então ser executado pela máquina física.

Em última instância, são os conceitos de bytecodes que garantem a portabilidade dos códigosJava. Independente do sistema operacional ou plataforma física onde tenha sido desenvol-vido o programa Java, os bytecodes sempre serão os mesmos. Com isso, para executar oprograma Java em outro sistema, basta que se tenha uma JVM especí�ca, capaz de conver-ter os bytecodes para o código de máquina apropriado.

Agora, vamos ao que realmente interessa para alcançarmos a resposta da questão.

A heap da JVM é uma área de memória onde todos os objetos das aplicações que estãosendo executadas pela JVM residem. Além dos objetos criados nas aplicações, a heap aindapossui uma área de memória reservada para outras funções da JVM. Portanto, para que asaplicações executem com desempenho adequado, é necessário con�gurar bem o tamanho daheap.

As alternativas A e C estão erradas, simplesmente, porque o tamanho da heap não é de�nidoem termos do número de threads, mas sim em termos de quantidade de memória. Já a alte-rativa D está errada pois não faz sentido alocar toda a memória do sistema (no caso, 2GB)exclusivamente para a JVM. O sistema operacional sequer irá permitir a realização destaoperação, visto que boa parte da memória já estará sendo utilizada pelo próprio sistemaoperacional.

Com isto, nos restam as alternativas B (32 MB) e D (512 MB). O enunciado da ques-tão diz que o servidor possui 1 CPU, e que, em momentos de pico, a aplicação em execuçãoatinge 50 usuários simultâneos. O fato de o servidor possuir apenas 1 CPU implica dizerque, em momentos de alta utilização da aplicação, haverá muitas trocas de contexto, ouseja, muitas alternâncias entre os processos em execução.

Em princípio, a alteração da quantidade de memória não irá afetar a quantidade de trocasde contexto, porém irá permitir que as múltiplas threads (que serão criadas para atenderuma grande quantidade usuários simultâneos) estejam sempre na memória principal, o quepode conferir maior desempenho à aplicação.

Como o enunciado não presta informações sobre o consumo de memória das threads in-dividuais que são geradas para atender cada um dos usuários simultâneos, e levando aindaem consideração que o tamanho default da heap (ou seja, um tamanho que atende os requi-sitos de desempenho de uma aplicação média) da JVM varia entre 16MB a 64MB, podemosa�rmar que, para maximizar o desempenho da aplicação, o ideal seria con�gurar o tamanhomáximo da heap para 512MB.

Portanto, a resposta da questão é a alternativa E.

Página 46 de 55www.handbookdeti.com.br

Page 48: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

21. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Memória, Swapping,Fragmentação Interna de Memória, Fragmentação Externa de Memória, Segmentação deMemória, Device Driver,Banca: CespeInstituição: ANACCargo: Analista Administrativo - Tecnologia da InformaçãoAno: 2009Questão: 53, 54 e 56

A crescente evolução da computação tem sido impulsionada pelo melhoramento do hardwaree pelo surgimento dos sistemas operacionais. No que concerne a sistema operacional, julgueos itens de 51 a 60.

53 Uma das responsabilidades dos sistemas operacionais é gerenciar a memória. Para queessa gerência possa garantir e�ciência na execução dos processos, os sistemas operaci-onais tentam maximizar o número de processos residentes na memória principal. Paraisso, foi introduzido, nos sistemas operacionais, o conceito de swapping, que consisteem dividir o programa em módulos de tamanhos diferentes, a �m de carregar o móduloque tiver o tamanho da área livre na memória principal.

54 A diferença entre fragmentação interna e externa é que a primeira ocorre na memóriaprincipal, e a segunda, no disco.

56 Entre as camadas do gerenciamento de entrada e saída de um sistema operacional,há uma camada chamada de device drivers. Os device drivers são de�nidos comoprogramas que objetivam padronizar a comunicação entre o susbsistema de E/S e okernel do sistema operacional.

Solução:

53 ERRADO

A técnica de swapping foi introduzida para contornar situações de insu�ciência dememória principal. Essa técnica é aplicada à gerência de memória para programas queesperam por memória livre para serem executados. A vezes, não há memória principalsu�ciente para armazenar todos os processos atualmente ativos, então, os processo emexcesso são mantidos no disco e trazidos de lá para execução dinamicamente. Umasolução para essa situação é o mecanismo chamado swapping. O swapping consiste emtrazer cada processo inteiro, executá-lo temporariamente e, então devolvê-lo ao disco.

Esta técnica pode ser desenvolvida utilizando dois modos de divisão da memória prin-cipal, as partições �xas e as partições variáveis, a principal diferença entre elas é onúmero de posições e o tamanho das partições que variam dinamicamente na partiçãovariável, enquanto os processos entram e saem, ao passo que as partições �xas nãoexiste variação do tamanho. As partições variáveis tem a �exibilidade de não se pren-der a um número �xo de partições que podem ser muito grandes ou muito pequenasotimizando a utilização da memória, mas também complica a tarefa de alocar e de-salocar a memória, assim como a monitoração da memória utilizada. A gerência dememória reserva uma área de disco para o seu uso. Em determinadas situações, umprocesso é completamente copiado da memória principal para o disco. Sua execução ésuspensa, e é dito que este processo sofreu um swap-out, e outro processo ocupará estaárea na memória principal. Mais tarde, ele sofrerá um swap-in, ou seja, será copiado

Página 47 de 55www.handbookdeti.com.br

Page 49: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

novamente para a memória principal e sua execução será retornada, caso exista espaçodisponível na memória. O resultado desse revezamento no disco faz com que o sistemaoperacional consiga executar mais processo do que caberia em um único instante namemória principal.

54 ERRADO

A segmentação é uma técnica de gerência de memória onde o espaço de endereça-mento virtual é dividido em blocos de tamanhos diferentes chamados segmentos. Estatécnica não apresenta fragmentação interna, visto que a quantidade exata de memó-ria necessária é alocada para cada segmento. Entretanto, como áreas contíguas dediferentes tamanhos devem ser alocadas, existe a ocorrência de fragmentação externa.Nesse caso, o processo pode simplesmente ter de esperar até que mais memória (ou pelomenos um bloco de memória maior) se torne disponível, ou a compactação pode serusada para criar um bloco de memória livre maior. De forma resumida a fragmentaçãoexterna ocorre quando o tamanho do programa a ser carregado na memória RAM émenor que o espaço total contíguo de memória disponível.

Tanto nos sistemas de alocação absoluta quando nos de realocação, os programas,normalmente, não preenchem totalmente as partições onde são carregados na memóriaRAM. Esse tipo de problema, decorrente da alocação �xa das partições, é conhecidocomo fragmentação interna. A fragmentação interna ocorre quando um programa,carregado na memória RAM, é alocado em uma partição de memória maior que a ne-cessária, resultando no desperdício de espaço naquela partição.

56 ERRADO

Um device driver é um programa de computador permitindo um nível superior deprograma de computador que interagi com um dispositivo de hardware. Os drivers dedispositivos (driver dispositivo) internamente são personalizados para cada dispositivo.As unidades de I/O consistem tipicamente de componentes mecânicos e eletrônicos. Ocomponente eletrônico é chamado de controlador do dispositivo (device controller ouadapter). O componente mecânico é o dispositivo propriamente dito.

O objetivo geral do gerenciamento de E/S é organizar parte do kernel em uma série decamadas de software, com as mais baixas escondendo peculiaridades do hardware e asmais altas mostrando-se simples para o usuário. A Figura 8 ilustra como as partes dokernel relacionadas a I/O são estruturadas em camadas de software.

O objetivo da camada de device drivers é ocultar do subsistema de I/O do kernelas diferenças entre as controladoras de dispositivo, do mesmo modo que as chamadasao sistema de I/O encapsulam o comportamento de dispositivos em poucas classesgenéricas que ocultam das aplicações as diferenças de hardware. Como pode ser ob-servado na Figura 8, o device drivers não é uma camada intermediária ao kernel e osubsistema do kernel, e sim uma camada para abstrair a complexidade das controladosde dispositivos do subsistema de I/O do kernel.

Página 48 de 55www.handbookdeti.com.br

Page 50: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Figura 8: representação do kernel em camadas e o seu relacionamento com o hardware.

Página 49 de 55www.handbookdeti.com.br

Page 51: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

22. Assuntos relacionados: ASCII, Barramento de Comunicação, Dynamic Link Libraries(DLL), Porta de Comunicação,Banca: ESAFInstituição: Receita Federal (RF)Cargo: Técnico da Receita Federal - Tecnologia da InformaçãoAno: 2006Questão: 4

Analise as seguintes a�rmações relacionadas a Fundamentos da Computação:

I. O ASCII é um sistema de codi�cação de caracteres de byte simples usado para dadoscom base em texto. Esse sistema de codi�cação usa combinações numéricas designadasde 7 ou 8 bits para permitir que até 128 ou 256 caracteres sejam representados. OASCII padrão usa 7 bits para representar todas as letras maiúsculas ou minúsculas,os números 0 a 9, caracteres de pontuação e de controle especial usados no inglêsamericano. A maior parte dos sistemas com base em Intel possibilita o uso de ASCIIestendido (ou �alto�). O ASCII estendido permite que o oitavo bit de cada caractereseja usado para identi�car outros 128 caracteres de símbolos especiais, letras de línguasestrangeiras e símbolos grá�cos.

II. Barramentos são as linhas de comunicação usadas para transferência de dados entreos componentes do sistema do computador. Essencialmente, os barramentos permitemque diferentes partes do sistema compartilhem dados. Por exemplo, um barramentoconecta o controlador da unidade de disco, a memória e as portas de entrada/saída aomicroprocessador.

III. Uma DLL é um recurso do sistema operacional que permite que rotinas executáveis(geralmente servindo uma função especí�ca ou conjunto de funções) sejam armazenadasseparadamente como arquivos com extensões .dll. Todas estas rotinas são carregadaspelo Sistema Operacional no momento de sua inicialização, estando sempre disponíveisem memória RAM para qualquer programa que delas necessitar.

IV. Uma porta de comunicação ou de conexão é uma forma de transferir e compartilharinformações entre aplicativos, como um processador de textos e uma planilha eletrônica,usando os recursos copiar/colar.

Indique a opção que contenha todas as a�rmações verdadeiras.

(a). II e III

(b). I e II

(c). III e IV

(d). I e III

(e). II e IV

Solução:

ASCII

O mapeamento de caracteres para números inteiros é denominado código de caracteres.Para que os computadores possam se comunicar a contento, é necessário que utilizem omesmo código de caracteres. Um dos padrões utilizados ainda hoje é o ASCII (AmericanStandard Code for Information Interchabe), o código padrão americano para troca de in-formações. Como o nome sugere, ele é bastante adequado à língua inglesa, porém não o é

Página 50 de 55www.handbookdeti.com.br

Page 52: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

para outros tantos idiomas (como o português, que necessita de símbolos designados pararepresentar �ç� e �á�, por exemplo).

No ASCII, cada caractere tem 7 bits, possibilitando um total de 128 caracteres distintos.Diversos desses caracteres são destinados à comunicação entre máquinas. Outros, designamcaracteres de impressão. Todos os caracteres minúsculos e maiúsculos do idioma americanosão cobertos, além dos algarismos de 0 a 9 e outros caracteres que auxiliam a produçãotextual, como �espaço� e �exclamação�.

Numa tentativa de possibilitar o uso de caracteres pertencentes a outros idiomas, foi de-�nido o ASCII Estendido, um código de 8 bits (1 byte) capaz de representar 256 caracteres.Assim, passou a ser possível representar, dentre outros, os caracteres acentuados. Obvia-mente, o ASCII Estendido é compatível com o ASCII original. Contudo, este incremento nocódigo não consegue atender a demanda dos diversos idiomas existentes, sendo satisfatóriopraticamente apenas para idiomas cujo alfabeto seja de origem latina e/ou grega. A soluçãoproposta, e gradualmente em implantação, é o sistema de codi�cação Unicode, que utiliza16 bits para realizar a tarefa de representar caracteres dos mais variados alfabetos (árabe,cirílico, hebreu, latino, grego, etc).

O item I apresenta informações corretas sobre o ASCII (Estendido).

Barramentos

Os componentes básicos de um computador são a CPU (processador), a memória princi-pal (RAM) e os dispositivos de entrada/saída (E/S), como disco, impressora e teclado. Oscontroladores de tais componentes são interligados por barramentos de comunicação, quenada mais são do que �os paralelos na placa-mãe que transmitem endereços, dados e sinaisde controle.

Existem diversos tipos de barramentos para atender às mais variadas necessidades. Al-guns exemplos são os barramentos AGP, PCI e PCI Express. Além dos barramentos ditos�externos�, deve-se ter em conta que há barramentos �internos� à CPU, proporcionando acomunicação entre seus diversos componentes.

O item II está correto ao apresentar as informações sobre barramentos de computador.

DLL

Nas diversas versões do sistema operacional Windows, as aplicações que efetuam chama-das às rotinas do sistema utilizam a Win32 Application Program Interface, ou simplesmenteAPI do Windows. Esse conjunto de bibliotecas é implementado por meio de DLLs (DynamicLink Libraries), que nada mais são do que procedimentos que são ligados a aplicações emtempo de execução.

A grande vantagem no uso de DLLs é evitar que cada aplicação implemente (e carreguepara a memória principal) seus próprios procedimentos relacionados às chamadas ao sis-tema operacional. Desta forma, uma única cópia fornecida pelo sistema está disponívelsimultaneamente para todos os programas que dela precisarem.

Diferentemente do que a�rma o item III, as DLLs não são carregadas todas em memória no

Página 51 de 55www.handbookdeti.com.br

Page 53: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

momento de inicialização do sistema operacional. À medida que as aplicações necessitam deutilizar funcionalidades oferecidas por determinada DLL, seu respectivo trecho de código écarregado para a memória principal.

Porta de Comunicação

Portas de comunicação são interfaces físicas disponibilizadas na parte externa dos gabinetesde computadores, cujo objetivo é permitir a conexão, ao sistema, de periféricos diversos,como modens, impressoras, teclados e monitores. Podem ser do tipo hot swap (ou hotswapping), isto é, podem permitir a conexão e desconexão de periféricos sem necessidadede desligamento do sistema. Alguns exemplos desta classe são as portas USB, Firewire eas interfaces SCSI. Já as famosas portas serial e paralela não possuem tal característica,geralmente necessitando do reboot (reinicialização) do sistema para propiciarem a corretaidenti�cação dos periféricos conectados.

Observa-se com facilidade que o item IV apresenta um conceito equivocado e totalmentediverso da teoria exposta, estando incorreto, portanto.

Desta forma, a letra b) é a resposta para a questão.

Página 52 de 55www.handbookdeti.com.br

Page 54: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

23. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Memória, Fragmenta-ção Externa de Memória, Fragmentação Interna de Memória,Banca: ESAFInstituição: Superintendência de Seguros Privados (SUSEP)Cargo: Analista Técnico da SUSEP - Tecnologia da InformaçãoAno: 2010Questão: 15

Na alocação particionada dinâmica de memória

(a). ocorre fragmentação externa.

(b). ocorre fragmentação interna.

(c). não ocorre fragmentação externa.

(d). não ocorre nenhuma fragmentação.

(e). utilizam-se partições de tamanho �xo.

Solução:

Apesar do barateamento da tecnologia de produção de memórias RAM e na consequentefacilidade de acesso a tais componentes, a e�ciência no gerenciamento de memória continuasendo um requisito essencial aos Sistemas Operacionais (SOs), pois a demanda pelo recursode armazenamento por parte dos programas em execução acompanha de perto o aumentoda oferta de espaço.

Os processos (denominação dos programas, sob óptica do Sistema Operacional) precisamestar na memória principal (memória RAM) para serem executados pelo(s) processador(es).Em uma máquina equipada com apenas uma unidade de processamento, somente um pro-cesso pode ser efetivamente executado a cada ciclo.

Um esquema básico de gerência de memória, chamado Alocação Contígua Simples, con-siste na divisão da memória principal em duas partes: uma para o Sistema Operacional,outra para programas de usuários. Um controle de acesso à memória deve ser implementadopara evitar que os programas de usuários �invadam� o espaço de memória do SO. A Aloca-ção Contígua Simples limita o tamanho do programa do usuário à quantidade de memóriainstalada na máquina (excetuando-se o espaço ocupado pelo SO), além de sub-utilizar talrecurso, já que ao carregar pequenos programas o espaço remanescente torna-se momenta-neamente inacessível. O uso do processador também não é otimizado, pois em chamadasde E/S (Entrada/Saída), por exemplo, outros processos continuam esperando a conclusãodo programa atualmente em execução para serem carregados em memória. Esse é o caso desistemas monoprogramados, como o DOS.

Uma tentativa de amenizar o problema da quantidade de memória disponível inferior aotamanho do programa a ser executado é um mecanismo chamado sobreposição (overlay),que opera veri�cando se o programa possui seções que não necessitem permanecer na memó-ria durante toda a execução. A ideia é carregar apenas as seções necessárias a cada instantede execução, sobrepondo as seções não mais necessárias. O efeito colateral dessa manobraé a lentidão que a sobreposição de seções ocasiona à execução do programa como um todo.Além disso, esse mecanismo exige, no momento da programação, a de�nição das seções desobreposição por meio de diretivas especí�cas da linguagem de programação utilizada.

Página 53 de 55www.handbookdeti.com.br

Page 55: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Para suportar simultaneamente vários processos na memória, o SO precisa ser dotado demultiprogramação (capacidade de execução �simultânea� de vários processos). Evidente-mente, um SO multiprogramado precisa de um esquema de gerenciamento de memória maiselaborado do que a Alocação Contígua Simples. Uma solução possível é a Alocação Contí-gua Particionada Estática (ou Alocação Particionada Estática). Nesse esquema, a memóriaprincipal deve ser subdividida em partições de tamanhos �xos. Os tamanhos das partições,estabelecidos no momento da inicialização do sistema, podem diferenciar-se entre si. Destaforma, antes de ser carregado, um processo tem seu tamanho avaliado pelo SO para seralocado na menor partição disponível que o comporte.

Algumas partições podem eventualmente �car vazias, caso os processos �em espera� paraserem executados não caibam nos espaços disponíveis. Outro problema enfrentado pelaAlocação Particionada Estática é a fragmentação interna de partição. Genericamente, afragmentação ocorre quando partes da memória, alocadas e não utilizadas por um processo,�cam impedidas de serem utilizadas por outros processos. A fragmentação interna ocorrequando um processo é carregado em uma partição de tamanho superior ao necessário parasua execução. O espaço não utilizado pelo processo permanece reservado até o �nal da exe-cução.

Para reduzir o excesso de fragmentação interna, a Alocação Contígua Particionada Dinâmica(ou Alocação Particionada Dinâmica) elimina o conceito de partição �xa e passa a alocar oespaço de memória exatamente necessário para a execução do processo. Apesar de resolver oproblema de fragmentação interna (pois não há partição), a Alocação Particionada Dinâmicaprecisa enfrentar o problema da fragmentação externa. À medida que os vários processossão alocados e desalocados da memória principal, espaços de memória remanescentes entreos vários processos podem ser tão pequenos a ponto de não comportarem qualquer processoque encontre-se em espera, gerando a fragmentação externa da memória. Tal problema podeser solucionado com a implementação da �compactação�, processo que consiste na realocaçãodinâmica de memória para os processos em execução. Enquanto os processos são alocadose desalocados, o SO veri�ca a existência de espaços de memória vazios e passa a realocardevidamente alguns desses processos para outros endereços de memória.

A opção a) está correta ao a�rmar que na Alocação Particionada Dinâmica ocorre frag-mentação externa de memória e, consequentemente, as opções c) e d) estão incorretas aoa�rmar o contrário. Tanto a opção b) quanto a opção e) estão incorretas, pois referem-se asituações exclusivamente relativas à Alocação Particionada Estática.

Página 54 de 55www.handbookdeti.com.br

Page 56: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Questão Resposta

1 E

2 A

3 E

4 A

5 E

6 C

7 B

8 D

9 B

10 E

11 D

12 D

13 A

14 E

15 E

16 B

17 C

18 A

19 D

20 E

21 53 ERRADO 54 ERRADO 56 ERRADO

22 B

23 A

Página 55 de 55 Handbook de TI Além do Gabarito

Page 57: Sistemas Operacionais - Apostilasapostilando.yolasite.com/resources/...sistemas_operacionais.pdf · Handbook de Questões de TI Comentadas para Concursos olumeV questões de TI Prefácio

Índice Remissivo

Alocação de Memória, 39, 43Alta Disponibilidade, 21Arquitetura de Computadores, 6, 18, 35ASCII, 50

Banco de Dados, 23Barramento de Comunicação, 50Bootstrap, 10

Comandos UNIX, 31

Device Driver, 47DMA, 29Dynamic Link Libraries (DLL), 50

Escalonamento de Processos, 4

Fragmentação de Dados, 12Fragmentação Externa de Memória, 47, 53Fragmentação Interna de Memória, 47, 53

Gerenciamento de Memória, 39, 43, 47, 53Gerenciamento de Processador, 4

Heap, 45

J2EE, 45Java, 31, 45

LPAR, 37

Máquina Virtual, 30, 31, 37Máquina Virtual Java (JVM), 31, 45Microsoft Windows 2000, 27

Network File System (NFS), 13, 16

Operações de Entrada e Saída, 29

Porta de Comunicação, 50Programação Multithreading, 8

RAID, 20, 21, 23, 27Redes de Computadores, 13, 16

Segmentação de Memória, 47Servidor de Aplicações, 45Sistemas de Arquivos, 12, 23Sistemas Operacionais, 4, 10, 18, 29, 31, 39, 43,

47, 53Soluções de Armazenamento, 21Swapping, 47

Thread, 6, 8

Virtualização, 31, 35, 37

56