Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento...
Transcript of Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento...
Arquitetura de computadores
Prof. Edivaldo Serafim
Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013
IFSP – Campus Capivari
Suporte ao Sistema Operacional24/04/2013
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
SISTEMA OPERACIONALSUPORTE AO SISTEMA OPERACIONAL
3
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Sistema operacional• Um Sistema Operacional (SO) é um programa que controla a
execução dos programas aplicativos e atua como uma interface entre o usuário e o hardware do computador;
• Um SO tem como características básicas:• Propiciar conveniência:
• Torna um computador mais fácil de ser usado;• Propiciar transparência: um SO deve abstrair o
hardware, livrando o programador de conhecer rotinas mais próximas do hardware.
• Propiciar eficiência: • Permite que os recursos do sistema de computação
sejam usados de uma maneira eficiente; 4
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Sistema operacional
5
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Sistema operacional• Um SO normalmente oferece os serviços:
• Criação de programas; • Possui uma variedade de recursos e serviços que
permitem auxiliar o programador.• Execução de programas:
• Várias tarefas precisam ser realizadas para que um programa possa ser executado, como operações de memória, I/O, etc.
• Acesso aos dispositivos de E/S: • Cada dispositivo de I/O possui seu próprio conjunto
peculiar de instruções ou sinais de controle para operação, o SO permite uma forma de acessa-los de maneira transparente para o programador;
6
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Sistema operacional• Acesso controlado aos arquivos:
• Permite acessar de forma segura os arquivos;• Permite organizar o uso das mídias através de sistemas
de arquivos.• Acesso ao sistema:
• Permite controlar o acesso aos recursos compartilhados apenas por usuários permitidos.
• Detecção e respostas a erros:• Tratamento de erros externos (I/O e dispositivos
periféricos), erros de memória ou de execução de programas (overflow).
• Monitoramento:• Permite monitorar parâmetros de desempenho,
analisando recursos de hardware e software ;• Permite a análise de logs do próprio SO ou de softwares
aplicativos.
7
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
SO como um Gerente de Recursos• O SO é quem controla o processamento, o armazenamento e a
transferência de dados;• Para exercer a função de controle, o SO não é um mecanismo
à parte do computador, ou seja, externo ao processador;• Como mecanismo de controle, o SO é incomum em dois
aspectos: • O SO é um programa como outro qualquer, sendo
executado pelo processador;• O SO renuncia ao controle do processador deixando outro
software utilizá-lo para, em seguida, obter o controle novamente;
8
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
SO como um Gerente de Recursos• O SO é carregado na memória (ou parte dele) como outro
programa qualquer;• O Kernel (núcleo) sempre estará carregado na memória
principal;• Outros programas de usuário também estarão carregados na
memória principal;• O uso da memória é gerenciada pelo SO e pelo hardware de
gerência de memória;• O SO gerencia o uso de I/O e de acesso a arquivos;• O próprio processador é gerido pelo SO determinando quanto
tempo de execução será atribuído para um processo;9
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Sistema operacional
10
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Tipos de SO• Dois aspectos básicos podem diferir os SOs:
• A forma de utilização / interação por parte dos usuários:• SO em Lotes (Batch);• SO interativo.
• A forma de uso do processador:• SO mono tarefa;• SO multi tarefa.
11
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Tipos de SO• Utilização / Interação:
• Os SOs podem ser interativos ou em lotes:• Interativos: os usuários podem interagir com o
computador enquanto processa suas aplicações;• Em lotes: o usuário entrega para um operador o
programa e os dados e recolhe o resultado no final da tarefa;
• Forma de processamento:• Monoprogramado (mono tarefa):
• O processador carrega para a memória principal (MP) e executa apenas um programa de cada vez;
• Multiprogramado (multi tarefa): • Diversos programas são carregados simultaneamente na
MP, e o tempo do processador é dividido entre eles;
12
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Os primeiros SOs• No início da computação não existiam SOs;• Os utilizadores de computadores interagiam e programavam
diretamente no hardware;• Dois problemas principais nessa forma de utilização:
• Escalonamento:• Usuários agendavam tempo de processador;• Poderia haver desperdício de tempo de processador ou
falta de tempo para uma tarefa;• Tempo de preparação:
• Geralmente demorava-se muito para preparar o computador para uma tarefa;
• Ocasionava desperdício de tempo de CPU. 13
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Soluções para os primeiros SOs• Para resolver os problemas apontados, várias soluções foram
sendo desenvolvidas:• Sistema simples de processamento em lotes;• Sistema de processamento em lotes com multiprogramação;• Sistema de tempo compartilhado.
14
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Processamento em lotes em monotarefa• O usuário não tem acesso ao processador;• As tarefas (jobs) são organizadas em lotes (batchs) e
repassadas ao operador do computador;• Existe um programa chamado Monitor que controla o
processamento dos lotes;• Esse Monitor é um “SO” de processamento em lotes;• Possui várias características:
• Proteção de memória;• Temporização;• Instruções privilegiadas e;• Controle de interrupções;
15
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Processamento em lotes em monotarefa• Proteção de memória:
• Programas do usuário não devem alterar a área de memória que contém o Monitor.
• Temporização: • Um relógio é usado para evitar que um único programa
monopolize o sistema;• Quando atinge o tempo limite, gera-se uma interrupção.
• Instruções privilegiadas: • Algumas instruções só podem ser executadas pelo monitor
como por exemplo instruções de E/S.• Interrupções:
• Fornecem ao SO a capacidade de obter o controle do processador quando este está executando programas dos usuários.
16
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Processamento em lotes em monotarefa• Mesmo melhorando o uso do computador, o sistema em lotes
ainda não é bom o suficiente;• Como os dispositivos de I/O são muito lentos, a CPU ficava
muito tempo ociosa esperando por uma operação de I/O;• O processador deve efetuar um processamento, esperar por
uma operação de I/O e depois voltar a executar:
• O processamento é sequencial e monotarefa;• Essa latência das operações de I/O pode ser analisado no
seguinte exemplo:
17
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Latência das Instruções de E/S• Suponha um programa que processa um arquivo de registros e
executa, em média, 100 instruções do processador por registro:
Ler um registro 15 µSExecutar 100 instruções 1 µSEscrever um registro 15 µS
TOTAL 31 µS
18
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Processamento em lotes multiprogramado• Aumentando a capacidade de memória, podemos abrigar na
memória além do programa Monitor vários programas de usuários;
• Esse processo chama-se multiprogramação e é característica importante dos SOs atuais;
• O processamento dos programas pode ser feito de forma paralela e multitarefa;
• Nota-se o uso de acesso direto a memória bem como o uso de interrupções para que o processador possa ser escalonado entre os vários programas em execução;
• Para isso deve haver suporte no hardware do computador com tratamento de interrupções e gerenciamento de memória;
• Deve haver um algoritmo de escalonamento para determinar qual tarefa deve ser executado primeiro;
19
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Processamento em lotes multiprogramado
20
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Diferença de desempenho
21
Efeito da multiprogramação na utilização de recursos:
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
SO de tempo compartilhado• O processamento em lotes com monoprogramação e
multiprogramação trouxeram melhoria para maximizar o uso do processador;
• Na década de 60, mesmo com os avanços proporcionados por essas duas abordagens, havia necessidade de melhorar o desempenho do computador para o usuário;
• Buscou-se então melhorar o tempo de resposta para o usuário;
• O computador passou a ser utilizado por vários usuários que interagiam com ele através de terminais;
• O tempo de processamento era dividido entre os vários usuários;
• Os usuários enviavam os comandos para o processador através do terminal;
• É um sistema multiprogramado;
22
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Processos• Introduzido pelos projetistas do MULTICS nos anos 60;• Pode ser conceituado como:
• Um termo mais genérico que tarefa (job); • Pode ser definido de várias maneiras, incluindo:
• Um programa em execução;• O “espírito animado” de um programa;• A entidade à qual um processador é alocado.
23
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento e processos• A chave para a multiprogramação é o escalonamento ou
agendador de tarefas (scheduling);• Visa executar os processos de maneira mais eficiente,
priorizando determinados tipos de processos, como os de I/O Bound e os CPU Bound;
• Para que a CPU não fique muito tempo sem executar alguma tarefa, os sistemas operacionais utilizam técnicas de escalonamento de processos que estão em execução ao mesmo tempo no computador;
24
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Tipos de Escalonamento • Escalonamento de longo prazo;• Escalonamento de médio prazo;• Escalonamento de curto prazo ;• Escalonamento de E/S .
25
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Longo Prazo • Este escalonador é o responsável pelo grau de
multiprocessamento, ou seja, a quantidade de processos que o sistema irá trabalhar;
• Deve decidir entre duas prioridades:• Capacidade de haver mais processos na memória;• Decisão de conversão de tarefa para processo:
• Converte (ou não) uma tarefa (programa de usuário) em um novo processo, que é colocado na fila do escalonador de médio prazo;
• Utiliza critérios de prioridades como tempo de execução e uso de I/O.
26
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Longo Prazo
27
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Médio Prazo • Seleciona entre os processos que estão na memória virtual,
reduzindo o grau de multiprogramação;• Ele temporariamente remove o processo da memória principal
e o coloca na memória secundária (swap) fazendo as operações de swapping in e swapping out:• Swapping in:
• Carrega da memoria virtual para a memória principal.• Swapping out:
• Tira da memória principal e coloca na memória virtual.
28
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Médio Prazo • Acrescenta um novo processo ao conjunto de processos a
serem executados na MP:
29
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Médio Prazo • É também responsável pela troca de processos (swapping)
entre a MP e o disco:
30
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Curto Prazo • Seleciona entre os processos em estado de pronto que estão
na memória principal para serem executados pelo processador;
• O escalonador de curto prazo faz decisões de escalonamento muito mais frequentemente que os de médio e longo prazo.
• Também chamado de despachante (dispatcher), decide qual dos processos residentes na MP deve ser executado:
31
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Escalonamento de Curto Prazo • Também chamado de despachante (dispatcher), decide qual
dos processos residentes na MP deve ser executado:
32
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Estados de processos• Para compreender o escalonador de curto prazo, devemos
analisar os estados que um processo pode ter:• Estado de processo define as condições para que o processo
possa ser executado ou não;• Durante sua vida, um processo muda de estado várias vezes,
podendo ter cinco estados diferente:• Novo;• Pronto;• Em execução;• Suspenso;• Concluído.
33
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Estados de processos• Novo:
• Foi incluído no escalonador de longo prazo, mas ainda não está no escalonador de médio prazo;
• Pronto:• Está pronto para execução aguardando na fila de
escalonamento de curto prazo.• Em execução:
• Está dentro do processador e em execução.• Suspenso:
• Ou bloqueado, está esperando alguma operação, geralmente de I/O
• Concluído:• Está completa a execução e o SO irá destruí-lo (ou finalizá-
lo).
34
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Estados de processos
35
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Estados de processos• Alguns autores (como Tanenbaum) definem apenas três
estados para o processo:
• Pronto:• Está pronto para execução aguardando na fila de
escalonamento de curto prazo.• Em execução:
• Está dentro do processador e em execução.• Suspenso:
• Ou bloqueado, está esperando alguma operação, geralmente de I/O
36
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Bloco de Controle de Processos • O SO deve manter para cada processo informações sobre seu
estado, bem como outras informações relevantes para sua execução;
• Essas informações são mantidas em um bloco de controle e utilizadas pelo SO para escalonamento;
• Quando o escalonador admite um novo processo, ele cria um bloco de controle para esse processo; • O bloco de controle possui seus campos em branco no
estado novo; • Depois que o SO tiver preenchido adequadamente as
informações, o estado muda para pronto.
37
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Bloco de Controle de Processos
38
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Bloco de Controle de Processos • O BCP contém geralmente as seguintes informações sobre o
processo:• Identificador:
• Cada processo tem um ID único indicado nesse campo;• Estado:
• Indica o estado atual do processo;• Prioridade:
• Nível de prioridade do processo que será utilizado pelo escalonador;
• Contador de programa (PC):• Valor da próxima instrução do processo
• Limites de memória:• Endereço Inicial e Final da memória principal utilizada
por esse processo;
39
Pro
f. E
div
ald
o S
era
fim -
Arq
uite
tu
ra d
e C
om
pu
tad
ore
s -
IFS
P 2
01
3
Bloco de Controle de Processos • Continuação:
• Informações de contexto:• Dados contidos nos registradores para serem
novamente processados na troca de contexto.• Informação de estado de I/O:
• Contém requisições de I/O pendentes que estão sendo processadas pelo módulo de I/O.
• Informações de contabilidade:• Inclui tempo de CPU gasto, limites de tempo de
execução entre outras.
40