1. Arquitetura e Organização de
Computadores
● Livro Texto
– Arquitetura e Organização de Computadores
● William Stallings
● Prentice Hall
2. 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.
3. 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.
4. 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
5. Arquitetura e Organização de
Computadores
● Funções básicas de um computador
Transferência
de Dados Controle
Armazenamento
de Dados
Memória
Processamento
de Dados
Fonte e
Destino dos
Dados
6. 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
7. Arquitetura e Organização de
Computadores
● Programação em hardware
Sequência
de funções
lógicas e
aritméticas
Dados Resultados
8. Arquitetura e Organização de
Computadores
● Programação em software
Instruções
Interpretador
de instruções
Funções
lógicas e
Aritméticas
de propósito
Dados Resultados
geral
Sinais de
controle
9. 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
10. Arquitetura e Organização de
Computadores
● Componentes do computador
CPU Memória
PC MAR
IR MBR
I/O AR
I/O BR
Instrução
Instrução
Instrução
Dados
Dados
Dados
Áreas de armazenamento
temporário
Módulo
de E/S
11. Arquitetura e Organização de
Computadores
Componentes do Computador
– Ciclo básico de instruções
Ciclo de busca Ciclo de execução
Busca da
próxima
instrução
Execução da
instrução
INÍCIO PARADA
12. 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
13. 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
14. Arquitetura e Organização de
Computadores
● Interrupções
INÍCIO
Ciclo de busca Ciclo de execução Ciclo de interrupção
PARADA
Busca da
próxima
instrução
Execução da
instrução
Execução da
instrução
Instruções
desabilitadas
Instruções
habilitadas
15. 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)
16. 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.
17. 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
18. 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
20. 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
21. 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
23. 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
24. AOC – Memória Interna
● Memória principal
– Memória de semicondutor
25. 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
26. 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)
27. AOC – Memória Interna
● Memória Cache
Indica o bloco de memória
28. 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
29. 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
30. 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
31. 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
32. 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
33. 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
34. 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
36. 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
37. 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
38. 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
39. 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
40. 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
41. 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
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
48. 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
49. 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
50. AOC – Dispositivos de E/S
● Módulos de E/S
– Interface externa
● Conexão SCSI
– Fases de atividade no barramento
51. 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
52. 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
53. 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
54. AOC - CPU
● Unidade Central de Processamento
– Componentes
● Unidade lógica e aritmética
● Registradores
● Unidade de controle
● Relógio
● Interconexões entre esses componentes
55. 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
57. 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
58. 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
59. AOC - CPU
● Registradores
– Visíveis ao usuário
● De propósito geral
● De dados
● De endereço
● De códigos de condição
60. 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
61. 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
62. 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
63. 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
64. 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
65. 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
66. 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.
67. 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
68. 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
69. 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
70. 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
71. 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
72. 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
73. AOC - CPU
● Unidade de Controle
– Ciclo de Instrução como um todo
74. AOC - CPU
● Unidade de Controle
– Modelo geral
75. 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
76. 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
77. 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
78. 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
79. 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
80. 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
81. 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
82. 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
83. 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.
84. 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
85. 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
86. 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
87. 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
88. 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
89. 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
90. AOC – Sistema Operacional
● Sistema operacional multiprogramado
– Escalonamento de processos
91. 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
92. 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
93. 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
94. 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
95. 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
96. 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
97. 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
98. 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
99. 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
100. AOC – Sistema Operacional
● Gerenciamento de memória
– Paginação
101. 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