- Considere a figura que se segue como representativa de parte de um sistema de ficheiros organizado segundo as estruturas de dados utilizadas no Trabalho II (considere inteiros de 4 bytes). #define TYPE_DIR 'D' #define TYPE_FILE 'F' #define TYPE_FREE '-' #define MAX_NAME_LENGHT 20 typedef struct superblock_entry { int check_number; int block_size; int fat_type; int root_block; int free_block; } superblock; typedef struct directory_entry { char type; char name[MAX_NAME_LENGHT]; unsigned char day; unsigned char month; unsigned char year; int size; int first_block; } dir_entry; -------------------------------------------------------------------------- - Questão I: Qual é o número total de blocos do sistema de ficheiros (considere inteiros de 4 bytes): a) 1 + (2^8 * 4 / 256) + 2^8 b) 1 + (2^8 / 256) + 2^8 c) 1 + (8 * 4) + (8 * 256) d) 1 + 8 + (8 * 256) -------------------------------------------------------------------------- - Questão II: Quantos entradas (dir_entry) cabem num bloco de dados (considere inteiros de 4 bytes): a) 8 b) 16 c) 32 d) 4 -------------------------------------------------------------------------- - Questão III: Quantos blocos de dados estão em utilização: a) 255 b) 247 c) 9 d) 8 -------------------------------------------------------------------------- - Questão IV: Considerando que o bloco de dados 6 representa o directório corrente, qual será o resultado da execução do comando `pwd': a) /d/b/a b) /a/b/d c) /d/a/a d) /d/a/b -------------------------------------------------------------------------- - Questão V: Considerando que o bloco de dados 2 representa o directório corrente, qual será o resultado da execução do comando `cat w': a) abcd b) abcdef c) dá um erro do tipo 'cat: o ficheiro não existe'. d) não existem dados suficientes para responder à pergunta. -------------------------------------------------------------------------- - Questão VI: Considerando que o bloco de dados 2 representa o directório corrente, qual será o resultado da execução do comando `cp y a' (assuma que `y' não existe em `a'): a) dá um erro do tipo 'cp: não existe espaço livre no disco'. b) dá um erro do tipo 'cp: o ficheiro de origem não existe'. c) o ficheiro `y' é copiado para o ficheiro `a'. d) o ficheiro `y' é copiado para o directório `a'. -------------------------------------------------------------------------- - Questão VII: Considerando que o bloco de dados 6 representa o directório corrente e que este possui 8 entradas (dir_entry), qual será o resultado da execução do comando `mkdir d' (assuma que `d' não existe no directório corrente): a) dá um erro do tipo 'mkdir: não existe espaço livre no disco'. b) é criada uma nova dir_entry no bloco de dados 6 e o novo directório `d' fica no bloco de dados 9. c) é criada uma nova dir_entry no bloco de dados 9 e o novo directório `d' fica no bloco de dados 10. d) não existem dados suficientes para responder à pergunta. -------------------------------------------------------------------------- - Questão VIII: Considerando que '/d' é o directório corrente, quantos blocos de dados serão libertados pela execução do comando `rm a': a) 0 b) 1 c) 11 d) não existem dados suficientes para responder à pergunta. -------------------------------------------------------------------------- - Questão IX: Considerando que '/d' é o directório corrente, quantos novos blocos de dados poderão ser ocupados pela execução do comando `mv a b': a) 0 no mínimo e 1 no máximo. b) 0 no mínimo e 0 no máximo. c) 1 no mínimo e 1 no máximo. d) não existem dados suficientes para responder à pergunta. -------------------------------------------------------------------------- - Questão X: Considere o procedimento get_hierarchical_level() que calcula o nível hierárquico de um dado directório na estrutura de directórios do sistema de gestão de ficheiros desenvolvido no Trabalho II. int get_hierarchical_level(int dblock) { int level = 0; while (dblock != sb->root_block) { dir = (dir_entry *) BLOCK(dblock); // código em falta level++; } return level; } O nível hierárquico de um directório diz respeito ao número de directórios pai que existem no seu caminho absoluto. Por exemplo, o directório ``/dir/subdir'' é de nível 2, o directório ``/dir'' é de nível 1, e o directório raiz (``/'') é de nível 0. O procedimento recebe como argumento o número do primeiro data block (first_block) relativo ao directório pretendido e retorna o valor correspondente ao seu nível hierárquico. O código em falta no procedimento pode ser implementado pela sequência de instruções: a) dblock = dir[1].first_block; b) dblock = dir[dir[0].size].first_block; c) dblock = fat[dir[0].first_block]; d) dblock = fat[dir[1].first_block]; -------------------------------------------------------------------------- // questões sobre: sockets, problemas clássicos de IPC, sistemas de ficheiros, gerência de memória, escalonamento de processos - Questão XI: Assuma a seguinte ordem de chegada de processos no sistema: (números mais baixos de prioridade indicam alta prioridade) # Tempo de chegada Tempo de execução Prioridade P0 0.0 1 4 P1 0.2 0.5 1 P2 1.0 2 2 P3 1.5 1 3 A seguinte afirmação é verdadeira: a) o algoritmo round-robin com quantum de tempo igual a 1 tem um tempo médio de espera maior do que o algoritmo SJF (Shortest Job First) b) o algoritmo round-robin com quantum de tempo igual a 1 executa estes processos em menos tempo do que o algoritmo SJF (Shortest Job First) c) o algoritmo que utiliza prioridades vai escalonar os jobs na seguinte ordem: P1, P2, P3 e P0 d) o algoritmo que utiliza prioridades vai escalonar os jobs na seguinte ordem: P0, P3, P2 e P1 - Questão XII: Considere um sistema de ficheiros. Qual das seguintes afirmações é mais adequada: a) quanto menor o tamanho de um bloco do sistema de ficheiros maior é o "overhead" de entrada e saída b) quanto maior o tamanho de um bloco do sistema de ficheiros maior é o "overhead" de entrada e saída c) quanto maior o tamanho de um bloco do sistema de ficheiros melhor é a taxa de utilização do espaço em disco d) quanto menor o tamanho de um bloco do sistema de ficheiros pior é a taxa de utilização do espaço em disco - Questão XIII: Um computador utiliza endereços virtuais de 32 bits e páginas de tamanho 4KBytes. O programa e os dados cabem na página de endereço mais baixo. A pilha cabe na página de endereço mais alto. - Questão XIV: Um computador tem 4 molduras em memória. O tempo de primeiro acesso, tempo do último acesso e os bits R e M para cada página são mostrados na tabela abaixo: Página 1º acesso último acesso R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 Quail página será substituída pelos algoritmos NRU, FIFO, LRU e segunda tentativa, respectivamente? a) 2, 3, 1, 2 b) 1, 3, 1, 2 c) 2, 3, 1, 1 d) 2, 3, 2, 1