MODELO DE S.O. DEFINIÇÕES



Documentos relacionados
ENTRADA E SAÍDA DE DADOS

Evolução dos Processadores

Sistemas Operacionais. Prof. André Y. Kusumoto

Mecanismo de Interrupção

Visão Geral de Sistemas Operacionais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Organização e Arquitetura de Computadores

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Arquitetura de Computadores. Tipos de Instruções

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Estruturas do Sistema de Computação

Arquitetura de Computadores - Revisão -

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

ESTUDO DE CASO WINDOWS VISTA

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Dispositivos de Entrada e Saída

Arquitetura e Organização de Computadores I

Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Sistemas Operacionais Gerência de Dispositivos

Sistema Operacional Ex: Complexo Computador multiusuário com vários terminais Tem que administrar todos os pedidos de usuários e assegurar que eles

SISTEMAS OPERACIONAIS 2007

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Sistemas Operacionais

Linguagem de Montagem

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Processos e Threads (partes I e II)


Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Estrutura de um Computador

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Sistemas Operacionais: Sistema de Arquivos

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Sistemas Operacionais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Sistemas Operacionais

7 Processos. 7.1 Introdução

Infraestrutura de Hardware. Memória Virtual

Sistemas Operacionais

Figura 01 Kernel de um Sistema Operacional

Arquitetura de Computadores. Prof. João Bosco Jr.

SISTEMAS OPERACIONAIS

3. Arquitetura Básica do Computador

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Programação de Sistemas

Sistemas Operacionais

Arquitetura de Sistemas Operacionais

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

BARRAMENTO DO SISTEMA

ARQUITETURA DE COMPUTADORES

6 - Gerência de Dispositivos

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

Componentes de um Sistema de Operação

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Organização e Arquitetura de Computadores

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Sistemas Operacionais

Programação Concorrente Processos e Threads

ULA Sinais de Controle enviados pela UC

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Noções básicas de Informática: Software

Sistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias

Tipos de sistemas operacionais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 01. Cursos de Computação

Análises Geração RI (representação intermediária) Código Intermediário

SISTEMAS OPERACIONAIS

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

28/9/2010. Unidade de Controle Funcionamento e Implementação

Sistemas Operacionais Processos e Threads

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Arquitetura de Computadores. Sistemas Operacionais IV

Introdução aos Sistemas

Windows NT 4.0. Centro de Computação

Transcrição:

MODELO DE S.O. 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 Sistema operacional DEFINIÇÕES é um programa que serve como ambiente para execução de outros programas. tem as seguintes atribuições organizar e gerenciar os recursos da máquina. carregar programas. disponibilizar um conjunto de rotinas para aplicativos. e fornecer uma interface mínima para o usuário. tarefas (processos) são seqüências de programa independentemente executadas. cada aplicativo corresponde a uma tarefa (processos). o mesmo programa pode ter mais de uma tarefa (thread). Sistema multitarefa é aquele onde se pode executar diversos programas ao mesmo tempo.

MODOS DE OPERAÇÃO Para processadores Intel x86 Modo real oferece o ambiente característico do 8086 modo em que o processador inicia o seu funcionamento admite apenas o modelo de memória de endereçamento real; Modo Protegido conjunto de mecanismos de proteção são implementados modo mais comum de operação do sistema; toda a potencialidade do processador pode ser usada; possibilita melhor desempenho modo mais adequado para os novos programas. PROCESSADORES DE 32 BITS Registradores de Aplicativos Registradores de uso geral (32 bits) para guardar operandos e ponteiros. EAX, EBX, ECX, EDX, ESP, EBP, ESI e EDI. Registradores de segmentos (16 bits) originais do 8086 e novos (FS e GS). guardam até 6 seletores de segmentos de memória. Registradores de Controle e Status reportam e permitem modificações do estado do processador e do programa que está sendo executado

PROCESSADORES DE 32 BITS Endereçamento mais avançado. Endereçamento do 8086 adotado apenas no modo-real. Endereçamento via descritores adotado em modo-protegido. Quatro novos grupos de registradores: apontadores de tabela (GDTR, LDTR, IDTR e TR). controle (CR0, CR1, CR2 e CR3). depuração (DR0, DR7). teste (TR6 e TR7). REGISTRADORES DE USO GERAL EAX: acumulador para operandos e dados de resultados de operações EBX: apontador para dados no segmento DS EDX: ponteiro de I/O ECX: contador (operações com loops). EBP: apontador para dados no stack ESP: apontador de stack (endereço- ofsset do endereço base) do topo do stack EDI: apontador para dados ESI:apontador para dados

REGISTRADOR DE EFLAGS - 386 Registrador de flags com mais funções: VM (modo-virtual 8086). RF (resume): retomada de instrução sem gerar exceção. NT: controle do (aninhamento) de tarefas. IOPL: nível de privilégio de E/S (0-3). REG. DE EFLAGS DO Pentium

REGISTRADORES DE CONTROLE REGISTRADORES DE TABELA

ARQUITETURA DE TAREFAS Modo protegido: operação na qual, automáticamente, são realizados passos de validação enquanto as instruções são executadas. Tabelas alocadas em memória GDT descritores globais. LDT descritores locais. IDT descritores de interrupção. TSS segmento estado da tarefa. PD, PT diretório de páginas e de páginas. Descritor: estrutura de dados de 8 bytes que armazena informações e atribuitos, para cada finalidade. tabela SEGMENTO DE ESTADO DA TAREFA Definição 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. Estado de uma tarefa é o conjunto de informações que caracterizam um determinado instante da execução da tarefa. Conteúdo dos registradores internos (estado de hardware). Diretório corrente, instância, variáveis, parâmetros catalogados (estado de software). Quando a tarefa for retomada o estado de hardware reinicializará os registradores. Barra de tarefas do Win 95/ /XP.

DESCRITOR DO TSS No 386 é composto por 4 words de 16 bits com campos específicos. Cada campo está associado a um parâmetro da tarefa Descritores das diversas tarefas costumam ser mapeados em uma tabela, Geralmente a GDT. SEQÜÊNCIAMENTO DE TAREFAS Qual tarefa, quando e por quanto tempo Técnicas quotas de tempo fila cooperativa simples seqüênciamento cooperativo priorizado quota de tempo variável Outros fatores de seqüênciamento prioridades de tarefas operação em tempo real

ORGANIZAÇÃO DA MEMÓRIA A memória que o processador acessa através do barramento é denominada de memória física. é organizada e acessada em seqüência de (8-bit) bytes. faixa de memória que pode ser endereçada é o espaço de endereços. o espaço de endereçamentos varia de 0 até 2 32 1. O processador também suporta endereço segmentado forma de endereçamento onde um programa pode ter muitos espaços de endereços independentes, denominados segmentos. programas podem manter instruções e pilha em segmentos separados. endereçamento de código irá sempre se referir ao espaço de código. endereçamento da pilha sempre se refere ao espaço da pilha. ORGANIZAÇÃO DA MEMÓRIA Para gerenciamento da memória, os processadores Intel contam: em modo-real, com uma possibilidade: modo-real. em modo-protegido, com duas possibilidades: a segmentação. e paginação (paging). Em modo-protegido, programas que fazem uso de uma das duas possibilidades, não acessam a memória física diretamente.

ORGANIZAÇÃO DA MEMÓRIA MEMÓRIA LÓGICA: MODO REAL Usa uma implementação específica de memória segmentada Faz uso do modelo de memória empregado desde o processador 8086. Têm sido mantido por questões de compatibilidade; 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; O tamanho máximo do espaço de endereçamento linear neste modo é de 2 20 bytes.

MEMÓRIA SEGMENTADA Tipo de gerenciamento introduzido desde o 8086. Em modo-real cada segmento pode ter apenas 64kB. Em modo-protegido, se a granularidade for de 1byte, a possibilidade de endereçamento é de 1MB. 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 Modêlo-a segmento para código (CS) e para dados (DS, ES e SS). após serem carregados não são mais alterados. não existe proteção entre segmentos que podem endereçar a 32bits, cobrindo toda memória física. Esse é o modêlo de memória plana simples (Flat model). Modêlo-b semelhante ao anterior. segmentos de aplicativos (de 32 bits) são subconjuntos do segmento absoluto do S.O. Tem menor privilégio. Aplicativo não acessa segmento absoluto. Ponteiros de 48 bits (16 seletor mais 32 do offset) utilizados para chamadas ao sistema operacional.

MODELOS DE SEGMENTAÇÃO Modêlo-c semelhante ao anterior. mapeia os segmentos de dados e pilhas em áreas diferentes. ponteiros de 48 bits. Modêlo-d possibilita uma maior capacidade de endereçamento (ponteiros de 48 bits). valor de CS pode ser alterado por interrupções, excessões, chamadas ao sistema operacional e chamadas às subrotinas. DS, ES, FS e GS podem ser alterados ao referenciar-se a uma nova de estrutura de dados. MEMÓRIA PLANA SIMPLES Características: Memória aparece (p/ programas) como um espaço de endereçamento único e contíguo (espaço de endereçamento linear). 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 2 32-1 (32 bits). Outros aspectos: endereço para qualquer byte no espaço linear de endereçamentos é denominado endereço linear. O endereço físico e o endereço linear são os mesmos. Não ocorre tradução de endereço pelo hardware. O SO é carregado no início ou no topo da memória. Um programa pode atingir o espaço de qualquer outro

MEMÓRIA SEGMENTADA Base Address A memória aparece como um grupo independente de espaços de endereços denominado segmentos. Código, dados e stack estão em segmentos distintos para cada programa. Para endereçar um byte em um segmento, o programa envia um endereço lógico (endereço base e offset). Offset MEMÓRIA SEGMENTADA O offset de 32 bit é derivado dos operadores de instruções. Ex.: MOV EAX, 02AC5Bh. Endereço-base obtido a partir do seletor que identifica o descritor de segmentos a ser acessado.

MEMÓRIA SEGMENTADA Seletor de segmentos seleciona o descritor na tabela global (TI=0 GDT) ou na local (TI=1 LDT). é localizado nos registradores. MEMÓRIA SEGMENTADA DESCRITORES DE SEGMENTOS Estrutura de dados que fornece ao processador o tamanho, a localização, informações para acesso e status de segmentos. são tipicamente criados por compiladores, sistemas operacionais, etc. vedado a programas aplicativos. Localizados na GDT os descritores usados por todas as tarefas. LDT os descritores acessáveis por tarefas específicas. 8192 é número máximo de descritores por tabela: Comprimento máximo de cada tabela é 64kB. Tamanho de cada descritor é 8Bytes.

DESCRITORES DE SEGMENTOS PAGINAÇÃO É um processo de mapeamento indireto do espaço linear de endereços em porções menores de memória física ou de disco. as páginas são porções de memória física que são delimitadas para que sejam usadas. o sistema operacional habilita (ou desabilita) a paginação ao ativar (ressetar) o bit PE (paging-enable) do registrador CR0. a paginação pode ser usada em conjunto com qualquer dos modelos de segmentação. quando a paginação é usada todos os segmentos de código, dados, pilha e sistema e a GDT e a IDT podem ser paginadas. 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 limitação da memória RAM. Geralmente, o HD como memória adcional.

PAGINAÇÃO Referência (entry) no diretório de páginas aponta para a tabela de páginas. Referência na tabela de páginas apontam para páginas (4 kb) na memória física. 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 O endereço físico base do diretório de páginas está no registrador CR3. Para que seja possível selecionar várias referências, o endereço linear de 32 bits é dividido em 3 sessões: página de diretório: bits de 22 a 31 fornecem o offset para referência ao diretório. a referência selecionada fornece o endereço físico base da tabela de páginas. 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. Offset bits 0 11 fornece um offset para um endereço na páginas de memória.

DTEs (directory table entries) são as referências na tabela de diretórios. PTEs (page table entries) são as referências na tabela de páginas. Uma referência (entry) do diretório ou das tabelas de páginas contém informações sobre: o endereço físico. direitos de acesso. gerenciamento de memória. REFERÊNCIAS MEMÓRIA PLANA POR PÁGINA 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 A existência de páginas é transparente para um aplicativo; MEMÓRIA LINEAR DESOCUPADA Programa Sistema Oeracional Endereço 0 Páginas físicas alocadas ao programa MEMÓRIA LINEAR DESOCUPADA Páginas alocadas ao SO

REGISTROS PARA GERENCIAMENTO DA MEMÓRIA 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: registro da Global Descriptor Table registro da Interrupt Descriptor Table registro da Local Descriptor Table registro de Tarefas SEGMENTAÇÃO E PAGINAÇÃO

INTERRUPÇÕES E EXCESSÕES São transferências forçadas de execução da tarefa ou programa ativo para uma tarefa ou procedimento especial denominado handler. Interrupção: de forma típica ocorrem em instantes aleatórios durante a execução, em resposta à sinais de hardware. são usados para lidar com eventos externos, tais como requisição para atender a periféricos. Tipos de interrupção: por software: associada à execução da instrução int nn. por hardware: associada à circuito externo ao processador. Excessão definida e gerada pela CPU. 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 Existem cerca de 256. numeradas de 00h a FFh. algumas reservadas pelo processador (as excessões e a NMI). O processo de manipulação da execução depende da tabela de descritores de interrupcão IDT. cada um dos descritores tem um número de interrupção, ou excessão, associado a um manipulador. o número de interrupções é usado como um índice na IDT, relacionado ao descritor. o descritor contém as informações necessárias para transferir o controle da máquina ao manipulador de interrupcões. a IDT pode ser colocada em qualquer posição da memória linear. o IDTR é um registrador de 48 bits: 32 bits mais significativos apontam para o endereço base da IDT. 16 bits restantes: tamanho da IDT.

DESCRITORES DE INTERRUPCÃO Um descritor de interrupcão é de um dos seguintes tipos: Gate de interrupção ou armadilha: Contém número da rotina associada ao pedido interrupção. armadilha é interrupcão não-mascarel, geralmente, gerada internamente pela CPU. Gate de tarefa. É a chamada para execução de uma nova tarefa, que aninhará a tarefa interrompida. Manipulador de interrupção ou excessão Implementado por rotina ou uma tarefa. por uma rotina, interage apenas com a tarefa que estava executando. por tarefa, interage interage apenas em seu próprio contexto. É mais comum a implementação por rotina. ENTRADA E SAÍDA Operações de E/S para dispositivos externos são executadas através de: Portas registradores acessíveis para leitura ou escrita, utilizados no controle da operação de algum periférico ou circuito de apoio. Acesso a portas: através de endereço da memória física mapeamento em memória. através de um espaço de endereços separados e independentes da memória mapeamento em E/S. Mapeamento através do espaço de endereços: Realizado através de um conjunto de instruções e um sistema especial de proteção. Mapeamento em memória: é realizado com as instruções gerais do processador (move e string) proteção é realizada através de segmentação ou paginação.

ENTRADA E SAÍDA Endereçamento é realizado através das linhas de endereço do processador. os processadores Intel indicam que estão realizando operações de E/S se o pino M/IO for colocado no estado (0) caso contrário é uma operação em memória. Dados são transmitidos entre o processador and um dispositivo de I/O através das linhas de dados. NÍVEIS DE PRIVILÉGIO O processador admite 4 níveis de privilégio Números maiores designam menores privilégios; A razão básica para usar níveis de privilégio é a de aumentar a confiabilidade do S.O.

MODELO DO S.O.: INTERRUPÇÕES Definição: é um evento assíncrono geralmente causado por um dispositivo de E/S para avisar ao controlador o término de uma tarefa Tipos de interrupção compartilhada: dois ou mais dispositivos compartilham mesmo IRQ (PCI) APIC: 256 níveis não-compartilhada: cada dispositivo possui um IRQ específico (ISA) PIC: 16 níveis Opções de execução (depende do modelo do SO). como tarefa (processo) independente mais protegida mais lenta no contexto da tarefa (processo) interrompida gerenciamento de memória mais susceptível a problemas mais rápida INTERRUPÇÕES Etapas de processamento de interrupção o estado corrente (registros de flags e contador do programa) é salvo na pilha (stack) ativa o processador requisita um número de interrupção do (A)PIC é carregado um novo valor do contador do programa da tabela de descrição de interrupção (IDT), indexada pelo número da interrupção 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 isso impede que outras interrupções de mesmo nível ou inferior venham a ocorrer.

MODELO DO SO: INTERCOMUNICAÇÃO Existem vários formas de intercomunicação entre as tarefas ativas, que são necessárias ao seu funcionamento simultâneo Tipos de mensagens Sincronização (uso de recursos e I/O entre as várias tarefas ) Semáforos (usados para sinalizar a troca de informações) Pipes: pseudo dispositivos de I/O usados para enviar e receber dados entre tarefas Mensagens (SendMsg, WaitMsg) Reentrância mesma porção de código ser interrompida pelo SO e vir a ser executada no contexto de outra tarefa) Latência tempo que se gasta até que uma tarefa venha a ser executa após ser executada uma interrupção) STACK

STACK: DEFINIÇÕES É 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; Está contido no segmento e identificado pelo seletor de segmentos no registro SS; No modelo de memória plano, o stack pode estar em qualquer posição no espaço de endereços; Pode ter um tamanho máximo de até 4 GB.