Upload
uepb-universidade-da-paraiba
View
102
Download
0
Embed Size (px)
Citation preview
Arquitetura e Organização de Computadores● Livro Texto
– Arquitetura e Organização de Computadores● William Stallings● Prentice Hall
Arquitetura e Organização de Computadores● Arquitetura de computadores
– Faz referência aos atributos visíveis ao programador● Atributos que têm impacto direto sobre a execução lógica de um
progrma
– Incluem: ● conjunto de instruções, número de bits, mecanismos de E/S,
técnicas de endereçamento de memória, etc.
Arquitetura e Organização de Computadores● Organização de computadores
– Se refere às unidades operacionais e suas ligações– Define como são implementadas as especificações da
arquitetura– São descrições transparentes ao usuário– Incluem:
● Sinais de controle, interfaces, tecnologia de memória utilizada, etc.
Arquitetura e Organização de Computadores● Devido à sua complexidade, os diversos componentes
de um computador são subdivididos e classificados de acordo com sua estrutura e função
● Estrutura– Define o inter-relacionamento entre os componentes
● Função– Define a operação de cada componente
Arquitetura e Organização de Computadores● Funções básicas de um computador
Transferênciade Dados Controle
Armazenamentode Dados
Memória
Processamentode Dados
Fonte e Destino dosDados
Arquitetura e Organização de Computadores
● Estrutura– Unidade Central de Processamento (CPU)
● Unidade de Controle● Unidade Lógica e Aritmética● Registradores● Interconexão da CPU
– Memória principal– Dispositivos de E/S– Sistema de interconexão
Arquitetura e Organização de Computadores● Programação em hardware
Sequência de funções lógicas e
aritméticas
Dados Resultados
Arquitetura e Organização de Computadores● Programação em software
Funções lógicas e
Aritméticasde propósito
geral
Dados Resultados
Instruções
Interpretador de instruções
Sinais de controle
Arquitetura e Organização de Computadores● Componentes do computador
– Baseados na arquitetura de von Neumann● Dados e instruções armazenados em única memória● Memória endereçada por sua posição, independentemente do tipo
de dados● Execução de instruções em modo sequencial
Arquitetura e Organização de Computadores● Componentes do computador
I/O BR
I/O AR
MBRIR
MARPC
Instrução
Instrução
Instrução
Dados
Dados
Dados
Áreas de armazenamentotemporário
CPU Memória
Módulode E/S
Arquitetura e Organização de Computadores
Componentes do Computador– Ciclo básico de instruções
INÍCIO PARADABusca dapróxima instrução
Execução dainstrução
Ciclo de busca Ciclo de execução
Arquitetura e Organização de Computadores● Componentes do Computador
– Tipos de ações a executar● Processador – memória● Processador – E/S● Processamento de dados● Controle
Arquitetura e Organização de Computadores● Interrupções
– Mecanismo utilizado para interromper a sequência normal de execução de instruções do processador, objetivando melhorar a eficiência desse processador
● Interrupção de software● Interrupção de relógio● Interrupção de E/S● Interrupção de falha de hardware
Arquitetura e Organização de Computadores● Interrupções
INÍCIO
PARADA
Busca dapróxima instrução
Execução dainstrução
Ciclo de busca Ciclo de execução Ciclo de interrupção
Execução dainstrução
Instruçõesdesabilitadas
Instruçõeshabilitadas
AOC - Barramentos
● Estrutura de Interconexão– Conjunto de caminhos que conectam os
vários componentes de hardware– Barramento
● Composto de vários caminhos ou linhas de
comunicação, capaz de transmitir sinais
binários● Transmissão em paralelo (tamanho da
palavra)
AOC - Barramentos
● Barramento de sistema● É o barramento usado para conectar os principais componentes do
computador● Estrutura de barramentos
– De dados● Sua largura constitui um parâmetro fundamental de desempenho
– De endereço● Sua largura determina a capacidade máxima de armazenamento
– De controle● Escrita/leitura em memória, escrita/leitura em porta de E/S, confirmação
de transferência, requisição/concessão de barramento, requisição/confirmação de interrupção, relógio, inicialização.
AOC - Barramentos
● Tipos de barramentos– Dedicados
● Associados a um subconjunto de componentes físicos
– Multiplexados● As linhas de barramento são utilizadas com vários propósitos –
multiplexação de tempo● Vantagens: economia de espaço e diminuição de custo● Desvantagens: circuitos mais complexos – maior controle;
compartilhamento não permite certas operações em paralelo
AOC - Barramentos
● PCI– Peripheral Component Interconnect
● Usado para subsistemas de E/S de alta velocidade● Permite até 46 linhas de dados de 66 MHz● Taxa de transferência de 4,22 Gbps● Baixo custo● Pode conectar outros barramentos
AOC – Memória Interna
● Características fundamentais– Localização
● Processador; interna (principal); externa (secundária)
– Capacidade● Memória interna (expressa em bits – 32/64 bits); externa (expressa
em bytes)
– Unidade de transferência● Palavra; bloco
AOC – Memória Interna
● Características fundamentais– Método de acesso
● Sequencial● Direto
– Acesso em nível de bloco● Aleatório
– Acesso em nível de posição de memória● Associativo
– Implementa processo de busca por conteúdo e não por endereço
AOC – Memória Interna
● Características fundamentais– Desempenho
● Tempo de acesso– Memória de acesso aleatório: tempo para efetuar uma operação de escrita/leitura– Memória de acesso não-aleatório: tempo para posicionar o mecanismo de
escrita/leitura na posição desejada● Tempo de ciclo de memória
– É o tempo de acesso mais o tempo necessário antes que um segundo acesso possa ser iniciado
● Desaparecimento de transientes nas linhas de controle● Regeneração dos dados – leitura destrutiva
● Taxa de transferência– Taxa na qual os dados podem ser transferidos de/para a memória
AOC – Memória Interna
● Características fundamentais– Tecnologia
● Semicondutor; superfície magnética; ótica
– Características físicas● Volátil; não-volátil; apagável; não-apagável
– Organização● Arranjo dos bits para formar as palavras
AOC – Memória Interna
● Hierarquia da memória– Usada porque tempo de acesso, custo e capacidade de
armazenamento são características conflitantes● Do topo para a base
– O custo diminui– A capacidade aumenta– Tempo de acesso aumenta– A frequência de acesso pelo
processador diminui
AOC – Memória Interna
● Memória principal– Memória RAM
● Dinâmica– Dados armazenados em capacitores– Precisa de um processo de refresh– Menos componentes – menor custo – maior capacidade – menor desempenho
● Estática– Dados armazenados em flip-flops com portas lógicas– Não há necessidade de refresh– Mais componentes – maior custo – menor capacidade – maior desempenho
AOC – Memória Interna
● Memória Cache– É uma memória de acesso mais rápido, localizada próximo ao
processador– Atualmente existe mais de um nível de memória cache
● Cache interna (L1)– De dados– De instrução
● Cache externa (L2)
AOC – Memória Externa
● Disco Magnético– Prato circular de metal ou plástico, coberto com material
magnetizável– Escrita/leitura feita pelo cabeçote ou cabeça de
leitura/gravação
AOC – Memória Externa
● Disco Magnético– Organização dos dados
● Os discos são organizados em trilhas e setores
– Uma trilha tem a largura do cabeçote de leitura/gravação, e entre cada uma há um espaço (gap) para evitar ou minimizar a ocorrência de erros devido ao mal posicionamento do cabeçote
– Quanto mais interna, mais densa a a informação dentro de uma trilha
– Setores são os blocos de uma trilha
AOC – Memória Externa
● Disco Magnético– Organização dos dados
● Podem existir 500 a 2000 trilhas por superfície● Podem existir 10 a 100 setores por trilha● O processo de formatação divide o disco em setores e trilhas,
acrescentando informações de controle, não visíveis ao usuário, identificando a quantidade, tamanho, início e fim das trilhas e setores
AOC – Memória Externa
● Disco Magnético– Características físicas
● Cabeçote fixo– Um cabeçote para cada trilha
● Cabeçote móvel– Um cabeçote único montado em um braço móvel
● Disco não removível– Montado permanentemente na unidade de disco
● Disco removível– Pode ser removido e substituído
AOC – Memória Externa
● Disco Magnético– Características físicas
● Cobertura magnetizável em um só lado● Cobertura magnetizável nos dois lados● Um único prato● Pratos múltiplos
– Os pratos são agrupados em pacotes de discos
AOC – Memória Externa
● Disco Magnético– Parâmetros de desempenho
● Tempo de busca– Tempo para posicionar o cabeçote na trilha
● Atraso/latência rotacional– Tempo para posicionar o setor
● Tempo de acesso– Tempo de busca + atraso rotacional
● Espera por canal– Quando diversas unidade de E/S compartilham o mesmo canal
AOC – Memória Externa
● Disco Magnético– Sistema RAID
● O aumento de desempenho da memória principal e dos processadores é maior que o da memória externa
● Para diminuir essa diferença são utilizados componentes em paralelo operando independentemente
● São acrescentados mecanismos de redundância de dados para aumentar a confiabilidade dos mesmos
● Caraterísticas– Agrupamento de discos físicos visto como uma única unidade lógica– Os dados são distribuídos pelas unidades físicas– Redundância usada para armazenar informações de paridade, para
recuperação em caso de falhas em discos
AOC – Dispositivos de E/S
● Módulos de E/S– São dispositivos que se conectam ao barramento do sistema– Controlam um ou mais dispositivos– Contêm a lógica para efetuar a comunicação entre o
periférico e o barramento
AOC – Dispositivos de E/S
● Módulos de E/S– Inviabilidade de conexão direto ao barramento de sistema
● Há uma grande variedade de periféricos com diferentes mecanismos de comunicação, impossibilitando incorporar ao processador cada uma dessas lógicas
● Taxas de transferências de dados dos periféricos são muito menores que as taxas de transferência entre memória e processador
● Periféricos usam formatos de dados e tamanhos de palavras diferentes
AOC – Dispositivos de E/S
● Módulos de E/S– Objetivo
● Fornecer interface com o processador
e a memória● Permitir a interface com os demais
dispositivos periféricos
AOC – Dispositivos de E/S
● Módulos de E/S– Dispositivos Externos
● Categorias– Comunicação com o usuário
● Terminais de vídeo, impressoras, ...– Comunicação com a máquina
● Discos e fitas magnéticas– Comunicação com dispositivos remotos
● Módulos de comunicação
AOC – Dispositivos de E/S
● Módulos de E/S– Dispositivos Externos
● Modelo geral– Sinais de controle
● Determinam a função a ser executada– Dados
● Bits a serem enviados ou recebidos– Sinais de estado
● Indicam o estado do dispositivo– Lógica de controle
● Controle a sua operação em resposta a um comando– Transdutor
● Converte os sinais elétricos em sinais manipulados pelo dispositivo
AOC – Dispositivos de E/S
● Módulos de E/S– Funções
● Controle e temporização– Controla o fluxo de dados entre os recursos internos e os dispositivos
externos● Comunicação com o processador
– Decodificação do comando– Transferência de dados– Informação de estado– Reconhecimento de endereço
AOC – Dispositivos de E/S
● Módulos de E/S– Funções
● Comunicação com dispositivos● Área de armazenamento temporário de dados
● Detecção de erros
AOC – Dispositivos de E/S
● Módulos de E/S– Técnicas para a realização das operações de E/S
● Programada– Dados transferidos entre processador e o módulo de E/S– O processador controla diretamente as operações
● Detecção do estado do dispositivo● Envio de comandos de leitura/escrita● Executa a transferência de dados
– O processador envia um comando e espera até que a operação seja concluída
– O processador é quem faz a transferência de dados de/para a memória principal
AOC – Dispositivos de E/S
● Módulos de E/S– Técnicas para a realização das operações de E/S
● Dirigida por interrupção– O processador envia um comando para o módulo de E/S e continua
executando suas outras instruções– O mesmo é interrompido como o módulo tiver completado seu trabalho– O processador é quem faz a transferência de dados de/para a memória
principal● Acesso direto à memória
– É uma técnica especial por interrupção onde a transferência de dados entre o módulo à memória acontece sem a intervenção do processador
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Tipos de interface– Serial
● Usa uma linha de conexão entre o módulo de E/S e o dispositivo periférico para a transferência dos dados
– Paralela● Usa várias linhas de conexão
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Tipos de conexão– Ponto a ponto
● Oferece uma linha dedicada entre o módulo de E/S e o periférico– Multiponto
● Usadas para a conexão de dispositivos externos e de armazenamento em massa e dispositivos multimídia
● Exemplos: SCSI e FireWire
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Conexão SCSI– Interface para pequenos componentes computacionais– É uma interface padrão para unidades de leitura, equipamentos de áudio, e
dispositivos externos de armazenamento em massa– Usa uma interface paralela– Os dispositivos são conectados em uma cadeia circular, sendo um ponto
desta cadeia conectado ao computador– Permite o funcionamento dos dispositivos de forma independente, podendo
haver a troca de dados entre os dispositivos sem envolver o processador
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Conexão SCSI– Os dados são transferidos na forma de pacotes de mensagens
● Mensagens trocadas entre um iniciador e um alvo– Fases de atividade no barramento
● Barramento livre● Arbitração
● Quando um dispositivo ganha o controle do barramento● Seleção
● Quando um iniciador seleciona um alvo● Restabelecimento da conexão
● Alvo restabelece conexão com iniciador para retomar uma operação suspensa pelo alvo
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Conexão SCSI– Fases de atividade no barramento
● Comandos● Dados● Estado
● Alvo realiza requisição para que uma informação de estado seja ao envidada ao iniciador
● Mensagem● O iniciador requisita transferência de mensagens do alvo para o
inciador e vice-versa
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Conexão SCSI– Fases de atividade no barramento
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Barramento FireWire– É o padrão IEEE 1394– Possibilita a transferência de dados em alta velocidade– É uma interface de baixo custo e fácil implementação– Usa a transmissão serial– Permite a conexão de 63 dispositivos em uma única porta, sendo possível a
interconexão de até 1022 barramentos entre si– Permite a configuração automática
● Não é preciso especificar um endereço distinto para cada dispositivo
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Barramento FireWire
– Não existem terminadores– Não precisa ter a configuração circular, podendo assumir uma configuração
em árvore
AOC – Dispositivos de E/S
● Módulos de E/S– Interface externa
● Barramento FireWire– Implementado em protocolo de três camadas
● Camada física● Define os meios de transmissão, as características físicas e de
sinalização● Camada de enlace
● Descreve a transmissão de dados em pacote● Camada de transação
● Define um protocolo de requisição-resposta, que encapsula os detalhes das camadas inferiores
AOC - CPU
● Unidade Central de Processamento– Componentes
● Unidade lógica e aritmética● Registradores● Unidade de controle● Relógio● Interconexões entre esses componentes
AOC - CPU
● Ações executadas pela CPU– Busca de instrução– Interpretação da instrução– Busca de dados– Processamento de dados– Escrita de Dados
AOC - CPU
● Unidade Lógica e Aritmética– Executa as operações lógicas e aritméticas– Baseada em dispositivos lógicos digitais simples– Armazenam dígitos binários– Efetuam operações simples da lógica booleana
AOC - CPU
● Registradores– Fazem parte da hierarquia de memória do computador– São divididos em dois grupos
● Visíveis ao usuário● De controle e de estado
AOC - CPU
● Registradores– Visíveis ao usuário
● De propósito geral● De dados● De endereço● De códigos de condição
AOC - CPU
● Registradores– De controle e de estado
● Controle de programa (PC)● De instrução● De endereçamento à memória● De armazenamento temporário de dados
– São usados em conjunto para a transferência de dados entre CPU e memória
AOC - CPU
● Registradores– De controle e de estado
● PSW (palavra de estado de programa)– Contém códigos de condição e informações de estado
● Sinal – bit de sinal resultante de uma operação● Zero – indica que resultado da operação é igual a 0● Vai-um – usado para operações aritméticas de múltiplas palavras● Igual – indica igualdade em uma comparação● Overflow – indica estouro de capacidade em operações aritméticas● Habilitar/desabilitar interrupção● Supervisor – indica modo de operação da CPU. Algumas instruções só
podem ser executadas ou algumas áreas de memória só podem se acessadas se a CPU estiver no modo supervisor
AOC - CPU
● Registradores– De controle e de estado
● Podem existir ainda os seguintes registradores:– Registrador que aponta para um endereço de memória que contenha o bloco
de controle de processos– Registrador de vetor de interrupções– Registrador de controle de pilha (para controle de chamadas a subrotinas)– Registrador para tabela de páginas para controle da memória virtual– Registrados para controle das operações de E/S
AOC - CPU
● Unidade de Controle– É o componente que controla a operação do processador– O funcionamento do processador depende das seguintes
definições● Operações a executar● Modos de endereçamento● Registradores● Interface com o módulo de E/S● Interface com o módulo de memória● Estrutura de processamento de interrupção
AOC - CPU
● Unidade de Controle– Operações a executar
● Microoperações– São os passos necessários para a execução de cada um dos subciclos de
instrução
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Etapas– Busca
● Lê a próxima instrução da memória para a CPU– Execução
● Interpreta e efetua a operação indicada– Interrupção
● Quando habilitadas, na ocorrência de interrupções, salva o estado do processo atual e processa a interrupção
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Ciclo indireto– É ativado quando é utilizado o endereçamento indireto para acesso à
memória– No endereçamento direto o tamanho do campo de endereço é menor que o
tamanho de uma palavra, limitando a quantidade de memória endereçada. No endereçamento indireto o campo de endereço aponta para uma posição de memória que contém o endereço do operando.
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Busca– Para este processo, consideramos os seguintes registradores
● Registrador de endereço de memória (MAR)● Especifica o endereço de memória para uma operação de R/W
● Registrador de armazenamento temporário de dados (MBR)● Contém um valor a ser armazenado ou o último valor lido da
memória● Contador de programa (PC)
● Contém o endereço da próxima instrução a ser executada● Registrador de instrução (IR)
● Mantém a última instrução buscada da memória
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Busca– Etapas
● O endereço da próxima instrução está em PC● Esse endereço é movido para MAR● Esse endereço é movido para o barramento de endereços e o conteúdo
lido é colocado em MBR● O PC é incrementado em uma unidade
– O processo é executado em em três passos e quatro microoperações
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Ciclo indireto– Deve acontecer antes da execução da instrução ser for utilizado o
endereçamento indireto● Etapas
● O campo de endereço da instrução é transferido para MAR● O conteúdo desse endereço é transferido para MBR● O conteúdo do endereço apontado por MBR é transferido para IR
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Ciclo de interrupção– Ativado toda vez que ocorre uma interrupção
● Etapas● O conteúdo do PC é transferido para o MBR● O endereço para salvamento é carregado em MAR● O PC é carregado com o endereço da rotina de interrupção● O conteúdo do MBR é salvo no endereço apontado por MAR
● Essas etapas podem variar de acordo com os níveis e/ou tipos de interrupções tratadas
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Ciclo de execução– Este ciclo é mais complexo, envolvendo uma série de microoperações– Exemplo 1: operação de adição
● ADD R1,X
AOC - CPU
● Unidade de Controle– Ciclo de Instrução
● Ciclo de execução– Exemplo 2: incrementar um valor e, caso esse valor seja zero, é pulada uma
instrução● ISZ X
AOC - CPU
● Unidade de Controle– Modelo geral
● Entradas– Relógio
● Faz a marcação de tempo da CPU● A unidade de controle faz com que cada microoperação seja executada
a cada pulso do relógio (ciclo do processador ou de relógio)– Registrador de instrução
● Usado para indicar as microoperações a serem executadas durante o ciclo de execução
– Códigos de condição● Determinam o estado do processador e saída de suas operações
executadas pela ULA
AOC - CPU
● Unidade de Controle– Modelo geral
● Entradas– Sinais de controle do barramento de controle
● Fornece sinais como interrupções e de reconhecimento● Saídas
– Sinais de controle internos ao processador● Indicam movimentação de dados entre registradores e ativação de
funções específicas da ULA– Sinais de controle para o barramento de controle
● Sinais de controle para a memória e para os módulos de E/S
AOC – Sistema Operacional
● Sistema Operacional– É o programa que gerencia os recursos do computador– Fornece serviços para programadores– Estabelece a ordem de execução dos demais programas
AOC – Sistema Operacional
● Visão Geral– Objetivos
● Conveniência– Torna mais conveniente o uso do computador (interface com o usuário)
● Eficiência– Permite uma utilização mais eficiente dos recursos
AOC – Sistema Operacional
● Visão Geral– Objetivos
● Interface com o usuário– O usuário final tem acesso aos recursos
computacionais via programas aplicativos– Programas aplicativos são desenvolvidos
por programadores, utilizando programas de
de utilitários e programas de sistema– O sistema operacional esconde detalhes do
hardware fornecendo uma interface conveniente para o uso do sistema, atuando como um mediador entre programadores/programas utilitários e os recursos/serviços do computador
AOC – Sistema Operacional
● Visão Geral– Objetivos
● Interface com o usuário– Permite a execução das seguintes atividades
● Criação de programas● Execução de programas: transferência de dados e instruções de/para
memória e para dispositivos de E/S● Acesso a dispositivos de E/S● Acesso controlado aos arquivos● Acesso ao sistema● Detecção e reação a erros● Monitoramento
AOC – Sistema Operacional
● Visão Geral– Objetivos
● Gerenciamento de recursos– O sistema operacional é um
programa como outro qualquer– Ele prepara o processador para
a execução de alguma tarefa– Transfere o controle do processador
para a execução dessa tarefa– Na conclusão da tarefa, o controle
é devolvido ao sistema operacional
AOC – Sistema Operacional
● Visão Geral– Partes do sistema operacional residentes na memória
principal● Kernel/núcleo
– É a parte do sistema operacional que as funções mais frequentemente usadas
● Funções em uso– Funções que não fazem parte do núcleo mais estão em execução naquele
momento
AOC – Sistema Operacional
● Tipos de sistemas operacionais– Sistema interativo x sistema em lotes
● Sistema interativo– O programador/usuário interage diretamente com o computador (usando
interfaces) para solicitar a execução de tarefas ou efetuar transações, podendo se comunicar com o computador durante a execução dessas tarefas
● Sistema em lote– Os diversos programas de usuário são agrupados em lotes e então
submetidos à execução. Não há interação com usuário, que deve esperar a conclusão do processamento para ter acesso aos resultados de saída.
AOC – Sistema Operacional
● Tipos de sistemas operacionais– Monoprogramado x Multiprogramado
● Monoprogramadado– Permite apenas a execução de um programa por vez
● Multiprogramado– Permite que vários programas sejam, ao mesmo tempo, carregados na
memória. O tempo de processamento é divido entre eles
AOC – Sistema Operacional
● Tipos de sistemas operacionais– Em lote multiprogramados x de tempo compartilhado
● Em lote multiprogramados– Várias tarefas são preparadas ao mesmo tempo para a execução– Essas tarefas são carregadas na memória principal– O processador decide qual tarefa será executada em determinado instante
● De tempo compartilhado– É um sistema multiprogramado que permite interação com o usuário– Com essa técnica é permitido que vários usuários utilizem o sistema ao
mesmo tempo, por meio de terminais
AOC – Sistema Operacional
● Sistema operacional multiprogramado– Processo
● É um programa em execução● Estados possíveis de um processo
– Novo– Pronto– Em execução– Suspenso– Concluído
AOC – Sistema Operacional
● Sistema operacional multiprogramado– Processo
● Bloco de controle de processos– É responsável pela identificação de cada processo no sistema operacional– Informações contidas
● Identificador● Estado● Prioridade● Contador de programa: endereço da próxima instrução● Limites de memória: onde o processo está armazenado● Informações de contexto: estado e registradores da CPU● Informação de estado de E/S● Informação de contabilidade: pode incluir a quantidade de tempo de
processador, o tempo total utilizado, limites de tempo de execução, contabilização de uso de recursos, etc
AOC – Sistema Operacional
● Sistema operacional multiprogramado– Escalonamento de processos
● É a base para a implementação da multiprogramação● O escalonador é responsável pela decisão de que processo será
executado em determinado tempo● Tipos de escalonamento
– A longo prazo– A médio prazo– A curto prazo
AOC – Sistema Operacional
● Sistema operacional multiprogramado– Escalonamento de processos
● A longo prazo– O escalonador a longo prazo determina que programas são admitidos para
processamento– Controla o grau de multiprogramação
● Número de processos na memória● A médio prazo
– Faz parte da função de troca de processos entre as memórias principal e secundária, geralmente para processos em estado de suspensão
● A curto prazo– Decide qual a próxima tarefa a ser executada dentre as que estão em estado
de pronto
AOC – Sistema Operacional
● Gerenciamento de memória– É a atividade responsável por controlar o fluxo de processos
na memória– Quanto mais eficiente esse gerenciamento, maior será o
desempenho do computador como um todo
AOC – Sistema Operacional
● Gerenciamento de memória– Troca de processos na memória
● Um processador pode ficar ocioso
caso todos os processos escalonados
estejam esperando por uma operação
de E/S● Aumentar o tamanho da memória
geraria um aumento no custo do
computador● As requisições de memória, pelos programas, têm sido cada vez
maiores, aumentando o tamanho dos processos
AOC – Sistema Operacional
● Gerenciamento de memória– Troca de processos na memória
● Solução: implementação da troca de processos (swapping)– Toda vez que um processo estiver ocioso, dentro da memória, o mesmo é
retirado para uma fila de médio prazo– No seu lugar é colocado um processo que estava nessa fila, ou então um
processo da fila de longo prazo
AOC – Sistema Operacional
● Gerenciamento de memória– Partição de memória
● Indica como a memória está subdividida para acomodar os diferentes processos
– Partições de tamanho fixo– Partições de tamanho variável
AOC – Sistema Operacional
● Gerenciamento de memória– Partição de memória
● Partições de tamanho fixo– A memória é dividida em blocos de tamanho fixo,
mas não necessariamente com todos os blocos
de mesmo tamanho– Um processo é alocado à menor partição disponível
que caiba esse processo– Desvantagem: desperdício de memória
AOC – Sistema Operacional
● Gerenciamento de memória– Partição de memória
● Partições de tamanho variável– Cada processo aloca o espaço de memória necessário– Vantagem: economia de memória– Desvantagem: fragmentação da memória, sendo necessário um processo de
compactação
AOC – Sistema Operacional
● Gerenciamento de memória– Partição de memória
● Partições de tamanho variável– Fragmentação da memória
● Endereço físico– Posição dentro da memória
● Endereço lógico– Posição relativa ao início do
programaPÁG 276
AOC – Sistema Operacional
● Gerenciamento de memória– Paginação
● Técnica usada para diminuir a ineficiência das alocações das partições de tamanho fixo ou variável
● Os processos são subdivididos em pequenos pedaços de tamanhos fixos chamados de páginas
● As páginas podem ser alocadas em blocos de memória disponíveis● O espaço desperdiçado é apenas uma fração do último bloco
alocado ao processo● Não é necessário que os blocos necessários estejam
contiguamente posicionados
AOC – Sistema Operacional
● Gerenciamento de memória– Paginação
● Dessa forma, a memória é divida em blocos de mesmo tamanho ● Os processos são divididos em páginas do mesmo tamanho do
bloco de memória● Quando um processo é trazido para a memória, suas páginas são
carregadas em blocos e é criada uma tabela de páginas
AOC – Sistema Operacional
● Gerenciamento de memória– Memória virtual
● Com a memória dividida em blocos e os processos em páginas, não é necessário que todo o processo fique alocado na memória principal durante a sua execução
● Apenas as páginas de código e as páginas de dados precisam estar alocados
● As demais páginas ficam residentes na memória virtual e são carregadas quando solicitado
– Paginação sob demanda● Assim é possível que um processo seja maior que toda a memória
principal, não ficando limitado a esse tamanho