Ortografía

Classificado em Computação

Escrito em em português com um tamanho de 37,63 KB.

Sistemas Operacionais

1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções?

Sem o sistema operacional, um usuário para interagir com o computador deveria conhecer profundamente diversos detalhes sobre hardware do equipamento, o que tornaria seu trabalho lento e com grandes possibilidades de erros. As duas principais funções são “facilidade de acesso aos recursos do sistema” e “compartilhamento de recursos de forma organizada e protegida”.

2. Quais os tipos de sistemas operacionais existentes?

Sistemas monoprogramáveis ou monotarefa, sistemas multiprogramáveis ou multitarefa e sistemas com múltiplos processadores.

3. Por que dizemos que existe uma subutilização de recursos em sistemas monoprogamáveis?

Porque em sistemas monoprogramáveis somente é possível a execução de um programa por vez. Como um programa não utiliza todos os recursos do sistema totalmente ao longo da sua execução, existe ociosidade e, consequentemente, subutilização de alguns recursos.

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

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

5. Quais as vantagens dos sistemas multiprogramáveis?

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

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

Sim, somente um usuário interage com o sistema podendo possuir diversas aplicações executando concorrentemente. O sistema Windows NT é um exemplo.

7. Quais são os tipos de sistemas multiprogramáveis?

Sistemas batch, sistemas de tempo compartilhado e sistemas de tempo real.

8. O que caracteriza o processamento batch? Quais aplicações podem ser processadas neste tipo de ambiente?

O processamento batch tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados da aplicação são implemetadas por algum tipo de memória secundária, geralmente arquivos em disco. Alguns exemplos de aplicações originalmente processadas em batch são programas envolvendo cálculos numéricos, compilações, ordenações, backups e todos aqueles onde não é necessária a interação com o usuário.

Conceitos de Hardware e Software

1. Quais são as unidades funcionais de um sistema computacional?

Processador ou unidade central de processamento, memória principal e dispositivos de entrada/saída.

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

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

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

A memória é composta por unidades de acesso chamadas células, sendo cada célula composta por um determinado número de bits. Atualmente, a grande maioria dos computadores utiliza o byte (8 bits) como tamanho de célula.

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

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

5. O que são memórias voláteis e não-voláteis?

Memórias voláteis precisam estar sempre energizadas para manter suas informações, o que não acontece com as não voláteis.

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

A memória cache é uma memória volátil de alta velocidade, porém com pequena capacidade de armazenamento. O tempo de acesso a um dado nela contido é muito menor que se o mesmo estivesse na memória principal. O propósito do uso da memória cache é minimizar a disparidade existente entre a velocidade com que o processador executa instruções e a velocidade com que dados são acessados na memória principal.

7. Quais as diferenças entre a memória principal e a memória secundária?

A memória principal é um dispositivo de armazenamento, em geral volátil, onde são armazenados instruções e dados utilizados pelo processador durante a execução de programas. A memória secundária é um dispositivo não-volátil com maior capacidade de armazenamento, porém com menor velocidade de acesso aos seus dados armazenados.

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

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

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

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

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

Permitindo ao processador executar múltiplas instruções paralelamente em estágios diferentes.

11. Explique o processo de ativação (boot) do sistema operacional?

Inicialmente, todo o código do sistema operacional reside memória secundária como discos e fitas. Toda vez que um computador é ligado, o sistema operacional tem que ser carregado da memória secundária para a memória principal. Esse procedimento é realizado por um programa localizado em um bloco específico do disco (boot block).

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

Porque é em função desse mecanismo que o sistema operacional sincroniza a execução de todas as suas rotinas e dos programas dos usuários, além de controlar dispositivos.

13. Explique o mecanismo de funcionamento das interrupções?

Uma interrupção é sempre gerada por algum evento externo ao programa e, neste caso, independe da instrução que está sendo executada. Ao final da execução de cada instrução, a unidade de controle verifica a ocorrência de algum tipo de interrupção. Neste caso, o programa em execução é interrompido e o controle desviado para uma rotina responsável por tratar o evento ocorrido, denominada rotina de tratamento de interrupção. Para que o programa possa posteriormente voltar a ser executado, é necessário que, no momento da interrupção, um conjunto de informações sobre a sua execução seja preservado. Essas informações consistem no conteúdo de registradores, que deverão ser restaurados para a continuação do programa.

14. O que são eventos síncronos e assíncronos? Como estes eventos estão relacionados ao mecanismo de interrupção e exceção?

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

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

Uma instrução que gere a situação de overflow ou uma divisão por zero.

16. Qual a vantagem da E/S controlada por interrupção comparada com a técnica de polling?

Na E/S controlada por interrupção, as operações de E/S podem ser realizadas de uma forma mais eficiente. Em vez de o sistema periodicamente verificar o estado de uma operação pendente como na técnica de polling, o próprio controlador interrompe o processador para avisar do término da operação. Com esse mecanismo, o processador, após a execução de um comando de leitura ou gravação, permanece livre para o processamento de outras tarefas.

17. O que é DMA e qual a vantagem desta técnica?

A técnica de DMA permite que um bloco de dados seja transferido entre a memória principal e dispositivos de E/S, sem a intervenção do processador, exceto no início e no final da transferência. Quando o sistema deseja ler ou gravar um bloco de dados, o processador informa ao controlador sua localização, o dispositivo de E/S, a posição inicial da memória de onde os dados serão lidos ou gravados e o tamanho do bloco. Com estas informações, o controlador realiza a transferência entre o periférico e a memória principal, e o processador é somente interrompido no final da operação.

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

Como o buffering permite minimizar o problema da disparidade da velocidade de processamento existente entre o processador e os dispositivos de E/S, esta técnica permite manter, na maior parte do tempo, processador e dispositivos de E/S ocupados.

19. Explique o mecanismo de spooling de impressão?

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

Processo

1. Defina o conceito de processo?

Um processo pode ser definido como o ambiente onde um programa é executado. Este ambiente, além das informações sobre a execução, possui também o quanto de recursos do sistema cada programa pode utilizar, como o espaço de endereçamento, tempo de processador e área em disco.

2. Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis?

Através de processos, um programa pode alocar recursos, compartilhar dados, trocar informações e sincronizar sua execução. Nos sistemas multiprogramáveis os processos são executados concorrentemente, compartilhando o uso do processador, memória principal, dispositivos de E/S dentre outros recursos.

3. É possível que um programa execute no contexto de um processo e não execute no contexto de um outro? Por que?

Sim, pois a execução de um programa pode necessitar de recursos do sistema que um processo pode possuir enquanto outro não.

4. Quais partes compõem um processo?

Um processo é formado por três partes, conhecidas como contexto de hardware, contexto de software e espaço de endereçamento, que juntos mantêm todas as informações necessárias à execução de um programa.

5. O que é o contexto de hardware de um processo e como é a implementação da troca de contexto?

O contexto de hardware armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico como program counter (PC), stack pointer (SP) e registrador de status. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. No momento em que o processo perde a utilização da UCP, o sistema salva as informações no contexto de hardware do processo.

6. Qual a função do contexto de software? Exemplifique cada grupo de informação?

No contexto de software são especificadas características e limites dos recursos que podem ser alocados pelo processo, como o número máximo de arquivos abertos simultaneamente, prioridade de execução e tamanho do buffer para operações de E/S. O contexto de software é composto por três grupos de informações sobre o processo: identificação, quotas e privilégios.

7. O que é o espaço de endereçamento de um processo?

O espaço de endereçamento é a área de memória pertencente ao processo onde as instruções e dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos.

8. Como o sistema operacional implementa o conceito de processo? Qual a estrutura de dados indicada para organizar os diversos processos na memória principal?

O processo é implementado pelo sistema operacional através de uma estrutura de dados chamada bloco de controle do processo (Process Control Block - PCB). A partir do PCB, o sistema operacional mantém todas as informações sobre o contexto de hardware, contexto de software e espaço de endereçamento de cada processo.

9. Defina os cinco estados possíveis de um processo?

Estado de Execução: processo que está sendo processado pela UCP no momento.

Estado de Pronto: processo que aguarda para ser executado.

Estado de Espera: processo que aguarda por algum evento ou recurso para prosseguir processamento.

Estado de Criação: processo cujo PCB já foi criado, porém ainda não teve seu processamento iniciado.

Estado de Terminado: processo que não pode ter mais nenhum programa executado no seu contexto, porém o sistema operacional mantém suas informações de controle presentes na memória.

10. Diferencie processos multithreads, subprocessos e processos independentes?

Processos independentes não têm vínculo com os processos criadores. A criação de um processo independente exige a alocação de um PCB, possuindo contextos de hardware, contexto de software e espaço de endereçamento próprios. Subprocessos são processos criados dentro de uma estrutura hierárquica. Caso um processo pai deixe de existir, os subprocessos subordinados são automaticamente eliminados. Semelhante aos processos independentes, subprocessos possuem seu próprio PCB. Além da dependência hierárquica entre processos e subprocessos, uma outra característica neste tipo de implementação é que subprocessos podem compartilhar quotas com o processo pai. Neste caso, quando um subprocesso é criado, o processo pai cede parte de suas quotas ao processo filho.

Processos multithreads suportam múltiplos threads, cada qual associado a uma parte do código da aplicação. Neste caso não é necessário haver diversos processos para a implementação da concorrência. Threads compartilham o processador da mesma maneira que um processo, ou seja, enquanto um thread espera por uma operação de E/S, outro thread pode ser executado.

11. Explique a diferença entre processos foreground e background?

Um processo foreground é aquele que permite a comunicação direta do usuário com o processo durante o seu processamento. Neste caso, tanto o canal de entrada quanto o de saída estão associados a um terminal com teclado, mouse e monitor, permitindo, assim, a interação com o usuário. Um processo background é aquele onde não existe a comunicação com o usuário durante o seu processamento. Neste caso, os canais de E/S não estão associados a nenhum dispositivo de E/S interativo, mas em geral a arquivos de E/S.

12. Qual a relação entre processo e a arquitetura microkernel?

A arquitetura microkernel baseia-se na utilização de processos em modo usuário para executar diversas funções relativas ao sistema operacional, como gerência de memória e escalonamento.

13. Justifique com um exemplo a frase “o sinal está para o processo assim como as interrupções e exceções estão para o sistema operacional”?

Quando ocorre uma divisão por zero, por exemplo, o sistema operacional é notificado do problema através de uma exceção. Por sua vez, o sistema deve notificar ao processo que gerou o problema através de um sinal.

14. Explique como a eliminação de um processo utiliza o mecanismo de sinais?

Quando um processo é eliminado, o sistema ativa o sinal associado a este evento. O processo somente será excluído do sistema quando for selecionado para execução. Neste caso, é possível que o processo demore algum período de tempo até ser eliminado de fato.

15. O que é um thread e quais as vantagens em sua utilização?

Um thread pode ser definido como uma subrotina de um programa que pode ser executada de forma assíncrona, ou seja, executada paralelamente ao programa chamador. A grande vantagem no uso de threads é a possibilidade de minimizar a alocação de recursos do sistema, além de diminuir o overhead na criação, troca e eliminação de processos.

Gerência do Processador

1. O que é política de escalonamento de um sistema operacional?

Uma política de escalonamento é composta por critérios estabelecidos para determinar qual processo em estado de pronto será escolhido para fazer uso do processador.

2. Quais as funções do escalonador e do dispatcher?

O escalonador é uma rotina do sistema operacional que tem como principal função implementar os critérios da política de escalonamento. O dispatcher é responsável pela troca de contexto dos processos após o escalonador determinar qual processo deve fazer uso do processador.

3. Quais os principais critérios utilizados em uma política de escalonamento?

Utilização do processador, throughput, tempo de Processador (tempo de UCP), tempo de espera, tempo de turnaround e tempo de resposta.

4. Diferencie os tempos de processador, espera, turnaround e resposta?

Tempo de processador ou tempo de UCP é o tempo que um processo leva no estado de execução durante seu processamento. Tempo de espera é o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado. Tempo de turnaround é o tempo que um processo leva desde a sua criação até ao seu término, levando em consideração todo o tempo gasto na espera para alocação de memória, espera na fila de pronto (tempo de espera), processamento na UCP (tempo de processador) e na fila de espera, como nas operações de E/S. Tempo de resposta é o tempo decorrido entre uma requisição ao sistema ou à aplicção e o instante em que a resposta é exibida.

5. Diferencie os escalonamentos preemptivos e não-preemptivos?

No escalonamento preemptivo, o sistema operacional pode interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na UCP. No escalonamento não-preemptivo, quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso do processador. O processo somente sai do estado de execução, caso termine seu processamento ou execute instruções do próprio código que ocasionem uma mudança para o estado de espera.

6. Qual a diferença entre os escalonamentos FIFO e circular?

O FIFO é um escalonamento não-preemptivo onde o processo que chegar primeiro ao estado de pronto é o selecionado para execução. Este algoritmo é bastante simples, sendo necessária apenas uma fila, onde os processos que passam para o estado de pronto entram no seu final e são escalonados quando chegam ao seu início. Quando um processo vai para o estado de espera, o primeiro processo da fila de pronto é escalonado. Todos os processos quando saem do estado de espera entram no final da fila de pronto. O Circular é um escalonamento preemptivo, projetado especialmente para sistemas de tempo compartilhado. Esse algoritmo é bastante semelhante ao FIFO, porém, quando um processo passa para o estado de execução, existe um tempo limite para o uso contínuo do processador denominado fatia de tempo (time-slice) ou quantum.

7. Descreva o escalonamento SJF e o escalonamento por prioridades?

No escalonamento SJF, o algoritmo de escalonamento seleciona o processo que tiver o menor tempo de processador ainda por executar. Dessa forma, o processo em estado de pronto que necessitar de menos tempo de UCP para terminar seu processamento é selecionado para execução. O escalonamento por prioridades é um escalonamento do tipo preemptivo realizado com base em um valor associado a cada processo denomidado prioridade de execução. O processo com maior prioridade no estado de pronto é sempre o escolhido para execução e processos com valores iguais são escalonados seguindo o critério de FIFO. Neste escalonamento, o conceito de fatia de tempo não existe, conseqüentemente, um processo em execução não pode sofrer preempção por tempo.

8. Qual a diferença entre preempção por tempo e preempção por prioridade?

Preempção por tempo ocorre quando o sistema operacional interrompe o processo em execução em função da expiração da sua fatia de tempo, substituindo-o por outro processo. Preempção por prioridade, ocorre quando o sistema operacional interrompe o processo em execução em função de um processo entrar em estado de pronto com prioridade superior ao do processo em execução.

9. O que é um mecanismo de escalonamento adaptativo?

É um mecanismo onde o sistema operacional identifica o comportamento dos processos durante sua execução adaptando as políticas de escalonamento dinamicamente.

10. Que tipo de escalonamento aplicações de tempo real exigem?

Escalonamento por prioridades onde é possível atribuir prioridades aos processos em função da sua importância. Além disso, o mecanismo de preempção por prioridades garante o escalonamento imediato de processos críticos quando esses passam para o estado de pronto.

11. O escalonamento por múltiplas filas com realimentação favorece processos CPU-bound ou I/O-bound? Justifique?

Processos I/O-bound são favorecidos neste tipo de escalonamento. Como a probabilidade desse tipo de processo sofrer preempção por tempo é baixa, a tendência é que os processos I/O-bound permaneçam nas filas de alta prioridade enquanto os processos CPU-bound tendem a posicionar-se nas filas de prioridade mais baixa.

Gerência de Memória

1. Quais as funções básicas da gerência de memória?

Maximizar o número de processos na memória, permitir a execução de programas maiores que a memória física, compartilhamento de dados na memória e proteção da memória utilizada por cada processo e pelo sistema operacional.

2. Qual a diferença entre fragmentação interna e externa da memória principal?

Fragmentação interna ocorre em espaços livres e contíguos na memória principal que são pré-alocados por processos, não possibilitando, portanto, o uso por outros processos. Fragmentação externa ocorre em espaços livres e contínuos, porém tão pequenos que não possibilitam a alocação de programas por processos.

3. O que é swapping e para que é utilizada esta técnica?

A técnica de swapping foi introduzida para contornar o problema da insuficiência de memória principal. Essa técnica é aplicada à gerência de memória para programas que esperam por memória livre para serem executados. Nesta situação, o sistema escolhe um processo residente, que é transferido da memória principal para a memória secundária (swap out), geralmente disco. Posteriormente, o processo é carregado de volta da memória secundária para a memória principal (swap in) e pode continuar sua execução como se nada tivesse ocorrido.

4. Por que é importante o uso de um loader com relocação dinâmica para que a técnica de swapping possa ser implementada?

O loader com relocação dinâmica permite que os programas possam ser retirados da memória principal para a memória secundária e trazidos novamente para a memória principal em qualquer posição.

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

Carregar na memória principal um programa para ser executado.

Sistema de Arquivos

1. O que é um arquivo?

Um arquivo é um conjunto de registros definidos pelo sistema de arquivos, tornando seu conceito abstrato e generalista Um arquivo é constituído por informações logicamente relacionadas, podendo representar instruções ou dados. Arquivos são gerenciados pelo sistema operacional de maneira a facilitar o acesso dos usuários ao seu conteúdo.

2. Como arquivos podem ser organizados?

A forma mais simples de organização de arquivos é através de uma seqüência não-estruturada de bytes, na qual o sistema de arquivos não impõe nenhuma estrutura lógica para os dados. Alguns sistemas operacionais possuem diferentes organizações de arquivos. Neste caso, cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos. As organizações mais conhecidas e implementadas são a seqüencial, relativa e indexada

3. Diferencie os métodos de acesso a registros sequencial, direto e indexado?

No método de acesso seqüencial, a leitura dos registros é realizada na ordem em que são gravados e a gravação de novos registros só é possível no final do arquivo. No acesso direto, a leitura/gravação de um registro ocorre diretamente na sua posição, através do número do registro que é a sua posição relativa ao início do arquivo. No acesso indexado, o arquivo possui uma área de índice onde existem ponteiros para os diversos registros. Sempre que a aplicação deseja acessar um registro, deve ser especificada uma chave através da qual o sistema pesquisará na área de índice o ponteiro correspondente

4. Qual a função das system calls de E/S?

Possibilitar o acesso as rotinas de E/S que têm como função disponibilizar uma interface simples e uniforme entre a aplicação e os diversos dispositivos.

5. O que é alocação contígua de blocos e quais benefícios a desfragmentação pode proporcionar quando esta técnica é utilizada?

A alocação contígua consiste em armazenar um arquivo em blocos seqüencialmente dispostos no disco. A desfragmentação pode solucionar o problema da fragmentação reorganizando todos os arquivos no disco de maneira que só exista um único segmento de blocos livres.

6. Quais os tipos de proteção de acesso a arquivos existentes e quais suas principais vantagens?

Senha de acesso, proteção por grupos de usuários e lista de controle de acesso. A vantagem da associação de uma senha de acesso a um arquivo é a simplicidade, pois o controle resume-se ao usuário ter conhecimento da senha e, conseqüentemente, ter a liberação do acesso ao arquivo concedida pelo sistema. A vantagem da proteção por grupos de usuários é oferecer uma proteção em três níveis: owner (dono), group (grupo) e all (todos). Já a lista de controle de acesso tem a vantagem de especifar individualmente para cada arquivo qual usuário e tipo de acesso é concedido.

7. O que é a técnica denominada buffer cachê?

É a técnica em que o sistema operacional reserva uma área da memória para que se tornem disponíveis caches utilizados em operações de acesso ao disco. Quando uma operação é realizada, o sistema verifica se a informação desejada se encontra no buffer cache. Em caso positivo, não é necessário o acesso ao disco. Caso o bloco requisitado não se encontre no cache, a operação de E/S é realizada e o cache é atualizado.

Gerência de Dispositivos

1. Explique o modelo de camadas aplicado na gerência de dispositivos?

A gerência de dispositivos é estruturada através de camadas em um modelo semelhante ao apresentado para o sistema operacional como um todo. As camadas de mais baixo nível escondem características dos dispositivos das camadas superiores, oferecendo uma interface simples e confiável ao usuário e suas aplicações. As camadas são divididas em dois grupos, onde o primeiro grupo visualiza os diversos tipos de dispositivos do sistema de um modo único, enquanto o segundo é específico para cada dispositivo. A maior parte das camadas trabalha de forma independente do dispositivo.

2. Qual a principal finalidade das rotinas de E/S?

Tornar as operações de E/S o mais simples possível para o usuário e suas aplicações. Com isso, é possível ao usuário realizar operações de E/S sem se preocupar com detalhes do dispositivo que está sendo acessado.

3. Quais as diferentes formas de um programa chamar rotinas de E/S?

Por comandos de leitura/gravação e chamadas a bibliotecas de rotinas oferecidas por linguagens de alto nível ou diretamente através de uma system call em um código de alto nível.

4. Quais as principais funções do subsistema de E/S?

Criar uma interface padronizada com os device drivers e oferecer uma interface uniforme com as camadas superiores.

5. Qual a principal função de um device driver?

Implementar a comunicação do subsistema de E/S com os dispositivos, através de controladores.

6. Por que o sistema de E/S deve criar uma interface padronizada com os device drivers?

Para que seja possível a inclusão de novos drivers sem a necessidade de alteração da camada de subsistema de E/S.

7. Explique o funcionamento da técnica de DMA e sua principal vantagem?

De forma simplificada, uma operação de leitura em disco utilizando DMA teria os seguintes passos. A UCP, através do device driver, inicializa os registradores do controlador de DMA e, a partir deste ponto, fica livre para realizar outras atividades. O controlador de DMA, por sua vez, solicita ao controlador de disco a transferência do bloco do disco para o seu buffer interno. Terminada a transferência, o controlador de disco verifica a existência de erros e, caso não haja erros, o controlador de DMA transfere o bloco para o buffer de E/S na memória principal. Ao término da transferência, o controlador de DMA gera uma interrupção avisando ao processador que o dado já encontra-se na memória principal. A principal vantagem dessa técnica é evitar que o processador fique ocupado com a transferência do bloco para a memória.

8. Diferencie os dispositivos de E/S estruturados dos não-estruturados?

Os dispositivos estruturados (block devices) caracterizam-se por armazenar informações em blocos de tamanho fixo, possuindo cada qual um endereço que podem ser lidos ou gravados de forma independente dos demais. Discos magnéticos e ópticos são exemplos de dispositivos estruturados. Os dispositivos não-estruturados são aqueles que enviam ou recebem uma seqüência de caracteres sem estar estruturada no formato de um bloco. Desse modo, a seqüência de caracteres não é endereçável, não permitindo operações de acesso direto ao dado. Dispositivos como terminais, impressoras e interfaces de rede são exemplos de dispositivos não-estruturados.

9. Qual a principal razão de as operações de E/S em fitas e discos magnéticos serem tão lentas se comparadas a velocidade com que o processador executa instruções?

A principal razão é o aspecto mecânico presente nas arquiteturas de fitas e discos magnéticos, devido a isso, o tempo total das operações de E/S é extremamente longo, se comparado ao número de instruções que o processador pode executar no mesmo intervalo de tempo.

10. O que são técnicas de redundância em discos magnéticos?

São técnicas que possibilitam garantir a integridade dos dados mesmo em caso de crash nos discos magnéticos.

Entradas relacionadas:

Etiquetas:
Por que o mapeamento deve ser feito em blocos e não sobre células individuais? Apresente um exemplo numérico or que as operações em disco e fitas magnéticas são tão lentas quando comparadas com a velocidade com que o processador executa as instruções quais aplicaçãoes podem ser processadas no ambiente batch quais as principais funções do subsistema de e/s? Quais as funções do escalonador e do dispatcher? Tecnicas de redundância em discos magneticos quais as diferentes formas de implementação de uma estrutura de diretório? para que serve o bit de validade? qual a principal finalidade das rotinas de e/s Como a técnica de buffering pode ajudar na concorrência de um sistema computacional? um arquivo é constituido por informações logicamente relacionadas, podendo representar instruções ou dados o que é a técnica denominada buffer cachê? o que é alocação contígua de blocos e quais benefícios a desfragmentação pode proporcionar quando esta técnica é utilizada? O que caracteriza o processamento batch? Quais aplicações podem ser processadas neste tipo de ambiente? qual a função das system calls de e/s Explique o modelo de camadas aplicado na gerência de dispositivos. Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis? quais os tipos de proteção de acesso a arquivos existentes e quais suas principais vantagens “o sinal está para o processo assim como as interrupções e exceções estão para o sistema operacional”. qual a principal razão de as operações de e/s em fitas e discos magnéticos serem tão lentas se comparadas à velocidade com que o processador executa instruções? qual é a finalidade da implementação de estrutura de diretórios?