Prof. Carlos Caldas RESOLUÇÃO DE EXERCÍCIOS Prof. Carlos Caldas 1 Questões de Arquitetura 2 Sis. Numeração / Nível Lógico Dig. 1 2 3 4 5 6, 7, 8 RISC vs CISC / RAID 1 2 3 4 5 6 7 Prof. Carlos Caldas Questões de Arquitetura 3 Diversos 1 2 3 4 5 6 7 8 Diversos 9 10 11 12 13 14 15 16 17 Prof. Carlos Caldas Questões de SO 4 Básicos 1 2 3 4 5 Sistemas Arquivos 1 2 3 4 Prof. Carlos Caldas Questões de SO 5 Gerência Memória 1 2 3 4 Escalonamento 1 2 3 4 5 Prof. Carlos Caldas Questão A1 Conversão de um inteiro da base b para base 10 6 (2009/FCC - TRE-PI - Analista Judiciário/TI - Análise de Sistema) O numeral 10110111 no sistema binário representa a mesma quantidade nos sistemas octal, decimal e hexadecimal, respectivamente, pelos numerais: 0 10 110 111 1011 0111 a) 247, 182 e A7. 2 6 7 B 7 b) 247, 183 e B7. + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 + 1*2^5 + c) 247, 182 e 117. 1*2^0 0*2^6 + 1*2^7 d) 267, 182 e A7. 1 + 2 + 4 + 0 + 16 + 32 + 0 + 128 183 e) 267, 183 e B7. Prof. Carlos Caldas Questão A2 Valor máximo representado um um binário de n bits 7 (2009/CESPE – ANAC) Para se representar o número decimal 524.288 em binário, são necessários 19 bits. O maior número inteiro representado por N Bits = 2n - 1 219-1 = 2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2 - 1 210 * 29 - 1=1024 * 512 - 1 210 * 29 – 1 = 524.288 – 1 = 524.287 Falso Prof. Carlos Caldas Questão A3 8 (2008/CESPE – TST) A operação binária de adição módulo 2 equivale à aplicação da operação XOR (OU-exclusivo) entre os bits correspondentes dos operandos. Verdadeiro Prof. Carlos Caldas Questão A4 Ponto Fixo vs Ponto Flutuante 9 (2008/CESPE MPE-TO – Análise de Sistemas) Um dos fundamentos da utilização dos números em ponto flutuante é a necessidade de um sistema de representação numérica em que números de maior magnitude possam ser expressos. Correto Prof. Carlos Caldas Questão A5 Representação Binária de Inteiros Negativos 10 (2006/ESAF – SEFAZ Ceará – Auditor TI) A respeito de sistemas de numeração e aritmética computacional, analise as afirmações a seguir: F V V V V I - Tanto o sinal-magnitude quanto o complemento de 2 tem 2 representações para o zero (0): + 0 e -0. II - Um sistema numérico de base n necessita de n símbolos distintos para representar seus dígitos de 0 a n – 1. III - No sinal-magnitude, usa-se 1 bit para expressar o sinal negativo de um número inteiro – 0, quando o sinal é positivo e 1, quando ele é negativo. IV- A memória dos computadores é finita, portanto, a aritmética computacional trata números expressos em precisão finita. V - Uma mantissa cujo bit mais à esquerda é diferente de zero, é denominada normalizada. Prof. Carlos Caldas Questão A6 A7 A8 Portas Lógicas 11 (2009/CESPE – INMETRO) Considerando os circuitos lógicos nas figuras I, II e III acima, julgue os itens subsequentes, com relação a conceitos de álgebra booleana. No circuito da figura I, se A = 1 e F B = 1, a saída S será igual a 1. No circuito da figura II, se A = 1, V B = 1 e C = 1, a saída S será igual a 0. No circuito da figura III, se A = 1, V B = 1, C = 0 e D = 1, a saída S será igual a 0. Prof. Carlos Caldas Questão B1 Arquitetura RISC vs CISC 12 (2009/CESPE – INMETRO) Nas arquiteturas RISC, existe um grande número de registros de propósito geral e poucos registros de propósito específico. Verdadeiro Prof. Carlos Caldas Questão B2 Pipeline 13 (2009/CESPE – INMETRO) Nas arquiteturas CISC, as instruções levam geralmente mais de um ciclo de clock e o tamanho das instruções não é o mesmo, o que facilita a implementação do pipelining nessas arquiteturas. Falso Prof. Carlos Caldas Questão B3 Arquitetura RISC vs CISC 14 (2009/CESPE – INMETRO) Um dos objetivos de o CISC ter um conjunto mais rico de instruções é poder completar uma tarefa com um conjunto de linhas em Assembly do menor tamanho possível. Verdadeiro Prof. Carlos Caldas Questão B4 Arquitetura RISC vs CISC 15 (2009/CESPE – INMETRO) As arquiteturas RISC apresentam desempenho de operações em ponto flutuante conveniente para execução de planilhas eletrônicas. Se as planilhas não forem complexas, as arquiteturas CISC também serão adequadas para a execução dessas aplicações. Verdadeiro Prof. Carlos Caldas Questão B5 SISTEMA RAID 16 (2010/CESGRANRIO - BACEN) Determinado sistema de informação requer um banco de dados relacional OLTP com 1,5 TB de espaço livre em disco. Para facilitar a manutenção, os administradores do banco de dados solicitaram que fosse disponibilizado um único volume de disco. Adicionalmente, solicitaram que uma falha nesse único disco não ocasionasse a interrupção do sistema, nem a degradação significativa de seu desempenho. Considerando-se que 4 discos de 1 TB farão parte de um arranjo e que é importante alcançar bom desempenho nas operações de escrita, que nível de RAID é recomendado para essa situação? (A)0 (B)1 (C)4 (D)5 Alternativa E (E)1+0 Prof. Carlos Caldas SISTEMA RAID 5 Questão B6 17 (2010/CESGRANRIO - BACEN) Um servidor de e-mail possui um arranjo RAID-5 formado por 6 discos rígidos, cada um com 1 TB de capacidade. Em determinado momento, um dos discos sofre uma pane, o que ocasiona (A) perda de dados, caso o defeito tenha sido no disco de paridade. (B) degradação significativa no desempenho, em virtude dos cálculos de paridade MD5. (C) diminuição de 3 TB para 2,5 TB no espaço total de armazenamento. (D) redução do desempenho, embora não haja perda de dados. (E) parada do sistema operacional para redistribuição da paridade entre os discos. Alternativa D Prof. Carlos Caldas Questão B7 SISTEMA RAID 18 (2006/ESAF – CGU) Analise as seguintes afirmações relacionadas a sistemas de Tolerância a Falhas: I. Em um espelhamento, os dois volumes envolvidos devem residir no mesmo disco rígido. Se um espelho se tornar indisponível, devido à falha do sistema operacional, pode-se usar o outro espelho para obter acesso aos dados. II. No RAID 5 as informações de paridade são gravadas e distribuídas dentro dos próprios discos envolvidos, isto é, não existe a necessidade de um disco rígido extra para este fim. III. O RAID 0, além de distribuir informações de paridade entre seus discos, usa um disco extra para armazenamento em redundância dessas informações de paridade. IV. O RAID 4 funciona com três ou mais discos iguais. Um dos discos guarda a paridade da informação contida nos demais discos. Se algum dos discos falhar, a paridade pode ser utilizada para recuperar o seu conteúdo. Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV Alternativa D d) I e III e) II e IV Prof. Carlos Caldas Questão C1 Valor máximo representado um um binário de n bits 19 (2009/CESPE - ANAC) Na área de arquitetura de computadores, o espaço de endereçamento determina a capacidade de um processador acessar um número máximo de células da memória, então um processador que manipula endereços de E bits é capaz de acessar, no máximo, E2 células de memória. FALSO Prof. Carlos Caldas Barramento Questão C2 20 (2009/CESPE - ANAC) Se um computador é de 16 bits e outro é de 32 bits, significa que esses computadores adotam células de memória com tamanho de 16 e 32 bits, respectivamente. FALSO Prof. Carlos Caldas Questão C3 21 (2009/CESPE - ANAC) Em um computador com 64K células de memória, instruções de um operando, e um conjunto de 256 instruções de máquina, em que cada instrução tenha o tamanho de uma célula, que é o mesmo tamanho da palavra do sistema, as instruções que trabalham com o modo de endereçamento direto nessa máquina devem ter 16 bits de tamanho. •64K células 16 bits pra endereçar •256 instruções pelo menos 8 bits pra informar a instrução •TAM(instrução) = TAM(célula)FALSO = tamanho da palavra = X de tamanho •Instrução de modo direto operando + endereço Minimo seria 8 bits + 16 bits Prof. Carlos Caldas = 24 bits Questão C4 Registradores Von Neumann 22 (2009/CESPE – ANAC) Ao se projetar um computador sequencial, seguindo o modelo de von Neumann, é fundamental adotar um processador no qual o tamanho em bits do contador de instrução seja igual ao tamanho do registrador de dados da memória. Falso Prof. Carlos Caldas Questão C5 Modo endereçamento 23 (2009/CESPE - ANAC) Considerando que, em um computador, as instruções M e N possuam um código de operação e um operando, que a instrução M acesse a memória principal no modo indireto e a instrução N acesse a memória principal no modo base mais deslocamento, é correto afirmar que a instrução N fará menos ciclo de memória que a instrução M para completar o seu ciclo de instrução. Verdadeiro Prof. Carlos Caldas Pontes Questão C6 24 (2008/CESPE – INSS) O barramento PCI de um computador pessoal possui uma vazão de dados menor que o barramento que interliga as bridges northbridge e southbridge. Verdadeiro Prof. Carlos Caldas Questão C7 25 (2008/CESPE – MP/TO) Uma palavra é um agrupamento de bytes e serve para determinar o tamanho da informação que é considerado pela maioria das instruções. Supondo uma palavra composta por alguns bytes, esses bytes podem ser numerados da esquerda para a direita (little endian) ou da direita para a esquerda (big endian). Falso Prof. Carlos Caldas Questão C8 26 F (2007/CESPE – TSE) Julgue os seguintes itens acerca das arquiteturas de computadores. I O projeto de um RISC não procura minimizar o tempo gasto nas chamadas a procedimentos, pois programas escritos para esse tipo de processador têm menos chamadas do que os escritos para um CISC. V II Uma técnica para simplificar o conjunto de instruções em um RISC é não prover instruções com modos de endereçamento variados e complexos. Podem também ser reduzidas as instruções que acessam a memória. F III Na arquitetura PC, o front-side-bus (FSB) interliga o processador à memória cache, mas não à memória principal. A freqüência do clock da unidade central de processamento tem que ser a do seu FSB. F IV Os termos IDE, SCSI e SATA designam tipos de interfaces usadas para comunicação com unidades de disco rígido. A SATA é uma interface paralela para comunicação com unidades de disco. V V O projeto de uma memória cache visa aumentar a chance de se encontrar o dado na cache, minimizar o atraso resultante de um dado não estar na cache e minimizar o custo de atualizar a memória principal. A quantidade de itens certos é igual a a) 1. b) 2. c) 3. d) 4. Prof. Carlos Caldas Alternativa B Questão C9 27 (2007/CESPE - Perito Criminal Renato Chaves) Acerca da arquitetura de computadores e dos sistemas de numeração, julgue os seguintes itens. I Existem processadores que contêm unidades para gerenciar a memória física. Algumas dessas unidades suportam variados modelos de organização da memória. A unidade no Intel Pentium 4 suporta a segmentação da memória. II No Intel Pentium 4, a memória cache é organizada em níveis. A cache de primeiro nível (L1) é pesquisada quando os dados não estão na de segundo nível (L2). Nesse processador, a cache L1 é maior que a L2. III Em uma placa-mãe com arquitetura do tipo PC, o processador e a memória física se comunicam via front side bus, os cartões de expansão podem ser conectados via barramento PCI e a placa de vídeo pode ser conectada via barramento AGP. Entre esses barramentos, o barramento PCI é o mais veloz. IV A soma dos números binários 00110 e 01111 é igual a 10101. O valor do octal 027 é igual ao valor do decimal 23. A soma dos números hexadecimais B3 e 1A é igual a CD. O decimal 37 é igual ao hexadecimal 25. A quantidade de itens certos é igual a A) 1 B) 2 C) 3 D) 4 F F Prof. Carlos Caldas Alternativa B Questão C10 28 (2006/ESAF – Auditor TI CE) Considere a organização, a arquitetura e os componentes funcionais de computadores e assinale a opção correta: a) As linhas de um barramento são classificadas em três grupos, de acordo com a sua função: de dados, de endereços e de controle. Cada linha pode conduzir apenas 1 byte por vez, sendo assim, o número de linhas total define quantos bytes podem ser transferidos por vez. Falso b) A temporização de um barramento define o modo por meio do qual os eventos nesse barramento são coordenados. Na transmissão assíncrona, a ocorrência de eventos é determinada por um relógio – que define um intervalo de tempo. Falso c) A entrada/saída programada trata interrupções para transferências entre a memória e a entrada/saída por meio do processador. Falso d) O tempo de ciclo de memória compreende o tempo de acesso e o tempo adicional requisitado antes de um próximo acesso ser iniciado – sendo uma definição aplicada principalmente a memórias de acesso aleatório. Verdadeiro e) A relação entre o tamanho (em bits) de um endereço de memória T e o número de unidades endereçáveis N é N = 2 x T (duas vezes T). Falso Alternativa D Prof. Carlos Caldas Questão C11 Memória RAM 29 (2008/CESPE – INSS) Entre a unidade central de processamento (CPU) e a memória RAM dinâmica, encontra-se uma memória cache do tipo estática, cuja latência no acesso aos dados armazenados é menor que a da memória RAM dinâmica. Verdadeiro Prof. Carlos Caldas Questão C12 30 (2008/CESPE – INSS) O endereçamento de memória em um computador pessoal, como o apresentado, emprega notação de complemento a dois para representar os endereços de onde serão recuperados ou para onde serão armazenados os dados que fluem em seus barramentos. Falso Prof. Carlos Caldas Questão C13 31 (2008/CESGRANRIO – Petrobrás) Se um computador tem uma MP com disponibilidade de armazenar 2^16 bits e possui barramento de dados com tamanho de 16 bits, qual o tamanho mínimo do REM e do RDM ? (Considere que a barra de dado tem o tamanho de uma palavra) Tam(RDM) = 16 a) 8 e 12 Capacidade = Qtde * Tam 2^16 = Qtde * 2^5 b) 8 e 16 Qtde = 2^16/2^5 c) 12 e 8 Qtde = 2^12 Tam(REM) = 12 d) 12 e 12 Alternativa E e) 12 e 16 Prof. Carlos Caldas Questão C14 Arquitetura Intel 32 (2007/CESPE – Petrobrás) Existem processadores nos quais programas podem ser executados em diferentes modos de operação. Nesses processadores, aplicações dos usuários são tipicamente executadas em modo usuário, enquanto núcleos de sistemas operacionais são tipicamente executados em modo protegido. Verdadeiro Prof. Carlos Caldas Questão C15 Resolução 33 (2006/CESGRANRIO – EPE) Uma máquina possui instruções de 16 bits e endereços de 4 bits. Do conjunto total de instruções 15 referenciam 3 endereços, 14 referenciam 2 endereços e 16 não apresentam referencia a endereço. Qual e o numero máximo de instruções que referenciam 1 endereço que esta maquina pode ter? (A) 7 (B) 16 (C) 31 Alternativa C (D) 63 (E) 128 Prof. Carlos Caldas Questão C16 34 (2005/ESAF – Auditor Receita TI) Com relação à arquitetura de computadores é correto afirmar que a) a arquitetura RISC especifica que o microprocessador possui poucas instruções, mas cada uma delas é otimizada para que sejam executadas muito rapidamente, normalmente, dentro de um único ciclo de relógio. b) o BIOS é o circuito de apoio ao computador que gerencia praticamente todo o funcionamento da placa-mãe (controle de memória cache, DRAM, controle do buffer de dados, interface com a CPU, etc.). Ele é responsável pelas informações necessárias ao reconhecimento de hardware (armazenadas na sua memória ROM). c) usando-se um endereço de K bits pode-se endereçar no máximo K² (K x K) posições de memória ou células de memória. d) o chipset é um pequeno programa armazenado na memória ROM da placa-mãe. É responsável por acordar o computador, contar e verifi car a memória RAM, inicializar dispositivos, e o principal, dar início ao processo de boot. e) os registradores são memórias ROM utilizadas para o armazenamento de dados. Alternativa A Prof. Carlos Caldas Questão C17 DMA 35 (2004/ESAF – CGU) Em um computador, localizações de memória são organizadas linearmente em ordem consecutiva, são numeradas e correspondem a uma palavra armazenada. O número único que identifica cada palavra é o seu endereço. Com relação aos endereços de memória é correto afirmar que a) na memória de acesso aleatório (RAM) o termo aleatório significa que qualquer endereço de memória pode ser acessado na mesma velocidade, independentemente de sua posição na memória. b) devem ser armazenados no HD para que o processador possa recuperá-los no momento do BOOT. c) são utilizados quando o processador necessita acessar um arquivo ou parte dele. d) os processadores que utilizam DMA (acesso direto à memória) não utilizam os endereços de memória para acessar palavras armazenadas. e) em computadores que utilizam 4 bytes por palavra, 25% da capacidade de memória RAM instalada é utilizada para armazenar os endereços. Alternativa A Prof. Carlos Caldas Questão D1 36 (2008/CESPE – TST) A inanição (starvation) resulta da impossibilidade de um processo utilizar um recurso em função de haver outros processos que utilizam esse recurso de uma forma particular e sem nenhuma forma de bloqueio. Verdadeiro Prof. Carlos Caldas Questão D2 Estados de um processo 37 (2008/CESPE – TST) Um processo zumbi é lançado pelo sistema operacional para verificar sistematicamente a atividade de uma família de pai e filhos de modo que estes não ajam de forma combinada para prejudicar outros processos. Falso Prof. Carlos Caldas Questão D3 Introdução a Processos e Threads 38 (2007/VUNESP - Camara SP) Analise as afirmações sobre o comportamento de threads, normalmente encontradas em implementações típicas de sistemas operacionais: I. sistemas preemptivos não suportam a implementação de threads; II. uma thread pode reinicializar a CPU do computador, caso não possua os recursos para a sua execução; III. uma thread pode se duplicar sem a necessidade de duplicar todo o processo; IV. uma thread pode voluntariamente desistir de utilizar a CPU do computador. Sobre as afirmações, pode-se dizer que está correto o contido em (A) I, apenas. (B) I e II, apenas. (C) II e III, apenas. Alternativa D (D) III e IV, apenas. (E) I, II, III e IV Prof. Carlos Caldas Questão D4 Classificação de SO 39 (2006/ESAF – SEFAZ CE) Os sistemas operacionais gerenciam o hardware de computadores e oferecem uma base para os aplicativos, provendo assim, um serviço aos usuários finais. Para tal contexto, é incorreto afirmar que: a) do ponto de vista de um sistema computacional, o sistema operacional atua como um alocador de recursos, tais como espaço de memória, tempo de CPU (Central Processing Unit) e espaço para armazenamento de arquivos, por exemplo. b) nos sistemas multi-programados, o sistema operacional mantém várias tarefas simultaneamente, na memória – o que aumenta a utilização efetiva da CPU, uma vez que o sistema operacional assegura que a CPU sempre esteja executando uma tarefa. c) multi-programação fornece o compartilhamento de tempo; todavia, possui restrições de tempo fixas e bem-definidas. Com isso, o processamento deve ser efetuado em função destas restrições. d) um sistema operacional de rede oferece recursos tais como compartilhamento de arquivos por meio de comunicação em rede, de modo que diferentes processos em diversos computadores troquem mensagens – sendo assim, é considerado um sistema operacional menos autônomo que os demais. e) um sistema operacional de tempo compartilhado utiliza o escalonamento de CPU e a multiprogramação para fornecer a cada usuário, uma pequena parte de um processamento com o tempo compartilhado. Alternativa C Prof. Carlos Caldas Questão D5 Estados de um processo 40 (2006/ESAF – SEFAZ CE) A respeito do gerenciamento de processos, inclusive com paralelismo, é incorreto afirmar que a) uma thread (linha de execução) de um processo é denominada alvo (target thread) quando precisa ser cancelada, podendo ocorrer de modo assíncrono (quando a thread encerra imediatamente) ou adiado, quando a thread alvo pode averiguar periodicamente se deve encerrar a sua execução. b) o escalonador de processos classificado como de longo prazo (long term scheduler) ou escalonador de tarefas é executado com menos freqüência que o escalonador de curto prazo (short term scheduler) ou escalonador de CPU; e ainda controla o grau de multiprogramação no sistema. c) no Unix, um novo processo é criado a partir da chamada de sistemas fork( ) - que consiste em uma cópia do espaço de endereços do processo-pai. O processo pai, por sua vez, comunica-se com seu processo-filho por meio do uso do identificador de processo (PID – Process Identifier) retornado. d) o estado de um processo é definido de acordo com a sua atividade corrente, em: novo (new) – quando está sendo criado, executando (running) – quando em execução, pronto (ready) – quando está esperando algum evento específico; e terminado (terminated) – ao final de sua execução. e) os benefícios da programação multithread são: responsividade, já que é possível um programa continuar funcionando mesmo com parte dele bloqueado; compartilhamento de recursos (memória e processamento); economia, pois threads compartilham recursos do processo ao qual pertencem; e a utilização de arquiteturas multi-processadas, uma vez que as threads podem executar em paralelo, nos diferentes processadores. Prof. Carlos Caldas Alternativa D Questão E1 Arquivos 41 (2010/FCC – TRE-AM) Em relação aos sistemas de arquivos, é correto afirmar que a) os arquivos podem ser estruturados de várias maneiras, o que não importa para o sistema operacional, pois tudo que ele vê é uma sequência de bytes. b) a organização de arquivos em árvore consiste em uma árvore de registros, todos necessariamente de mesmo comprimento e cada um contendo um campo-chave, localizado em qualquer posição do registro. c) arquivos comuns são arquivos ASCII ou arquivos binários, sendo que estes últimos podem ser impressos da maneira como são exibidos, além de facilitarem a conexão de uma saída de programa à entrada de outro. d) arquivos de acesso sequencial são essenciais para muitos aplicativos como, por exemplo, sistemas de banco de dados, pois seu método de leitura assegura que nenhum registro será deixado de lado. e) em operações com arquivos, o propósito as chamadas de sistema OPEN é permitir que o sistema transfira os atributos e a lista de endereços da memória principal para o disco. Alternativa A Prof. Carlos Caldas Questão E1 Arquivos 42 (2010/FCC – TRE-AM) Em relação aos sistemas de arquivos, é correto afirmar que “No momento da criação de um arquivo seu criador pode definir qual a organização adotada. Esta organização pode ser uma estrutura suportada pelo sistema operacional ou definida pela própria aplicação. A forma mais simples de organização de arquivos é através de uma sequência não estruturada de bytes.... Alguns sistemas operacionais possuem diferentes organizações de arquvos. Neste caso, cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos....” Arquiteturas de Sistemas Operacionais. Francis Berenger Machado Prof. Carlos Caldas Questão E2 Gerência de dispositivoss 43 (2009/CESPE - ANAC) Entre as camadas do gerenciamento de entrada e saída de um sistema operacional, há uma camada chamada de device drivers. Os device drivers são definidos como programas que objetivam padronizar a comunicação entre o susbsistema de E/S e o kernel do sistema operacional. Falso “Tem como objetivo implementar a comunicação do subsistema E/S com os dispositivos” Prof. Carlos Caldas Questão E3 Alocação indexada 44 (2008/CESPE - STJ) Há sistemas operacionais nos quais a cada arquivo é associado um bloco de índice em que são armazenados endereços de blocos com os dados do arquivo. Esse método, chamado alocação indexada, reduz a fragmentação interna presente quando é empregada alocação contígua. Se um sistema suporta ambos os métodos de alocação, deve-se usar alocação indexada se o acesso aos dados for direto, e alocação contígua se o acesso for seqüencial. Falso Prof. Carlos Caldas Questão E4 45 (2008/CESPE – TST) Em uma estrutura de diretório em árvore, o diretório de trabalho do usuário corresponde ao diretório padrão que o usuário acessa imediatamente após o login no sistema. Falso Prof. Carlos Caldas Questão F1 Alocação Particionada Estática 46 (2009/CESPE - ANAC) A diferença entre fragmentação interna e externa é que a primeira ocorre na memória principal, e a segunda, no disco. Falso Prof. Carlos Caldas Questão F2 Técnica de Overlay 47 (2009/CESPE - ANAC) Uma das responsabilidades dos sistemas operacionais é gerenciar a memória. Para que essa gerência possa garantir eficiência na execução dos processos, os sistemas operacionais tentam maximizar o número de processos residentes na memória principal. Para isso, foi introduzido, nos sistemas operacionais, o conceito de swapping, que consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal. Falso Prof. Carlos Caldas Questão F3 Estados de um processo 48 (2008/CESPE – TST) Durante uma operação de swapping, o processo envolvido deve se encontrar em estado de execução ativa. Falso Prof. Carlos Caldas Questão F4 Técnicas de escrita de cache 49 (2008/CESGRANRIO - CAPES) Em qual técnica de escrita (write) em cache a informação é gravada, de maneira síncrona, tanto no cache como nos blocos inferiores da hierarquia de memória? (A) Write-Through (B) Write-Back Alternativa A (C) Paginação Síncrona (D) Paginação Paralela (E) Segmentação DMA-LRU Prof. Carlos Caldas Resolução Questão G1 50 (2009/CESPE - ANAC) Considerando que os processos P1, P2, P3, P4 e P5 tenham tempo de burst de CPU, em milissegundos, iguais a 10, 1, 2, 3 e 5, respectivamente, se os processos chegarem na CPU simultaneamente no instante 0, o tempo de espera médio dos cinco processos, se eles forem escalonados para a CPU por meio de um algoritmo de escalonamento do tipo SJF (shortest job first), será maior do que se eles forem escalonados por um algoritmo FCFS (first come, first served), considerando a ordem de chegada P1, P2, P3, P4 e P5, e que o processo P1 tenha chegado no instante 0. Falso Prof. Carlos Caldas Questão G2 Round robin 51 (2009/CESPE – INMETRO) Um processo vai do estado ready para o estado running quando o quantum de tempo é finalizado em um esquema do tipo round robin. Falso Prof. Carlos Caldas Questão G3 Round robin 52 (2009/CESPE – INMETRO) Se um processo está em execução em uma CPU que utiliza o escalonamento round robin, o estado em que esse processo estará após uma interrupção de clock será o ready. Verdadeiro Prof. Carlos Caldas Questão G4 Escalonamento não preemptivo 53 (2009/CESPE – INMETRO) Na política de escalonamento não preemptivo, o escalonamento somente ocorre quando um processo entra no estado de espera ou termina. Verdadeiro Prof. Carlos Caldas Questão G5 54 (2008/CESPE - STJ) No algoritmo de escalonamento shortest-job-first (SJF), a prioridade de cada processo é inversamente proporcional ao próximo tempo de processamento (CPU burst) necessário ao processo. Por sua vez, no algoritmo round-robin (RR), a lista de processos prontos é tratada como uma lista circular e o processador é alocado, a cada processo, em fatias de tempo. Quando comparados os tempos médios de espera em sistemas que empregam os algoritmos, o tempo médio de espera para execução é tipicamente mais longo no SJF que no RR. Falso Prof. Carlos Caldas Valor máximo representado no sistema binário 55 Quantas representações numéricas podemos formar N=3 com N digitos binários? Binário Decimal N=1 N=2 Binário Decimal Binário Decimal 000 0 0 0 00 0 001 1 1 1 01 1 010 2 10 2 011 3 11 3 100 4 101 5 110 6 111 N digitos binários 2n representações Maior número inteiro com N digitos binários = 2n-1 7 N=1 2 representações N=2 4 representações N=3 8 representações Prof. Carlos Caldas Conversão de um número inteiro de qualquer base para base 10 56 Seja Base b = 8 Os digitos assumem valores relativos à posição: são os coeficientes de potências de base 10 Exemplo 1: 14058 Algarismos Valor Relativo =77310 3 2 1 0 1 4 0 5 1 * 83=512 4 * 82=256 0 * 81=0 5 * 80=5 512 + 256 + 0 + 5 = 77310 Prof. Carlos Caldas Posição Mudança de Base 82 57 Base 8 Base 2 Cada digito em Octal necessita de 3 digitos binários para representá-lo Exemplo: 7518 111 101 0012 111 101 001 Prof. Carlos Caldas Número Flutuante 58 Qual o maior número inteiro expresso com 8 bits? 28-1 = 255 Prof. Carlos Caldas Ponto Fixo vs Ponto Flutuante (1) 59 Como representar frações em ponto fixo? 157,3510 + Posições - 2 1 0 -1 -2 1 5 7, 3 5 1 * 102=100 5 * 101=50 7 * 100=7 3 * 10-1=0,3 5 * 10-2=0,05 Algarismos 100 + 50 + 7 + 0,3 + 0,05 = 157,35 Máximo = 999,99 Prof. Carlos Caldas Valores relativos Ponto Fixo vs Ponto Flutuante (2) 60 4 digitos mantissa 1 digitos expoente 635.100.00010 = 6,351 * 10^5 Expoente Mantissa 6, Algarismos 3 5 1 635.100.000 (9 digitos) 6,351 * 105 (5 digitos) 0,000001 0,1 × 10−5 ( 7 digitos 3 dígitos) Prof. Carlos Caldas 5 Representação Binária de Inteiros Negativos (1) 61 Formas comumente conhecidas Magnitude com sinal Complemento de um Complemento de dois Excesso 2m-1 para números de m bits Prof. Carlos Caldas Representação Binária de Inteiros Negativos (2) 62 Magnitude com sinal O bit da extrema esquerda é o bit de sinal, onde zero é positivo e 1 é negativo e os bits restantes contêm a magnitude absoluta do número. Exemplo 00000001 10000001 00000000 10000000 = = = = 1 Sinal positivo -1 Sinal negativo 0 Sinal Positivo 0 Sinal Negativo Intervalo [-127, ..., -0, +0, ..., +127] Prof. Carlos Caldas Representação Binária de Inteiros Negativos (3) 63 Complemento de 1 Tem um bit de sinal (bit mais à esquerda), onde o 0(zero) é positivo e o 1(um) é negativo. Troca-se todos os zeros por um e todos os uns por zero. Exemplo = -1 Sinal negativo 11111111 = 0 Sinal Negativo 01111111 = 0 Sinal Positivo 11111110 Intervalo [-127, ..., -0, +0, ..., +127] Prof. Carlos Caldas Representação Binária de Inteiros Negativos (4) 64 Complemento de 2 Tem um bit de sinal (bit mais à esquerda), onde o 0(zero) é positivo e o 1(um) é negativo. Aplica-se complemento de 1 e depois soma-se um bit ao digito menos significativo Exemplo 000000110 = 6 111111001 = -6 (complememto de 1) 111111010 = -6 (complemento de 2) Intervalo [-128, ..., +0, ..., +127] Prof. Carlos Caldas Representação Binária de Inteiros Negativos (5) 65 Excesso 2m-1 para números de m bits Representa um número armazenado como a soma dele mesmo com 2m-1. Exemplo = 8bits denominado Excesso 128 (-6)10 em Excesso 128 é representado por (-6 + 128)10 = (122)10 (-6)10 em Excesso 128 = (122)10 = (01111010)2 m Intervalo [-128, 127] são mapeados para [0, 255 ] Prof. Carlos Caldas Representação Binária de Inteiros Negativos (6) 66 Prof. Carlos Caldas Representação Binária de Inteiros Negativos (7) 67 Prof. Carlos Caldas Arquitetura vs Organização (1) 68 Arquitetura Este processador reconhece uma instrução de multiplicação? Como o compilador gera o código objeto? Conjunto de instruções Tipos de dados Modos de endereçamento Conjunto de registradores Organização Existe circuito lógico capaz de multiplicar ou são feitas adições repetitivas? Qual o tipo de memória não volátil é usada para armazenar o Bios? Execução de instruções microprogramadas ou via hardware? Interconexões Prof. Carlos Caldas Modelo de Von Neumman (4) 69 Registradores mais importantes MBR (Memory Buffer Register) ou MDR (Memory Data Register) MAR (Memory Address Register) IR (Instruction Register) PC (Program Counter) AC (Acumulator) Prof. Carlos Caldas Portas Lógicas (1) 70 Portas Lógicas Circuitos digitais compostos por transistors bipolares da familia TTL (Lógica Transistor Transistor) Prof. Carlos Caldas Portas Lógicas (2) 71 Símbolo Expressão da função A S AND S=AxB B Símbolo Expressão da função A NAND S S=AxB B Negação Prof. Carlos Caldas Tabela de verdade A B S 0 0 0 0 1 0 1 0 0 1 1 1 Tabela de verdade A B S 0 0 1 0 1 1 1 0 1 1 1 0 Portas Lógicas (3) 72 Símbolo Expressão da função A S OR S=A+B B Símbolo Expressão da função A S NOR S=A+B B Negação Prof. Carlos Caldas Tabela de verdade A B S 0 0 0 0 1 1 1 0 1 1 1 1 Tabela de verdade A B S 0 0 1 0 1 0 1 0 0 1 1 0 Portas Lógicas (4) 73 Símbolo Expressão da função A S NOT Símbolo S=A Expressão da função A S XOR Tabela de verdade S=AB B Prof. Carlos Caldas A S 0 1 1 0 Tabela de verdade A B S 0 0 0 0 1 1 1 0 1 1 1 0 Portas Lógicas (5) 74 Símbolo XNOR Expressão da função A S S=AB B Negação Prof. Carlos Caldas Tabela de verdade A B S 0 0 1 0 1 0 1 0 0 1 1 1 Pipeline (1) 75 Projeto monociclo 1) Busca Instrução na memória 2) Leitura dos registradores e decodificação das instruções 3) Execução de operação ou cálculo de endereço 4) Acesso a operando na memória 5) Escrita do resultado em registrador O tempo para executar a instrução mais lenta deve ser atribuído as demais. Prof. Carlos Caldas Pipeline (2) 76 Buffer de Busca antecipada (Prefetch Buffer) Ameniza o gargalo da busca de instruções na memória principal Busca antecipada divide a execução de uma instrução em duas partes: Busca Execução Prof. Carlos Caldas Pipeline (3) - Pipeline de 2 estágios 77 L Instrução 1 L - leitura (busca) da instrução E - execução da instrução E L Instrução 2 E L Instrução 3 E L Instrução 4 0 1 2 3 E 4 5 6 Prof. Carlos Caldas tempo Pipeline (4) - Pipeline de 5 estágios 78 0 Instrução 1 Instrução 2 Instrução 3 1 B 2 3 4 D C O B D C B D 5 6 7 tempo 9 10 11 8 E O C E O E Instrução 4 B - busca da instrução (com acesso à memória) D - decodificação do código de operação (sem acesso à memória) C - cálculo do endereço dos operandos (sem acesso à memória) O - busca do(s) operando(s) (com acesso à memória) E - execução da operação (com acesso ou não à memória) Prof. Carlos Caldas B D Pipeline (5) - Pipeline de 5 estágios 79 Obs: – somente um acesso à memória pode ser realizado de cada vez; – no estágio E há acesso à memória ou não para armazenar o resultado da operação; – todos os estágios são realizados em um período de tempo igual. Prof. Carlos Caldas Pipeline (6) – Problema crítico 80 Necessidade de evitar atrasos no processamento dos estágios, de modo a se manter um fluxo contínuo das instruções no seu percurso de um estágio para outro. O problema ocorre no tratamento das instruções de desvio, devido ao desconhecimento do endereço da próxima instrução Prof. Carlos Caldas Tipos de pipeline 81 Pipeline simples Implantado no i486 Prof. Carlos Caldas Pipeline 82 Pipeline duplo Implantado no Pentium Pipeline u Pipeline v Prof. Carlos Caldas Pipeline 83 Processador superescalar Implantado no Pentium II Prof. Carlos Caldas RISC vs CISC (1) 84 RISC - Reduced Instruction Set Computer Muitos registradores Intruções com tamanho fixo Poucas instruções 3 operandos por instrução. Parâmetros, endereço de retorno e valor das funções em registradores. CISC - Complex Instruction Set Computer Poucos registradores Instruções de tamanho variável Muitas instruções 2 operandos por instrução por instrução. Parâmetros e endereço de retorno na stack. Prof. Carlos Caldas RISC vs CISC (2) 85 RISC - Reduced Instruction Set Computer Modos de endereçamento simples (requerem cálculo de endereços por software) Operandos não podem estar em memória. Operações complexas conseguidas à custa de operações simples. CISC - Complex Instruction Set Computer Modos de endereçamento complexos, permitem que muitos endereços possam ser calculados pelo hardware. Utilização intensiva de operandos em memória. Operações complexas implementadas com uma única instrução Prof. Carlos Caldas Memória - Introdução (1) 86 Definição Local onde os dados e informações são armazenados para que possam ser recuperados posteriormente. Características Fundamentais Capacidade de armazenamento Características físicas Tecnologia de Fabricação Hierarquia Desempenho Método de acesso Prof. Carlos Caldas Memória - Introdução (2) 87 Características físicas Voláteis / Permanente Leitura e Escrita / Somente Leitura Tecnologia de fabricação Semicondutores. Magnéticas Óticas Prof. Carlos Caldas Memória - Introdução (3) 88 Nivel hierárquivo Registrador Método de acesso Cache Sequencial Principal Direto Secundária Aleatório Mapeado Prof. Carlos Caldas ou associativo Memória - Capacidade 89 Normalmente medida em: Bytes Palavras Palavra é a unidade de informação que trafega entre a CPU e a memória principal. Normalmente depende do tamanho do barramento de dados. Prof. Carlos Caldas Memória – Hierarquia (1) 90 Cache Memória Principal Memória Secundária Prof. Carlos Caldas Preço Velocidade Registradores Memória – Hierarquia (2) 91 Princípios da Localidade Temporal Se um ítem é referenciado, ele tenderá a ser referenciado novamente. Localidade Ex: Loops (instruções e dados). Espacial Se um ítem é referenciado, itens cujos endereços são próximos a este, tenderão a ser referenciados também. Localidade Ex: acesso a dados em um array. Prof. Carlos Caldas Memória - Desempenho (1) 92 Desempenho Tempo de acesso ou tempo de leitura Período de tempo decorrido entre o endereçamento do processador e a resposta no barramento de dados. Tempo de Ciclo de memória Algumas memórias impedem o uso sucessivo da memória por um pequeno intervalo de tempo. Período de tempo decorrido entre duas operações sucessivas de acesso à memória. Taxa de transferência Vazão na qual os dados podem ser transferidos de ou para a unidade de memória. Prof. Carlos Caldas Memória - Desempenho (2) 93 Taxa de transferência: Para uma memória de acesso não-aleatório, e valida a seguintes relação: TN = TA + N/R Onde: TN = Tempo médio para ler ou escrever N bits TA = tempo médio de acesso N = número de bits R = taxa de transferência em bits por segund (bps). Prof. Carlos Caldas Memória - Método de Acesso (1) 94 Acesso Seqüêncial: Os dados são organizados na memória em unidades chamadas registros; O acesso é feito segundo uma seqüência linear específica; Além dos dados armazenados existem também informações de endereçamento; Exemplo: Unidades de fita Prof. Carlos Caldas Memória - Método de Acesso (2) 95 Acesso Direto: Cada bloco de memória possui um endereço único, baseado na sua localização física; O tempo de acesso é variável Exemplo: Disco rígido Prof. Carlos Caldas Memória - Método de Acesso (3) 96 Acesso Aleatório: Cada posição de memória endereçável possui um mecanismo de endereçamento único e fisicamente conectado a ela; O tempo de acesso é constante. Exemplo: A memória principal e memória cache. Prof. Carlos Caldas Memória - Método de Acesso (4) 97 Acesso Associativo: Uma palavra é buscada na memória com base em parte de seu conteúdo e não de acordo com seu endereço. Exemplo: a memória cache Prof. Carlos Caldas Memória Principal (1) 98 Tipos Voláteis: Memória RAM Não voláteis: Memória ROM Prof. Carlos Caldas Memória Principal (2) 99 Memória RAM Também conhecidas como Conhecidas como DRAM (Dinamic Random Access Memory) Armazenam instruções e dados do programa (Modelo Von Neumman) Composta por células (normalmente 8 bits) Quantidade máxima endereçada (MAR – Memory Address Register) Palavra é a unidade de informação Processador/MP Prof. Carlos Caldas Memória Principal (2) 100 Memória ROM (Read Only Memory) Não volátil Armazena o POST (Power On Self Test) Tipos PROM - Programmable ROM EPROM - Erasable Programmable ROM Pode ser escrito uma vez. Ex: CD-R Poder apagar a ROM usando uma luz ultra-violeta dentro de um sensor da própria ROM por um certo tempo. EEPROM - Electrically Erasable Programmable ROM ou Flash BIOS Pode ser re-gravada com o uso de um software especial. A Flash BIOS opera dessa maneira, assim o usuário pode atualizar a BIOS. Prof. Carlos Caldas Memória Principal (3) 101 RAM – Randomic Access Memory ROM (Somente Leitura) Leitura/Escrita SRAM DRAM FPM EDO DRAM BEDO DRAM SDRAM ROM RDRAM DDR e DDR2 Prof. Carlos Caldas PROM EPROM EEPROM e Flash Memory Memória cache (1) 102 Memórias estáticas denominadas SRAM (Static Randomic Access Memory) Memória volátil de alta capacidade Objetiva diminuir o gargalo do acesso à memória principal Possui tipo de acesso aleatório ou mapeado Possuem eficiência na ordem de 95 a 98% Conceitos Cache-hit Cache-miss Prof. Carlos Caldas Memória Cache (2) 103 Existem dois tipos de cache: Nível um Nível um é construído dentro do processador. Nível dois. Pode ser colocado a própria motherboard Prof. Carlos Caldas Tecnologia RAID (1) 104 RAID Redundant Array of Inexpensive Disks Redundant Array of Independent Disks "Matriz Redundante de Discos Independentes". Combina vários discos rígidos (HD) para formarem uma única unidade lógica Composto por diversas configurações (níveis), podendo prover Tolerância a falhas através de redundância Balanceamento de carga nos acessos às informações Prof. Carlos Caldas Tecnologia RAID (2) 105 Requisitos É preciso utilizar pelo menos 2 HDs. Placa mãe compativel ou Placa controladora compatível Motivação Demanda por maior capacidade de armazenamento Demanda por maior taxa de I/O Demanda por tolerância a falhas Visão do SO Impactos Desempenho de latência (tempo de acesso). Prof. Carlos Caldas Tecnologia RAID (3) 106 Níveis RAID – Nível 0 RAID – Nível 1 RAID – Nível 2 RAID – Nível 3 RAID – Nível 4 RAID – Nível 5 RAID – 0 + 1 RAID – 1 + 0 Dos que oferecem redundância, RAID-1 e RAID-5 são os mais populares. Prof. Carlos Caldas RAID Nivel 0 (1) 107 Também é conhecido como "Striping" ou "Fracionamento" Os Dados são divididos em pequenos segmentos chamados tiras (compostos por setores) e distribuídos entre os discos por auternância circular. Não oferece tolerância a falhas, pois não existe redundância. Prof. Carlos Caldas RAID Raid 0 (2) 108 Vantagens Acesso rápido as informações (até 50% mais rápido). Custo baixo para expansão de memória. Desvantagens Perda de confiabilidade Indicações Grandes requisições de dados. Com o RAID, os dados cabíveis a cada disco são gravados ao mesmo tempo. É muito usado em aplicações de CAD e tratamento de imagens e vídeos. Minimo de 2 discos Prof. Carlos Caldas RAID – Nível 0 (3) 109 Prof. Carlos Caldas RAID Nível 1 (1) 110 Também conhecido como Mirroring ou Espelhamento RAID 1 funciona adicionando HDs paralelos aos HDs principais existentes no computado Se um dos HDs apresentar falha, o outro imediatamente pode assumir a operação 1 Disco 2 e continuar Disco a disponibilizar as informações. Prof. Carlos Caldas RAID RAID 1 (2) 111 Vantagens Tolerância a falha A leitura dessas informações é mais rápida, pois podese acessar duas fontes. Desvantagens A gravação de dados é mais lenta, pois é realizada duas vezes. Indicações Servidores de arquivos Mínimo de dois discos Prof. Carlos Caldas RAID Nível 2 (1) 112 Mecanismo de ECC – Error Correcting Code Diferentemente dos niveis 0 e 1 trabalha por palavra (bytes) ao invés de tiras de setores. A gravação ocorre em todos os discos no nivel de bit. Utiliza mecanismos de detecção e correção de erros (Hamming) Prof. Carlos Caldas RAID Nível 2 (2) 113 Vantagens Desvantagens Requer que a rotação de todos os discos sejam sincronizadas Exige muito do controlador porque ele tem que fazer uma verificação de Hamming para cada leitura de bit Indicações Leitura rápida Escrita rápida Permite detecção e correção de falhas Praticamente não é utilizado devido ao altissimo custo e ao fato de que quase todos os discos rígidos novos saem de fábrica com mecanismos de detecção de falhas implantados. Mínimo de sete discos Prof. Carlos Caldas RAID Nível 2 (3) 114 Prof. Carlos Caldas RAID Nível 3 (1) 115 Versão simplificada do RAID 2 Os dados são divididos entre os discos e há um disco específico para utilização de paridade. Através da verificação desta informação, é possível assegurar a integridade dos dados, em casos de recuperação. Prof. Carlos Caldas RAID Nível 3 (2) 116 Vantagens Leitura rápida Escrita rápida Possui detecção de erros Desvantagens Requer que a rotação de todos os discos sejam sincronizadas Pelo menos 3 discos são necessários Prof. Carlos Caldas RAID Nível 3 (3) 117 Prof. Carlos Caldas RAID Nível 4 (1) 118 RAID 4 Um disco exclusivo de paridade Dividem os dados entre os discos, sendo que um é exclusivo para paridade. Funciona como o RAID 0 com paridade das tiras. Se um setor for atualizado é necessário ler todos os drives para atualizar a paridade. (Disco paridade é um gargalo). Prof. Carlos Caldas RAID Nível 4 (2) 119 Vantagens Não necessita sincronizar todos os discos como o RAID 3. Desvantagens Desempenho ruim para pequenas atualizações Indicações Armazenamento de arquivos grandes Pelo menos 3 discos são necessários Prof. Carlos Caldas RAID Nível 4 (3) 120 Prof. Carlos Caldas RAID Nível 5 (1) 121 RAID 5 Substituto dos níveis 3 e 4 Paridade distribuida A paridade não fica destinada a um único disco, mas a toda matriz. Isso faz com que a gravação de dados seja mais rápida, pois não é necessário acessar um disco de paridade em cada gravação. Prof. Carlos Caldas RAID Nível 5 (2) 122 Vantagens Minimiza o gargalo sobre o disco de paridade existente nos níveis 3 e 4 Indicações Propósitos gerais, SGBD, Servidor de Arquivos, etc. Necessita de pelo menos 3 discos para funcionar. Prof. Carlos Caldas RAID Nível 5 (3) 123 Prof. Carlos Caldas Tipos híbridos 124 RAID 1+0 RAID 1+0 RAID 0+1 Combinação de discos espelhados (RAID-1) com a segmentação de dados (data stripping) (RAID-0) Se algum disco falhar assume-se o comportamento RAID 1. São necessários pelo menos 4 discos RAID 0+1 Combinação dos níveis 0 (Striping) e 1 (Mirroring). Se algum disco falhar assume-se o comportamento RAID 0. São necessários pelo menos 4 discos Prof. Carlos Caldas Barramento (1) 125 Meio de comunicação compartilhado que permite a comunicação entre as unidades funcionais de um computador. Tipos de informação que trafega: Dados, Endereço e Controle Prof. Carlos Caldas Barramento (2) 126 Entre as trocas de informações há uma relação Mestre/Escravo Prof. Carlos Caldas Barramento (3) 127 Barramento de dados Número de linhas de dados define a largura do barramento de dados. Normalmente 8, 16, 32 e 64 bits. A largura do barramento de dados constituí um parâmetro fundamental para o desempenho global do sistema Exemplo: O barramento de dados tem largura de 8 bits e cada instrução tem tamanho de 16 bits. O processador tem de acessar duas vezes o módulo de memória em cada ciclo de instrução. Prof. Carlos Caldas Barramento (4) 128 Principais considerações de projeto Temporização Síncrono Assíncrono Mecanismo de arbitragem Tratamento de interrupções Prof. Carlos Caldas Barramento – Temporização (5) 129 Síncrono Um sinal de relógio temporiza as operações do barramento Assíncrono O protocolo do barramento é definido com base em relações de causa e efeito entre os sinais de controle Usa-se um protocolo de “handshaking” Prof. Carlos Caldas Barramento (6) 130 Mecanismo de arbitragem Centralizados Descentralizados Prof. Carlos Caldas Barramento (6) 131 Principais barramentos Interno Utilizado internamente pelo microprocessador Barramento Traseiro (Backside Bus ou Barramento de Cache) Conecta o processador à memória cache Barramento Local (ou de Sistema ou Frontal (FSB) Conecta o processador (ou memória cache) ao Chipset (Ponte Norte) Prof. Carlos Caldas Barramento (7) 132 Prof. Carlos Caldas Barramento (8) 133 Prof. Carlos Caldas Barramento (9) 134 Prof. Carlos Caldas Dispositivos de E/S 135 Controlador Controlar o dispositivo e manipular para ele o acesso ao barramento. Dispositivo Dispositivo propriamente dito: teclado, disco rígido, pen drive, etc. Driver Software que vai enviar os comandos ao controlador de dispositivo Prof. Carlos Caldas Métodos para controle de entrada e saída 136 Entrada e saida programada Interrupção DMA Prof. Carlos Caldas DMA – Direct Memory Access 137 Implementada através de um específico: o controlador de DMA Três passos: O controlador processador programa o controlador de DMA Identificação do dispositivo, operação a ser realizada, endereço de memória (fonte ou destino dos dados), quantidade de bytes a serem transferidos O controlador de DMA dirige a transferência de dados entre o dispositivo e a memória Prof. Carlos Caldas Papéis do Sistema Operacional (1) 138 Máquina Virtual ou Estendida (Top-Down) Fornece uma camada de abstração simplificada que permita aos usuários interagir com o hardware através de instruções simples denominadas chamadas de sistema. Gerente de Recursos (Bottom-Up) Gerencia as partes de um sistema complexo fornecendo uma alocação ordenada e controlada de processadores, memórias e dispositivos de E/S entre vários programas que competem por eles. Prof. Carlos Caldas Papéis do Sistema Operacional (2) Camada de abstração simplificada 139 Prover interfaces de acesso aos dispositivos, mais simples de usar que as interface de baixo nível. Tornar os aplicativos independentes do hardware. Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas. Prof. Carlos Caldas Papéis do Sistema Operacional (2) Gerência de recursos 140 Cabe ao SO definir políticas para gerenciar o uso de recursos de hardware pelos aplicativos e pelos usuários. Resolver disputas e conflitos Prover justiça Evitar a inatividade Exemplos de recursos: Tempo de uso Prof. Carlos Caldas Processos (1) 141 Definição Processo é um programa em execução acompanhado de um conjunto de atributos que permite ao Sistema Operacional gerenciar a sua execução. Ambiente onde o programa é executado Contém informações sobre a execução e recursos do sistema que cada programa pode utilizar. Prof. Carlos Caldas Processos 142 Estrutura contexto de hardware contexto de software espaço de endereçamento As três partes mantêm todas as informações necessárias à execução de um programa. Prof. Carlos Caldas Processos 143 Contexto de Hardware Armazena o conteúdo dos registradores da CPU Registradores gerais Registradores específicos: PC, SP (stack pointer) e PSW (program status word). Prof. Carlos Caldas Processos Troca de contexto Sistema Operacional Processo B Processo A Salva o conteúdo dos registradores do Processo A Carrega o conteúdo dos registradores do Processo B Salva o conteúdo dos registradores do Processo B Carrega o conteúdo dos registradores do Processo A 144 Prof. Carlos Caldas Processos Estrutura – Contexto de Software (1) 145 Limites e características dos recursos que podem ser alocados pelo processo. Definidos na criação Alterados durante a existência Arquivo de usuários. Especifica os limites dos recursos que cada processo pode alocar, sendo gerenciado pelo administrador do sistema. Prof. Carlos Caldas Processos Estrutura – Contexto de Software (2) 146 Contexto de Software PID (Process Identification) Quotas arquivos abertos simultâneamente, operações I/O pendentes, processos, subprocessos e threads que podem ser criadas, espaço em disco, etc. Privilégios Prioridade de execução, desativação sistema, interrupção de processos, etc. Prof. Carlos Caldas Processos Estrutura – Espaço de endereçamento 147 Área de memória pertencente ao processo onde 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. Prof. Carlos Caldas Processos Estrutura - Resumo 148 nome registradores gerais PID dono (UID) registrador PC prioridade de execução data/hora de criação Contexto de Software Contexto de Hardware registrador SP tempo de processador privilégios Programa Espaço de Endereçamento Endereços de memória principal alocados Prof. Carlos Caldas registrador de status Processos Implementação (1) 149 Tabela de processo Bloco de Controle de Processo (Process Control Block – PCB). A tabela de processos geralmente é limitado por um parâmetro do sistema operacional que permite especificar o número máximo de processos que podem ser suportados simultaneamente pelo sistema. Prof. Carlos Caldas Processos Implementação (2) 150 Gerenciamento de Processos •Identificador (ID) do processo •ID. Processo pai •Registradores •Contador de programa •Palavra de estado do programa •Ponteiro de pilha •Estado do processo •Prioridade •Parâmetros de escalonamento •Grupo do processo •Sinais •Momento em que o processo iniciou •Tempo usado da CPU •Tempo de CPU do filho •Momento do próximo alarme Gerenciamento de memória Gerenciamento de arquivos •Ponteiro para o segmento de código •Ponteiro para o segmento de dados •Ponteiro para o segmento de código •Diretório-raiz •Diretório de trabalho •Descritores de arquivos •Identificador (ID) do usuário •Identificador (ID) do grupo Prof. Carlos Caldas Campos de uma PCB (ou tabela de processos) típica Processos Estados (1) 151 Execução (Running) Pronto (Ready) Espera ou Bloqueado (Wait / Blocked) Prof. Carlos Caldas Processos Estados (3) 152 Execução Término Espera Pronto Espera Pronto Residente na MP Não Residente na MP Prof. Carlos Caldas Criação Processos Classificação 153 Utilização processdor e dispositivos I/O CPU Bound Maior I/O parte do tempo no estado de Execução Bound Maior parte do tempo bloqueado por realizar muitas operações I/O. Comunicação com usuário Foreground Background Prof. Carlos Caldas Implementação de concorrência 154 Processo D Processo A Processos Independentes Processo C Processo B Subprocessos Prof. Carlos Caldas Processo E Criação de Processos 155 Há quatro eventos principais que fazem com que processos sejam criados: Início do sistema Execução de uma chamada ao sistema de criação de processo por um processo em execução. Uma requisição do usuário para criar um processo novo. Início de um job em lote. Chamadas de Sistema Unix/Linux Fork Windows CreateProcess Prof. Carlos Caldas Processos Término 156 Saída normal (voluntária) Saída por erro (voluntária) Erro fatal (involuntário) Cancelamento por um outro processo (involuntário) Chamadas de Sistema kill Windows TerminateProcess Unix/Linux Prof. Carlos Caldas Política de Escalonamento 157 Utilização do Processador (CPU) Tempo gasto pela CPU na execução dos processos do usuário. Throughput (Vazão) Número de processos executados em um determinado intervalo de tempo. Prof. Carlos Caldas Política de Escalonamento 158 Tempo de Processador (CPU) ou CPU Burst É o tempo que um processo leva no estado de execução durante seu processamento. Tempo de Espera Tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado. Prof. Carlos Caldas Política de Escalonamento 159 Tempo de Turnaround É o tempo que um processo leva desde a sua criação até seu término. Tempo de Resposta É o tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida. Prof. Carlos Caldas Política de Escalonamento 160 Não-Preemptivo Neste tipo de escalonamento, quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso da CPU. 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. Preemptivo Neste tipo de escalonamento 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 CPU. Prof. Carlos Caldas Gerência do Processador FIFO ou FCFS 161 FIFO (first in, first out) Conhecido como FCFS (first come, first served) O processo que chegar primeiro ao estado de pronto é selecionado para execução. Sempre que chega um processo no estado de pronto, ele é colocado no final da fila. Se um processo for para o estado de espera, o próximo da fila é escalonado. Quando um processo do estado de espera volta para o estado de pronto, este vai para o final da fila. Prof. Carlos Caldas Gerência do Processador Cooperativo 162 O escalonamento cooperativo é uma implementação que busca aumentar o grau de multiprogramação em políticas de escalonamento que não possuam mecanismos de preempção. Neste caso, um processo em execução pode voluntariamente liberar o processador, retornando à fila de pronto e possibilitando que um novo processo seja escalonado, permitindo assim uma melhor distribuição no uso da CPU. A principal característica do escalonamento cooperativo está no fato de a liberação do processador ser uma tarefa realizada exclusivamente pelo processo em execução, que de uma maneira cooperativa libera a CPU. Prof. Carlos Caldas Gerência do Processador 163 SJF – Shortest Job First Seleciona o processo que tiver o menor tempo de processador (burst) ainda por executar. Término Fila dos processos no estado de Pronto Criação Execução Espera Prof. Carlos Caldas Gerência do Processador 164 SRT (Shortest Remaining Time) Toda vez que um processo no estado de pronto tem um tempo de processador estimado menor do que o processo em execução, o sistema operacional realiza uma preempção substituindo-o pelo novo processo Escalonamento não preemptivo Prof. Carlos Caldas Gerência do Processador Fila Circular ou Round Robin 165 Término Fila dos processos no estado de Pronto Criação Execução Preempção por tempo Espera Prof. Carlos Caldas Gerência do Processador Fila Circular Virtual 166 Término Fila dos processos no estado de Pronto Criação Execução Preempção por tempo Fila auxiliar Espera Prof. Carlos Caldas Gerência do Processador 167 Escalonamento por Prioridades Fila dos processos no estado de Pronto Prioridade P1 Término Prioridade P2 Criação Execução Prioridade Pn Preempção por Prioridade Espera Prof. Carlos Caldas Gerência do Processador 168 Escalonamento Circular com Prioridades Fila dos processos no estado de Pronto Prioridade P1 Término Prioridade P2 Criação Execução Prioridade Pn Preempção por Tempo ou Prioridade Espera Prof. Carlos Caldas Gerência do Processador Escalonamento por Múltiplas Filas com Realimentação 169 Fila dos processos no estado de Pronto Criação Quantum Execução Espera Pronto Maior Prioridade Prioridade P1 Menor Quantum Execução Pronto Execução Espera Pronto Prioridade P2 Execução Pronto Execução Espera Pronto Prioridade P3 Execução Pronto Fila Circular ou Round robin Menor Prioridade Prioridade Pn Prof. Carlos Caldas Maior Quantum Gerência do Processador Escalonamento em Sistema de Tempo Real 170 Sistemas de Tempo Real Aplicação deve ser executada em sistemas operacionais de tempo real O escalonamento em sistemas de tempo real deve levar em consideração a importância relativa de cada tarefa na aplicação. O escalonamento por prioridades é o mais adequado, já que para cada processo uma prioridade é associada em função da importância do processo dentro da aplicação. No escalonamento para sistemas de tempo real não deve existir o conceito de quantum, e a prioridade de cada processo deve ser estática. Prof. Carlos Caldas Objetivos da gerência de memória 171 Manter na memória principal o maior número de processos residentes. Permitir que novos processos sejam aceitos e executados mesmo na ausência de espaço livre na memória principal. Permitir a execução de programas que sejam maiores que a memória física disponível. Proteger áreas de memória Oferer mecanismos de compartilhamento de memória. Prof. Carlos Caldas Objetivos da gerência de memória 172 Manter o controle de quais partes da memória estão em uso e quais não estão. Alocar memória quando um programa precisa e desalocar quando ele deixa de precisar. Gerenciar a troca de processso (swapping) entre a memória e o disco Prof. Carlos Caldas Sistemas de Gerenciamento de Memória 173 Tipos Movem processos entre a memória principal e a secundária Não movem processos entre a memória principal e secundária Monoprogramação Sem Swap ou Paginação Multiprogramação com partições fixas Prof. Carlos Caldas Sistemas de Gerenciamento de Memória 174 Alocação de memória Sem Swapping Alocação Contígua Simples Sem Proteção Com Proteção Overlay Com Swapping Alocação Particionada Estática Absoluta Alocação Particionada Dinâmica Relocável Prof. Carlos Caldas Processo Inteiro Memória Virtual Paginação Segmentação Armazenamento em disco (1) 175 Prof. Carlos Caldas Armazenamento em disco 176 Prof. Carlos Caldas Armazenamento em disco 177 O disco pode ser divido logicamente em partições. No setor denominado “Setor 0” está o MBR MBR – Master Book Record (Registro de Inicialização Mestre) Apenas uma partição Ativa Permite até 4 partições primárias Outras partições extendidas Boot loaders são gravados no MBR. Prof. Carlos Caldas Estruturas de Arquivos (1) 178 Estrutura deve ser definida no momento da criação Prof. Carlos Caldas Estruturas de Arquivos (2) 179 Organização não estruturada ou sequência de bytes Mais comumente utilizado: Windows, Linux Significado ao conteudo do arquivo é dado pela aplicação Prof. Carlos Caldas Estruturas de Arquivos (3) 180 Sequência de registros ou registros de tamanho fixo Uma operação de leitura retorna um registro Uma operação de escrita escreve um registro Exemplo dos cartões perfurados Não mais utilizado Prof. Carlos Caldas Estruturas de Arquivos (4) 181 Árvore de registros ou registros de tamanho variável O arquivo é composto por uma árvore de registros. Cada registro possui uma chave em uma posição fixa do registro. Árvore é ordenada pela chave que é utilizada para se realizar buscas Prof. Carlos Caldas Métodos de acesso utilizados 182 O sistema de arquivos pode provar mais de um método de acesso a seus arquivos Sequencial Conveniente para dispositivos de armazenamento sequenciais Acesso aleatório Operação read é utilizada para indicar em qual posição do arquivo se inicia a leitura Operação seek é fornecida para estabelecer a posição atual Prof. Carlos Caldas Arquivos - Chamadas de Sistema 183 Create Delete Open Close Read Write Append Truncate Get Attributes Set attributess Prof. Carlos Caldas Diretórios 184 Contém entradas associadas aos arquivos onde cada entrada armazena informações como localização física, nome, organização e demais atributos Implementações Single Level Directory Master File Directory/User File Directory Tree Structured Directory Caminho absoluto Caminho relativo / diretório de trabalho Prof. Carlos Caldas Diretórios 185 Prof. Carlos Caldas Gerência de alocação em disco 186 Alocação Contígua (1) Consiste em armazenar um arquivo em blocos seqüencialmente dispostos no disco. Estratégias First fit Best-fit Worst-fit Prof. Carlos Caldas Gerência de alocação em disco 187 Alocação Contígua (2) Prof. Carlos Caldas Gerência de alocação em disco 188 Alocação contígua (3) Vantagens Simples de implementar: endereço em disco do primeiro bloco e o tamanho do bloco Excelente desempenho de leitura Problema Fragmentação É necessário saber antecipadamente o tamanho do novo arquivo. Prof. Carlos Caldas Gerência de alocação em disco 189 Alocação por lista encadeada Prof. Carlos Caldas Gerência de alocação em disco 190 Alocação por lista encadeada Vatanges Todos os blocos do disco podem ser utilizados Desvantagens Busca aleatória no disco é algo extremamente lento Prof. Carlos Caldas Gerência de alocação em disco 191 Alocação por lista encadeada usando tabela na memória (1) Vantagens Resolve o problema do acesso aleatório ao disco Desvantagem A tabela inteira deve estar na memória consumindo muita memória principal. Prof. Carlos Caldas Gerência de alocação em disco 192 Alocação indexada (I-node) (1) Associa a cada arquivo uma tabela chamada i-node. A tabela só é trazida para a memória quando o arquivo é aberto. Vantagens Economiza muito espaço na memória principal em relação à lista encadeada usando tabela na memória. Prof. Carlos Caldas Gerência de alocação em disco 193 Prof. Carlos Caldas Gerenciamento do espaço em disco 194 Questões de projeto do sistema de arquivos Tamanho do Bloco Quotas de espaço em disco Confiabilidade do sistema de arquivos Cópias de segurança Prof. Carlos Caldas Gerência de espaço livre 195 Tabela de Mapa de bits Problema: excessivo gasto de memória Lista encadeada Tabela de blocos livres Leva em consideração que blocos contíguos são geralmente alocados ou liberados simultaneamente. Contém o endereço do primeiro bloco e o número de blocos livres contíguos que se seguem Prof. Carlos Caldas Proteção de acesso 196 Mecanismos Senha de acesso por arquivo Grupos de usuário (Dono, Grupo e Todos) Lista de controle de acesso (Access Control List – ACL) Prof. Carlos Caldas Técnicas de Escrita de Cache 197 Write-Back CPU escreve os dados diretamente no cache, cabendo ao sistema a escrita posterior (assíncrona) na memória principal. Rápido Write-Through CPU escreve na memória cache e o sistema realiza uma escrita síncrona (praticamente ao mesmo tempo) na memória principal. Lento Prof. Carlos Caldas Gerência de Dispositivos Subsistema de Entrada e Saída 198 Prof. Carlos Caldas Questão 15 - Resolução 199 Seja X = Cód. Operação; E = Endereço 15 referenciam 3 endereços 14 referenciam 2 endereços 16 não apresentam referencia a endereço XXXX EEEE EEEE EEEE 15 instruções referenciam 3 endereços. Sobra 1 representação 0000 YYYY EEEE EEEE 14 instruções referenciam 2 endereços. Sobra 2 representações 0000 0000 XXXX XXXX 0000 0001 XXXX EEEE Fixando as 16 que não referenciam endereço em 0000 0000 0000 XXXX Sobram 15 representações Sobram 16 representações que podem referenciar 1 endereço Resultado = 15 + 16 Prof. Carlos Caldas Questão G1 - Resolução 200 Algoritmo SJF Algoritmo FCFS Processo Tempo de Espera Processo Tempo de Espera P2 1 P1 10 P3 1+2=3 P2 10 + 1 = 11 P4 3+3=6 P3 11 + 2 = 13 P5 6 + 5 = 11 P4 13 + 3 = 16 P1 11+10 = 12 P5 16 + 5 = 21 Média (1+3+6+11+12)/5 = 33/5 = 6,6 Média (10+11+13+16+21)/5 = 71/5 = 14,2 CPU Burst P1 P2 10 1 P3 P4 P5 2 3 5 Prof. Carlos Caldas