Sistemas Operacionais Carlos Eduardo Portela Serra de Castro



Documentos relacionados
Comparação SDs X Scs

Everson Scherrer Borges João Paulo de Brito Gonçalves

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

Sistema Operacional Correção - Exercício de Revisão

Sistemas Operacionais

Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Figura 01 Kernel de um Sistema Operacional

Sistemas Operacionais Introdução. Professora: Michelle Nery

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Profs. Deja e Andrei

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

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

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS DISTRIBUÍDOS

SISTEMAS OPERACIONAIS

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais

Unidade 13: Paralelismo:

1.2 Tipos de Sistemas Operacionais

Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Máquinas Multiníveis

Fundamentos de Sistemas Computacionais Introdução

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

4 Estrutura do Sistema Operacional Kernel

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

UFRJ IM - DCC. Sistemas Operacionais I

Processamento de Dados

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Conceitos Básicos sobre Sistemas Operacionais

Arquitetura dos Sistemas de Informação Distribuídos

Fundamentos de Banco de Dados

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

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Introdução ao Modelos de Duas Camadas Cliente Servidor

Organização e Arquitetura de Computadores I. de Computadores

Infra-Estrutura de Software. Introdução. (cont.)


Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Estrutura, Processos e Threads

Introdução aos Sistemas

Fundamentos de Sistemas Operacionais

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

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

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

SISTEMAS OPERACIONAIS 2007

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Introdução aos Sistemas Operacionais

Sistemas Distribuídos

Organização de Computadores 1

Sistemas Distribuídos

Sistema Operacional. Prof. Leonardo Barreto Campos 1

SISTEMAS OPERACIONAIS

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

SISTEMAS OPERACIONAIS

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Sistemas Operacionais. Conceitos de um Sistema Operacional

Prof. Marcelo Machado Cunha Parte 1

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

Introdução aos Sistemas Operativos

Evolução na Comunicação de

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais. Alexandre Meslin

Introdução às arquiteturas paralelas e taxonomia de Flynn

Sistemas Cliente-Servidor

6 - Gerência de Dispositivos

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

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

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Nível do Sistema Operacional

GESTÃO DE SISTEMAS OPERACIONAIS II

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Edeyson Andrade Gomes.

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

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

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Sistemas Operacionais

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

Transcrição:

Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus recursos para os usuários (humanos e programas). Sistema de computador moderno é bastante complexo, composto por processador, memória, unidades de armazenamento e dispositivos de E/S Controlar todas as operações -> complexo Uma operação simples (ler arquivo em disco) se desdobra em uma série de tarefas (acessar disco, localizar arquivo, transferir para memória e retornar controle ao chamador) Solução : SW controlador, com interface simples, oferece HW como máquina virtual Papel do SO (2 visões possíveis): top-down : oferece HW como máquina estendida, virtual -> mais fácil de utilizar bottom-up : gerente de recursos -> distribui o HW entre os usuários Histórico Fase 1 Fase 2 Fase 3 Fase 4 Fase 5 1945 1956-1965 1966-1980 1981-1990 1991-1955 Linguagem Linguagem de Multiprocessamento de máquina alto nível Processamento Sistemas especialistas Linguagem batch Assembly orientadas a objeto estruturadas Multiprogramação Time-sharing Computação gráfica micros de 8 bits APPLE e SO CP/M Processamento distribuído concorrentes Programação funcional naturais Aplicativos Programas do Sistema HW Camadas do software Jogos, editor de texto, Específicos Utilitários Sistema Operacional Linguagem de maquina Microcódigo Dispositivos Físicos Funções do SO Interpretação da Linguagem de Controle Controle de erros Multi-acesso a recursos Escalonamento de tarefas Proteção de memória Controle de recursos físicos de operações de E/S Controle de Interrupções Sequenciamento de JOB s Componentes do SO Gerente de Memória Gerente de Processador Gerente de Periféricos Gerente de Sistema de Arquivos

2 Systems calls conjunto de instruções estendidas, que definem a interface entre o sistema operacional e os programas de usuários. Programa do usuário: read Serviço do Sistema Operacional: READ Objetos: processos, memória e arquivos Processo e basicamente um programa em execução Composição: código executável, dados, pilha, valor do contador de programa (Registrador de PC), valor do apontador de pilha (Registrador de SP), valor dos demais registradores de HW Suspensão do processo -> salva das informações Chamadas mais importantes: criação e terminação de processos Processos filhos Comunicação entre processos Memória: alocação e deslocação de memória Arquivos Chamadas para criar, remover, abrir, ler, escrever, fechar Diretório agrupar e organizar conjuntos de arquivos Estrutura dos Sistemas Operacionais Os sistemas operacionais dependem muito da arquitetura do computador no qual estão executando. Muitas arquiteturas => muitas possibilidades de sistemas operacionais (mesmo iguais) Sistemas Monolíticos Mais utilizada, porém a mais confusa; Não existe estruturação formal SO = conjunto de procedimentos que podem ser chamados por todos os demais; Interface dos procedimentos bem definida (parâmetros e resultados); Não existem restrições à visibilidade das informações (todos visíveis a todos) Estrutura básica (não formal) : Programa principal que chama o procedimento de serviço; Conjunto de procedimentos de serviço que executam as chamadas de sistema Conjunto de procedimentos utilitários que auxiliam os procedimentos de serviço; A cada chamada de sistema corresponde um procedimento de serviço; Procedimentos utilitários cumprem tarefas para os de serviço (ler dados na memória) Na compilação de um programa, todos os procedimentos necessários devem ser compilados e ligados em um único programa objeto => não há restrição de informações

3 Sistemas em Camadas É uma generalização da estrutura do Sistema Monolítico, entendido como uma hierarquia de níveis Possuía 6 níveis : nível 0 (baixo) : alocação do processador nível 1 : responsável pela gerência da memória. nível 2 : responsável pela comunicação processo-console de operação. nível 3 : fazia gerência de E/S. nível 4 : continha os programas de usuário. nível 5 : operador do sistema Máquinas Virtuais Objetivo: sistema timesharing deve fornecer : 1. Ambiente para multiprogramação 2. Máquina estendida com interface amigável (SO) Centro do sistema -> Monitor da máquina virtual, executava sobre HW, oferecendo ambiente para multiprogramação na forma de várias máquinas virtuais para os níveis superiores Um SO pode então ser instalado e executado em cada máquina virtual. Máquinas diferentes podem até executar SO s diferentes (e muitas vezes assim é) : sistemas batch, monousuário, ou o sistema interativo CMS (Conversational Monitor System). Cliente - Servidor Mas a idéia de mover o código para níveis mais altos foi aproveitada por muitos SO modernos Nestes, o kernel é apenas responsável pelo contato direto com HW. As rotinas de tratamento de chamadas do sistema são implementadas como processos de usuário SO dividido em partes menores para gerenciar somente uma faceta do sistema Grande vantagem do modelo Cliente-Servidor: totalmente adaptável para ambientes distribuídos Nestes ambientes, os processos podem estar rodando em máquinas separadas, mas o SO funciona da mesma forma : serviço pedido via solicitação (msg) e resposta é recebida (msg)

4 Tipos de Sistemas Operacionais Sistemas Monoprogramáveis Foram os 1ºs SO => voltados para o controle de 1 único programa executando no computador Programa aloca o processador, memória e periféricos de forma exclusiva Surgiram nos 1ºs mainframes, mas depois foram abandonados em favor de SO s mais sofisticados, Retornaram como SO dos computadores pessoais Vantagem: Implementação simples : pouca preocupação com proteção Desvantagem: Subutilização - processador espera por E/S, programa pode não usar toda memória ou dispositivos de E/S Sistemas Multiprogramáveis Permitem que vários programas utilizem os recursos do HW Mais complexos (necessidade de proteção) SO responsável pelo controle da concorrência no acesso aos recursos Vantagem óbvia : melhor utilização dos recurso Vantagem menos óbvia : barateamento de custos (compartilha recursos) Desvantagem: Mais complexos (necessidade de proteção) Modo de gerenciar os programas: Sistemas Batch executados de forma seqüencial normalmente não interagiam com o usuário (maiores atrasos) mas tempo de resposta longo Sistemas Timesharing = tempo compartilhado fatia de tempo (time-slice) do processador simula um ambiente em que todo o computador é dedicado ao usuário são complexos, mas acabam por aumentar a produtividade com a redução do uso do sistema (interatividade) Sistemas de Tempo Real Semelhantes ao Timesharing, mas possui exigências quanto ao tempo de resposta do sistema, Não há a idéia de fatia de tempo. Depende da prioridade de execução SO não define prioridades apenas aloca recursos para os que tem a maior

5 Sistemas Multiprocessados Classificação de máquinas multiprocessadas (Taxonomia de Flynn: fluxos de instruções e dados) SISD (Single Instruction, Single Data) : todos os monoprocessados SIMD (Single Instruction, Multiple Data) : processadores vetoriais e matriciais MISD (Multiple Instruction, Single Data) : teórico, não possui implementação MIMD (Multiple Instruction, Multiple Data) : sistemas multiprocessados paralelos e distribuídos SO s para sistemas multiprocessados incorporam as características da multiprogramação, adicionando algumas Vantagens : Escalabilidade : aumentar capacidade de processamento a um custo menor Reconfiguração : adaptação automática a falhas Balanceamento : distribuição da carga para melhorar desempenho Desvantagens : Complexidade do controle Segurança Aspectos a considerar no multiprocessamento : comunicação entre processadores grau de compartilhamento da memória e dispositivos de E/S Levando em conta estes aspectos, os Sistemas Multiprocessados se dividem em : Sistemas Fortemente Acoplados: diversos processadores que compartilham a mesma memória geralmente os processadores estão muito próximos (placa), numa máquina só, controlados por um mesmo SO aplicações que utilizem muita capacidade de processamento para resolução de poucas ou uma só tarefa (aplicações científicas) Simétricos : todos os processadores são iguais Assimétricos : um processador que é mais igual que os outros máster. Sistemas simétricos X assimétricos, são mais poderosos ainda que mais complexos : mais tolerantes a falhas (?) melhor balanceamento mais eficiente (sobrecarga do master) Sistemas Fracamente Acoplados computadores autônomos ligados por um link de comunicação pode haver diferentes SO s modos de comunicação comuns

6 Sistemas Multiprocessados Fracamente Acoplados Eles evoluíram dos sistemas com terminais burros => ganharam poder de processamento próprio e descartaram o centralizador (±) Os sistemas componentes são chamados de nós, hosts ou estações. O grau de integração entre eles pode classificar o sistemas como : de Rede : nós independentes, mas com HW e SW suficientes para comunicar com outros e compartilhar recursos. Ex.: LAN Distribuídos : nós interrelacionados, normalmente com mesmo SO, que simulam ambiente único para usuários. Balanceamento e disponibilidade automáticos => redundância Sistemas Fracamente Acoplados também podem ter organização simétrica ou assimétrica, mas somente quanto a funções específicas ou partes do SO (servidores). No mais, eles são totalmente independentes Modo como a comunicação é realizada em : Barramento: Há apenas uma linha de comunicação disponível para todos os processadores (interna para fortes, externa para fracos) Em ambos os casos, o problema é que somente uma unidade pode utilizar o barramento a cada instante Em sistemas fortes => coerência da memória Em sistemas fracos => colisão Isso limita o tamanho possível do sistema, cuja eficiência está diretamente relacionada à capacidade do barramento Nos sistemas fortes, o controle do barramento não é executado pelo SO, mas sim pelo HW (muito + rápido e eficiente) Nos sistemas fracos, esse controle é praticamente um novo componente (essencial) do SO => gerência de comunicações (protocolos) Comunicação comutada Há uma linha de comunicação entre cada par de unidades (ponto-a-ponto). Neste caso, nem todos os processadores precisam estar diretamente conectados As mensagens podem ser roteadas de forma diferente a cada conexão Bibliografia MACHADO, Francis B.& MAIA, Luiz P. Arquitetura de Sistemas Operacionais, 2a Ed. LTC- RJ TANEMBAUM, A S.Sistemas Operacionais Modernos, Prentice Hall. RJ

7 VANTAGENS: Sistemas Distribuídos X Sistemas Centralizados Economia = podem oferecer melhor relação preço performance do que a oferecida pelos mainframes. Velocidade = um sistema distribuído pode ter um poder de processamento maior que o de qualquer mainframe. Distribuição = algumas aplicações envolvem maquinas separadas fisicamente. Confiabilidade = se uma maquina deixar de funcionar, o sistema como um todo pode sobreviver. Crescimento incremental = poder computacional pode crescer indefinidamente. Sistemas Distribuídos X Computadores Pessoais Compartilhamento de dados = permite que mais de um usuário acesse uma base de dados comum. Compartilhamento de dispositivos = permite que mais de um usuário possa ter acesso a periféricos muito caros. Comunicação torna muito mais fácil a comunicação pessoa a pessoa, por exemplo, empregando correio eletrônico. Flexibilidade = Espalha a carga de trabalho por todas as maquinas disponíveis ao longo da rede. DESVANTAGENS: Software: Que tipo de SO, LP, e Aplicação são apropriadas para tais sistemas? Como esta o conhecimento do usuário a respeito do assunto? Que tipo de trabalho deve ser feito pelo sistema, e qual deve ser feito pelo usuário? Rede de Comunicação: Perda de mensagens Sobrecarga: substituir por outra maior adicionar outra rede Segurança Dados secretos podem ficar acessíveis.