



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Resumo (em forma de perguntas) de uma pequena parte da disciplina de Algoritmos e Estruturas de Dados II, do meu 4º semestre em ciência da computação na USP-RP, se tratando de armazenamento em memória secundária e Linux File System.
Tipologia: Resumos
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




Algoritmos e Estruturas de Dados II - Roteiro de estudos (perguntas) para P (01/10/2020)
Armazenamento em memória secundária Como o acesso a arquivos na RAM pode ser feita de forma mais rápida ou devagar? O tempo de acesso a arquivos é mais rápido se uma cópia integral dele for passada para a RAM; é mais demorado se for passado cópias parciais.
Onde está concentrado o custo de tempo ao tentar recuperar uma informação em disco? No tempo de seek, onde procura-se o primeiro setor onde está aquele arquivo. Os acessos subsequentes são mais rápidos, se estiverem em setores próximos
Como é organizado um disco magnético (HD)? Em discos/pratos, onde em cada disco tem trilhas (circunferências concêntricas), cada trilha tem alguns setores e cada setor armazena uma quantidade de bytes.
Como ocorre a leitura de informações do disco pela RAM? A cabeça de entrada e saída deve encontrar em qual cilindro, trilha e setor o arquivo está localizado. O setor é lido e armazenado num buffer para, posteriormente, ser enviado para a RAM.
Quais fatores influenciam no acesso ao disco? O hardware (quantos pratos tem o hd, por exemplo) e software (SO, drivers etc)
Qual a solução para o fato de que uma trilha tem capacidade diferente de outra trilha (por terem diferentes diametros)? Dividir as trilhas em setores (físicos) ou/e blocos (lógicos) de tamanho fixo.
Como funciona o mapeamento do disco por geometria? O cilindro é definido pela posição do braço mecânico do hd, a cabeça define o prato (no caso, qual face do prato, pois há uma cabeça para cada) e o setor define a posição da trilha.
Como funciona o mapeamento do disco no bloco? O endereço é baseado em blocos (lógicos), que correspondem a um conjunto de setores (fisicos). Cada bloco recebe um número que corresponde a geometria física.
O que é o tempo de “seek”? Tempo que demora para posicionar um apontador em alguma parte de um arquivo.
Como ocorre a organização de arquivos em disco por setores adjacentes? O endereçamento de setores é sequencial, porém a cabeça de entrada e saída demora um tempo para armazenar a informação no buffer; por esse motivo, ela pode precisar esperar mais uma “volta” do disco para recuperar a próxima informação adjacente.
Como ocorre a organização de arquivos em disco intercalada? Sabendo da demora de uma “volta” no disco, os setores são organizados de tal modo que esse tempo é proporcional ao tempo da cabeça armazenar a informação no buffer, otimizando o tempo.
Como ocorre a organização de arquivos em disco por cluster? Clusters são um conjunto contíguo de setores, armazenando informações que, se solicitadas, por estarem no mesmo cluster serão recuperadas mais rapidamente.
Como ocorre a organização de arquivos em disco por extents? O armazenamento de um arquivo é feito utilizando o máximo possível de setores contíguos.
Como ocorre a organização de arquivos em disco por blocos? Um bloco é um conjunto de setores sequenciais lidos como um todo. O sistema lê e armazena, de uma vez, uma certa quantidade de blocos.
Diferencie fragmentação interna, externa e de dados A fragmentação é uma falha na continuidade de informações escritas no disco, fazendo com que algumas partes sejam inutilizadas. Na fragmentação interna, arquivos deixam “file slack ou slack space” quando não ocupam todo o espaço de um cluster ou setor. Na externa, quando se trabalha com muitos arquivos de tamanhos diferentes, ao apagar um arquivo pode deixar um espaço inutilizado, onde não cabe outro arquivo. A fragmentação de dados ocorre quando o armazenamento de um mesmo arquivo no disco não é sequencial, o que faz demorar sua recuperação.
Arquivos em C
Sobre algumas funções de trabalho com arquivos, explique: stdout(): fluxo de saída de dados, geralmente para o monitor. Qual a diferença do fread() para o fscanf()? Análogo para fwrite() e fprintf() fread lê uma quantidade específica de bytes, enquanto o fscanf lê e armazena o dado formatado em certa variável. fread(variavelPonteiroOuPassadaPorEndereco, nroBytes, nroItens, ponteiroParaArq); fseek(): Posiciona um ponteiro em uma localização específica do arquivo, que pode ser dado pelas constantes, e define a nova posição do ponteiro por uma quantidade de bytes. fseek(ponteiroParaArq, tamEmBytes, onde)
Sobre as constantes em C, explique: VER ALGORITMO SEEK_SET: inicio do arquivo SEEK_CUR: uma posição específica SEEK_END: final do arquivo
Se trata de uma lista de nomes associadas a um inode. No diretório pai é que fica a tabela de inodes e, por isso, mais de um arquivo pode estar associado a um mesmo inode number.
Diferencie hard-link de soft-link Um link simbólico é como um “atalho” - apenas aponta para um arquivo ou diretório. No hard link, se alterá-lo, altera todos os arquivos relacionados com aquele inode (pois ele é um ponteiro para o inode), mas ao apagar o hard link ou o arquivo original, o outro ainda existe pois mantem-se o inode. O mapeamento inode-nome é um hardlink (por isso pode ter 2 nomes pra 1 inode)
Como funciona o ext2? Dividido em grupos de blocos para diminuir o tempo de seek, mas é maleável quanto ao tamanho dos arquivos. Possui um supebloco, e cada grupo pode possuir uma cópia dele, além de uma tabela de descrição do grupo. O superbloco identifica o FS, a geometria do FS e dados de tunning do FS.
Quais são os elementos presentes em todos os grupos de blocos no ext2? block bitmap, inode bitmap, tabela de inode e os blocos que armazenam dados.
O que é o block bitmap, no ext2? Indica quais blocos tem lá.
O que é o inode bitmap, no ext2? Indica quais inodes estão lá.
Quais são os limites de um FS? O kernel do SO define o tamanho dos arquivos e o tamanho máximo de um arquivo, que depende do número de blocos e a razão entre o número de blocos e o número de inodes.
O que é um extent? Uma área contínua do sistema reservada para um único arquivo, de forma que o inode precisa armazenar apenas o bloco inicial e final do arquivo. Diminui a fragmentação interna.
Como funciona o ext3? Uma B-Tree com hash mantém a estrutura de diretórios.
Quais os 3 níveis de registro de ocorrências no ext3? Journaled: metadados e conteúdo são registrados antes de serem escritos. Diminui o desempenho. Ordenado: metadados são registrados. Conteúdo é escrito antes do registro dos metadados no journal. Caso dê problema, é possível ter 2 arquivos.
Writeback: metadados são registrados. Conteúdo é escrito antes OU DEPOIS do registro dos metadados no journal. Em caso de problema, o arquivo pode ser corrompido.
Quais são as desvantagens do ext3? Também não trabalha com extents, alocação dinâmica de inodes e gerenciamento para não ocorrência de fragmentação interna (é bom contra fragmentação externa); não há compressão de dados nativo do ext3 ou desfragmentador, nem checksum no journal.
Quais as características do ext4? extents, compatível com ext3, journal com checksum (verificação de erros baseado na contagem de bits em operações), desfragmentação.
Google File System Quais os objetivos do projeto GFS? Ser um sistema distribuído de arquivos (ou sistema de arquivos distribuídos) escalável, confiável e disponível.
O que é um DFS (Sistema Distribuído de Arquivos)? Também chamados de network FS, organiza (armazena/distribui) os arquivos entre diversas máquinas pela rede.
Quais são as restrições do GFS? Deve ter recuperação automática para falhas dos componentes de hardware, trabalhar com arquivos muito grandes de diversas fontes, com máquinas de mercado.
Quais as características dos arquivos do GFS? Geralmente são feitos apenas append nesses arquivos, que são lidos sequencialmente. Podem ser gerados, pertencer a repositórios ou vir de aplicações. São organizados hiearquicamente na API, e conhecidos pelos pathnames.
O que é uma transação atômica? É uma transação que deve ser executada totalmente, em caso de sucesso, ou abortada completamente em caso de falha.
Quais os 2 tipos de leitura de arquivos no GFS Leitura de grandes streams e pequenas random reads.
O que é a operação de snapshot do GFS? Cria cópias dos arquivos, para que tenha em diferentes máquinas, a baixo custo computacional. O que é a operação de record append no GFS? Permite múltiplos clientes alterarem um arquivo simultaneamente.