Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Fazer em duplas</p><p>Alunos: Carlos Henrique Cardoso</p><p>Higor Nascimento</p><p>1. Explique a diferença entre arquivo lógico e arquivo físico.</p><p>Arquivo físico: sequência de bytes armazenada no disco;</p><p>É a forma como os dados realmente são armazenados no hardware, sem qualquer</p><p>interpretação ou estrutura adicional além do puro conteúdo binário.</p><p>Exemplo: Se você abrir um arquivo binário com um editor hexadecimal, verá a</p><p>representação bruta dos bytes armazenados fisicamente.</p><p>Arquivo lógico: arquivo como visto pelo aplicativo que o acessa</p><p>É como o arquivo é percebido e manipulado pelo software, com toda a estrutura, organização</p><p>e semântica que o aplicativo associa a esses dados..</p><p>Exemplo: Ao abrir um documento de texto em um editor, você vê caracteres e formatação,</p><p>não apenas a sequência de bytes. O editor interpreta a sequência de bytes de acordo com o</p><p>conjunto de caracteres e a codificação do documento.</p><p>2. Descreva as operações fundamentais que podem ser realizadas em um arquivo. Descreva</p><p>as funções que executam estas operações na linguagem de programação que você usa, e</p><p>como elas são utilizadas. Por que existem vários modos de abrir um arquivo?</p><p>Operações Fundamentais em Arquivos em C</p><p>● Criação de Arquivo</p><p>● Abertura de Arquivo</p><p>● Leitura de Arquivo</p><p>● Escrita em Arquivo</p><p>● Fechamento de Arquivo</p><p>● Exclusão de Arquivo</p><p>Criação e Abertura de Arquivo:</p><p>FILE *file = fopen("meuarquivo.txt", "w");</p><p>Leitura de Arquivo:</p><p>FILE *file = fopen("meuarquivo.txt", "r");</p><p>if (file != NULL) {</p><p>char buffer[100];</p><p>fgets(buffer, 100, file); // lê uma linha do arquivo</p><p>fclose(file);</p><p>}</p><p>Escrita em Arquivo:</p><p>FILE *file = fopen("meuarquivo.txt", "w");</p><p>if (file != NULL) {</p><p>fprintf(file, "Olá, mundo!\n"); // escreve uma string no arquivo</p><p>fclose(file);</p><p>}</p><p>Fechamento de Arquivo:</p><p>FILE *file = fopen("meuarquivo.txt", "r");</p><p>if (file != NULL) {</p><p>// operações de leitura/escrita</p><p>fclose(file); // fecha o arquivo</p><p>}</p><p>Exclusão de Arquivo</p><p>if (remove("meuarquivo.txt") == 0) {</p><p>printf("Arquivo excluído com sucesso.\n");</p><p>} else {</p><p>perror("Erro ao excluir o arquivo");</p><p>}</p><p>Modos de Abertura de Arquivo</p><p>Existem vários modos de abertura de arquivo para especificar diferentes tipos de operações</p><p>e comportamentos. Aqui estão alguns modos comuns em C:</p><p>"r": Abre o arquivo para leitura (o arquivo deve existir).</p><p>"w": Abre o arquivo para escrita (cria um novo arquivo ou trunca o arquivo existente).</p><p>"a": Abre o arquivo para adição (o ponteiro é colocado no final do arquivo se ele existir).</p><p>"rb": Modo binário de leitura.</p><p>"wb": Modo binário de escrita.</p><p>"ab": Modo binário de adição.</p><p>"r+": Abre o arquivo para leitura e escrita (o arquivo deve existir).</p><p>"w+": Abre o arquivo para leitura e escrita (cria um novo arquivo ou trunca o arquivo</p><p>existente).</p><p>"a+": Abre o arquivo para leitura e adição (o ponteiro é colocado no final do arquivo se ele</p><p>existir).</p><p>A existência de vários modos de abertura de arquivo é importante por várias razões:</p><p>Eficiência: Diferentes operações exigem diferentes modos de acesso. Por exemplo, abrir um</p><p>arquivo somente para leitura é mais eficiente do que abrir para leitura e escrita.</p><p>Segurança: Restringir o tipo de acesso (leitura, escrita, adição) ajuda a evitar operações</p><p>indesejadas que podem corromper dados.</p><p>Flexibilidade: Diferentes aplicações têm diferentes necessidades. Alguns programas</p><p>precisam ler dados, outros precisam acrescentar dados ao final de um arquivo, e outros</p><p>ainda precisam atualizar dados existentes.</p><p>Compatibilidade: Diferentes modos ajudam a manter a compatibilidade com diversos tipos</p><p>de arquivos e sistemas operacionais.</p><p>3. Quais as funções de um gerenciador de arquivos?</p><p>Criar, deletar e alterar arquivos no disco, e alocar espaço na memoria.</p><p>4. Explique porque os arquivos abertos devem ser fechados.</p><p>Fechar um arquivo faz com que qualquer caracter que tenha permanecido no “buffer” associado ao</p><p>fluxo de saída seja gravado.</p><p>Fechar arquivos de maneira ordenada minimiza o risco de corrupção, especialmente se o programa</p><p>terminar abruptamente.</p><p>Não fechar arquivos pode levar a vazamentos de memória, degradando o desempenho do sistema e</p><p>causando falhas.</p><p>Fechar arquivos libera descritores de arquivos e memória alocados pelo sistema, evitando o</p><p>esgotamento desses recursos limitados.</p><p>5. Descreva o que acontece quando um arquivo já existente é aberto por um aplicativo (p. ex.,</p><p>um programa) para escrita. E se o mesmo ocorrer com um arquivo não existente?</p><p>Com o arquivo existente, o programa abrirá para a escrita normalmente, e seu conteúdo anterior é</p><p>sobrescrito se nao existir, o programa cria.</p><p>6. Os sistemas de arquivos permitem definir atributos para controlar o acesso a um arquivo. O</p><p>que acontece quando um programa tenta abrir um arquivo que tem proteção para leitura? E</p><p>quando o arquivo tem proteção</p><p>para escrita?</p><p>Vai ocorrer um erro de abertura, ou erro por não ter acesso a leitura dependendo do caso, quando</p><p>se trata de escrita é possível a leitura do arquivo porém não pode ser alterado.</p><p>7. Muitos sistemas diferenciam os arquivos binários dos arquivos de texto. Qual a diferença</p><p>entre eles?</p><p>Um arquivo texto, ou texto plano’, é um arquivo cujos caracteres estão de acordo com a tabela ascci.</p><p>por exemplo, um caractere 13 é uma quebra de linha, um 65 é a letra ‘A’, e assim por diantes.</p><p>quando voce abre um desses textos em um editor comum, voce consegue ler o conteúdo facilmente.</p><p>Os arquivos HTML, por exemplo, sao textos planos. Já com um arquivo binário, a coisa não é bem</p><p>assim. um executável, por exemplo, é um arquivo binário, e possui, na verdade, instruções para o</p><p>processador executar. o código 90, ao invés de representar o caracteres ‘Z’, indica a instrução NOP,</p><p>do assembly.</p><p>8. No que consiste a operação de posicionamento (seeking) em um arquivo? Qual a sua</p><p>utilidade? Exemplifique uma situação em que esta operação precisa ser utilizada.</p><p>Ação de mover o ponteiro para uma certa posição no arquivo. A função fseek() nos permite</p><p>realizar operações de leitura e escrita em arquivos de forma randômica.</p><p>Exemplo:</p><p>9. Faça um programa que leia os últimos 10 caracteres de um arquivo qualquer e imprima-os</p><p>na tela.</p><p>10. Faça um programa que leia o conteúdo de um arquivo e o escreve na tela.</p><p>11. Faça um programa para copiar o conteúdo de um arquivo para outro.</p><p>12. Faça um programa que lê um vetor numérico pelo teclado e o escreve em um arquivo.</p><p>13. Discuta as diferenças e semelhanças entre a memória principal (RAM) e a memória</p><p>secundária (os arquivos).</p><p>Memória primária também é chamada de memória real, trata-se dos tipos de memória que o</p><p>processador pode endereçar diretamente, sem as quais o computador não pode funcionar. Estas</p><p>fornecem geralmente uma ponte para as secundárias, mas a sua função principal é a de conter a</p><p>informação necessária para o processador num determinado momento; esta informação pode ser,</p><p>por exemplo, os programas em execução.</p><p>A memória secundária é do tipo que não pode ser endereçada diretamente pela CPU, os dados</p><p>precisam ser carregados na memória principal antes de eles serem tratados pelo processador. Não</p><p>são estritamente necessárias para a operação do computador. São geralmente não-voláteis,</p><p>permitindo guardar os dados permanentemente Incluem-se, nesta categoria, os discos rígidos, CDs,</p><p>DVDs e disquetes.</p><p>14. Como são organizados fisicamente os discos? De que forma os discos armazenam os</p><p>arquivos? Por que o tamanho real de um arquivo em disco é sempre maior do que o seu</p><p>tamanho nominal?</p><p>São organizados em trilhas, setores e cilindros. A leitura e gravação são feitas através da</p><p>manipulação de moléculas produzidas pelos polos da cabeça de leitura e gravação, de maneira que,</p><p>quando está positiva, atrai um polo negativo e vice-versa. Essa polaridade apresenta uma variação</p><p>de frequência extremamente alta; através dela são gravados os bits. A leitura de dados acontece de</p><p>forma mais simples, pois a cabeça de leitura e gravação apenas decodifica o campo magnético</p><p>gerado pelas moléculas e produz uma corrente elétrica correspondente; o</p><p>controlador do HD analisa a variação e administra os bits.</p><p>Tamanho é o tamanho real</p><p>do arquivo em bytes. Tamanho no disco é a quantidade real de espaço</p><p>ocupada no disco. Eles diferem porque o disco é dividido em faixas e setores e pode alocar blocos de</p><p>tamanho discreto.</p><p>15. Quais parâmetros são considerados para calcular o tempo de leitura de um arquivo</p><p>mantido em disco?</p><p>O tempo de acesso é a combinação do tempo de busca e do tempo de latência, o tempo médio</p><p>necessário para realizar um acesso a um setor aleatório do HD.</p><p>Os fabricantes calculam o tempo de latência dos HDs de formas diferentes, tornando difícil uma</p><p>comparação direta. O ideal é que você mesmo calcule o tempo de acesso médio com base nas</p><p>informações anteriores. Para isso, basta somar o tempo de busca médio (Average) e o tempo de</p><p>latência, calculado com base na velocidade de rotação dos discos. Como é muito difícil encontrar o</p><p>settle time e o command overhead time nas especificações, você pode adicionar 0.5 ms, que é um</p><p>valor aproximado.</p><p>16. Explique o que é um cilindro, e a razão para a organização de arquivos em cilindros.</p><p>Um cilindro nada mais é do que o conjunto de trilhas com o mesmo número nos vários discos. A</p><p>divisão do disco em trilhas, setores e cilindros é chamada de formatação de baixo nível, ou</p><p>formatação física. Exemplificando, para acessar um dado contido na trilha 982 da face de disco 3 por</p><p>exemplo, a controladora do disco ativa a cabeça de leitura responsável pelo disco 3 e a seguir</p><p>ordena ao braço de leitura que se dirija à trilha correspondente. Não é possível que uma cabeça de</p><p>leitura esteja na trilha 982, ao mesmo tempo que outra esteja na trilha 5631 por exemplo, justamente</p><p>por seus movimentos não serem independentes. Já que todas as cabeças de leitura sempre estarão</p><p>na mesma trilha de seus respectivos discos, deixamos de chamá-las de trilhas e passamos a usar o</p><p>termo "cilindro".</p><p>17. Explique o que é um cluster e o que é um extent.</p><p>Cluster é um termo em inglês que significa “aglomerar” ou “aglomeração” e pode ser aplicado em</p><p>vários contextos. No caso da computação, o termo define uma arquitetura de sistema capaz de</p><p>combinar vários computadores para trabalharem em conjunto ou pode denominar o grupo em si de</p><p>computadores combinados. Cada estação é denominada “nodo” e, combinadas, formam o cluster.</p><p>Em alguns casos, é possível ver referências como “supercomputadores” ou “computação em cluster”</p><p>para o mesmo cenário, representando o hardware usado ou o software especialmente desenvolvido</p><p>para conseguir combinar esses equipamentos. Extent é uma área contígua de armazenamento</p><p>reservada para um arquivo em um sistema de arquivos, representado como um intervalo de números</p><p>de bloco ou trilhas em dispositivos de dados principais de contagem. Um arquivo pode consistir em</p><p>zero ou mais extents; um fragmento de arquivo requer um extent.</p><p>19. Discuta as vantagens e as desvantagens de organizar arquivos em blocos de tamanho</p><p>definido pelo usuário, ao invés de em setores de tamanho fixo.</p><p>No definido pelo usuário os tamanhos do blocos podem ser ajustados conforme a</p><p>necessidade diminuindo o desperdício de espaço, reduzindo a fragmentação e melhorando</p><p>o desempenho, por outro lado aumentando a complexidade de implementação e</p><p>manutenção do sistema de arquivos. No de tamanho fixo a uma maior simplicidade e</p><p>compatibilidade pois os dispositivos são projetados para operar com tamanho fixo, porém</p><p>ocorre desperdício de espaço e ineficácia com arquivos grandes</p><p>20. Por que os discos são considerados o gargalo de um sistema computacional? Explique</p><p>como este problema pode ser minimizado.</p><p>HDs são centenas, e até milhares, de vezes mais lentos que a memória RAM. O acesso à</p><p>RAM equivale a buscar uma informação no índice de um livro que está em suas mãos. O</p><p>acesso ao disco seria equivalente a mandar buscar a mesma informação em uma</p><p>biblioteca. Em resumo, o acesso ao disco é muito caro, isto é, lento! Então, o número de</p><p>acessos ao disco deve ser minimizado, a quantidade de informações recuperadas em um</p><p>acesso deve ser</p><p>maximizada. Estruturas de dados eficientes em memória principal são inviáveis em disco.</p><p>Seria fácil obter uma estrutura de dados adequada para disco se os arquivos fossem</p><p>estáveis (não sofressem alterações).</p><p>21. Como os arquivos são organizados em uma fita magnética? Por que as fitas organizam os</p><p>dados em blocos?</p><p>São organizadas em posições de um registro e é dada por um deslocamento em bytes(offset) relativo</p><p>ao início do arquivo. Os frames da fita são agrupados em blocos de dados de tamanhos variados, os</p><p>quais são separados por intervalos (interblock gaps) sem informações, intervalos são necessários</p><p>para viabilizar parada/reinício.</p><p>22. Quais as vantagens e desvantagens de fitas sobre discos com dispositivos de memória</p><p>secundária?</p><p>Vantagens: Compactas, resistentes, fáceis de transportar, mais baratas que disco; grande</p><p>capacidade de armazenamento; longa expectativa de vida; confiabilidade na retenção dos dados ao</p><p>longo de sua vida útil.</p><p>Desvantagens: Sofre mais desgaste que discos; não permitem acesso direto/aleatório; acesso</p><p>sequencial; maior fragilidade.</p><p>23. No que consiste um sistema de armazenamento terciário?</p><p>O armazenamento terciário é aquele que usa mídia removível, como as unidades de fita, e que usa</p><p>um robô para busca de dados.</p>

Mais conteúdos dessa disciplina