arq orgcomp

101
Arquitetura e Organização de Computadores Livro Texto Arquitetura e Organização de Computadores William Stallings Prentice Hall

Upload: uepb-universidade-da-paraiba

Post on 25-Jul-2015

103 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

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 de semicondutor

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 Interna

● Memória Cache

Indica o bloco de memória

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 – Memória Externa

● Fita magnética● Disco óptico

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

● Visões da CPU

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– Ciclo de Instrução como um todo

AOC - CPU

● Unidade de Controle– Modelo geral

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

● Sistema operacional multiprogramado– Escalonamento de processos

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– Paginação

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