ines@dcc.fc.up.pt (sala 1.31) http://www.dcc.fc.up.pt/ ines/aulas/0809/so/so.html



Documentos relacionados
Componentes de um sistema computacional moderno. DCC/FCUP Inês Dutra Sistemas de Operação 1

(sala 1.47)

Componentes de um Sistema de Operação

Componentes de um Sistema de Operação

Componentes de um Sistema de Operação

Sistemas Operativos 10º Ano 2009/2010 Módulo 1 Módulo 1 -- Introdu Introdução aos Sistemas Sistemas Operativos Aula 5 e e 6 Professor:

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

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

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais

Introdução aos Sistemas

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

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

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

Sistemas Operativos. 4ª Geração (a partir de 70 )

Introdução aos Sistemas Operativos

UFRJ IM - DCC. Sistemas Operacionais I

Introdução aos Sistemas Operativos

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

Sistemas Operacionais. Prof. André Y. Kusumoto

Programação de Sistemas

Capítulo 8. Software de Sistema

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

Fundamentos de Sistemas Operacionais

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

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

2. Introdução aos Sistemas Operacionais

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

Sistemas Operacionais

Sistemas Operacionais. Conceitos de um Sistema Operacional

SISTEMAS OPERACIONAIS 2007

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

ARQUITECTURA DO WINDOWS

Profs. Deja e Andrei

Introdução aos Computadores

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

Sistemas de Operação Sockets

Prof. Sandrina Correia

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

Sistemas Operacionais

Processamento de Dados

Curso Técnico de Informática de Sistemas

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

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

Sistemas Operacionais

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

Sistemas Operativos. Funções genéricas de um S.O.

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

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Sistemas Operacionais

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

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

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

Escola Secundária de Emídio Navarro

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Prof. André Y. Kusumoto

Arquitetura de um Computador

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

BARRAMENTO DO SISTEMA

Sistema Operacional. Prof. Leonardo Barreto Campos 1

6 - Gerência de Dispositivos

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

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

Introdução a Computação

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

Hardware e Software das TI

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

Sistemas Operacionais

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

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas

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

Instituto do Emprego e Formação Profissional SISTEMAS. Tecnologias de Informação I TI-16. Formador: Paulo Gomes

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Sistemas Operacionais

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

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

Sistemas Operacionais Introdução. Professora: Michelle Nery

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.

Introdução à Computação: Sistemas Operacionais II

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

Tipos de sistemas operacionais

Organização de Computadores Hardware

Estrutura, Processos e Threads

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

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

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

Visão Geral de Sistemas Operacionais

Figura 1 - O computador

Fundamentos de Banco de Dados

Windows NT 4.0. Centro de Computação

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br Roteiro. Componentes do Sistema

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

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?

Aspectos de Sistemas Operativos

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

1.2 Tipos de Sistemas Operacionais

Transcrição:

Acetatos baseados nas aulas do Prof. Fernando Silva ÔÓÒØ Ñ ÒØÓ ÙÐ Ì Ö Ë Ø Ñ ÇÔ Ö Ó ines@dcc.fc.up.pt (sala 1.31) http://www.dcc.fc.up.pt/ ines/aulas/0809/so/so.html ÁÒ ÙØÖ Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2008/2009

Sistemas de Operação Ç Ø ÚÓ estudar os conceitos, estrutura, e mecanismos dos sistemas de operação. entender como um SO funciona para melhor aproveitar suas funcionalidades durante a programação de aplicações; ÓÑÕÙ Ò Ð ter uma visão crítica das limitações de um SO; ter a competência para propor e implementar melhoramentos. DCC/FCUP Inês Dutra Sistemas de Operação 2

Sistemas de Operação Programa batch, buffering e spooling, multiprogramação, sistemas distribuídos e sistemas tempo-real escalonamento para execução, temporização, Ó ËÇ: sistemas multi-tarefa (Ø Ñ ¹ Ö Ò ), ØÓ ÈÖÓ Ó : criação, ØÓ Å Ñ Ö : mono- ÙÐ Ø Ö Ë Ø Ñ ÖÓ : ÓÒ ØÓ representação sincronização, zonas críticas, comunicação entre processos segmentação, memória virtual mecanismos de proteção e multiprogramação, partições físicas, swapping, paginação, de ficheiros em disco, gestão do espaço em disco, ÁÑÔ ÐÓ µ ÙÖ Ò Programação È Ö Ö Ó ÒØÖ»Ë Avançada em Unix e em C: implementação de partes básicas de um SO Ø ÙÐ ÔÖ DCC/FCUP Inês Dutra Sistemas de Operação 3

Bibliografia Silberschatz & Galvin & Gagne, Operating System Concepts, 7th edition, John Wiley & Sons, 2004. W. Stallings, Operating Systems: Internals and Design Principles, 5th edition, Prentice-Hall, 2004. (material complementar em R. Stevens & S. Rago, Advanced Programming in the UNIX(R) Environment, 2nd edition, Addison-Wesley, 2005. ØØÔ»»Û ÐÐ Ñ Ø ÐÐ Ò ºÓÑ»ÇË»ÇË º ØÑе Marc J. Rochkind, Advanced UNIX Programming, 2nd edition, Addison-Wesley, 2004 Mark Mitchell & Alex Samuel, Advanced Linux Programming, New Riders, 2001. Warren W. Gay, Advanced UNIX Programming, SAMS, 2000. DCC/FCUP Inês Dutra Sistemas de Operação 4

Ñ Ö Ó ÐØ, exceto Método de Avaliação frequência obrigatória Ø Ø Ö ÙÐ ÔÖ isentos. para os oficialmente a realizar em grupos de 2 alunos Ø Ó ÌÈ ÌÖ Ð Ó ÔÖ 2 trabalhos obrigatórios (também para trabalhadores-estudantes) valorização de 6 valores nota mínima: 40% da valorização (2.4) Ü Ñ Ö ØÓ (com componente prática) valorização de 14 valores nota mínima em exame: 40% da valorização do exame (5.6) nota mínima na parte prática do exame: 40% dessa componente (2.2) DCC/FCUP Inês Dutra Sistemas de Operação 5

Método de Avaliação = (6 NTP + 14 EX)/20 onde NTP = min(max(ex 20%, TP), EX + 20%) CF Significado: a diferença entre a classificação obtida no trabalho prático e no exame não deverá exceder os 20%, caso contrário a classificação do trabalho Ð Ó Ò Ð prático será ajustada para esse limite. ÆÓØ ÑÔÓÖØ ÒØ : Cópias e plágios... :-( DCC/FCUP Inês Dutra Sistemas de Operação 6

O que é um Sistema de Operação? Um SO é um programa (ou conjunto de programas) que atua como intermediário entre o utilizador e o hardware do computador. Não há consenso sobre o que faz parte de um SO, mas é comum dizer-se que: o SO é um programa, ÖÒ Ð, que está sempre em execução, considerando-se todo o resto aplicações. O que fará então parte de um SO? O mais certo: gestor de memória gestor de I/O scheduling do CPU gestor de tarefas (multi-tarefa/multi-programação) gestor de ficheiros gestor de comunicações (?) E quanto a?: Suporte multimédia Interface com o utilizador (window manager) Internet browser DCC/FCUP Inês Dutra Sistemas de Operação 7

Componentes de um Sistema user 1 user 2... user n API: Application Programming Interface compilador editor bases de dados programas de sistema e aplicacoes... permitem resolver problemas para os seus utilizadores Hardware Interface Sistema de Operacao hardware/comp. progs que condicionam o funcionamento do computador equipamento eletronico e mecanico problemas a resolver pelo SO: como converter o que o hardware nos dá em algo que uma aplicação quer? Qual é a interface ao hardware? (realidade física) Qual é a interface para a aplicação? (mais abstracta) Devemos passar mais responsabilidades para as aplicações ou para o sistema? DCC/FCUP Inês Dutra Sistemas de Operação 8

Funções de um SO Um SO cumpre em geral duas funções: ÓÓÖ Ò ÓÖ: administra a partilha dos recursos de um computador, e.g. controla o acesso concorrente à memória, ao sistema de ficheiros e à rede. permite que vários utilizadores/aplicações usem o computador em simultâneo, de forma eficiente e justa. resolve pedidos conflituosos de programas e utilizadores. torna a tarefa de programação de aplicações, mais simples, rápida e menos sujeita a erros. Ð Ø ÓÖ esconde a complexidade do hardware dos utilizadores, fornecendo-lhes interfaces de acesso mais convenientes de usar. DCC/FCUP Inês Dutra Sistemas de Operação 9

Funções de um SO (cont.) E se não tivesse um SO? processo habitual de compilação: código fonte compilador código objeto hardware Como colocar o código objeto no hardware? Como escrever a resposta? programar em binário. Pouco simpático e produtivo, mas foi assim com o primeiro computador! DCC/FCUP Inês Dutra Sistemas de Operação 10

Evolução dos SOs Um computador típico em 1981 vs. 2003 vs. 2006 vs. 2009: 1981 2003 factor 2006 factor 2009 factor CPU MHz 10 3000 300 4200 420 4200 420 Ciclos/inst. 3-4 0.5-1 3-8 0.5-1 3-8 0.5-1(*) 3-8 DRAM 128KB 512MB 4000 8192MB 64000 16384MB 128000 Disco 10MB 120GB 12000 750GB 75000 1500GB 150000 Largura banda 9600 b/s 100 Mb/s 10000 1000 Mb/s 100000 1000 Mb/s 100000 Endereçamento 16 bits 64 bits 4 64 bits 4 64 bits 4 Custo $25000 $2000 0.08 $1000 0.04 $10.000 10 (**) (*) para 1 processador (**) vários processadores ou cores DCC/FCUP Inês Dutra Sistemas de Operação 11

Os primeiros sistemas (início anos 50) Estrutura: máquinas enormes acessíveis por uma consola um utilizador e um programa em execução de cada vez programador/utilizador era o operador da máquina fitas perfuradas e cartões Software: assembladores, compiladores carregadores (loaders), ligadores (linkers) bibliotecas de procedimentos mais comuns (libraries) controladores de periféricos (device-drivers) Seguros Uso ineficiente de recursos: baixo aproveitamento do CPU tempo de arranque muito significativo DCC/FCUP Inês Dutra Sistemas de Operação 12

Sistemas Batch Simples adotar um operador mais experiente utilizador deixa de ter acesso ao hardware. agrupar programas dos utilizadores e execução gerida pelo operador. melhora eficiência se os programas tiverem requisitos semelhantes e se um dos programas parar/falhar na sua execução? operador tem de intervir. ÑÓÒ ØÓÖÖ ÒØ : primeiro programa de um SO rudimentar para controlar a execução de programas: (1) o monitor reside em memória e inicia execução (2) transfere o controlo para outro programa (3) quando o programa termina, transfere o controlo novamente para o monitor, que volta a (2). Dificuldades: 1. Como é que o monitor sabe qual a natureza de uma tarefa ou qual o programa a executar? 2. Como é que um monitor distingue: uma tarefa de outra? os dados do programa? Solução: através de cartões de controlo DCC/FCUP Inês Dutra Sistemas de Operação 13

Cartões de controlo Cada tarefa inclui comandos para o monitor que determinam o compilador a usar, o programa e os dados para o programa: ÂÇ Æ Partes do monitor: ººº¹¹ Ó interpretador dos cartões de controlo (comandos) ± ÖÖ ÓÓÑÔ Ð ÓÖ ººº¹¹ Ó ÓÖØÖ Ò± ÓÑÔ Ð Ó Ù Ö Ó ÄÇ ± ÖÖ ÓÔÖÓ ºÓÑÔ Ð Ó ÊÍÆ ± Ü ÙØ ¹Ó ÌÆ carregador (loader) carrega programas e aplicações para memória controladores de periféricos Problemas: Lento não sobrepõe execução do CPU com I/O; leitor de cartões é lento. ËÓÐÙÓ operação em off-line. DCC/FCUP Inês Dutra Sistemas de Operação 14

Operação off-line leitor cartoes bandas magneticas CPU auxiliar CPU principal impressora sobreposição da execução do CPU e operações I/O, embora com 2 máquinas independentes. o computador não fica condicionado pela menor velocidade dos leitores de cartões e impressoras de linhas, depende da velocidade das unidades de bandas magnéticas. torna o sistema independente dos periféricos. Î ÒØ Ò DCC/FCUP Inês Dutra Sistemas de Operação 15

Operação off-line (cont.) Ù Ö Ò interpondo um buffer entre periférico e CPU. ÕÙ Ò ÓÑÓ Ó Ö ÔÓÖ Ü ÙÓ Ó ÈÍ ÓÔ Ö Á»ÇÒÙÑ Ñ Após o CPU ler do buffer os dados e começar a operar sobre estes, ambos CPU e controlador do periférico podem operar em simultâneo, estando ambos ocupados. na prática, CPU é muito mais rápida e tem de esperar! DCC/FCUP Inês Dutra Sistemas de Operação 16

Spooling Disco I/O leitor cartoes controlador CPU controlador impressora usa o disco como um buffer de grandes dimensões. sobrepõe operações de I/O de uma tarefa com a execução de outras tarefas. Enquanto executa uma tarefa, o SO: lê a próxima tarefa do leitor de cartões para o disco Ð Ø Ö Ô Ö Ü ÙÓ. O SO seleciona desta fila a próxima tarefa para execução ÙÐ Ò Ø Ö. escreve os resultados da tarefa anterior para a impressora. Um exemplo de spooling em SOs atuais é o envio de tarefas para a impressora. DCC/FCUP Inês Dutra Sistemas de Operação 17

Multiprogramação de Sistemas Batch uma tarefa era executada de princípio a fim. Ë Ø Ñ ÙÒ ¹ÔÖÓ Ö Ñ Ó ordem de execução das tarefas correspondia à ordem de leitura. o CPU não podia passar para uma nova tarefa se a actual estivesse parada à espera de I/O. os discos permitem acesso directo (não sequencial) e rápido, pelo que é possível pensar numa estratégia de escalonamento de tarefas (scheduling). ÙÑ ÒØ Ö ÙØ Ð Þ Ó Ó ÈÍ, para isso: Ë Ø Ñ ÑÙÐØ ÔÖÓ Ö Ñ Ó ter em memória várias tarefas (programas) prontas a serem executadas. cada tarefa é executada durante um certo tempo, caso seja interrompida o SO pega automáticamente numa nova. A tarefa interrompida será retomada logo que possa continuar a sua execução. Ê ÕÙ Ö Ô ØÓ Ñ Ñ Ö Ô ÐÓËǺ a execução concorrente de tarefas requer do SO a capacidade de limitar a possibilidade de ÉÙ Ø Ö ÓÐ Ö ÈÍ ÙÐ Ò º interferência entre as tarefas. DCC/FCUP Inês Dutra Sistemas de Operação 18

Exemplo de multiprogramação Programas A Run A Wait Run A Wait B Wait Run B Wait Run B Wait C Wait Run C Wait Run C Wait Todos Run A Run B Run C Wait Run A Run B Run C Wait Tempo DCC/FCUP Inês Dutra Sistemas de Operação 19

Multi-tarefa (Multitasking) ou Time-Sharing estende o conceito de multiprogramação. o CPU é partilhado por várias tarefas prontas a executar. cada tarefa executa durante uma fração de tempo, t. o SO comuta frequentemente entre várias tarefas em execução de forma que cria a ilusão de estar a executar todas em simultâneo. vai permitir a interação dos utilizadores com os respectivos programas em Ë Ø Ñ ÅÙÐØ ¹Ø Ö execução. uso interativo de um computador muitos utilizadores a partilharem o computador. Ë Ø Ñ Ø Ñ ¹ Ö Ò Mutiprogramação em Batch: objetivo principal é maximizar uso de CPU. Time-sharing: objetivo principal é maximizar tempo de resposta. ÅÙÐØ ÔÖÓ Ö Ñ Ó Ñ Ø Ú Ö Ù Ì Ñ Ë Ö Ò DCC/FCUP Inês Dutra Sistemas de Operação 20

Sistemas de Computador Pessoal computadores pessoais sistema dedicado a um utilizador. periféricos I/O: teclado, rato, monitores, impressoras. até recentemente, não possuiam os requisitos necessários para suportar um sistema multi-tarefa. Sistemas operativos: MSDOS, MacOS, Windows, Windows-NT,...Windows2000, Linux. DCC/FCUP Inês Dutra Sistemas de Operação 21

Sistemas Paralelos (multiprocessadores) usar vários CPUs para executar mais tarefas por unidade de tempo. Ø Ñ Ñ Ñ Ö Ô ÖØ Ð os CPUs partilham uma memória global e é através dela que comunicam. Ø Ñ Ñ Ñ Ö ØÖ Ù os CPUs têm a sua memória local, não há partilha. Os CPUs comunicam entre si por troca de mensagens. de tarefas executadas por unidade de tempo. melhora a fiabilidade. aumenta oø ÖÓÙ ÔÙØ número Î ÒØ Ò multiprocessamento simétrico: cada processador corre uma cópia idêntica do SO. DCC/FCUP Inês Dutra Sistemas de Operação 22

Sistemas tempo-real Outra forma de um SO, normalmente usado como controlador de periféricos dedicado a uma tarefa. Restrições de tempo, bem definidas. Ou se realiza dentro do tempo estabelecido ou o sistema falhará. Exemplo: controlo de um robot submarino. DCC/FCUP Inês Dutra Sistemas de Operação 23

Outras classificações de sistemas de operação monolítico (antigos sistemas: p.e. DOS, FreeBSD) micro-kernel: conjunto básico, pequeno de serviços (Amoeba) exo-kernel: exporta micro-kernels como máquinas virtuais para outras máquinas (Aegis) distribuído: faz migração automática de tarefas e co-escalonamento (p.e. Glunix, Mosix) DCC/FCUP Inês Dutra Sistemas de Operação 24