Sistemas Operacionais. Introdução a Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais Aula 3

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Estrutura do Sistema Operacional

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Sistemas Operacionais. Visão Geral

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Introdução aos Sistemas Operacionais

Conceitos básicos sobre computadores

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais (SO)

Sistemas de Entrada e Saída

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Conceitos Gerais Definição e Características dos SOs. Na Aula Anterior... Nesta Aula. O Escopo dos SOs 16/08/2016

Sistemas Operacionais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Chamadas de Sistema (SYSCALL)

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 1 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS

IV Estrutura do Sistema Operacional

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Introdução à Computação MAC0110

Técnicas Avançadas de Programação

Introdução aos Sistemas Operacionais

Sistemas Operacionais

Roteiro 20/9/2010. Serviço do sistema operacional. Interface. Chamadas de sistemas (System Call) Programas do sistema Projeto e Implementação

Capítulo 11 Estudo de Caso 2: Windows 2000

Sistemas Operacionais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução

Arquitetura de Computadores

Introdução. Introdução aos Sistemas Operacionais Volnys Bernal. Sumário. Introdução aos Sistemas Operacionais. Sobre esta apresentação

Caracterização de Sistemas Distribuídos

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Sistemas de Entrada e Saída

Entrada e Saída e Dispositivos

ESTRUTURA DOS SISTEMAS OPERACIONAIS

Introdução aos Sistemas Operacionais

SOP - TADS Fundamentos de Sistemas Operacionais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Curso: Redes de Computadores

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

Introdução à Computação

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!!

Sistemas Distribuídos Aula 3

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Gerência de Dispositivos. Adão de Melo Neto

Apresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.

Sistemas Operacionais & Sistemas de Programação II

Informática básica SOFTWARE.

APOSTILA 2 - TUTORIA SISTEMAS OPERACIONAIS

Sistemas Operacionais

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

Gerência de Dispositivos. Adão de Melo Neto

Capítulo 2: Estruturas de Sistema Operacional. Operating System Concepts 8 th Edition

Sistemas Operacionais. Entrada/Saída

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Introdução e Conceitos Básicos

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Fundamentos de Sistemas Operacionais

Introdução aos Sistemas Operativos

CP Introdução à Informática Prof. Msc. Carlos de Salles

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

LISTA DE EXERCÍCIOS 02

2 - Organização do Sistema Operativo. Prof. Ricardo Silva

Sistemas Operacionais. Estrutura do Sistema Operacional: Modos de Acesso

Introdução a Tecnologia da Informação

Informática básica. Professor: Francisco Ary

Sistemas Operacionais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

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

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

Informática I. Aula Aula 19-20/06/06 1

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais II

SOP Sistemas Operacionais Módulo 04: Processo

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Estrutura geral de um computador

Apresentação do Professor

Sistemas Operacionais

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

HISTÓRIA DOS SISTEMAS OPERACIONAIS. Prof. Alan F.M.

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

Introdução. Introdução aos Sistemas Operacionais Volnys Bernal. Agenda. Introdução aos Sistemas Operacionais. Sobre esta apresentação

Sistemas Operacionais I

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Introdução. Introdução aos Sistemas Operacionais Volnys Bernal. Agenda. Introdução aos Sistemas Operacionais. Sobre estes slides

Transcrição:

Introdução a arliones.hoeller@ifsc.edu.br baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 1

Sistemas de computação Hardware CPU + memória + dispositivos de E/S Aplicações Objetivo real dos sistemas de computação Bancos de dados, automação, jogos, etc Usuários Definem problemas de computação a serem resolvidos Pessoas, máquinas, outros computadores 2

Perspectiva da máquina virtual SO extende o hardware até implementar uma interface de alto nível para aplicações Perspectiva do gerenciador de recursos SO gerencia os recursos do sistema (processadores, memória, discos, etc) para comodidade das aplicações 3

Perspectiva histórica Primeira geração (1945-1955) Tubos de vácuo Nenhum software Operado por conexão de cabos e chaves Primeiro bug 'pego' por Grace Murray Hopper, 1945. ENIAC (1946) 4

Perspectiva histórica Segunda geração (1955-1965) Transistores Device drivers Primeiras linguagens de programação (Fortran) Monitor (leitor de cartões perfurados) CPU Batch (offline) CPU Spooler (Simultaneous Peripheral Operation OnLine) CPU TX-0 Computador Experimental Transistorizado (1956) 5

Perspectiva histórica Terceira geração (1965-1980) Circuitos Integrados (TI IC/CI) Primeiro SO (IBM OS/360) Multiprogramação (CPU/IO overlap) Time-sharing (MIT CTSS) MULTICS (MIT, BELL, GE) PDP-11 (DEC) UNIX (BELL) PDP-11/20 (1970) 6

Perspectiva histórica Quarta geração (1980 -?) Microprocessador MS-DOS, UNIX Sistemas com rede Sistemas distribuídos Sistemas de tempo-real Apple MacIntosh SE/30 (1972) 7

Perspectiva histórica Quinta geração (?) Hardware Ubíquo! Paralelo Embarcado Software Interface Homem-máquina Inteligência artificial??? revolucionária! 8

device CPU MMU FPU I/O bus Um computador típico cache bus RAM device bridge device 9

Estruturas de Sistemas de Computação Motivação Intermediar operações de CPU e E/S para melhorar performance Evitar interferência inter-processos Interrupções Evita espera-ocupada (busy-waiting) Dispositivo de E/S recebe uma requisição de serviço e gera uma interrupção quando a requisição for completada Transparente aos processos Direct Memory Access (DMA) Transferência de dados entre dispositivos de E/S e memória principal sem assistência da CPU 10

Estruturas de Sistemas de Computação Proteção de recursos Permite ao SO definir políticas Violações causam uma trap para dentro do SO CPU Operação em múltiplos modos Modo Modo supervisor: todas as instruções, restrito ao SO usuário: instruções não-privilegiadas (ex: sem E/S) Timer Interrupções do Timer transferem controle ao SO periodicamente Memória Memory Management Unit (MMU) Isolamento do SO Espaço de endereçamento separado para cada processo Proteção dos registradores dos dispositivos de E/S 11

Serviços de sistemas operacionais Gerenciamento de Processos Criação e destruição de processos Alocação e liberação de recursos Escalonamento de CPU (e contabilização de processos) Sincronização de processos Comunicação entre processos Tratamento de dead-lock Gerenciamento de Memória Alocação e liberação de memória Manutenção da integridade (o que pertence a quem) Swapping Memória virtual 12

Serviços de sistemas operacionais Gerenciamento de I/O Gerenciamento de arquivos Buffering/caching Escalonamento (e.g. disco, rede) Device drivers Criação, manipulação e remoção de arquivos Criação, manipulação e remoção de diretórios Mapeamento de arquivos em discos Rede Roteamento, acesso ao meio e segurança de mensagens Heterogeneidade Interface de usuário 13

Serviços de sistemas operacionais Proteção Controle de acesso aos recursos Logging Validação de procedimentos Interface SO provê serviços para aplicações por meio de APIs (Application Program Interface) Se o SO está em um domínio de proteção diferente do das aplicações (e.g. Kernel), uma system call é usada Interação com usuário Interpretador de comandos (shell) Interface gráfica com o usuário (GUI) 14

Serviços de sistemas operacionais 15

Chamadas de Sistema (System Call) Interface de programação para acesso aos serviços do SO Geralmente acessadas via APIs e bibliotecas As três mais comuns Win32 (Windows) POSIX (Unix, Linux, Mac OS X e similares) API JAVA (JVM) Por que utilizar APIs ao invés das SysCall direto? 16

Chamadas de Sistema (System Call) 17

API System Call 18

Exemplo da API em C (POSIX) 19

Controle de Processos Processos no MS-DOS 20

Controle de Processos Processos no Linux 21

Arquiteturas de Monolítico Máquina Virtual Todo SO é um único programa, complexo, responsável por todos os serviços Serviços de SO são entregues como máquinas virtuais privadas para cada processo de aplicação Kernel + servidores Partes cruciais do SO, responsáveis por serviços fundamentais, são mantidos em um kernel protegido Serviços avançados são delegados a servidores que operaram como um processo comum 22

Monolítico 23

Em camadas 24

Camadas do Unix (década 80) 25

Arquiteturas de Microkernel + servidores Exokernel + bibliotecas O kernel contém apenas serviços necessários à operação dos servidores Recursos físicos (CPU, memória, cache) são exportados de modo seguro para serem tratados pelas aplicações Bibliotecas implementam serviços típicos de SO Embutido na aplicação Normalmente utilizados em sistemas com apenas uma aplicação Apenas os serviços de SO necessários à aplicação são linkados no binário final 26

Engenharia de Estruturado SO é decomposto em conjuntos de procedimentos/funções Modificações implicam em recompilar todo o sistema Modular SO é decomposto em conjuntos de módulos (ex.: subsistemas, classes de serviços, etc) Permite replugar módulos Originalmente implementado no Solaris Presente Orientado a Objeto nas versões modernas do Unix, Linux e Mac OS X Similar ao modular, mas utilizando técnicas mais eficientes de engenharia de software Baseados em componentes SO é decomposto em conjuntos de componentes reusáveis (disponibilizando interfaces públicas apenas) 27

Estrutura Modular do Solaris 28

Mac OS X: estrutura híbrida Modular + Microkernel ambientes de aplicações e serviços comuns BSD Mach 29

Máquinas Virtuais 30