BC1518
BC1518 -
- Sistemas
Sistemas Operacionais
Operacionais
Introdução
Introdução
Aula Aula 0101 Aula Aula 0101 3 3°°°°°°°° QQuadrimestreuadrimestre de 2010de 2010Prof. Marcelo Z. do
Prof. Marcelo Z. do Nascimento
Nascimento
Email: marcelo.nascimento@ufabc.edu.brRoteiro
• Introdução
• Funções do S.O.
• Organização do computador
• Arquitetura de sistemas computadorizados • Arquitetura de sistemas computadorizados • Estrutura do S.O.
• Operações do sistema • Ambiente de computação • Leitura Sugerida
Introdução
Sistema Operacional (SO):
• programa que gerencia o hardware do computador;
• Fornece a base para os programas aplicativos; • Fornece a base para os programas aplicativos; • Intermediário entre o usuário e o hardware;
• Projetados para serem convenientes ou eficientes ou uma combinação disso;
Introdução
Sistema Operacional (SO):
DiagramaUS3 US2
US1
Compilador Planilhas Editor de Texto SGBD
Sistema Operacional
Hardware do computador
Funções dos S.O.
Visão do usuário: Interface
• PC
• Projeto para facilitar o uso, com atenção ao desempenho e
nenhuma à utilização do recursos. nenhuma à utilização do recursos.
• Terminal
• Projetado para facilitar a utilização de recursos – para
garantir que recursos como CPU, Memória e E/S sejam
Funções dos S.O.
Visão do usuário: Interface
• Computadores portáteis:
• Projetados para facilitar a utilização individual;
• Preocupação: desempenho por tempo de vida da bateria. • Preocupação: desempenho por tempo de vida da bateria.
• Computação embutida em dispositivos
• Projetados para serem executados sem intervenção do usuário;
Funções dos S.O.
Visão do sistema: Gerenciador
• Programa envolvido com o hardware
• Alocar recursos;
• Funções: o tempo de CPU, espaço de memória, dispositivos de
E/S; E/S;
• Deve decidir como alocá-lo e a quem, de modo que possa operar
de forma eficiente e justa.
• Programa de controle
• Administrar a execução dos programas do usuário para impedir
Funções dos S.O.
O que é um sistema operacional?
• Como o hardware puro não é fácil de utilizar: as
funções comuns de controle e alocação são reunidas nesse software;
nesse software;
• É o único programa que executa o tempo todo no computador;
Organização do Computador
Organização do Computador
Operação do computador: Sistema Básico de
Entrada/Saída (
Basic Input/Output System
– BIOS)• O BIOS é o primeiro programa executado pelo
computador.
computador.
– Sua função é preparar o PC para que o SO, que esta
armazenado em um dispositivo (discos rígidos, disquetes, CDs, etc) possa ser carregado para memória e iniciado a sua
execução.
• O BIOS é Firmware.
• Software armazenado em uma memória de leitura
Organização do Computador
Operação do computador: O Programa inicial – bootstrap
• Programa carregado durante “power-up” ou “reboot”
pelo BIOS.
• O BIOS transfere o controle para o bootstrap, que • O BIOS transfere o controle para o bootstrap, que
initializa todas as partes do sistema necessário para carregar o kernel do SO.
• O bootstrap, deverá localizar e carregar o kernel do
SO para memória e inicializar a execução ou ativar um processo mais complexo (multi-boot);
Organização do Computador
Operação do computador:
• O S.O. começa a executar o primeiro processo “init” e espera que ocorra algum evento;
• Evento = interrupções geradas por software ou hardware:
hardware:
• Hardware => envia um sinal à CPU (barramento);
• Software => executa uma operação especial (system call ou monitor call).
• A rotina de serviço de interrupção (função) entra em operação, ao completar a operação, a CPU retorna a operação interompida.
Organização do Computador
Organização do Computador
Tabela de ponteiros para rotina de interrupção; Armazenada na memória baixa (100 primeiras
posições).
Organização do Computador
Processador: Pentium Intel
Mecanismo de
interrupções também usado para exceções ex. divisão por zero, acesso a endereço de memória protegida ou inexistente.
Unidade de Controle (UC)
Unidade Lógica e Aritmética (ULA) Clock (temporizador)
Registradores – armazena dados (estado do programa)
Organização do Computador
Processador:
Registradores – armazena dados (estado do programa)
Contador de instruções – contém o endereço da próxima instrução que o processador deve buscar e executar.
Apontador de pilha – contém o endereço de memória do topo da
pilha, estrutura de dados onde o sistema mantém informação sobre o programa que está sendo executado e foram interrompidos.
Registrador de Status – responsável por armazenar informações sobre a execução de instruções (overflow).
Organização do Computador
Armazenamento:
• Programas ficam alocados na memória principal;
• memória de acesso aleatória – Random Acess memory – RAM
• utilizam semicondutores chamado memória de acesso aleatória
dinâmica (DRAM) que formam um conjunto de words na
dinâmica (DRAM) que formam um conjunto de words na
memória;
• cada word tem seu próprio endereço;
• instruções são movidas das words para registradores da CPU
para processamento.
Organização do Computador
Armazenamento:
• Unidade de memória apenas visualiza um fluxo de endereços
• Os programas e dados deveriam estar permanetemente na memória
permanetemente na memória • Problema:
• pequena para armazenar todos os programas; • dispositivo volátil.
• Memória secundária: utilizada como extensão da RAM • Mantém grande quantidade de dados
Armazenamento: Disco magnético
• Pratos de vidro ou de metal rígido
revestidos de material magnético de gravação;
• A superfície do disco está logicamente
Organização do Computador
• A superfície do disco está logicamente
dividida em trilhas (tracks), as quais
estão divididas em setores (sectors);
• O controlador do disco determina a
interação lógica entre o dispositivo e o computador.
Hierarquia de Armazenamento
Sistemas de armazenamento são organizados em hierarquia. Velocidade Custo
Organização do Computador
Custo Volatilidade
Caching
copia informação para um sistema mais rápido de armazenamento;A memória principal pode ser vista como um
cache
Hierarquia de Armazenamento
Interrupções de E/S:
Método síncrono => após o início de uma operação E/S, o controle só retorna após o término dessa operação. Implementação:
a instrução wait coloca a CPU no estado de
Organização do Computador
a instrução wait coloca a CPU no estado de
espera até à próxima interrupção.
utilize-se um ciclo tipo espera.
Desvantagens :
• No máximo um pedido E/S é atendido de cada
vez.
• Não existe nenhum processamento E/S
simultâneo.
Vantagens
Organização do Computador
Interrupções de E/S:
Método assíncrono => após o início de E/S, o controle retorna ao programa sem esperar pela terminação da operação..
Vantagens
Concorrente E/S operações.
Permite processamento simultâneo.
Desvantagens
Implementação mais complexa
E/S:
Device-status table
contém uma entrada para cada dispositivo E/S, indicando o tipo, endereço e estado.
O SO indexa a I/O device table para determinar o estado de
dispositivo e modifica a sua entrada na tabela de acordo com a ocorrência da interrupção.
Organização do Computador
Tabela de estado dos dispositivos
E/S: Estrutura DMA (Direct Memory Acess) hardware que permite a realização de E/S
programado a fim de manter a CPU ocupada única e exclusivamente com as atividades que requerem
processamento de resultados;
Organização do Computador
processamento de resultados;
Após ser programado pela CPU realiza uma
transferência de vários blocos de dados de um dispositivo para a memória:
Somente uma interrupção é gerada por bloco e não por byte; CPU só interrompida (interrupção) quando todos estes
E/S = Estrutura DMA (Direct Memory Acess)
Sistema Único Processador:
Uma CPU capaz de
executar um conjunto de instruções de uso geral:
Processadores de uso específico (disco,
Arquitetura do Sistema
Computadorizado
UCP específico (disco,controladores gráficos, etc) executam conjunto de
instruções limitadas
Exemplo: controlador de disco
=> recebe solicitação da CPU e implementa sua própria fila de disco e algoritmo de escalonamento. Memória Principal Dispositivos de E/ S UCP programa/ tarefa
Sistemas Multiprocessados:
Sistemas paralelos ou fortemente aclopados Possui mais de 1 processador,
Compartilham barramento, o clock e a memória;
Arquitetura do Sistema
Computadorizado
Compartilham barramento, o clock e a memória; Vantagens:
Maior vazão (throughput): tarefa em menos tempo.
Há um custo adicional para funcionar corretamente => o ganho
é inferior a N processadores;
Economia de escala: custo mais reduzido por compartilhar recurso; Maior confiabilidade: distribui corretamente as funções entre os
Sistemas Multiprocessados:
Arquitetura do Sistema
Computadorizado
Memória UCP UCP Memória Principal Dispositivos de E/ S Dispositivos de E/ SSistemas Multiprocessados:
Sistemas tolerantes a falha: pares de CPUs
trabalham em cooperação, ou seja, 2 processadores executam instruções e comparam os resultados;
Arquitetura do Sistema
Computadorizado
Os sistemas podem ser:
mutiprocessamento assimétrico: relacionamento
mestre-escravos
Multiprocessamento simétrico: cada processador executa
todas as tarefas em um SO.
Sistemas Multiprocessados:
Tendências de Projeto de CPU => múltiplos núcleos
em um único chip – SO aparecem com N processadores;
Arquitetura do Sistema
Computadorizado
Cluster:
Composto de 2 ou mais sistemas acoplados e
conectados por um rede local;
Configurações:
assimétrica:uma máquina em modo hot-standy (monitora o
servidor ativo);
Arquitetura do Sistema
Computadorizado
assimétrica:uma máquina em modo hot-standy (monitora o
servidor ativo);
simétrica: 2 ou mais hosts estão executando aplicações e
monitorando um ao outro. UCP UCP Memória Principal Memória Principal Dispositivos de E/ S link de comunicação Dispositivos de E/ S
Estrutura do S.O.
• Provê um ambiente dentro do qual os programas são executados;
• Fornece:
• Capacidade de multiprogramar: aumenta capacidade de uso da CPU, organizando as tarefas do modo que a CPU sempre tenha uma (Situações da vida =>
de uso da CPU, organizando as tarefas do modo que a CPU sempre tenha uma (Situações da vida =>
Advogado);
• Tempo compartilhado: extensão lógica da
multiprogramação => CPU executa várias tarefas alternando entre elas.
• Escalonamento e multiprogramação possibilita ao usuário usar parte do computador.
Estrutura do S.O.
• Cada usuário tem pelo menos um programa separado na memória;
• Programas são carregados na memória.
• Devido ao tamanho: as tarefas são mantidas no disco => • Devido ao tamanho: as tarefas são mantidas no disco =>
o escalonador deve decidir quem irá para memória; • Garantir tempo de resposta razoável => swapping
• Ex.: Memória virtual => permite a execução de um processo que
não está completamente na memória (programas maiores que a memória física).
Os eventos são sinalizados quase sempre pela ocorrência de uma interrupção ou
trap
Compartilhamento de recursos do sistema obriga o SO a garantir que um programa
errado
não provoque execução errônea de outros programasOperação do Sistema
execução errônea de outros programas
Provê suporte do hardware para diferenciar entre dois modos de operação
Modo usuário - execução feita em nome de um usuário
Modo Monitor (também modo supervisor ou modo sistema) − execução feita em nome do SO.
Modo Dual:
Mode bit
adicionado ao hardware do computador para indicar o modo corrrente: monitor (0) ou usuário (1). Quando uma interrupção ou erro ocorre, o hardwaretroca para o modo monitor.
Operação do Sistema
troca para o modo monitor.
Instruções Privilegiadas podem ser executadas somente
em modo monitor (modo kernel).
monit or
usuá rio
• Temporizador previne que programa de usuário fique
preso com um recurso (CPU).
– Ex. um loop infinito • Como trabalha:
Temporizador
– Antes de passar o controle para o programa de usuário, o
SO configura um tempo com um específico valor;
– Após o período, uma interrupção é disparada e o SO retém
o controle;
– O SO então decide se permitirá usar o recurso por mais
“Um
processo
é um programa em execução”.Exemplo: um processador de textos executado por um
usuário individual em um PC.
Um processo precisa de certos recursos, incluindo
Gerência de Processos
Um processo precisa de certos recursos, incluindo
tempo de CPU, memória, arquivos e dispositivo de E/S para completar sua tarefa.
Um programa é uma entidade passiva (conteúdo do arquivo armazenado em disco), enquanto o processo é uma entidade ativa (contador de programa).
• O SO é responsável pelas seguintes atividades
relacionadas à administração de processos:
Criação e deleção de processos (usuário e SO);
Gerência de Processos
Criação e deleção de processos (usuário e SO); Suspensão e reativação de processos;
Provisão de mecanismos para:
Sincronização de processos; Comunicação de processos;
A memória principal é uma grande sequência de
words ou bytes, cada um com o seu próprio endereço. Ela é o repositório de dados rapidamente acessíveis
compartilhados para CPU e os dispositivos de E/S.
Gerência de Memória
A memória principal é um dispositivo de
armazenamento volátil. Ela perde o seu conteúdo no caso de falha do sistema.
O SO é responsável pelas seguintes atividades
relacionadas à administração da memória principal:
Manter registro de quais partes da memória estão correntemente sendo utilizadas e por quem;
Gerência de Memória
Decidir que processos carregar quando há espaço disponível na memória;
O SO abstrai as propriedades físicas de seus
dispositivos de armazenamento para definir uma unidade lógica de armazenamento => o arquivo.
Arquivo é uma coleção de informações relacionadas
Gerência de Arquivo
Arquivo é uma coleção de informações relacionadas
definida pelo seu criador. Geralmente, os arquivos
representam programas (tanto em formato fonte como objeto) e dados.
Para guardar os arquivos, a maioria dos SO fornece o
O SO é responsável pelas seguintes atividades:
Criar e apagar arquivo; Criar e apagar diretório;
Gerência de Arquivo
Suportar primitivas para a manipulação de arquivos e diretórios;
Mapear arquivos em memória secundária;
Copiar arquivos em meio de armazenamento estável (não volátil).
O SO busca ocultar as peculiaridades de dispositivos de hardware
específicos do usuário.
O UNIX esconde as peculiaridades => um subsistema E/S é
utilizado:
Um sistema de buffer-caching;
Sistema de E/S
Um sistema de buffer-caching;
Uma interface geral de drivers de dispositivos;
Desde que a memória principal é volátil e muito pequena
para acomodar todos os dados e os programas
permanentemente, o sistema computacional deve prover armazenamento secundário para recuperar a memória principal;
Gerência de Armazenamento
secundário
principal;
A maioria dos sistemas de computação modernos
utilizam discos como o principal meio de armazenamento
O SO é responsável pelas seguintes atividades relacionadas à administração do armazenamento secundário:
Administração do espaço livre.
Gerência de Armazenamento
secundário
Administração do espaço livre.
Alocação de armazenamento (espaço necessário). Programação de alocação do disco (fragmentação).
Caching
• As informações são mantidas na memória principal e a
medida que são utilizadas são copiadas para um sistema mais rápido de armazenamento – a cache;
• Consulta primeiro a cache, caso não tenha vai até a • Consulta primeiro a cache, caso não tenha vai até a
memória e faz uma cópia para a cache;
• A seleção cuidadosa de seu tamanho e de sua politíca
de substituição pode resultar em um desempenho bastante aumentado.
Caching
Um sistema distribuído é uma coleção de
processadores que não compartilham a memória
principal.
Ao contrário, cada processador tem sua própria memória local;
Sistema Distribuído
memória local;
Os processadores no sistema são conectados através de uma rede de comunicação (LAN);
Um sistema distribuído provê ao usuário acesso a
vários recursos do sistema;
O acesso a um recurso compartilhado aumenta velocidade de computação.
Uma rede é a via simples de comunicação entre dois ou mais sistemas:
Varia de acordo com o protocolo: maioria dos S.Os suportam TCP/IP.
A distância: LAN, WAN, MAN;
Sistema Distribuído
A distância: LAN, WAN, MAN;
Um S.O. de rede provê recursos compartilhados de arquivo pela rede e inclui um esquema de comunicação que permite que diferentes processos em diferentes computadores troquem mensagem:
Há comunicação de fornecer a ilusão de que um único SO controla a rede.
Computação tradicional Sistema cliente-servidor: Servidor de processamento; Servidor de arquivos.
Ambiente de Computação
Sistema peer-to-peer:serviços fornecidos por vários nós distribuídos por meio de uma rede.
Computação baseada na Web:
balanceadores de carga: distribui conexão da rede entre um banco de servidores semelhantes.
Aula 01 - Sumário
• Temas abordados:
• Funções do S.O.: Usuário e Sistema • Organização do computador: recursos
• Arquitetura de sistemas computadorizados: único e • Arquitetura de sistemas computadorizados: único e
multiprocessados
• Operações do sistema: modo dual • Estrutura do S.O: Gerenciadores
Leituras Sugeridas
• Silberschatz, A., Galvin, P. B. Gagne,
G. Sistemas Operacionais com Java. 7º , edição. Editora, Campus, 2008
• Silberschatz, Abraham; Galvin, Peter
Baer; Gagne, Greg. Fundamentos de
sistemas operacionais. 6 ed. Rio de
Acesse o link abaixo para obté-la:
http://hostel.ufabc.edu.br/~marcelo.nascimento/