• Nenhum resultado encontrado

MODELO DE S.O. DEFINIÇÕES

N/A
N/A
Protected

Academic year: 2021

Share "MODELO DE S.O. DEFINIÇÕES"

Copied!
23
0
0

Texto

(1)

MODELO DE S.O.

MODELO DE S.O.

n

Organização em camadas

A: hardware

B: núcleo (kernel)

drivers,

gerenciador de tarefas,

controlador de interrupções,

gerenciador de memória

C: Gerenciador de arquivos e

controle de I/O

D: Interface do usuário

E: Aplicativos

DEFINIÇÕES

DEFINIÇÕES

n

Sistema operacional

u é um programa que serve como ambiente para execução de outros programas.

u tem as seguintes atribuições

l organizar e gerenciar os recursos da máquina.

l carregar programas.

l disponibilizar um conjunto de rotinas para aplicativos.

l e fornecer uma interface mínima para o usuário.

u tarefas (processos)

l são seqüências de programa independentemente executadas.

l cada aplicativo corresponde a uma tarefa (processos).

l o mesmo programa pode ter mais de uma tarefa (thread).

(2)

MODOS DE OPERAÇÃO

MODOS DE OPERAÇÃO

n

Para processadores Intel x86

u

Modo real

l oferece o ambiente característico do 8086

l modo em que o processador inicia o seu funcionamento

l admite apenas o modelo de memória de endereçamento real;

u

Modo Protegido

l conjunto de mecanismos de proteção são implementados

l modo mais comum de operação do sistema;

l toda a potencialidade do processador pode ser usada;

l possibilita melhor desempenho

l modo mais adequado para os novos programas.

PROCESSADORES DE 32 BITS

PROCESSADORES DE 32 BITS

n

Registradores de Aplicativos

u Registradores de uso geral (32 bits)

l para guardar operandos e ponteiros.

l EAX, EBX, ECX, EDX, ESP, EBP, ESI e EDI.

u Registradores de segmentos (16 bits)

l originais do 8086 e novos (FS e GS).

l guardam até 6 seletores de segmentos de memória.

u Registradores de Controle e Status

l reportam e permitem modificações do estado do processador e do programa que está sendo executado

(3)

PROCESSADORES DE 32 BITS

PROCESSADORES DE 32 BITS

n

Endereçamento mais avançado.

u

Endereçamento do 8086 adotado apenas no modo-real.

u

Endereçamento via descritores adotado em modo-protegido.

n

Quatro novos grupos de registradores:

u

apontadores de tabela (GDTR, LDTR, IDTR e TR).

u

controle (CR0, CR1, CR2 e CR3).

u

depuração (DR0, …DR7).

u

teste (TR6 e TR7).

REGISTRADORES DE USO GERAL

REGISTRADORES DE USO GERAL

n

EAX:

acumulador para operandos e dados de resultados de operações

n

EBX: apontador para dados no segmento

DS

n

EDX: pon

teiro de I/O

n

ECX:

contador (operações com loops).

n

EBP: apontador para dados no stack

n

ESP: apontador de stack (endereço- ofsset do endereço base) do topo do stack

n

EDI: apontador para dados

(4)

REGISTRADOR DE EFLAGS - 386

REGISTRADOR DE EFLAGS - 386

n

Registrador de flags com mais funções:

u VM (modo-virtual 8086).

u RF (resume): retomada de instrução sem gerar exceção. u NT: controle do (aninhamento) de tarefas.

u IOPL: nível de privilégio de E/S (0-3).

REG. DE EFLAGS DO Pentium

(5)

REGISTRADORES DE CONTROLE

REGISTRADORES DE CONTROLE

REGISTRADORES DE TABELA

REGISTRADORES DE TABELA

(6)

ARQUITETURA DE TAREFAS

ARQUITETURA DE TAREFAS

n

Modo protegido:

u operação na qual, automáticamente, são realizados passos de validação enquanto as instruções são executadas.

n

Tabelas alocadas em memória

u GDT – descritores globais. u LDT – descritores locais. u IDT – descritores de interrupção. u TSS – segmento estado da tarefa.

u PD, PT – diretório de páginas e tabela de páginas.

Descritor: estrutura de dados de 8

bytes que armazena informações e atribuitos, para cada finalidade.

SEGMENTO DE ESTADO DA TAREFA

SEGMENTO DE ESTADO DA TAREFA

n

Definição

u TSS – task state segment é uma estrutura de dados que é a responsável pela inicialização do estado de uma tarefa a ser iniciada ou continuada.

n

Estado de uma tarefa

u é o conjunto de informações que caracterizam um determinado instante da execução da tarefa.

l Conteúdo dos registradores internos (estado de hardware).

l Diretório corrente, instância, variáveis, parâmetros catalogados (estado de software).

u Quando a tarefa for retomada o estado de hardware reinicializará os registradores.

(7)

DESCRITOR DO TSS

DESCRITOR DO TSS

n

No 386 é composto por 4 words de 16 bits com campos específicos.

u Cada campo está associado a um parâmetro da tarefa

Descritores das diversas tarefas costumam ser mapeados em uma tabela, Geralmente a GDT.

n

Qual tarefa, quando e por quanto tempo

n

Técnicas

u

quotas de tempo

u

fila cooperativa simples

u

seqüênciamento cooperativo priorizado

u

quota de tempo variável

n

Outros fatores de seqüênciamento

u

prioridades de tarefas

u

operação em tempo real

SEQÜÊNCIAMENTO DE TAREFAS

(8)

ORGANIZAÇÃO DA MEMÓRIA

ORGANIZAÇÃO DA MEMÓRIA

n

A memória que o processador acessa através do

barramento é denominada de memória física.

u

é organizada e acessada em seqüência de (8-bit) bytes.

l faixa de memória que pode ser endereçada é o “espaço de endereços”. l o espaço de endereçamentos varia de 0 até 232– 1.

n

O processador também suporta endereço segmentado

u

forma de endereçamento onde um programa pode ter muitos

espaços de endereços independentes, denominados

segmentos.

u

programas podem manter instruções e pilha em segmentos

separados.

l endereçamento de código irá sempre se referir ao espaço de código.

l endereçamento da pilha sempre se refere ao espaço da pilha.

n

Para gerenciamento da memória, os processadores Intel

contam:

u

em modo-real, com uma possibilidade:

l modo-real.

u

em modo-protegido, com duas possibilidades:

l a segmentação.

l e paginação (paging).

ORGANIZAÇÃO DA MEMÓRIA

ORGANIZAÇÃO DA MEMÓRIA

Em modo-protegido, programas que fazem uso de uma das duas possibilidades, não acessam a memória física diretamente.

(9)

ORGANIZAÇÃO DA MEMÓRIA

ORGANIZAÇÃO DA MEMÓRIA

MEMÓRIA LÓGICA:

MODO REAL

MEMÓRIA LÓGICA:

MODO REAL

n

Usa uma implementação

específica de memória

segmentada

n

Faz uso do modelo de

memória empregado

desde o processador

8086.

n

Têm sido mantido por questões de compatibilidade;

n

O espaço de endereçamento linear para o programa e o S.O.

consistem de arrays de segmentos de até 64K bytes de tamanho;

n

O tamanho máximo do “espaço de endereçamento linear” neste

modo é de 2

20

bytes.

(10)

MEMÓRIA SEGMENTADA

MEMÓRIA SEGMENTADA

n

Tipo de gerenciamento introduzido desde o 8086.

n

Em modo-real cada segmento pode ter apenas 64kB.

n

Em modo-protegido,

u

se a granularidade for de 1byte, a possibilidade de

endereçamento é de 1MB.

u

se a granularidade for de 4kB a possibilidade de

endereçamento é de até 4GB, num único segmento.

Dois segmentos distintos podem ou não compartilhar as mesmas regiões de memória. Para cada tarefa, os registradores de segmentos, CS, DS e SS terão valores próprios e o segmento extra (ES) pode acessar outros de dados.

MODELOS DE SEGMENTAÇÃO

MODELOS DE SEGMENTAÇÃO

n

Modêlo-a

u segmento para código (CS) e para dados (DS, ES e SS). u após serem carregados não são mais alterados.

u não existe proteção entre segmentos que podem endereçar a 32bits, cobrindo toda memória física.

u Esse é o modêlo de memória plana simples (Flat model).

n

Modêlo-b

u semelhante ao anterior.

u segmentos de aplicativos (de 32 bits) são subconjuntos do segmento absoluto do S.O.

l Tem menor privilégio. Aplicativo não acessa segmento absoluto.

u Ponteiros de 48 bits (16 seletor mais 32 do offset) utilizados para chamadas ao sistema operacional.

(11)

MODELOS DE SEGMENTAÇÃO

MODELOS DE SEGMENTAÇÃO

n

Modêlo-c

u semelhante ao anterior.

u mapeia os segmentos de dados e pilhas em áreas diferentes. u ponteiros de 48 bits.

n

Modêlo-d

u possibilita uma maior capacidade de endereçamento (ponteiros de 48 bits).

u valor de CS pode ser alterado por interrupções, excessões, chamadas ao sistema operacional e chamadas às subrotinas.

u DS, ES, FS e GS podem ser alterados ao referenciar-se a uma nova de estrutura de dados.

MEMÓRIA PLANA SIMPLES

MEMÓRIA PLANA SIMPLES

n

Características:

u Memória aparece (p/ programas) como um espaço de endereçamento único e contíguo (espaço de endereçamento linear).

u O código, os dados, e a pilha de procedimentos estão neste espaço endereçável por byte endereços válidos de maneira contígua de 0 a 232- 1 (32 bits).

n

Outros aspectos:

u endereço para qualquer byte no “espaço linear de endereçamentos” é denominado “ endereço linear”.

u O endereço físico e o endereço linear são os mesmos.

u Não ocorre tradução de endereço pelo hardware

.

u O SO é carregado no início ou no topo da memória.

(12)

MEMÓRIA SEGMENTADA

MEMÓRIA SEGMENTADA

n

A memória aparece como um grupo independente de espaços de

endereços denominado segmentos.

u Código, dados e stack estão em segmentos distintos para cada programa.

n

Para endereçar um byte em um segmento, o programa envia um

endereço lógico (

endereço base

e

offset).

Base Address

MEMÓRIA SEGMENTADA

MEMÓRIA SEGMENTADA

n

Offset

u

O offset de 32 bit é

derivado dos operadores de

instruções.

u

Ex.:

l MOV EAX, 02AC5Bh.

n

Endereço-base

u

obtido a partir do

seletor

que identifica o descritor

de segmentos a ser

acessado.

(13)

MEMÓRIA SEGMENTADA

MEMÓRIA SEGMENTADA

n

Seletor de segmentos

u

seleciona o

descritor

na

tabela global (TI=0 àGDT)

ou na local (TI=1 à LDT).

u

é localizado nos

registradores.

MEMÓRIA SEGMENTADA

MEMÓRIA SEGMENTADA

n

DESCRITORES DE SEGMENTOS

u

Estrutura de dados que fornece ao processador o tamanho, a

localização, informações para acesso e status de segmentos.

l são tipicamente criados por compiladores, sistemas operacionais, etc.

l vedado a programas aplicativos.

u

Localizados na

l GDT – os descritores usados por todas as tarefas.

l LDT – os descritores acessáveis por tarefas específicas.

u

8192 é número máximo de descritores por tabela:

l Comprimento máximo de cada tabela é 64kB.

(14)

DESCRITORES DE SEGMENTOS

DESCRITORES DE SEGMENTOS

PAGINAÇÃO

PAGINAÇÃO

n

É um processo de mapeamento indireto do espaço linear de

endereços em porções menores de memória física ou de disco.

u as páginas são porções de memória física que são delimitadas para que sejam usadas.

u o sistema operacional habilita (ou desabilita) a paginação ao ativar (ressetar) o bit PE (paging-enable) do registrador CR0.

u a paginação pode ser usada em conjunto com qualquer dos modelos de segmentação.

u quando a paginação é usada todos os segmentos de código, dados, pilha e sistema e a GDT e a IDT podem ser paginadas.

u somente as últimas páginas acessadas são mantidas na memória.

Memória virtual é um artifício em hardware e software para superar a

(15)

PAGINAÇÃO

PAGINAÇÃO

n

Referência (entry) no

diretório de páginas

aponta para a tabela de

páginas.

n

Referência na tabela de

páginas apontam para

páginas (4 kB) na

memória física.

n

Endereço linear

é um

endereço de 32 bits no

espaço de endereçamento

do processador.

Este método de paginação pode ser usado para endereçar até 220 páginas, as quais se espalham em um espaço de endereçamento linear de 232 bytes (4 GBytes).

PAGINAÇÃO

PAGINAÇÃO

n

O endereço físico base do diretório de páginas está no

registrador CR3.

n

Para que seja possível selecionar várias referências, o

endereço linear de 32 bits é dividido em 3 sessões:

u página de diretório: bits de 22 a 31 fornecem o offset para referência ao diretório.

l a referência selecionada fornece o endereço físico base da tabela de páginas.

u tabela de páginas – bits de 12-21 do endereço linear fornecem um offset para uma entrada na tabela de páginas. Uma referência (entry) fornece o endereço base para a memória-física.

(16)

REFERÊNCIAS

REFERÊNCIAS

n

DTEs (directory table entries)

são as referências na tabela de

diretórios.

n

PTEs (page table entries) são

as referências na tabela de

páginas.

n

Uma referência (entry) do

diretório ou das tabelas de

páginas contém informações

sobre:

u o endereço físico. u direitos de acesso.

u gerenciamento de memória.

MEMÓRIA PLANA POR PÁGINA

MEMÓRIA PLANA POR PÁGINA

n

A

Arquitetura Intel oferece

possibilidades de divisão do

espaço de endereçamento

linear tanto para o modelo

“plano” quanto para o

segmentado em páginas,

mapeando-as na memória

virtual

n

A existência de páginas é

transparente para um

aplicativo

;

Endereço 0 Sistema Oeracional Programa MEMÓRIA LINEAR DESOCUPADA Páginas alocadas ao SO MEMÓRIA LINEAR DESOCUPADA Páginas físicas alocadas ao programa

(17)

REGISTROS PARA

GERENCIAMENTO DA MEMÓRIA

REGISTROS PARA

GERENCIAMENTO DA MEMÓRIA

n

O processador (Intel-Pentium) dispõe de 4 registros que

especificam a localização das estruturas de dados, as quais

controlam o gerenciamento da memória segmentada:

u registro da “Global Descriptor Table” u registro da “Interrupt Descriptor Table” u registro da “Local Descriptor Table” u registro de Tarefas

SEGMENTAÇÃO E PAGINAÇÃO

(18)

INTERRUPÇÕES E EXCESSÕES

INTERRUPÇÕES E EXCESSÕES

n

São transferências forçadas de execução da tarefa ou programa

ativo para uma tarefa ou procedimento especial denominado

handler.

n

Interrupção:

u de forma típica ocorrem em instantes aleatórios durante a execução, em resposta à sinais de hardware.

u são usados para lidar com eventos externos, tais como requisição para atender a periféricos.

u Tipos de interrupção:

l por software: associada à execução da instrução “int nn”.

l por hardware: associada à circuito externo ao processador.

n

Excessão

u definida e gerada pela CPU.

u ocorrem quando o processador detecta uma condição de erro, enquanto executa uma instrução, tal como divisão por zero.

INTERRUPÇÕES E EXCESSÕES

INTERRUPÇÕES E EXCESSÕES

n

Existem cerca de 256.

u numeradas de 00h a FFh.

u algumas reservadas pelo processador (as excessões e a NMI).

n

O processo de manipulação da execução depende da tabela de

descritores de interrupcão IDT.

u cada um dos descritores tem um número de interrupção, ou excessão, associado a um manipulador.

u o número de interrupções é usado como um índice na IDT, relacionado ao descritor.

u o descritor contém as informações necessárias para transferir o controle da máquina ao manipulador de interrupcões.

l a IDT pode ser colocada em qualquer posição da memória linear.

u o IDTR é um registrador de 48 bits:

l 32 bits mais significativos apontam para o endereço base da IDT.

(19)

DESCRITORES DE INTERRUPCÃO

DESCRITORES DE INTERRUPCÃO

n

Um descritor de interrupcão é de um dos seguintes tipos:

u Gate de interrupção ou armadilha:

l Contém número da rotina associada ao pedido interrupção.

– armadilha é interrupcão não-mascarel, geralmente, gerada internamente pela CPU.

u Gate de tarefa.

l É a chamada para execução de uma nova tarefa, que aninhará a tarefa interrompida.

n

Manipulador de interrupção ou excessão

u Implementado por rotina ou uma tarefa.

l por uma rotina, interage apenas com a tarefa que estava executando.

l por tarefa, interage interage apenas em seu próprio contexto.

u É mais comum a implementação por rotina.

ENTRADA E SAÍDA

ENTRADA E SAÍDA

n

Operações de E/S para dispositivos externos são executadas

através de:

u Portas

l registradores acessíveis para leitura ou escrita, utilizados no controle da operação de algum periférico ou circuito de apoio.

u Acesso a portas:

l através de endereço da memória física – mapeamento em memória.

l através de um espaço de endereços separados e independentes da memória – mapeamento em E/S.

u Mapeamento através do espaço de endereços:

l Realizado através de um conjunto de instruções e um sistema especial de proteção.

u Mapeamento em memória:

l é realizado com as instruções gerais do processador (move e string)

(20)

ENTRADA E SAÍDA

ENTRADA E SAÍDA

n

Endereçamento é realizado através das linhas de

endereço do processador.

u

os processadores Intel indicam que estão realizando

operações de E/S se o pino M/IO for colocado no estado

(0)

u

caso contrário é uma operação em memória.

u

Dados são transmitidos entre o processador and um

dispositivo de I/O através das linhas de dados.

NÍVEIS DE PRIVILÉGIO

NÍVEIS DE PRIVILÉGIO

n

O processador admite 4

níveis de privilégio

n

Números maiores designam

menores privilégios;

n

A razão básica para usar

níveis de privilégio é a de

aumentar a confiabilidade

do S.O.

(21)

n

Definição:

u é um evento assíncrono geralmente causado por um dispositivo de E/S para avisar ao controlador o término de uma tarefa

n

Tipos de interrupção

u compartilhada:

l dois ou mais dispositivos compartilham mesmo IRQ (PCI)

l APIC: 256 níveis

u não-compartilhada:

l cada dispositivo possui um IRQ específico (ISA)

l PIC: 16 níveis

n

Opções de execução (depende do modelo do SO).

u como tarefa (processo) independente

l mais protegida

l mais lenta

u no contexto da tarefa (processo) interrompida

l gerenciamento de memória mais susceptível a problemas

l mais rápida

MODELO DO S.O.:

INTERRUPÇÕES

MODELO DO S.O.:

INTERRUPÇÕES

n

Etapas de processamento de interrupção

u

o estado corrente (registros de flags e contador do programa) é

salvo na pilha (stack) ativa

u

o processador requisita um número de interrupção do (A)PIC

u

é carregado um novo valor do contador do programa da tabela

de descrição de interrupção (IDT), indexada pelo número da

interrupção

u

o processador eleva o nível do seu DIRQL (nível de requisição

de interrupção de dispositivos) para o do DIRQL da interrupção

especificada

l isso impede que outras interrupções de mesmo nível ou inferior venham a ocorrer.

INTERRUPÇÕES

(22)

MODELO DO SO

:

INTERCOMUNICAÇÃO

MODELO DO SO:

INTERCOMUNICAÇÃO

n

Existem vários formas de intercomunicação entre as tarefas

ativas, que são necessárias ao seu funcionamento

“simultâneo”

u Tipos de mensagens

l Sincronização (uso de recursos e I/O entre as várias tarefas )

l Semáforos (usados para sinalizar a troca de informações)

l Pipes: pseudo dispositivos de I/O usados para enviar e receber dados entre tarefas

l Mensagens (SendMsg, WaitMsg)

u Reentrância

l mesma porção de código ser interrompida pelo SO e vir a ser executada no contexto de outra tarefa)

u Latência

l tempo que se gasta até que uma tarefa venha a ser executa após ser executada uma interrupção)

STACK

(23)

STACK: DEFINIÇÕES

STACK: DEFINIÇÕES

n

É um arranjo contíguo de localizações de memória

nos quais os itens são guardados de maneira que o

primeiro que entra é o último que sai;

n

Está contido no segmento e identificado pelo seletor

de segmentos no registro SS;

n

No modelo de memória plano, o stack pode estar em

qualquer posição no espaço de endereços;

Referências

Documentos relacionados

[r]

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

Júri de Seleção de trabalhos Ginecologia/ Obstetrícia Hélder Ferreira Luís Guedes Martins Júri de Prémio CO Ginecologia/ Obstetrícia Anabela Branco José Cabral Luísa Vieira

O bloqueio intempestivo dos elementos de transmissão de energia entre os equipamentos e acessórios ou reboques está impedido ou se não está existem medidas que garantem a segurança

Nos tanques de teto fixo acumula-se um volume apreciável de gases e vapores, sobre o nível do líquido armazenado, chamado de espaço de vapor, e o mecanismo principal das perdas e

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

No período de primeiro de janeiro a 30 de junho de 2011, foram encaminhadas, ao Comitê de Segurança do Paciente da instituição sede do estudo, 218 notificações de

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...