INF 1019: Sistemas de Computação (Sistemas Operacionais)

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

UFRJ IM - DCC. Sistemas Operacionais I

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Nível do Sistema Operacional

AULA 3 Introdução ao Software

Introdução à Computação: Sistemas de Computação

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

Sistemas Operacionais. Professor Leslier Soares Corrêa

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

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

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

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

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Conceitos Básicos sobre Sistemas Operacionais

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

Edeyson Andrade Gomes.

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

Sistemas Operacionais. Introdução

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

Sistemas Operacionais

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

Sistemas Operacionais

SISTEMAS OPERACIONAIS 2007

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

Tipos de sistemas operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Professor: Gládston Duarte

Introdução a Computação

Sistemas Operacionais Introdução

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

INE Sistemas Operacionais Noções sobre sistemas operacionais, funcionamento, recursos básicos

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Introdução. Software (Parte I)

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

Programador Web - Pronatec

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

Sistemas Operacionais

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

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

Sistemas Operacionais Introdução. Professora: Michelle Nery

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Sistemas Operacionais

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

Sistemas Operacionais

FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS PLANO DE ENSINO

Sistemas Operacionais. Alexandre Meslin

Infra-estrutura de Software

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

Sistemas Operacionais

Sistemas Operacionais

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

SISTEMAS OPERACIONAIS

Infra-estrutura de Software. Apresentação!

Máquinas Virtuais: Windows 2008 Server

Montagem e Manutenção. Luís Guilherme A. Pontes

Introdução à Informática

Introdução a Sistemas Operacionais Aula 04. Prof. Msc. Ubirajara Junior biraifba@gmail.com

Sistemas Operacionais Introdução

Sistemas Operacionais - Prof. Fabricio Alessi Steinmacher - fsteinmacher@gmail.com OBJETIVOS OPERACIONAIS. fsteinmacher@gmail.

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

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

FundamentosemInformática

Sistemas Operacionais

Figura 01 Kernel de um Sistema Operacional

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

Sistemas Operacionais

Arquitetura dos Sistemas Operacionais

Processamento de Dados

1. Introdução - contextos de aplicações

6 - Gerência de Dispositivos

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

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

1.2 Tipos de Sistemas Operacionais

ARQUITECTURA DO WINDOWS

CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

Curso Técnico de Informática de Sistemas

Computação Instrumental

Introdução à Ciência da Computação

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

Sistemas Operacionais Aula 2

ESTRUTURA DE UM SISTEMA OPERACIONAL

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

Programação Concorrente Processos e Threads

13/10/11 TIPOS DE UTILITÁRIOS UTILITÁRIOS 0798 INTRODUÇÃO À PROGRAMAÇÃO TIPOS DE UTILITÁRIOS TIPOS DE UTILITÁRIOS

Introdução aos Sistemas

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Introdução aos Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais Livres. Hélder Nunes

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

É um programa de computador.

Transcrição:

INF 1019: Sistemas de Computação (Sistemas Operacionais) Markus Endler Sala RDC 503! endler@inf.puc-rio.br!! http://www.inf.puc-rio.br/~endler/courses/inf1019/!! 1

Introdução 2

O Que é um Sistema Operacional? É um software que age como intermediário entre o usuário e o hardware Fornece um ambiente onde o usuário pode executar programas Garante a utilização eficiente dos recuros de hardware Protege o próprio sistema operacional e os programas de usuários de violações mútuas. Cria abstrações dos recursos de hardware e esconde os detalhes do acesso a esses recursos (evitando que o programador/usuário tenha que se preocupar com a heterogeneidade de sistemas) 3

A função do Sistema Operacional Usuário B! Aplicativo 1! Utilitário 1! Usuário A! Usuário C! Usuário D! Sistema 1! Sistema Operacional! Usuário-! Sistema! Recurso HW1! Recurso HW2! Recurso HW3! Exemplos: Aplicativos: Planilha, processador de texto,... Utilitários: Compilador, editor de texto, SGBD, browser Web,... Sistema de Informação: ERP, CRM, reserva de passagens aéreas,... Interface Usuário-sistema: Shell (em texto) ou Sistema de Janelas Recurso de Hardware: CPU, memória, HD, dispositivos de E/S,... 4

Interface Usuário-sistema O Sistema Operacional fornece as seguintes facilidades para o usuário: Acessar o sistema (segurança de acesso) Criar e gerir diretórios, arquivos e programas Executar programas Acessar conteúdo de arquivos Detectar erros de execução Usar dispositvos periféricos (impressora, scanner, driver de DVD, etc.) Contabilizar a utilizacão do sistema 5

O que é um Sistema Operacional? É uma máquina estendida Implementa abstrações que escondem (do programador e do usuário final) os detalhes de como usar e controlar os recursos específicos; Fornece ao programador uma máquina virtual, que é mais fácil de usar (APIs simples baseada em conceitos independentes do hardware) e genérica (sem expor a diversidade dos recursos/ dispositivos) É um gerenciador de recursos Garante o compartilhamento seguro de recursos pelas várias tarefas executando concorrentemente no sistema; Visa maximizar a utilização dos recursos (CPU, Memória, Disco, etc.) 6

Concorrência Nos sistemas ditos multiprogramados (multi-tarefa), existem vários programas que executam concorrentemente (ao mesmo tempo), aproveitando o fato de que: a CPU e os dispositivos de Entrada/Saida (E/S) poderem executar em paralelo; Existem vários dispositivos de Entrada/Saída que podem ser acionados em paralelo. Cada programa intercala períodos de processamento puro (na CPU) com períodos de E/S em dispositivos. Seria um disperdício fazer a CPU esperar pelo término de cada E/S com um dispositivo Para tal, é importante que o SO possa inciar uma E/S e prosseguir com a execução de outro programa. Ou seja, multiprogramação aumenta a utilizacão da CPU. 8

Sistemas Operacionais Classificação Monotarefa x Multitarefa Sistema Monotarefa: Admite e gerencia apenas uma tarefa em execução por vez. Ex: DOS Sistema Multitarefa: Admite e gerencia várias tarefas em processamento concorrente. Ex: Windows 98,Windows 2000/NT/XP, Linux... Run! Espera Run! Espera Programa A Run! Espera Run! Espera Tempo Monotarefa Programa B Espera Run! Espera Run! Espera Tempo Multitarefa Vantagens x Desvantagens Multitarefa e Multiprogramação são a mesma coisa

Sistemas Operacionais Classificação Monousuário x Multiusuário Sistema Monousuário: Admite e gerencia apenas um usuário não permite que mais de um usuário esteja logado simultaneamente Ex: Windows 98, Windows NT (exceto versão com Terminal Server) Sistema Multiusuário: Admite e gerencia vários usuários permite que mais de um usuário esteja logado no sistema simultaneamente. Ex: Linux, Windows 2000, VMS

Sistemas Operacionais Classificação Monoprocessado x Multiprocessado Sistemas Monoprocessados Somente reconhece uma única CPU Multitarefa ou monotarefa Ex: Windows 98 Sistemas Multiprocessados Reconhece mais de uma CPU Permite execução simultânea Ex:Windows 2000/NT/XP, Linux

Sistemas Operacionais Batch x Time Sharing Sistemas Batch Classificação Os programas são processados em Lote, um de cada vez, não havendo interação com o usuário. Sistemas Time Sharing Os usuários compartilham o tempo de uso do computador que, em seqüência, dedica uma fatia do tempo de processamento para cada usuário. Isso não é perceptível para os usuários, que têm respostas quase imediatas. User3! User2! User1! Fatias de tempo da CPU!

Sistemas Operacionais Classificação Aplicações Específicas Sistemas de Tempo Real Sistemas que possuem um forte vínculo com o tempo. O resultado correto deve ser dado no tempo previsto. Sistemas Embarcados Sistemas inseridos em produtos com funções específicas como forno de micro-ondas, tocador de CD/DVD, consoles de games, carros, etc.

Cada Sistema com seu foco Aumentar a praticidade de uso; Obter o máximo de desempenho; Minimizar o tempo de resposta para todos usuários/programas Funcionar com poucos recursos (sist. embarcados e celulares simples, feature phone ); Garantir tempos de resposta previsíveis (controle e automação, sistemas de tempo real); Ser tolerante a falhas (em sistemas distribuidos); 14

Tipos de Sistemas Mica Mote! Personal Comp.! Tablets! Mainframe Server! Process Control Board! Game Console! ipod Touch/ iphone! Cluster/ Server farm para Cloud! MP3 Player! Cell / Smart Phone! 15

Tipos de Sistema: Sistemas em Rede Automotive Vehicle Network! Network Routers! Wireless Routers! Redes de Sensores sem fio! Robôs Autonômicos (em depósito)! 16

Sipos de Sistemas: Sistemas Emergentes Watch Computer! Car Computer! Wearable Comp.! Data Centers! Table Computing! Embedded Computing! 17

Um S.O. para cada tipo de máquina Alguns Exemplos: PCs/Notebooks: Linux, variantes do UNIX, Windows XP/NT/7, Vista, Mac OS X, Computação em nuvem: Amazon EC, Xen, Smartphones/Tablets: ios, PalmOS, Android, Windows Phone, BlackBerry, AlyunOS Embarcados: Android, Inferno, Maemo, etc. Sistemas de Tempo Real: QNX, RT-UNIX, Redes de Sensores (MicaMotes): TinyOS, Contiki, Clusters/Sist. distribuídos: Mach, Plan9, Amoeba, Beowulf, Chorus WebOS: ChromeOS, JoliOS, DesktopTwo, EyeOS, 18

Elementos centrais Apesar das diferenças, todos os SOs provêm as seguintes funções: Gerência e escalonameno de processos e threads Comunicação/sincronização entre processos/threads Sistema de Arquivos Gerenciamento de memória Subsistema de Entrada/Saida Drivers e gerenciadores de dispositivos perifericos: teclado, monitor, mouse, rede, HDs, CD/DVD, etc.) 19

Componentes Típicos de um S.O. Programas utilitários: Auxiliam o usuário/desenvolvedor em tarefa específica Exemplos: Compiladores, loader, linker, depuradores, interpretadores de comando (shell), gerenciador de janelas, clientes de email, etc. Programas de sistema: São ativados automaticamente, ao iniciar, ou periodicamente São indispensáveis para a operação do sistema Permitem configuração do sistema, corrigem erros no disco, fazem back-up, gerenciam a comunicação pela rede, monitoram e colhem estatísticas sobre a ocupação de recursos, etc. Núcleo (kernel) e drivers: Executam as funções mais básicas para alocacão e gerenciamento compartilhado e seguro dos recursos Controla todas as atividades do SO e tem acesso a todas as operações do hardware Drivers: fazem o controle específico de uma (classe de) dispositivos de Entrada e Saida

Niveis de Privilégio: Modos Usuário e Supervisor (kernel) As arquiteturas atuais permitem a operação em dois (ou mais) níveis de privilégio da CPU: Modo supervisor/kernel: acesso a todas as instruções de máquina e regiões da memória; Modo usuário: apenas conjunto restrito de instruções e acesso controlado à memória (apenas a certos endereços da memória) Exemplo: No modo supervisor é possível trocar de modo, acessar estruturas de dados do núcleo, executar instruções de mudança de mapeamento de memória, manipular qualquer processo, desabilitar certas interruções, etc. Progr. B! Progr. A! Modo usuário! Modo kernel! t! 23

Três eventos que causam a troca para o modo supervisor (kernel mode) 1. Interrupções de um dispositivo de E/S (disco, mouse, etc.): São assíncronos, e independentes do processo em execução Por Exemplo: timer informa que fatia de tempo terminou, ou dispositivo de E/S avisa que completou operação de escrita 2. Execução de uma tarefa levanta uma exceção Por exemplo: divisão por zero, ou acessso a endereço inválido Núcleo precisa interromper o processo! 3. Programa em execução faz uma chamada de sistema (system call) solicitando um serviço do Sistema Operacional Núcleo faz a troca de contexto e passa controle da CPU a outra tarefa (processo). 25