Sistemas Operacionais. para concursos. Questões comentadas

Tamanho: px
Começar a partir da página:

Download "Sistemas Operacionais. para concursos. Questões comentadas"

Transcrição

1 Sistemas Operacionais para concursos Questões comentadas

2 Prefácio Tal como nas arquiteturas de hardware, os Sistemas Operacionais (SO) também passam por um processo evolutivo, classicado 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 possibilitar o uso eciente e controlado dos diversos componentes de hardware do computador (unidade central de processamento, memória, dispositivos de entrada e saída). Além disso, o S.O. oferece uma interface mais amigável aos usuários em relação às operações associadas a cada componente da máquina. O tema Sistemas Operacionais, devido à sua relevância, tende a ser cobrado pela maioria dos concursos da área de Tecnologia de Informação, que buscam averiguar se o conhecimento do candidato evolui ao mesmo passo da área. Este volume tem por objetivo fornecer ao candidato uma visão dos principais mecanismos envolvidos na concepção de um sistema operacional moderno. Para tanto, o Grupo Handbook de TI selecionou uma série de questões comentadas em detalhes para você. Bons estudos, Grupo Handbook de TI Página 1 de 55

3 Direitos Autorais Este material é registrado no Escritório de Direitos Autorais (EDA) da Fundação Biblioteca Nacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aos seus autores. Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próximos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material de forma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites da colaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comunidade concurseira Handbook de TI. A série Handbook de Questões de TI Comentadas para Concursos Além do Gabarito é uma produção independente e contamos com você para mantê-la sempre viva. Grupo Handbook de TI Página 2 de 55

4 Canais de Comunicação O Grupo Handbook de TI disponibiliza diversos canais de comunicação para os concurseiros de TI. Loja Handbook de TI Acesse a nossa loja virtual em Serviço de Atendimento Comunique-se diretamente conosco através do Twitter do Handbook de TI Acompanhe de perto promoções e lançamentos de produtos pelo nosso Twitter com/handbookdeti Página 3 de 55

5 1. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Processador, Escalonamento de Processos, Banca: FCC Instituição: TCE/CE Cargo: Analista de Controle Externo - Auditoria de Tecnologia da Informação Ano: 2008 Questão: 71 Criado para sistemas de tempo compartilhado e semelhante ao escalonamento FCFS, porém com 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 operacional deve possuir um critério para determinar, entre os diversos processos no estado pronto, qual o próximo processo a executar. Esse procedimento de seleção chama-se escalonamento, 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. Presente nos primeiros sistemas multiprogramáveis, onde predominava o processamento em batch. As políticas que implementam escalonamento não-preemptivo não são aplicáveis à sistemas de tempo compartilhado, pois em processos interativos é necessário um tempo de resposta ao usuário razoável; Preemptivo: o processador pode ser retirado do processo que está executando. Permite 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 First Served). 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 tem menor tempo de processador. Esse algorítimo minimiza o tempo médio de espera de um conjunto de processos. A implementação do SJF depende da determinação antecipada do tempo de processador que cada um dos processos da la exigirá. Essa uma tarefa difícil, e na prática o tempo é estimado de forma aproximada com base em informações Página 4 de 55

6 históricas do processo. Além disso, o SJF pode causar o problema da postergação indenida para grandes processos, que não conseguiram tomar posse do processador caso 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 executa durante uma fatia de tempo (time-slice). Se a fatia de tempo for excedida, o processo que estava executando é movido para o nal da la de prontos (preempção) e a posse do processador é dada para o próximo processo da la. Esse algorítimo é bastante adequado 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 denição do time-slice. Se este for muito pequeno, haverá um overhead 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. O processo com maior prioridade na la de prontos receberá o processador. As prioridades podem ser atribuídas de forma estática (quando o processo tem uma prioridade xa durante seu tempo de vida), ou dinâmica (quando a prioridade muda ao longo do tempo de vida do processo). A atribuição dinâmica pode ser utilizada para resolver o problema da postergação indenida, que pode com processos de baixa prioridade. O aumento dinâmico da prioridade dos processos é conhecido como aging. Múltiplas Filas: Nesse algorítimo, prioridades são atribuídas à classes de processos de acordo com o tipo de processamento. Os processos das classes de maior prioridade recebem o processador primeiro, enquanto os processos das classes de menor prioridade só receberão o processador se as las de prontos das outras classes (de maior prioridade) estiverem vazias. Cada classe possui sua própria la de prontos, gerenciada pelo seu 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 com Realimentação, em que os processos podem mudar de classe (e consequentemente de la), ao longo de seu ciclo de vida. Página 5 de 55

7 2. Assuntos relacionados: Arquitetura de Computadores, Thread, Banca: CESGRANRIO Instituição: Petrobras Cargo: Analista de Sistemas - Eng. de Software Ano: 2008 Questão: 22 Alguns sistemas operacionais permitem que seus processos criem múltiplos threads de execução. Em operação normal, o que é previsto que os threads de um mesmo processo do sistema 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 denida como um uxo único de controle sequencial dentro de um programa. O uso de threads visa reduzir o custo do gerenciamento de processos, que consiste 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 alocados no 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 comuniquem ecientemente. Então, a letra (a) é a opção correta. Entretanto, threads dentro de um processo (e também entre processos) são escalonadas e executadas independentemente. No momento de sua execução, cada thread recebe alguns recursos próprios, como: os registradores; a pilha de execução, que lhe dará poder para chamar métodos, passar parâmetros e alocar variáveis locais; o contador de instrução (program counter), que é essencial para que o uxo de execução prossiga. É importante perceber que para que o acesso a esses recursos exclusivos ocorra, é necessário o chaveamento de contexto entre as threads, ou seja, o estado dos elementos próprios citados deverá ser armazenado e restaurado a cada troca de thread no uso do processador. Página 6 de 55

8 Dado o exposto, as alternativas (b), (c), (d) e (e) podem ser eliminadas, pois citam recursos que não são compartilhados entre threads. A Figura 1 exemplica o compartilhamento das threads dentro de um processo. Figura 1: exemplicaçã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 (throughput); permite sobrepor operações de cálculo com operações de I/O e, com isso, reduzir o tempo de resposta; o tempo de criação e destruição de threads é inferior ao tempo de criação e destruição de processos, respectivamente; o chaveamento de contexto entre threads é mais rápido que o tempo de chaveamento entre processos; como threads compartilham o descritor do processo, elas dividem o mesmo espaço de endereçamento, o que permite a comunicação por memória compartilhada sem interação com o núcleo (kernel) do sistema operacional. Página 7 de 55

9 3. Assuntos relacionados: Programação Multithreading, Thread, Banca: ESAF Instituição: Superintendência de Seguros Privados (SUSEP) Cargo: Analista Técnico da SUSEP - Tecnologia da Informação Ano: 2010 Questão: 25 Em relação à programação multithreading, é correto armar 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 forma assíncrona. (c). threads podem ser oferecidos em modo segmentado, modo estrutura, modo kernel e modo híbrido. (d). no ambiente multithread cada programa pode responder a várias processos concorrentes, em um único processador. (e). no ambiente multithread, cada processo pode responder a várias solicitações concorrentes, caso haja mais de um processador. Solução: Um processo tradicional rodando em um sistema operacional possui apenas uma linha de execução. Um processo possui sua própria área de memória. O conceito de multithread separa um processo em várias linhas de execução (Threads), cada uma rodando independentemente. Caso haja mais de um processador, um processo pode ter mais de uma thread executando simultaneamente na máquina. A Thread compartilha o mesmo espaço de memória do processo de qual ela faz parte. No entanto, há itens que são intrínsecos das threads (apesar de poderem ser acessadas por outras threads 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 de endereço, processos lhos, alarmes pendentes, sinais e tratadores de sinais, informação de conta (dono do processo, grupo, etc.). As threads podem ser implementadas de três formas diferentes: Modo usuário, modo kernel e modo híbrido. O modo usuário pode ser implantado em um SO que não suporta threads, assim a implementação é um conjunto de procedimentos de gerência de threads e uma tabela para gerenciar 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 todas as threads dele. No modo kernel, o Kernel possui uma tabela que gerência as threads de todos os processos e a criação e destruição dessas são feitas através de chamadas de sistemas o que causa perda de desempenho. Em compensação, chamadas de sistemas bloqueantes podem ser utilizadas e 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 55

10 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 em modo 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 uma thread será bloqueada, ele notica o processo através de um upcall, que é a ativação do escalonador a partir de um ponto inicial conhecido. O sistema é parecido com a utilização de 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 normalmente tem como ponto inicial uma sub-rotina. Um processo poder ou não poder ser executado assincronamente 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 de execuçã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. Se houver mais de um processador poderá haver mais de uma solicitação sendo atendida ao mesmo tempo por processadores diferentes. Página 9 de 55

11 4. Assuntos relacionados: Sistemas Operacionais, Bootstrap, Banca: FCC Instituição: MPU Cargo: Analista de Desenvolvimento de Sistemas Ano: 2007 Questã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 utilizados em computação, vamos analisar alternativa por alternativa. (A) O termo bootstrap é uma redução do termo bootstrap load. Já o termo boot, mais usado hoje em dia, é uma redução do termo bootstrap. O termo bootstrap começou a ser utilizado na década de O processador central de um computador usualmente só é capaz de executar códigos que estejam na memória ROM ou na memória RAM. Nos sistemas modernos, tanto o sistema operacional quanto os programas de aplicação são armazenados em dispositivos de armazenagem 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 o sistema operacional possa ser usado, um pequeno programa armazenado na memória ROM deve ser executado com o intuito de colocar os principais códigos do sistema operacional na memória RAM para que eles possam ser executados. Esse programa armazenado na ROM é comumente chamado de bootstrap loader. Frequentemente, os boot loaders funcionam em várias etapas. Logo, é comum que o bootstrap de primeiro estágio carregue um boot loader de segundo estágio na memória RAM e o execute. Esse boot loader terá a função de carregar o sistema operacional propriamente dito. Como explicado, o bootstrap é responsável por colocar a partes mais importantes do sistema operacional na memória RAM para que elas possam ser executadas e, portanto, o bootstrap 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ários processos 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 do sistema operacional que toma esta decisão é chamada de escalonador (scheduler). O algoritmo que é usado, neste caso, é chamado de algoritmo de escalonamento. (C) A responsabilidade do kernel em um sistema operacional consiste em abstrair a interface do hardware, permitindo que processos utilizem estes recursos concorrentemente, de forma 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 55

12 (D) O shell de comando é um software independente que oferece comunicação direta entre o 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 caracteres individuais. o shell nada mais é que o interpretador de comandos que transmite ao kernel o que é para ser realizado. Os nomes de shell mais conhecido no Windows são o command.com e o cmd.exe, já no Linux existem o Bourne shell (sh), o Korn Shell (ksh), o C 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 usa janelas, ícones e menus e que pode ser manipulada por um mouse e, às vezes, de forma restrita, também pelo teclado. GUIs diferenciam-se de forma acentuada das interfaces por linha de comando (CLI - Command Line Interface em Inglês), pois estas utilizam texto apenas e são acessadas exclusivamente pelo teclado. Página 11 de 55

13 5. Assuntos relacionados: Sistemas de Arquivos, Fragmentação de Dados, Banca: CESGRANRIO Instituição: BNDES Cargo: Analista de Suporte Ano: 2008 Questã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 diminua nos acessos de gravação. (b). não há relação com a quantidade de movimentações dos cabeçotes de leitura e gravaçã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 discos mais 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 de dados 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 espalhados pelo disco. Isso signica dizer que para acessar um arquivo fragmentado é necessário um maior deslocamento do cabeçote de leitura do disco rígido. Por consequência, a fragmentação causa queda de desempenho do sistema, tanto para operações de leitura quanto para escrita. Lembrando que o tempo de acesso a um determinado dado em disco é dado pela fórmula: T acesso = T seek + T latencia + T transferencia Em discos com alto nível de fragmentação, o tempo de seek, que é o tempo necessário para deslocar o cabeçote de leitura até o cilindro correto, tende a ser mais alto, já que os diversos 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 no disco é suciente 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 ecientes na prevenção de altos índices de fragmentação. Notoriamente, os sistemas de arquivos do Linux, por meio de técnicas heurísticas de alocação de espaço, apresentam índices de fragmentação quase nulos. Porém, ela ainda se manifesta quando o disco está com alta utilização e 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 de rotaçã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 55

14 6. Assuntos relacionados: Redes de Computadores, Network File System (NFS), Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 32 Quando o Linux é iniciado, qual arquivo de conguração é utilizado pelo sistema operacional para vericar 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 inicialmente pela Sun Microsystems. O seu principal propósito é prover compartilhamento de arquivos e diretórios entre computadores interconectados em rede, formando assim uma espécie de diretório virtual. Esse sistema utiliza um protocolo que também se chama NFS. O protocolo NFS é especicado nas seguintes RFCs: RFC 1094, RFC 1813 e RFC 3530 (que tornou a RFC 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 de arquivos comum. Em muitos casos, todos os clientes e servidores estão na mesma LAN, mas essa não é uma condição obrigatória. É importante notar que um servidor NFS também pode se comportar como cliente, e vice-versa. Veja na Figura 2, um cenário hipotético de utilização de NFS. Figura 2: exemplo de sistemas de arquivos montados remotamente via NFS. Página 13 de 55

15 Cada servidor NFS exporta um ou mais de seus diretórios locais para serem acessados pelos clientes remotos. Quando um diretório é exportado, o mesmo acontece com todos os seus subdiretórios. A lista de diretórios que um servidor exporta é mantida, na maioria dos sistemas, no arquivo /etc/exports. Dessa forma, os diretórios podem ser exportados automaticamente sempre que o servidor for reiniciado. Cada cliente NFS monta um ou mais diretórios remotos, que cam fazendo parte de sua hierarquia de diretórios. É importante notar que os usuários de um sistema cliente NFS nem percebem que um determinado diretório é remoto. Para eles, tudo acontece de forma transparente 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) sejam montadas com facilidade na inicialização do sistema, sem que o usuário tenha que fazer as montagens manualmente todas vezes que o sistema for inicializado. Cabe ressaltar que o fstab 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. Dependendo dos parâmetros utilizados, o mount lê as congurações do arquivo /etc/fstab e realiza (ou atualiza) montagens de partições e de diretórios remotos. Em cada linha do arquivo fstab é especicado o seguinte: o dispositivo ou o diretório que será montado; o diretório local onde será feita a montagem; o tipo de sistema de arquivo que será utilizado; e outros parâmetros de 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= 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= Com o que já foi exposto, não é difícil perceber que a resposta correta para esta questão é a letra c. Já vimos também o real propósito do arquivo /etc/exports. Agora vamos abordar os outros arquivos mencionados nas alternativas. Em alguns sistema baseados em UNIX há o arquivo /etc/nfs.conf. Contudo, ele não é utilizado para especicar o que deve ser montado. Ele contém congurações de como o servidor e/ou o cliente NFS deve funcionar. Página 14 de 55

16 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 55

17 7. Assuntos relacionados: Redes de Computadores, Network File System (NFS), Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 30 O NFS é um protocolo que fornece aos usuários acesso transparente aos arquivos compartilhados em uma rede utilizando o protocolo TCP/IP. Para que o NFS funcione, alguns serviços devem estar em execução no servidor NFS. Dos serviços abaixo, qual é fornecido pelo 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 modicações de dados por vários clientes ao mesmo tempo. Solução: O NFS - Network File System é um protocolo de rede que permite que árvores de diretórios e arquivos sejam compartilhados através de uma rede. Através do NFS é possível montar diretórios compartilhados remoto como se fossem dispositivos locais. É um protocolo originalmente desenvolvido pela Sun Microsystens, mas atualmente está disponível em praticamente todos os sistemas UNIX. O NFS precisa estar habilitado no kernel, seja nativo ou carregado como módulo, tanto no servidor quanto no cliente. O NFS é mantido por diversos daemons que são processos que são executados em background no sistema. Os daemons de servidor NFS, chamados de daemons nfsd, são executados no servidor e aceitam chamadas RPC dos clientes. O daemon nfsd nada mais é que um processo receptor de subrotinas do kernel que executam operações de sistemas de arquivos. Ele existe como um processo separado para prover um escalonamento tratado pelo kernel, permitindo que um servidor aceite mais requisições NFS enquanto outros daemons nfsd estão aguardando que uma operação no disco seja completada. O servidor NFS também executa o daemon mountd que executa as solicitações que o nfsd lhe passa, além disso, verica as permissões de acesso do cliente e retorna um ponteiro para um sistema de arquivos. Uma vez montando um diretório, ele permanece ligado ao sistema de arquivos local até que seja desmontado com o comando umount ou até que o sistema local seja reinicializado. No cliente, o uso da cache e de buers é manipulado pelo comando biod, o daemon de E/S de bloco. No cliente NFS, o daemon biod está normalmente em execução para 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úmeros de porta TCP/IP apropriados. Se o daemon portmap não estiver sendo executado corretamente, o NFS também não funcionará. O daemon lock é o que manipula as requisições locks de arquivos. É executado nos clientes e nos servidores. Clientes requisitam le lock e os servidores fornecem. O daemon statd é exigido pelo lockd para fornecer os serviços de monitoração. Permite que os locks sejam liberados após uma eventual queda da rede. Página 16 de 55

18 Clientes e servidores rodam daemon statd. Os daemons NFS clients são: biod, statd e lockd e os daemons server são biod, statd, lockd, nfsd e o mountd (os daemons server às vezes executam 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 55

19 8. Assuntos relacionados: Sistemas Operacionais, Arquitetura de Computadores, Banca: Cesgranrio Instituição: BR Distribuidora Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questã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 relacionada com cada uma. FAT é um sistema de arquivos e é a sigla para File Allocation Table (ou tabela de alocação de arquivos). O primeiro FAT surgiu em 1977, para funcionar com a primeira versão do DOS. Trata-se de um sistema que funciona através de uma espécie de tabela que contém indicações para onde estão as informações de cada arquivo. Quando um arquivo é salvo num disquete por exemplo, o FAT divide a área do disco em pequenos blocos. Assim, um arquivo pode (e ocupa) vários blocos, mas eles não precisam estar numa sequência. Os blocos de determinados arquivos podem estar em várias posições diferentes. Daí a necessidade de uma tabela para indicar cada bloco. Com o surgimento de dispositivos de armazenamento com mais capacidade e mais sosticados, o sistema FAT foi ganhando alterações (identicadas 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, seria necessário dividi-lo em 3 partições. Fora o fato de que o FAT apresentava problemas com informações acima de 512 MB. Diante de tantos problemas, em 1996, a Microsoft lançou um novo FAT: o FAT32, que é compatível com os Windows 9x/Me/2000 e XP (apesar destes dois ú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 MBR armazena 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 66 bytes guardam a tabela de partição. Esta tabela contém informações sobre o tipo, endereço de início e nal de cada partição. O BIOS (Basic Input/Output System) é muito limitado no sentido de ser inicializar o sistema operacional, 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 o sistema. O setor de boot funciona como um ponto de partida, assim que o POST (Power On Self Test) é concluído, o BIOS lê o setor de boot e segue as instruções que estiverem gravadas nele, que iniciarão o carregamento do sistema operacional. Como já dissemos, no disco rígido, o setor de boot faz parte do MBR, que é o primeiro setor a ser lido pela BIOS. Página 18 de 55

20 A alternativa correta da questão é a letra B. O I-node é uma estrutura de dados constituinte de um sistema de arquivos que segue a 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 é identicado com um número I-node. O I-node é exclusivo somente para o dispositivo (partição) dentro do qual ele está contido. Portanto, para identicar unicamente um arquivo, o núcleo do sistema operacional deve 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órios que o sistema possui. O GRUB foi desenvolvido a partir de um pacote chamado GRand Unied 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 escolher 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, ele apenas 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 de arquivos. É 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 do sistema de arquivos em disco à medida que dene os parâmetros de gerenciamento do sistema 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 de arquivos no disco. Na memória, o superbloco apresenta as informações necessárias e o estado 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 estrutura de superbloco é mantida em uma lista e são gerenciadas através de um conjunto de interfaces padrão, também conhecido como virtual le system switch (VFS). Página 19 de 55

21 9. Assuntos relacionados: RAID, Banca: CESGRANRIO Instituição: BNDES Cargo: Analista de Suporte Ano: 2008 Questã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 armativas 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 em disco útil é de 7 TB. III - O disco destinado à paridade efetua muitas operações de escrita e, por isso, é recomendá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 todos os discos do conjunto ao invés de serem armazenas em um único disco dedicado como ocorre no RAID 4. Entretanto, as informações de cada disco são únicas, ou seja, os valores de paridade 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 quando até dois discos falharem. A alternativa II está correta, uma vez que o espaço reservado para as informações de paridade é equivalente a um disco do conjunto (1 TB), embora seja distribuído, tornando o espaç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 alternativa III incorreta. Logo, somente a alternativa II está correta, tornando B a resposta a ser marcada. Página 20 de 55

22 10. Assuntos relacionados: Alta Disponibilidade, Soluções de Armazenamento, RAID, Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 43 Em relação a um arranjo de sete discos em RAID nível 2, pode-se armar 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 de E/S cuja ideia fundamental é o uso de um conjunto de discos congurados de tal forma a comportarem-se como um único disco de grande capacidade de armazenamento e de alto desempenho de escrita/leitura, além de conabilidade de armazenamento e robustez a falhas. O RAID nível 2 trabalha por palavra (diferentemente dos RAIDs de nível 0 e 1 que trabalham com tiras de dados), dividindo seus bits pelos discos existentes e intercalando-os com bits 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 em uma palavra de 7 bits, com os bits 1, 2 e 4 destinados ao controle de paridade, proporcionando 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ção rotacional dos sete discos. Desta forma, possibilita-se a escrita de uma palavra de 7 bits codicada por Hamming, um bit em cada disco. Com esse esquema, a falha de um disco não causa qualquer problema, pois sua perda equivale 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á que ele deve efetuar uma soma de vericação de Hamming a cada tempo de bit. (A) ERRADA Face ao exposto, observa-se que a alternativa (A) está incorreta, pois a paridade é dividida por mais de um disco, à medida que o tamanho da palavra cresce. Os RAIDs de nível 3 e 4 organizam-se de forma a concentrar os bits de paridade em um único disco. O RAID de 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 perda de dados devido à utilização do código de Hamming. O RAID nível 0 não possui quaisquer redundância ou controle de erro, ocasionando perda de dados no caso de falha em um disco Página 21 de 55

23 (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 processamento por parte do controlador de discos devido à constante vericação dos dados codicados por Hamming. Desta forma, a alternativa (C) está incorreta ao comentar sobre o 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 tiras de dados para organização da informação armazenada. (E) CORRETA A alternativa (E) está correta ao armar que o RAID nível 2 utiliza o código Hamming para proporcionar redundância de dados. Página 22 de 55

24 11. Assuntos relacionados: Sistemas de Arquivos, RAID, Banco de Dados, Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 70 Sobre a utilização de RAID 5 em bancos de dados, marque a armativa correta. (a). Em bancos de dados OLTP com alta taxa de escritas, é o armazenamento que oferece 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 é recomendá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 de consultas (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 Discos Independente) é um meio de se criar um subsistema de armazenamento composto por vários discos individuais, com a nalidade de ganhar segurança (redundância em caso de falha em um dos discos) e desempenho (pedidos de I/O podem ser tratados em paralelo, desde que os dados residam em discos separados). O esquema RAID puro consiste em vários níveis (abordaremos alguns aqui), não havendo qualquer relação hierárquica entre eles, mas cada um deles designa arquiteturas distintas que 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 garante 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 performance e a capacidade forem a preocupação principal e o baixo custo for mais importante que a conabilidade adicional, esta é uma opção a considerar. A Figura 3 exemplica o tipo de estrutura existente num sistema deste tipo. Os dados são divididos em segmentos consecutivos (stripes) que são escritos paralelamente em cada um dos discos de um array. Alguns pontos em relação ao desempenho deste tipo de esquema são descritos abaixo: Página 23 de 55

25 em um ambiente com uso intensivo de I/O ou em um ambiente de banco de dados onde 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 suciente para conter um registro inteiro, os discos do arranjo podem responder de forma independente para as requisições simultâneas de dados; em um ambiente onde grandes registros de dados são armazenados, segmentos de pequeno tamanho são mais apropriados, pois se um determinado registro de dados estende-se através de vários discos do arranjo, o conteúdo do registro pode ser lido em paralelo, aumentando o desempenho total do sistema. Figura 3: RAID 0. Arranjos RAID-0 oferecem performance de escrita superior se comparados a outros níveis de RAID por não apresentarem sobrecarga associada com cálculos de paridade ou com técnicas de recuperação de dados (eliminamos, assim, a alternativa A). Esta incapacidade de reconstruir dados perdidos indica que esse tipo de arranjo deve ser restrito ao armazenamento de dados não críticos e combinado com ecientes programas de backup. RAID 1 Também conhecido como Mirroring ou Espelhamento, o RAID 1 funciona adicionando HDs paralelos aos HDs principais existentes no computador. Assim, se, por exemplo, um computador possui 2 discos, pode-se aplicar mais um HD para cada um, totalizando 4. Os discos que foram adicionados trabalham como uma cópia do primeiro. Assim, se o disco principal recebe dados, o disco adicionado também os recebe. Daí o nome de espelhamento, pois um HD passa a ser uma cópia praticamente idêntica do outro. Dessa forma, se um dos HDs apresentar falha, o outro imediatamente pode assumir a operação e continuar a disponibilizar as informações. A consequência neste caso, é que a gravação de dados é mais lenta, 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 de esquema são descritos abaixo: um pedido de leitura pode ser satisfeito por qualquer um dos dois discos que contenha os dados em questão, podendo ser escolhido o que implicar um tempo menor de procura Página 24 de 55

26 e latência de rotação (por esta razão, é muito comum o uso do RAID 1 em servidores de arquivos); um pedido de escrita requer uma atualização em ambos os discos, mas isto pode ser feito em paralelo. Deste modo, a performance de escrita é ditada pela mais lenta das duas faixas físicas (por esta razão, sempre que uma fração substancial dos pedidos for escrita, 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 controladores de 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 ECC são utilizados para 4 discos de dados). RAID 3 O RAID 3 requer apenas um disco redundante, qualquer que seja o tamanho do array de discos. Em vez de um código corretor de erros, como o existente em RAID 2, um simples bit de paridade é calculado para o conjunto de bits na mesma posição em todos os discos e armazenado no disco redundante referido. Através da vericaçã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 todos os discos, contanto que todos os eixos das unidades de disco estejam sincronizados. Este aumento de desempenho é mais visível em grandes transferências. Por outro lado, apenas um pedido de I/O pode ser executado de cada vez, portanto não constituirá a melhor opção para um ambiente de transações. RAID 4 Este tipo de RAID, basicamente, divide os dados entre os discos, sendo que um é exclusivo 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ção de gravação requer um novo cálculo de paridade, dando maior conabilidade ao armazenamento (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 a paridade é 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 alteram quando gravamos as novas informações, só precisamos mudar os bits correspondentes no disco de paridade. Dessa forma, temos de ler os dados antigos do disco que está sendo gravado, comparar os dados antigos com os novos para vericar quais bits mudaram, ler a paridade antiga, modicar os bits correspondentes, depois gravar os novos dados e a nova paridade. Desse modo, uma pequena gravação envolve quatro acessos a dois discos, em vez do acesso a todos os discos (uma desvantagem do sistema é que o disco de paridade deve ser Página 25 de 55

27 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 acesso independente. Neste tipo de acesso, cada disco opera independentemente sendo assim possí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 destinada a um único disco, mas a todo array de discos (eliminamos, aqui, a alternativa C). Isso faz com que a gravação de dados seja mais rápida, pois não é necessário acessar um mesmo disco de paridade em cada gravação, o que gerava um gargalo quando da ocorrência de escritas concorrentes. Ainda assim, o RAID 5 continuará a sofre por causa do processamento adicional causado pela leitura, re-cálculo e atualização da informação sobre paridade. Por isso, ele é mais indicado para ser utilizado em banco de dados cujas ações são limitadas a consultas (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 de paridade são espalhados entre os discos, o que representa uma melhor utilização do espaço disponível. O espaço necessário para armazenar a informação de paridade é equivalente a 1/(Número de discos). Por exemplo, para uma matriz com 10 discos, 10% da usa capacidade será utilizada para armazenar informação de paridade. Concluímos, aqui, que a alternativa D está correta. Além disso, lembre-se que um banco de dados standby nada mais é que uma réplica de outro banco de dados, criado a partir de um backup. Portanto, não há necessidade alguma em se adotar RAID 5 numa cópia de um banco de dados, sendo mais adequado adotar RAID 0. Logo, eliminamos a alternativa E. RAID 0+1 O RAID é uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0 com 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 o tempo de escrita menor que o do RAID 5. Assim, eliminamos a alternativa B. Página 26 de 55

28 12. Assuntos relacionados: Microsoft Windows 2000, RAID, Banca: ESAF Instituição: Receita Federal (RF) Cargo: Técnico da Receita Federal - Tecnologia da Informação Ano: 2006 Questão: 8 No Sistema Operacional Windows 2000 é possível a instalação de um sistema de discos tolerante a falhas. Nesse caso, um sistema RAID 5 é caracterizado (a). pelo espelhamento de discos, onde o sistema se encarregará de gravar, para os dois discos, a mesma informação. (b). pela duplicação de disco. É um sistema tolerante a falhas, semelhante ao espelhamento, só que os dois discos devem estar conectados a controladoras diferentes, aumentando, assim, o desempenho do sistema quanto à leitura e gravação das informações. (c). pelo ganho real no espaço de armazenamento, que se torna (N + 1) vezes o tamanho do primeiro volume, onde N é a quantidade de discos utilizados no sistema de faixa de 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ância a falhas. (e). por uma faixa de discos sem paridade que permite que vários pares de discos, no mí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 é a tecnologia que provê aumento na capacidade de armazenamento, aumento desempenho no acesso aos dados e segurança através de redundância combinando vários discos de baixo custo em uma unidade lógica onde os dispositivos são independentes. Há vários esquemas em que podem ser organizados os discos que são normalmente referidos como níveis. Originalmente foram concebidos os níveis padrões, conhecidos como RAID0 a RAID5 mas posteriormente vá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 em dois discos é o RAID 1. É utilizado quando o desempenho de leitura (pode-se ler paralelamente) ou conabilidade (se um disco falhar, haverá a cópia funcionando) são mais importantes do que espaço; b) ERRADO: espelhamento não caracteriza o RAID 5 e sim o RAID 1 ou RAID10. E nã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 discos de forma round robin (de forma circular, escreve-se em um disco, na próxima vai para o outro e quando chegar no último volta ao primeiro). São calculados strips de paridade que também são distribuídos pelos discos. Esse tipo de RAID, funciona melhor com requisições de tamanho grande. Quanto maior melhor, pois pode-se tirar Página 27 de 55

29 proveito do paralelismo dos discos. Ele é normalmente implementado pela controladora mas pode ser implementado em nível de sistema operacional. No caso do Windows 2000 pelo Windows Dynamic Disks. A Figura 4 ilustra os strips dos dados sendo salvos 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 como uma ú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 55

30 13. Assuntos relacionados: Sistemas Operacionais, Operações de Entrada e Saída, DMA, Banca: Cesgranrio Instituição: BR Distribuidora Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questã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, envolvia dois movimentos: um da interface (controlador) para o processador, e outro do processador para a memória. A técnica que libera o CPU de operações de entrada e saída, ou seja, permite que os dados sejam transferidos diretamente do controlador para a memória é chamada de 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 controlador 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 para acessar diretamente a memória. Para que ocorra uma transferência de dados, o processador precisa inicializar o controlador de DMA fornecendo informações como quantidade de dados a transferir, origem e destino dos dados e qual sentido de transferência, memória para dispositivo ou vice-versa. Após essa inicialização, o controlador realiza a transferência e libera o processador para executar outras tarefas. Após nalizar a transferência, o controlador de DMA avisa o processador por meio de uma interrupção. É importante observar que existe uma disputa pelo barramento de dados e endereço pelo controlador de DMA e o processador. Essa disputa é coordenada pelo arbitramento do barramento. Cache é uma memória rápida que contém dados e/ou instruções recentemente referenciadas pelo processador. A técnica de paginação permite que um programa ocupe áreas não contí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 o desempenho da CPU. E Spool é um recurso compartilhado no disco para aceitar operações de saída para melhorar o desempenho de impressão. Página 29 de 55

31 14. Assuntos relacionados: Máquina Virtual, Banca: CESGRANRIO Instituição: BNDES Cargo: Analista de Suporte Ano: 2008 Questão: 57 No âmbito de monitores de máquinas virtuais, que propriedade garante que um software em execução em uma máquina virtual não acesse, nem modique, outro software em execução em 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 recursos computacionais. Ainda dentro de uma visão conceitual, virtualizar é colocar uma camada de abstração entre o recurso e o usuário do recurso, desacoplando os limites da natureza física e os recursos dos usuários, permitindo o compartilhamento simultâneo. No âmbito de virtualização de computadores, virtualizar signica permitir que vários sistemas 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 compartilhados pelos sistemas clientes de forma eciente e segura. Nesse contexto, segurança signica garantir a correta execução das aplicações que estão rodando nas diversas máquinas virtuais. Para isso, é necessário que os monitores implementem mecanismos de controle para a utilização simultânea dos recursos físicos pelas diversas máquinas virtuais, como a proteção dos espaços de endereçamento, da alocação de espaço em disco, e do processamento das aplicações. A implementação desses mecanismos de controle é o que confere às máquinas virtuais a propriedade de isolamento. Isolar signica tornar os funcionamentos das diversas máquinas virtuais independentes entre si, apesar do fato delas compartilharem os recursos físicos. Página 30 de 55

32 15. Assuntos relacionados: Sistemas Operacionais, Virtualização, Máquina Virtual, Comandos UNIX, Java, Máquina Virtual Java (JVM), Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 37 Suponha duas máquinas M1 e M2 com os seguintes serviços: M1 - Servidor de correio Postx em Linux, arquitetura x86. M2 - Servidor WEB IIS em Windows 2003, arquitetura x86. Uma terceira máquina M3 (x86) com Windows 2000 será criada para execução dos serviç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 de Virtualização e Máquina Virtual. A Virtualização faz com que os recursos computacionais possam ser divididos e compartilhados por vários ambientes simultaneamente, permitindo, por exemplo, a execução de mú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áquina Virtual). A Máquina virtual é um ambiente isolado que compartilha os recursos de um hardware real através de um monitor de máquinas virtuais (VMM - Virtual Machine Monitor). Podemos ver o VMM, também conhecido com hypervisor, como um sistema operacional para sistemas 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 5 e 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 55

33 extremamente fácil de criar uma imagem da máquina virtual; o sistema operacional e suas aplicações são congurados uma única vez; possibilidade de fazer o backup da máquina virtual inteira copiando apenas alguns arquivos; muitas VMs podem executar em um mesmo servidor físico; maior e melhor utilização de recursos, reduzindo o tempo em que o processador ca ocioso; 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 (textitguest system). Figura 6: o monitor é implementado como um processo de um sistema operacional real subjacente, denominado sistema antrião (textithost system). Agora, partiremos para a análise de cada alternativa. (A) ERRADA Página 32 de 55

34 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 Virtual Machine), convertendo, em tempo de execução, instruções de um formato para outro, por exemplo, de textitbytecode para código de máquina. Esta técnica é normalmente utilizada para incrementar o desempenho de programas executados - na verdade, interpretados - em máquinas virtuais. Em sistemas computacionais baseados em máquinas virtuais, como Java, o processo de compilação traduz o código fonte para uma representação intermediária conhecida pelo termo textitbytecode. Esta representação intermediária não está associada a nenhum código de máquina especíco e pode ser transportada para várias arquiteturas de computador distintas. Em cada arquitetura especíca, essa representação intermediária é interpretada - ou executada em uma máquina virtual. Nos ambientes que oferecem o recurso de JIT, a máquina virtual responsável pela execução dos textitbytecodes resultantes da compilação do programa fonte realiza a tradução desse textitbytecode 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 primeira vez, daí derivando o nometextitjust-in-time. Neste escopo, o JIT-Server é adotado para otimizar chamadas constantes a classes/métodos de Java, estando mais preparado para sessões que duram dias/semanas/meses. Apesar da sobrecarga da expressão Máquina Virtual, lembre-se que JVM não virtualiza um sistema real (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 ferramenta para sistemas UNIX que permite a execução de algum software especicamente concebido para 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 para Windows. O Wine funciona como uma camada que expõe uma API compatível com a do Windows; ao serem executadas as diferentes funções, o Wine irá traduzi-las para rotinas em UNIX 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 virtual perfeita, a princípio, todos os programas do Windows deveriam rodar no Linux sem problemas, o que, de fato, não ocorre. Logo, alternativa errada. (D) ERRADA O comando chroot do sistema operacional Unix permite que super-usuários transformem o diretório raiz no diretório especicado como parâmetro: Página 33 de 55

35 # chroot <diretório> A partir da execução do comando acima, a pasta especicada em <diretório> passa a ser vista pelo sistema como se fosse o diretório raiz, fazendo com que todos os comandos sejam executados dentro da mesma. Alternativa, obviamente, errada. (E) CORRETA VMware é um software de virtualização que permite a instalação e utilização de um sistema operacional 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 sistemas operacionais 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 software nã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 tecnologia 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 55

36 16. Assuntos relacionados: Arquitetura de Computadores, Virtualização, Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 48 Durante uma reunião da equipe de TI de uma empresa, para discutir a estratégia de virtualização dos seus servidores, um analista fez as seguintes considerações sobre os inconvenientes relacionados à virtualização: I a virtualização não pode ser utilizada quando as aplicações que rodarão em um ambiente 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áquina virtual vai ocupar uma área separada da mesma; III o gerenciamento ca descentralizado, e o suporte e a manutenção cam mais complexos, em comparação a um ambiente que não utiliza virtualização, mas sim, máquinas físicas para 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 denição simplicada, a virtualização é um processo que, através do compartilhamento de hardware, permite a execução de inúmeros sistemas operacionais em um único equipamento. Cada máquina virtual criada neste processo é um ambiente operacional completo, seguro e totalmente isolado como se fosse um computador independente. Com a virtualizaçã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 denido qual é o melhor ambiente para executar cada serviço, com diferentes requerimentos de segurança, ferramentas diferentes e o sistema operacional mais adequado para cada serviço. Além disso, cada má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; conanç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 pequenos servidores em outros mais poderosos; adaptação às diferentes cargas de trabalho: variações na carga de trabalho podem ser tratadas facilmente. Ferramentas autônomas podem realocar recursos de uma máquina virtual para a outra; Página 35 de 55

37 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 de aumentar o seu desempenho; suporte a aplicações legadas: q uando uma empresa decide migrar para um novo Sistema Operacional, é possível manter o sistema operacional antigo sendo executado em uma máquina virtual, o que reduz os custos com a migração. Vale ainda lembrar que a 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 desse hardware, é possível executar essas aplicações em hardwares mais novos, com custo de manutenção mais baixo e maior conabilidade. Os ambientes virtuais necessitam ser instanciados, monitorados, congurados e salvos. Existem produtos que fornecem essas soluções, mas esse é o campo no qual estão os maiores investimentos na área de virtualização, justamente por se tratar de um dos maiores contratempos na implementação da virtualização. Vale lembrar que o VMWare é a plataforma mais 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 administração são inegáveis, uma vez que uma padronização entre os servidores é mais fácil de ser conseguida com as ferramentas atuais, então a armativa III é falsa. É verdade o fato de que cada máquina virtual vai ocupar áreas exclusivas de memória RAM nos servidores físicos. Isso torna a armativa II verdadeira, mas devemos lembrar que, muitas vezes, a memória principal dos servidores físicos é subutilizada e o uso da virtualizaçã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ão compartilhados pelos ambientes virtuais, e sendo assim, o hardware pode se tornar o gargalo da virtualização. As máquinas virtuais não podem ser criadas livremente sem uma análise dos recursos consumidos pela mesma. Hoje em dia, os principais softwares que gerenciam a virtualização dão um bom suporte ao acesso do hardware do computador hospedeiro como o uso de DVD, USB, monitor e outras diversas formas de interface. A armativa I é, claramente, incorreta. Como somente a armativa II está correta, a alternativa a ser marcada é a letra (B). Página 36 de 55

38 17. Assuntos relacionados: LPAR, Virtualização, Máquina Virtual, Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questã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 um computador separado. (d). estratégia de gerenciamento de memória utilizada para otimizar o processo de busca 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 administrador usa um único meio físico para 3 máquinas com funções diferentes, que podem ser acessadas separadamente através da Internet. Uma denição mais acadêmica sobre virtualização pode ser a técnica que combina ou divide recursos computacionais para prover um ou 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). Naquela é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 a necessidade de compartilhar o mesmo meio físico para realizar operações e executar aplicativos 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 infraestruturas corporativas de TI e ter um grande impacto nas operações de negócios e nas decisões de 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 um computador em vários conjuntos de recursos, para que cada conjunto seja operado de maneira independente com sua própria instância de sistema operacional e seus aplicativos físicos ou virtuais. O particionamento lógico é tipicamente usado para permitir o uso de diferentes sistemas operacionais e aplicativos em um único dispositivo. As partições podem ou não ser conguradas para se comunicarem entre si ou dividirem alguns recursos do servidor, como interfaces de rede. Cada partição é independente das operações que ocorrem em outras partições, pode executar sua própria versão do sistema operacional e ter recursos de processador, memória e E/S dedicados à sua utilização exclusiva. Página 37 de 55

39 Concluindo, LPAR é a divisão dos processadores, da memória e do armazenamento de um computador em vários conjuntos de recursos, ou seja, subconjunto dos recursos de hardware de um computador virtualizado como um computador separado. Portanto, a alternativa C está correta. Página 38 de 55

40 18. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Memória, Alocação de Memória, Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questão: 51 Um sistema operacional que usa segmentação de memória tem a seguinte conguração: segmento 1 : 100 KB segmento 2 : 50 KB segmento 3 : 200 KB segmento 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-t II: rst-t III: worst-t (a). I: 1=30 KB, 2=0 KB, 3=160 KB, 4=0 KB II: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KB III: 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 KB II: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KB III: 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 KB II: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KB III: 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 KB II: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KB III: 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 KB II: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KB III: 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 de Memória do Sistema Operacional. Os algoritmos em questão estão relacionados à alocação de memória por partições variáveis, ou seja, o tamanho das partições é ajustado dinamicamente de acordo com a necessidade exata de memória do processo. O sistema operacional mantém uma lista de segmentos livres. Quando um processo é criado, essa lista é percorrida e um segmento de tamanho igual ou maior que a necessidade do processo é selecionado. Entretanto, o que segmento escolhido tiver a mais que o necessário Página 39 de 55

41 será transformado em um novo segmento livre. Dessa forma, o processo recebe o tamanho exato 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 suciente; Best-t, que utiliza o segmento que resultar em menor sobra; Worst-t, que utiliza o segmento que resulta na maior sobra; e Circular-t, que semelhante ao First-t, mas inicia a procura no segmento seguinte à última sobra. O enunciado especica inicialmente 4 segmentos livres: 100 KB, 50 KB, 200 KB e 50 KB, e os 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 produz menor sobra (30 KB) é o segmento 2. O segmento seguinte, 50 KB, é alocado no segmento 4, 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, 20 KB, 20 KB e 40 KB. Então, ao nal da alocação dos segmentos, no segmento 1 sobra 30 KB, 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 KB 50 KB 200 KB 50 KB 20 KB 100 KB 30 KB 200 KB 50 KB 50 KB 100 KB 30 KB 200 KB 0 KB 10 KB 100 KB 20 KB 200 KB 0 KB 50 KB 50 KB 20 KB 200 KB 0 KB 20 KB 50 KB 0 KB 200 KB 0 KB 20 KB 30 KB 0 KB 200 KB 0 KB 40 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 segmento que comporta os 20 Kb é o segmento 1, gerando uma sobra de 80 KB. O segmento de 50 KB, novamente, é alocado no segmento 1, pois é o primeiro segmento que comporta os 50 KB, gerando uma sobra de 30 KB. O segmento de 10 KB, também, é alocado no segmento 1, gerando uma sobra de 20 KB, enquanto que os segmentos de 2 a 4 continuam com o tamanho inicial. O outro segmento de 50 KB não é mais alocado no segmento 1, mas no segmento 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, no segmento 2 sobra 0 KB, no segmento 3 sobra 140 KB e no segmento 4 sobra 50 KB. A Tabela 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 que produz a maior sobra é o segmento 3, gerando uma sobra de 180 KB. O segmento de 50 KB, novamente, é alocado no segmento 3, pois este produz a maior sobra, gerando uma sobra de 130 KB. O segmento de 10 KB, também, é alocado no segmento 3, gerando uma Página 40 de 55

42 Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento KB 50 KB 200 KB 50 KB 20 KB 80 KB 50 KB 200 KB 50 KB 50 KB 30 KB 50 KB 200 KB 50 KB 10 KB 20 KB 50 KB 200 KB 50 KB 50 KB 20 KB 0 KB 200 KB 50 KB 20 KB 0 KB 0 KB 200 KB 50 KB 20 KB 0 KB 0 KB 180 KB 50 KB 40 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 nal da alocação dos segmentos, no segmento 1 sobra 60 KB, no segmento 2 sobra 50 KB, no segmento 3 sobra 30 KB e no segmento 4 sobra 50 KB. A Tabela 3 mostra para cada alocação a sobra em cada um dos quatros segmentos. Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento KB 50 KB 200 KB 50 KB 20 KB 100 KB 50 KB 180 KB 50 KB 50 KB 100 KB 50 KB 130 KB 50 KB 10 KB 100 KB 50 KB 120 KB 50 KB 50 KB 100 KB 50 KB 70 KB 50 KB 20 KB 80 KB 50 KB 70 KB 50 KB 20 KB 60 KB 50 KB 70 KB 50 KB 40 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 tamanho pequeno surgem quando um processo é alocado. Não é interessante para o Sistema Operacional 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 de alocação de memória. De acordo com o discutido anteriormente, temos os seguintes valores de espaço livre para os seguimentos de 1 a 4 de acordo com a técnica utilizada: Página 41 de 55

43 Segmentos Segmento 1 Segmento 2 Segmento 3 Segmento 4 Best-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 55

44 19. Assuntos relacionados: Sistemas Operacionais, Gerenciamento de Memória, Alocação de Memória, Banca: Cesgranrio Instituição: BR Distribuidora Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questão: 28 Um sistema encontra-se com a seguinte lista de segmentos de memória disponíveis, em sequência: 13KB, 21KB, 9KB, 17KB, 40KB. Neste instante, recebe pedido de alocação de memória para quatro novos processos, nesta ordem: 15KB, 24KB, 20KB, 11KB. Considere os 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 novos processos? (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 memória principal do computador, permitindo que os diversos processos executem de forma eciente e protegida. Nos primeiros sistemas operacionais, a memória era dividida em partições de tamanho xo, porém esta técnica acarretava em dois problemas: Fragmentação interna e Fragmentação externa. A fragmentação interna ocorre quando um programa aloca uma partição de memória que excede a quantidade necessária. O espaço excedente naquela partição é desperdiçado. Já a fragmentação externa ocorre quando, apesar da quantidade total de memória ser suciente, 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 particionamento 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 aparecimento de lacunas pequenas demais para serem utilizadas por algum programa. Para aprimorar ainda mais o gerenciamento de memória, surgiram inúmera técnicas de preenchimento 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ário apresentado no enunciado são mostrada a seguir. Na política de alocação First Fit, os processos são alocados no primeira lacuna que possua tamanho suciente. Já na Best Fit, os processos são alocados nas lacunas cujo tamanho Página 43 de 55

45 seja mais próximo do tamanho necessário ao processo. Por m, na Worst Fit, os processos são alocados nas maiores lacunas disponíveis. O resultado da aplicação dessas três políticas no cenário apresentado no enunciado é mostrado na Figura 7. Na Figura, as células em amarelo 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 alocar memória suciente para todos os quatro processos. Como mostrado na gura, a política First Fit falhou ao ter que alocar memória para o processo de tamanho 20K, pois após as duas 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 apresentadas levam em consideração o fato de que os programas devem ocupar áreas contíguas de memória. Os sistema operacionais modernos supriram esta necessidade através da técnica de Paginação. Página 44 de 55

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Entrada e Saída Drivers e s Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Luciana A. F. Martimiano

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Capítulo 5 Gerência de Dispositivos

Capítulo 5 Gerência de Dispositivos DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Capítulo 5 Gerência de Dispositivos Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização dos

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

1- Questão. a) 12 M b) 22 M c) 18 M d) 14 M e) 36 M. Resposta: e

1- Questão. a) 12 M b) 22 M c) 18 M d) 14 M e) 36 M. Resposta: e 1- Questão A figura acima representa um esquema de memória, onde as regiões em cinza correspondem a blocos alocados e as regiões em branco, a áreas livres. O último bloco alocado é mostrado na figura.

Leia mais

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks ) RAID O que é um RAID? RAID RAID (Redundant Array of Independent Disks ) Matriz Redundante de Discos Independentes Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID Surgiu

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 16: Entrada e Saída: Estudo de Caso Diego Passos Última Aula Software de Entrada e Saída. Subsistema de E/S. Conjunto de camadas de abstração para realização de

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais RAID Marcelo Diniz http://marcelovcd.wordpress.com/ O que é RAID? RAID RAID (Redundant Array of Independent Disks ) Matriz Redundante de Discos Independentes Recuperar informação

Leia mais

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

Leia mais

O que é RAID? Tipos de RAID:

O que é RAID? Tipos de RAID: O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas de Entrada/Saída Sistema de Entrada/Saída - Redundant Array of Independent Disks 0 - Matriz de Discos sem Tolerância a Falhas 1 - Espelhamento 2 - Código de Hamming 3 - Transferência Paralela

Leia mais

Sistemas Operacionais: Sistema de Arquivos

Sistemas Operacionais: Sistema de Arquivos Sistemas Operacionais: Sistema de Arquivos Sistema de Arquivos Arquivos Espaço contíguo de armazenamento Armazenado em dispositivo secundário Estrutura Nenhuma: seqüência de bytes Registros, documentos,

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

Gerenciador de Entrada/Saída

Gerenciador de Entrada/Saída Universidade Federal do ABC BC 1518 - Sistemas Operacionais (SO) Gerenciador de Entrada/Saída (aula 11) Prof. Marcelo Zanchetta do Nascimento Roteiro Princípios básicos de hardware de E/S; Operações dos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

Níveis de RAID - RAID 0

Níveis de RAID - RAID 0 RAID RAID é acrônimo para Redundant Array of Inexpensive Disks. Este arranjo é usado como um meio para criar um subsistema de unidade de disco, rápido e confiável, através de discos individuais. RAID é

Leia mais

O RAID foi proposto em 1988 por David A. Patterson, Garth A. Gibson e Randy H. Katz na publicação "Um

O RAID foi proposto em 1988 por David A. Patterson, Garth A. Gibson e Randy H. Katz na publicação Um AID - Wikipédia, a enciclopédia livre de 10 5/10/2009 16:30 Origem: Wikipédia, a enciclopédia livre. Redundant Array of Independent Drives, também denominado Redundant Array of Inexpensive Drives ou mais

Leia mais

Escalonamento no Linux e no Windows NT/2000/XP

Escalonamento no Linux e no Windows NT/2000/XP Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 6.7 Operações com as Memórias: Já sabemos, conforme anteriormente citado, que é possível realizar duas operações em uma memória: Escrita (write) armazenar informações na memória; Leitura (read) recuperar

Leia mais

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software Resumo até aqui Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma máquina estendida abstrações SO como um

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 3. Software Prof. Ronaldo Software Formado por um conjunto de instruções (algoritmos) e suas representações para o

Leia mais

Sistema de Arquivos. Ciclo 5 AT1. Prof. Hermes Senger / Hélio Crestana Guardia

Sistema de Arquivos. Ciclo 5 AT1. Prof. Hermes Senger / Hélio Crestana Guardia Sistema de Arquivos Ciclo 5 AT1 Prof. Hermes Senger / Hélio Crestana Guardia Referência: Deitel Cap. 13 Nota O presente material foi elaborado com base no material didático do livro Sistemas Operacionais,

Leia mais

FORMATAÇÃO DE DISCO SETORES

FORMATAÇÃO DE DISCO SETORES FORMATAÇÃO DE DISCO O DISCO RÍGIDO CONSISTE DE UM ARRANJO DE PRATOS DE ALUMÍNIO, LIGA METÁLICA OU VIDRO, CADA QUAL COBERTO POR UMA FINA CAMADA DE ÓXIDO DE METAL MAGNETIZADO APÓS A FABRICAÇÃO, NÃO HÁ DADO

Leia mais

Auditoria e Segurança de Sistemas Aula 03 Segurança off- line. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Auditoria e Segurança de Sistemas Aula 03 Segurança off- line. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Auditoria e Segurança de Sistemas Aula 03 Segurança off- line Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Cenário off- line (bolha) 2 Roubo de Informação Roubo de Informação - Acesso físico

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Multiprogramação Permite a execução de diversos processos concorrentemente Maior

Leia mais

Sistema de Arquivos Distribuídos

Sistema de Arquivos Distribuídos Sistema de Arquivos Distribuídos Sistema de Arquivos Distribuídos A interface cliente para um sistema de arquivos é composta por um conjunto de primitivas e operações em arquivos (criar, apagar, ler, escrever)

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Gerência do Processador

Gerência do Processador Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador Desenvolvimento web II IMPORTANTE SABER Desenvolvimento web II DEADLOCK (interbloqueio, blocagem, impasse) Situação em

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 6.9 Memória Cache: A memória cache é uma pequena porção de memória inserida entre o processador e a memória principal, cuja função é acelerar a velocidade de transferência das informações entre a CPU e

Leia mais

AULA 5 Sistemas Operacionais

AULA 5 Sistemas Operacionais AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Memória Secundária Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Gerência

Leia mais

03/11/2011. Apresentação. SA do Linux. Sistemas de Arquivos. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

03/11/2011. Apresentação. SA do Linux. Sistemas de Arquivos. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux Apresentação Administração de Sistemas Curso Tecnologia em Telemática Disciplina Administração de Sistemas Linux Professor: Anderson Costa anderson@ifpb.edu.br Assunto da aula Aspectos do Sistema de Arquivos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

Leia mais

Unix: Sistema de Arquivos. Geraldo Braz Junior

Unix: Sistema de Arquivos. Geraldo Braz Junior Unix: Sistema de Arquivos Geraldo Braz Junior 2 Arquivos Um arquivo é visto pelo SO apenas como uma seqüência de bytes: nenhuma distinção é feita entre arquivos ASCII, binários, etc.; Muitos programas

Leia mais

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

ROM-BIOS Inicialização Sistemas de Arquivos Formatação ROM-BIOS Inicialização Sistemas de Arquivos Formatação 1 ROM-BIOS ROM-BIOS Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como: Basic Integrated Operating

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC Prof. Almeida Jr Processos Conceitos Básicos Nomes Tipos Batch: jobs CPU-bound T.Sharing: Tarefas/Processos

Leia mais

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais.

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais. Olá nobre concurseiro e futuro servidor público! Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais. Essa

Leia mais

Gerência de Processador

Gerência de Processador Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer

Leia mais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistema Operacional Conteúdo retirado do livro Sistemas Operacionais Marcos Aurélio Pchek Laureano Diogo Roberto Olsen

Leia mais

Sistemas Tolerantes a Falhas

Sistemas Tolerantes a Falhas Sistemas Tolerantes a Falhas Ténicas de TF para Diversidade de Dados Prof. Jó Ueyama 1 Introdução A diversidade de dados vem complementar as técnicas de diversidade vistas até agora A diversidade de dados

Leia mais

Faculdades Senac Pelotas

Faculdades Senac Pelotas Faculdades Senac Pelotas Curso Superior de Tecnologia em Redes de Computadores Introdução a informática Alunos Daniel Ferreira, Ícaro T. Vieira, Licurgo Nunes Atividade 4 Tipos de Arquivos Sumário 1 Tipos

Leia mais

Estudo de Caso 2: Windows Vista

Estudo de Caso 2: Windows Vista Faculdades Integradas de Mineiros Curso de Sistemas de Informação Sistemas Operacionais II Estudo de Caso 2: Windows Vista Grupo 4 Helder / Wagner / Frantyeis Junho/2010 O Windows usa uma estratégia Just-In-Time

Leia mais

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

AVALIAÇÃO À DISTÂNCIA 1 GABARITO Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação UFF Disciplina INTRODUÇÃO À INFORMÁTICA... AD1 2 semestre de 2008. Data... AVALIAÇÃO À

Leia mais

Gerenciamento de ES e Sistema de Arquivos do Windows 2000

Gerenciamento de ES e Sistema de Arquivos do Windows 2000 1 Gerenciamento de ES e Sistema de Arquivos do Windows 2000 Gerenciador de E/S Objetivo é fornecer uma estrutura de modo eficiente para lidar com a grande variedade de dispositivos Bastante relacionado

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Capítulo 2 Processos e Threads Prof. Fernando Freitas slide 1 Capítulo 2 Processos e Threads Prof. Fernando Freitas Material adaptado de: TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ª edição. Disponível em: http://www.prenhall.com/tanenbaum_br slide

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Gerência de Processador

Gerência de Processador Gerência de Processador mbientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Multiprogramação Torna mais eficiente o aproveitamento dos recursos computacionais

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Escalonamento de Processo Prof. Dr. Márcio Andrey Teixeira Quando um computador é multiprogramado, ele muitas vezes tem variados processos que competem pela CPU ao mesmo tempo; Essa

Leia mais

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas de Informação. Sistemas Operacionais 4º Período Sistemas de Informação Sistemas Operacionais 4º Período SISTEMA DE ARQUIVOS SUMÁRIO 7. SISTEMA DE ARQUIVOS: 7.1 Introdução; 7.2 s; 7.3 Diretórios; 7.4 Gerência de Espaço Livre em Disco; 7.5 Gerência de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sumário 2 a edição Revisão: Fev/2003 Sistemas Operacionais Gerência do processador Capítulo 4 Implementação do conceito de processos e threads Escalonamento Escalonadores não -preemptivos Escalonamento

Leia mais

FAT32 ou NTFS, qual o melhor?

FAT32 ou NTFS, qual o melhor? FAT32 ou NTFS, qual o melhor? Entenda quais as principais diferenças entre eles e qual a melhor escolha O que é um sistema de arquivos? O conceito mais importante sobre este assunto, sem sombra de dúvidas,

Leia mais

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux Estrutura de um Sistema Linux Por ter sua origem universitária, a forma como o Linux foi concebido é de perfeito agrado para o seu estudo.

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Infra-Estrutura de Software. Introdução. (cont.)

Infra-Estrutura de Software. Introdução. (cont.) Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como

Leia mais

RAID Redundat Arrays of Inexpensive Disks

RAID Redundat Arrays of Inexpensive Disks RAID Redundat Arrays of Inexpensive Disks Criado em alternativa para os discos grandes e caros. Justificativa: Substituindo discos grandes por muitos discos pequenos, o desempenho melhoraria mais cabeças

Leia mais

Sistemas Operacionais

Sistemas Operacionais 7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema

Leia mais

SW DE E/S INDEPENDENTE DE DISPOSITIVO

SW DE E/S INDEPENDENTE DE DISPOSITIVO SOFTWARE AO NÍVEL DO USUÁRIO SOFTWARE INDEPENDENTE DE DISPOSITIVOS ACIONADORES DE DISPOSITIVOS (DRIVERS) TRATAMENTO DE INTERRUPÇÕES HARDWARE FUNÇÕES: INTERFACE UNIFORME PARA OS DRIVERS USO DE BUFFERS INFORMAÇÃO

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Memória Externa Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Tipos de Memória Externa Disco Magnético

Leia mais

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto Sistemas Operacionais (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Classificações 3. CPU 4. Memória 5. Utilitários O que se

Leia mais

Tecnologia de armazenamento Intel (Intel RST) RAID 0, 1, 5, 10, Matrix RAID, RAID -Pronto

Tecnologia de armazenamento Intel (Intel RST) RAID 0, 1, 5, 10, Matrix RAID, RAID -Pronto Tecnologia de armazenamento Intel (Intel RST) RAID 0, 1, 5, 10, Matrix RAID, RAID -Pronto RAID 0 (striping) RAID 0 utiliza os recursos de leitura/gravação duas ou mais unidades de disco trabalhando em

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

SISTEMA DE ARQUIVOS DISTRIBUÍDOS

SISTEMA DE ARQUIVOS DISTRIBUÍDOS SISTEMA DE ARQUIVOS DISTRIBUÍDOS Sistemas Distribuídos 331 Arquivo: objeto que existe após criação, é imune a falhas temporárias e é persistente até que seja destruído Propósito de arquivos: armazenamento

Leia mais

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc.

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc. 1 1.0 Kernel O kernel (núcleo) representa o coração do Sistema Operacional. Atribuições do kernel: - gerenciamento dos arquivos em disco; - inicializar programas e executá-los; - alocar e gerenciar memória

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento

Leia mais

Sistemas de Arquivos FAT FAT32 NTFS EXT3. Formatação do disco

Sistemas de Arquivos FAT FAT32 NTFS EXT3. Formatação do disco Formatação do disco Para que o sistema operacional seja capaz de gravar e ler dados no disco rígido, é preciso que antes sejam criadas estruturas que permitam gravar os dados de maneira organizada, para

Leia mais

TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão e-mail: rgquintao@gmail.com Site: www.rgquintao.com.br

TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão e-mail: rgquintao@gmail.com Site: www.rgquintao.com.br TI Básico Sistemas Operacionais Professor: Ricardo Quintão e-mail: rgquintao@gmail.com Site: www.rgquintao.com.br Objetivos dos Sistemas Operacionais Esconder a Complexidade do Hardware. Devido a grande

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência do processador 2 a edição Capítulo 4 Revisão: Fev/2003 Sumário Implementação do conceito de processos e threads Escalonamento Escalonadores não -preemptivos Escalonamento

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br Introdução a Computação 07 Sistemas operacionais Márcio Daniel Puntel marcio.puntel@ulbra.edu.br O que é? Pra que serve? Onde se usa? Como funciona? O que é? Uma coleção de programas Inicia e usa do HW

Leia mais

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1 Sistema Operacional Slide 1 Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware: Gerencia os recursos do computador (CPU, dispositivos periféricos). Estabelece

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

S.O.: Conceitos Básicos

S.O.: Conceitos Básicos S.O.: Conceitos Básicos Camada de software localizada entre o hardware e os programas que executam tarefas para o usuário; Acessa os periféricos Entrada e Saída Esconde os detalhes do hardware para o programador

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

SISTEMAS OPERACIONAIS. Caderno de Atividades e Interatividades

SISTEMAS OPERACIONAIS. Caderno de Atividades e Interatividades SISTEMAS OPERACIONAIS Caderno de s e Interatividades Ação Educacional Claretiana, 2010 Batatais (SP) Trabalho realizado pelo Centro Universitário Claretiano de Batatais (SP) Cursos: Graduação Disciplina:

Leia mais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Vicente Amorim vicente.amorim.ufop@gmail.com Sumário

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais