Exame de. Arquitectura de Computadores. (Duração minutos) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa.

Documentos relacionados
2º Estudo Dirigido CAP 3

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Preparatório LPIC-1 Tópico 102

Organização e Arquitetura de Computadores I

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

Gestão de Memória. Espaço de Endereçamento

Gestão de Memória. Espaço de Endereçamento

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Arquitetura e Organização de Computadores

Sistemas de Memória III

Gestão de memória - Memory Management Unit (MMU)

Arquitectura de Computadores

Gerenciamento de memória

Arquitectura de Computadores

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Organização de um Sistema Operativo

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.

Estrutura do Sistema Operacional

Gestão de memória - Memory Management Unit (MMU)

Aula 10 Processadores de Propósito Geral

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

Hierarquia de Memória

EA075 Memória virtual

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas:

Arquitetura e Organização de Computadores

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

Turma: SD-R Área: Redes Informáticas Formador: Tomás Lima Mediadora: Maria Eduarda Luz Unidade: UFCD 17 - Linux - Instalação e configuração Curso:

Gerência de Memória. Paginação

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador


Introdução à Arquitetura de Computadores

Linguagem C. Produção de programas em C (Ligação dinâmica) João Pedro Patriarca

LEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013

1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC)

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Arquitectura de Computadores

Sistemas de Memória II

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

Caching. Caches do Sistema de Ficheiros

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Memória Principal. Tiago Alves de Oliveira

Função Fundamental do SO

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas

UNIVERSIDADE ESTADUAL DO PARÁ UEPA LISTA DE EXERCÍCIOS DE INTRODUÇÃO A COMPUTAÇÃO. 2. O que diferencia os computadores de 1ª geração dos da 2ª.

Microprocessadores. Memórias

UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO

MEMÓRIA CACHE FELIPE G. TORRES

5 de Maio de Aula 15

Gestão de Memória em Arquitecturas RISC

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

2ª Lista de Exercícios de Arquitetura de Computadores

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Arquitetura e Organização de Computadores. Compiladores e processamento

Organização de Computadores 1

LEIC/LERC 2009/10 Repescagem do 2º Teste de Sistemas Operativos

Administração de Sistemas Operacionais. Prof.: Marlon Marcon

Organização de Computadores

Gerenciamento de Memória

Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Reserva de memória não-contígua significa que a memória atribuída a um objecto pode ser composta de bocados espalhados pela memória física.

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Sistemas Operacionais Gerência de Memória. Thiago Leite

Hierarquia de memória

Capítulo 6 Gerência de Memória 103

Utilização de dispositivos de hardware portáteis em criptografia

ESTRUTURA DOS SISTEMAS OPERACIONAIS

SSC0611 Arquitetura de Computadores

Introdução aos Sistemas Operacionais. Subsistema de Arquivos

Segurança em Sistemas Operativos

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Teste de Sistemas de Operação 30 de Maio de 2009

Exercícios de revisão V2

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 6

Arquitetura do 8086/8088

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Interrupções, Exceções e Chamadas ao SO

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos

Técnico de Gestão e Programação de Sistemas Informáticos

Sistemas de arquivos

Programação. Folha Prática 10. Lab. 10. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.

Arquitetura de Computadores. Prof. João Bosco Jr.

LISTA DE EXERCICIOS 2

Entrada. Saída. Entrada e Saída. Sistemas Operacionais

Administração de Redes em Software Livre Aula 02 Instalando o GNU/Linux (CENTOS Minimal)

Evolução da arquitetura básica

Boot, BIOS, Bootloader

Organização e Arquitetura de Computadores INTRODUÇÃO

Transcrição:

Exame de (Duração 45+45 minutos) Nome: Número: 1. (4) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa. 1.1. Num sistema baseado no processador Intel 80386DX em modo protegido, a) o barramento externo de dados é mais largo do que o barramento de endereços. b) utilizam-se Call Gates para implementar as chamadas a procedimentos mais privilegiados. c) um segmento de memória pode residir em mais do que uma página de memória física. d) as páginas de memória têm sempre 16 kbytes. e) a dimensão da memória física pode ser superior à dimensão da memória linear. f) dois segmentos diferentes podem estar mapeados em páginas comuns de memória linear. g) pode ser utilizado um mecanismo de segmentação de memória a dois níveis. h) o nível de privilégio de um segmento de memória é definido na tabela de segmentos. 1.2. a) Um TLB (Translation Lookaside Buffer) é utilizado no processador Intel Pentium II. b) Um TLB permite o processamento paralelo de dados empacotados. c) Um TLB pode utilizar políticas de substituição do tipo LRU (Least Recently Used). d) Um TLB pode ser fisicamente etiquetado. e) Um BTB (Branch Target Buffer) é utilizado no processador Intel Pentium III. f) Um BTB só se justifica em arquitecturas com segmentação. g) Um BTB só se justifica em arquitecturas de execução em pipeline. h) Um BTB pode utilizar políticas de substituição do tipo LRU (Least Recently Used). 1.3. a) Uma cache vítima utiliza-se para acelerar o processo de paginação b) É possível utilizar políticas de leitura do tipo Read-Through com uma cache de mapeamento directo. c) Uma memória cache pode utilizar etiquetas de dimensão superior à dos blocos de dados. d) É possível utilizar políticas de escrita do tipo Write-Back com uma cache completamente associativa. e) Uma tabela de páginas invertida pode ser implementada com uma cache de mapeamento directo. f) Uma cache vítima pode ser virtualmente etiquetada. g) Uma cache externa pode ser gerida por políticas de substituição do tipo LRU (Least Recently Used) h) Uma cache interna pode ser fisicamente indexada

1.4. a) Uma tabela de partições reside num sistema de ficheiros. b) Um dispositivo de armazenamento pode conter sistemas de ficheiros de tipos distintos c) Um bootloader é um programa executável que utiliza recursos do sistema operativo. d) Um bootloader é gravado na directoria raiz de um sistema de ficheiros. e) O Journaling é uma técnica utilizada para facilitar a recuperação de sistemas de ficheiros. f) O uso de Journaling é importante em sistemas de ficheiros só de leitura (read-only) g) Os sistemas de ficheiros do tipo EXT3 utilizam Journaling. h) Um sistema de ficheiros do tipo UnionFS pode juntar, no mesmo directório, conteúdos voláteis e conteúdos armazenados num CD. 1.5. a) Um kernel Linux pode ser compilado numa máquina com uma arquitectura distinta da máquina a que se destina. b) Um kernel Linux pode incluir módulos desenvolvidos por entidades distintas. c) Um kernel Linux utiliza funcionalidades disponibilizadas pela biblioteca standard do C. d) Os módulos do sistema operativo residem normalmente no directório /dev e) A lista de módulos carregados pode ser obtida com o comando cat /proc/modules f) Num sistema Linux é possível ter vários ficheiros de dispositivos (device files) no mesmo directório com os mesmos números Major e Minor. g) Um ficheiro de dispositivos pode implementar uma comunicação bidireccional entre uma aplicação e o kernel. h) O comando rmmod é utilizado para carregar módulos de sistema operativo. 2. (2) Alguns processadores possuem um barramento externo de endereços mais largo do que os registos internos utilizados como apontadores. Comente esta afirmação, referindo exemplos de processadores que conhece. Justifique esta opção técnica e as consequências respectivas. 3. (1) Compare as tecnologias MMX e SSE (SIMD Streaming Extensions) em termos de desempenho espectável no tratamento de cadeias de dados do tipo inteiro. 4. (2) Um determinado fabricante pretende adicionar à sua linha de processadores uma memória cache completamente associativa que permita o armazenamento de 512 blocos de 64 bits de dados. Para esta cache, indique qual deverá ser: a) A dimensão das etiquetas. b) O número de comparadores. c) O número de bits utilizados na indexação.

Parte prática 5. Considere um processador da família x86 a funcionar em modo real em que o estado os registos e de algumas posições de memória é o apresentado nas tabelas seguintes: ax bx cx dx si di bp sp cs ds ss es 0x100 0x200 0x300 0x400 0x500 0x600 0x100 0x40 0x100 0x2000 0x1000 0x4000 Endereço 0x0038 0x0039 0x003A 0x003B 0x003C 0x003D 0x003E 0x003F Valor 0x0 0x0 0x00 0xF0 0x0 0x0 0x01 0xF0 Endereço 0x0040 0x0041 0x0042 0x0043 0x0044 0x0045 0x0046 0x0047 Valor 0x02 0x01 0x02 0xF0 0x07 0x0 0x13 0xF0 a) (1.5) Determine os endereços físicos das posições de memórias lidas ou escritas pela sequência de instruções: mov ax, #0x500 mov [0x200], ax add [bp], cx b) (1) Indique a sequência de acções desencadeadas pelo processador caso encontre a instrução INT 0x10. 6. Assuma que está a preparar um novo sistema dedicado, baseado num computador com processador da família x86 e BIOS PC. Este sistema terá um único dispositivo de armazenamento (TD), com interface SATA. Durante a fase de preparação, o TD está ligado a um sistema de desenvolvimento baseado em Linux, estando associado ao ficheiro de dispositivo /dev/sdb. Foram criadas previamente duas partições no TD. a) (0.5) Como utilizador normal e a partir da linha de comando, indique como poderia verificar se o TD se encontra realmente ligado e qual o tamanho de cada partição. b) (0.5) Indique como poderia proceder para obter uma cópia exacta (imagem) da primeira partição do dispositivo /dev/sdb. A imagem da partição deverá ficar guardada na forma de um ficheiro com o nome part1.img. c) (0.75) Assuma que lhe foi fornecido um ficheiro, mbr.img, contendo o a imagem do Master Boot Record (MBR). Indique como procederia para instalar o ficheiro no MBR do sistema alvo. d) (0.75) Indique que comando utilizaria para criar um sistema de ficheiros do tipo ext3 em /dev/sdb2 e) (1.5) O ficheiro initrd.img é o initrd a ser usado no sistema dedicado. Adicione o ficheiro mydriver2.ko ao directório modules desse initrd e copie o initrd para o sistema de ficheiros da primeira partição do sistema dedicado (que se encontra desmontado).

f) (1.5) Pretende-se instalar o programa myapp no sistema de ficheiros (SF) contido em /dev/sdb2 (que se encontra desmontado). O executável deverá ser copiado para o directório /usr/bin desse SF. No entanto, observa-se que o comando ldd /usr/bin/myapp (no sistema de desenvolvimento) retorna o seguinte resultado: linux-gate.so.1 => (0x005d0000) libpthread.so.0 => /lib/libpthread.so.0 (0x00bd5000) libgsl.so.0 => /usr/lib/libgsl.so.0 (0x07c7a000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x003b2000) libm.so.6 => /lib/libm.so.6 (0x00ba9000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00bf9000) libc.so.6 => /lib/libc.so.6 (0x00a1d000) /lib/ld-linux.so.2 (0x009fc000) libgslcblas.so.0 => /usr/lib/libgslcblas.so.0 (0x06de3000) Assumindo que o ambiente de desenvolvimento foi preparado para replicar o sistema alvo, explique como procederia para fazer a correcta instalação do programa myapp. 7. Considere o seguinte extracto de código de um módulo de kernel Linux: #define DEVICE_NAME "mydriver" #define DEVICE_MAJOR 1300 #define BUFSIZE 80 char mod_buffer[bufsize]; int n; int write_to_device(char *buf, int n); ssize_t mydriver_xxx (struct file *filp, char user *buf, size_t count, loff_t *pos) { int n1; if(*pos==n) return 0; n1 = count > n-*pos? n-*pos : count; copy_to_user(buf, mod_buffer, n1 ); *pos += n1; return n; ssize_t mydriver_yyy (struct file *filp, const char user *buf, size_t count,loff_t *pos) { n = count > BUFSIZE? BUFSIZE : count; copy_from_user(mod_buffer, buf, n); write_to_device(mod_buffer, n); *pos=0; return n; struct file_operations fops = {.owner = THIS_MODULE,.read = mydriver_xxx,.write = mydriver_yyy, ; int mydriver_init(void) { int r = register_chrdev(device_major, DEVICE_NAME, &fops); if (r < 0) return r; return 0; void mydriver_cleanup(void) { unregister_chrdev(device_major, DEVICE_NAME); module_init(mydriver_init); module_exit(mydriver_cleanup);

O resultado do comando ls -l no directório actual, onde foi desenvolvido o módulo, foi o seguinte: -rw-r--r-- 1 user1 user1 1078 Sep 13 11:25 Makefile -rw-rw-r-- 1 user1 user1 29 Sep 13 14:51 modules.order -rw-rw-r-- 1 user1 user1 0 Sep 13 11:26 Module.symvers crw-r--r-- 1 user1 user1 1200, 0 Sep 13 14:59 mydriver_if -rw-rw-r-- 1 user1 user1 1419 Sep 13 14:50 mydriver.c -rw-r--r-- 1 user1 user1 137484 Sep 13 14:51 mydriver.ko -rw-rw-r-- 1 user1 user1 497 Sep 13 14:51 mydriver.mod.c -rw-r--r-- 1 user1 user1 45284 Sep 13 14:51 mydriver.mod.o -rw-r--r-- 1 user1 user1 93373 Sep 13 14:51 mydriver.o Assuma que o módulo foi compilado para o kernel em utilização e que não se encontra carregado. a) (1) Em que situação a função mydriver_init é executada? Descreva as acções desencadeadas por esta função. b) (1) Observe o conteúdo da consola de texto de um utilizador: $ cat /proc/devices grep mydriver 1300 mydriver $ echo command1 > mydriver_if mydriver_if: No such device or address A que se deve a última mensagem? Indique como procederia para corrigir o problema. c) (1) Descreva o resultado do comando echo command1 > mydriver_if em condições normais de funcionamento.