! O exame quase não tem componente teórica. ! E a componente prática é só programação concorrente. ! É uma cadeira de engenharia : temos de

Documentos relacionados
implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

AULA 16 - Sistema de Arquivos

Estrutura Interna do KernelUNIX Sistema O. Estrutura Interna de Arquivos (1) Estrutura Seqüência. User application. Standard Unix libraries

Sistemas de Arquivos. Arquivos e Diretórios Características e Implementação Tadeu Ferreira Oliveira - tadeu.ferreira@ifrn.edu.br

Sistemas de Ficheiros. Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros

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 de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros

Sistemas Operacionais

Sistemas de Armazenamento de Ficheiros. Interface

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

1 - SISTEMA DE FICHEIROS NO WINDOWS

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Sistemas Operacionais: Sistema de Arquivos

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

5.1 Sistemas de Arquivos

Sistemas de arquivos no Linux. Carlos Eduardo Maiolino Software Engineer Red Hat

Componente de Formação Técnica. Disciplina de

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Capítulo 6. Gerenciamento de Arquivos. 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 11

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8 th Edition

Sistemas de Arquivos. André Luiz da Costa Carvalho

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron

Laboratório de Hardware

Plano da aula de hoje

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

Sistemas Operacionais

Programador/a de Informática

Sistema de Ficheiros

Sistema de arquivos. Dispositivos com tecnologias variadas. CD-ROM, DAT, HD, Floppy, ZIP SCSI, IDE, ATAPI,... sistemas de arquivos em rede

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé

Sistemas Operativos. Gestão de memória. Rui Maranhão

Programação de Sistemas

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Objetivos Específico

Sistemas de armazenamento

Armazenamento de Informação. André Zúquete, João Paulo Barraca SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES 1

Sistemas Operacionais

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Entendendo as Permissões de Arquivos no GNU/Linux

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

Gerenciamento de memória

MOODLE: actividade WiKi

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Sistemas Operacionais. Prof. André Y. Kusumoto

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc

How TO: TestDisk Como recuperar dados perdidos do seu disco rígido

Sistemas Operativos I

Memória cache. Prof. Francisco Adelton

INSTALAÇÃO UBUNTU NUM INSTANTE

Sistemas de Tempo Real

Boot Camp Manual de Instalação e Configuração

R E L A T Ó R I O D E E N G E N H A R I A D E S O F T W A R E ( / )

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

RAID Redundat Arrays of Inexpensive Disks

Curso de Instalação e Gestão de Redes Informáticas

Departamento de Informática

Kaspersky Fraud Prevention for Endpoints

Curso Técnico de Informática de Sistemas

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

Gerenciamento de memória

Introdução à Programação B Licenciatura em Engenharia Informática. Enunciado do trabalho prático. Quem quer ser milionário? 20 de Dezembro de 2007

SISTEMAS OPERACIONAIS

Grupo I [4v] executaprograma();

ARQUITECTURA DO WINDOWS

Manual do Utilizador. Manual do Utilizador Modelo10 no sisgep. Data última versão: Versão : 1.2. Data criação:

Componentes de um Sistema de Operação

8 Threads. 8.1 Introdução

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Guia: como instalar o Ubuntu Linux

Programação II Sinopse

MEMÓRIA M.1 - HIERARQUIA DE MEMÓRIAS NUM COMPUTADOR DIGITAL

Engenharia Informática Engenharia Electrotécnica e Computadores Programação Orientada por Objectos Projecto PlayCards

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Capítulo 4 Gerência de Processador

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

Cópia de Segurança e Recuperação Manual do utilizador

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

Sistemas Operacionais Gerência de Dispositivos

Aspectos de Sistemas Operativos

Sistemas Operativos: Deadlocks

UPGRADES. Uma das melhores características do PC é o facto de ser uma arquitectura aberta, que permite a substituição de componentes com facilidade.

Gerenciamento de Entrada e Saída (E/S)

PROGRAMA DA DISCIPLINA

Integração de Sistemas Embebidos MECom :: 5º ano

UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO SEMINÁRIO

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Transcrição:

As más notícias Sistemas Operativos II LESI Grupo de Sistemas Distribuídos!""#$%%& '()(*)+, *-!.)#"! O exame quase não tem componente teórica! E a componente prática é só programação concorrente! É uma cadeira de engenharia : temos de Perceber os compromissos => usar a massa cinzenta Sujar as mãos na massa => programar, programar, programar Sistemas Operativos II - 2004/2005 1 Sistemas Operativos II - 2004/2005 2 As boas notícias! Todos estamos habituados a funcionar em ambientes de concorrência: Fazemos várias coisas ao mesmo tempo E sabemos que às vezes isso dá asneira => controlo de concorrência!! A concorrência é apenas mais uma forma de estruturação de programas. Percebido o esquema mental, é fácil...! Absolutamente! Devo vir às aulas teóricas?! Temos 2 semanas de teoria com assuntos HOT (por exemplo RAID, sistemas de ficheiros robustos, distribuídos,...)! E depois passamos o resto das aulas a resolver exercícios INCLUINDO os dos exames anteriores Sistemas Operativos II - 2004/2005 3 Sistemas Operativos II - 2004/2005 4

Equipa Docente! Responsável pela disciplina + aulas teóricas Francisco Soares de Moura (fsm@di.uminho.pt)! Aulas práticas Rui Oliveira, José Orlando Pereira, Vitor Fonte, Carlos Baquero,...! Horário de atendimento: terça 9:45-10:45? Sistemas Operativos II - 2004/2005 5! Sistemas de ficheiros Requisitos, objectivos, estudo de casos Programa RAID, Log struct FS, sistemas de ficheiros distribuídos! Recapitulação de conceitos de programação concorrente Modelos de concorrência, comunicação e sincronização (processos e threads)! Mãos na massa: Exercícios de programação concorrente comprocessos, semáforos, threads, mutexes Aulas práticas em laboratório: Linux Sistemas Operativos II - 2004/2005 6 Bibliografia recomendada Sebenta de Sistemas Operativos (em construção ) A. Silberschatz et al., Applied Operating System Concepts, John Wiley & Sons, 2000. OU A. S. Tanenbaum, Modern Operating Systems, 2 nd edition, Prentice Hall, 2001. Bibliografia recomendada fsm 2004, Vou fazer Sistemas Operativos www.google.com! Introduction to operating systems www.gildot.org, www.slashdot.org Sistemas Operativos II - 2004/2005 7 Sistemas Operativos II - 2004/2005 8

Bibliografia Adicional R. Stevens, Advanced Programming in the Unix Environment, Addison Wesley, 1990. Diversos artigos sobre sistemas operativos, a disponibilizar na página da cadeira ou a pesquisar na Internet. Manuais do sistema operativo, FAQs, código fonte do Linux, Transparências! (Progressivamente) disponíveis em: http://gsd.di.uminho.pt/soi/5305o3.html! Baseadas nas transparências originais correspondentes aos livros recomendados! Servem apenas como âncora ao estudo Sistemas Operativos II - 2004/2005 9 Sistemas Operativos II - 2004/2005 10 Avaliação! Exame final (+ pequena parte de avaliação nas práticas?)! Exame cobre sobretudo a matéria prática " Código, pequenos programas concorrentes " Valoriza-se a capacidade de raciocínio e a concepção de algoritmos (por oposição à utilização de padrões de soluções)! Ninguém faz a disciplina apenas com a parte teórica! Sistemas de ficheiros Recapitulação de hw e sw de IO Gestão de Ficheiros! Discos, partições, disk IO, device drivers, concorrência, caches, etc. Requisitos, objectivos, estudo de casos RAID, Log structured File Systems Noções de sistemas de ficheiros distribuídos Sistemas Operativos II - 2004/2005 11 Sistemas Operativos II - 2004/2005 12

Sistemas de ficheiros: requisitos Objectivos (1)! Armanzenamento / Persistência / Grande escala (quantidade de ficheiros + dimensão elevada) / Rapidez de acesso (Tempo de acesso a disco >> TaccRAM) / Concorrência /... Sistemas Operativos II - 2004/2005 13 Persistente (backup, undelete, RAID) Eficiente! Espaço (=> aproveitar) Dados (exemplos)! Alocação não contígua para eliminar fragmentação externa / Suporte para ficheiros dispersos (resultado de hash, por exemplo) Metadados, eg. estruturas para representar blocos livres/ocupados: FAT, i-nodes,... / Tempo: algoritmos de gestão e recuperação rápidos Sistemas Operativos II - 2004/2005 14! Acesso Escalável Conveniente Objectivos (2)! estrutura interna visivel (pelo kernel) ou só pelas aplicações? Sequencia de bytes vs. Ficheiros indexados Seguro / controlo de acessos / Auditoria / privacidade... Sistemas Operativos II - 2004/2005 15! Acesso Objectivos (3) Rápido (alguns exemplos de bom-senso )! Evitar dispersão de blocos pelo disco => cuidado na alocação, usando por exemplo os cilinder groups do BSD, file extents do JFS e XFS! Escalonamento de pedidos de transferência para evitar movimentos do braço / Uso de caches (em disco e RAM) e delayed write => CUIDADO! / Directorias Podem ter milhares de entradas (eg. e-mail!) Procura sequencial? Binária? B-trees? Sistemas Operativos II - 2004/2005 16

The big picture Dois programas a acederem simultaneamente ao mesmo ficheiro ou base de dados Sistemas Operativos II - 2004/2005 17 Sistemas Operativos II - 2004/2005 18 The big picture revisited Assegure-se que percebeu Como surgem as race conditions entre processos dentro do SO Vantagens/desvantagens do uso de caches Note que estamos a falar de caches por software, cópias de dados em memória mas acessíveis em contextos diferentes Sistemas Operativos II - 2004/2005 19 Discos! O tempo necessário para aceder a um bloco é determinado por três factores: Tempo de procura (posicionamento na pista) Tempo de rotação do disco (posicionamento no sector) Tempo de transferência! O tempo de procura (seek) é dominante Sistemas Operativos II - 2004/2005 20

Escalonamento de pedidos de transferência Escalonamento de pedidos a disco! FIFO! SSTF! Elevator! Scan circular Disk_io() { Do_IO... } RTIntDisk() {... Rti } Consegue imaginar os algoritmos? Como bloquear um processo até que chegue a vez do seu pedido? Sistemas Operativos II - 2004/2005 21 Shortest Seek First (SSF) Sistemas Operativos II - 2004/2005 22 Escalonamento de pedidos a disco E se um disco tem uma avaria?? Elevador Sistemas Operativos II - 2004/2005 23 Sistemas Operativos II - 2004/2005 24

RAID! Redundant Arrays of Inexpensive Disks Pesquise no google por Raid-1 Raid-5 primer! Objectivos: Desempenho Disponibilidade / Tolerância a faltas nos discos (depende do tipo de RAID)! Não resolve ficheiros apagados, virus, bugs, etc Continua a precisar de BACKUPs!! Sistemas Operativos II - 2004/2005 25 Sistemas RAID Sistemas Operativos II - 2004/2005 26 Sistemas RAID Sistemas RAID Sistemas Operativos II - 2004/2005 27 Sistemas Operativos II - 2004/2005 28

! MS-DOS Baseado em FATs Estudo de casos! File Allocation Tables indicam blocos ocupados por cada ficheiro e ainda os blocos livres na partição / Entrada na directoria indica o primeiro bloco do ficheiro. Para localizar o seguinte é preciso seguir a FAT / Dimensão da FAT? Pode obrigar a overlays de partes da FAT / Duplicação de FATs para tolerar corrupção Sistemas Operativos II - 2004/2005 29! Unix Estudo de casos Directorias + I-nodes + data blocks Directorias! São ficheiros especiais que fazem a associação nome / i-node I-nodes contêm restantes atributos dos ficheiros, incluindo permissões (ugo), datas e localização dos blocos (até 3 níveis de indirecção) Sistemas Operativos II - 2004/2005 30 Estudo de casos Sistemas Operativos II - 2004/2005 31 Log-structured File Systems! Devido à existência de caches em memória, e a necessidade de várias escritas em disco, há hipótese da informação ficar incoerente após crash => corrupção do SF / FSCK pode demorar muito tempo pois tem de testar todos os meta-dados inaceitável em certos cenários / É preciso que o sistema de ficheiros recupere depressa Solução? Sistemas Operativos II - 2004/2005 32

Log-structured File Systems! A solução passa por utilizar as boas práticas dos sistemas de gestão de Bases de Dados... / SGBDs há muito utilizam Logs para garantir as propriedades ACID (aqui interessa em particular a Atomicidade) SGBD escrevem no Log operações e dados FS tendem a escrever apenas meta-dados (i-nodes, free block allocation maps, i-nodes maps, etc.) Log-structured File Systems! Os sistemas de ficheiros baseados em diário (Log) mantêm um registo (log) das operações de actualização do SF. As transacções são registadas no Log Em background, as operações indicadas no Log são executadas sobre o sistema de ficheiros e a transacção marcada como committed. Em caso de crash, reexecuta-se apenas o log não completado Checkpointing pode atrasar aplicações Numa leitura, se o bloco pretendido não tiver sido alvo de checkpoint há que consultar o log => atraso. Sistemas Operativos II - 2004/2005 33 Sistemas Operativos II - 2004/2005 34 Network File System (NFS)! Extent-based file systems E ainda...! Parallel File Systems! Distributed File Systems! Storage Area Networks... Sistemas Operativos II - 2004/2005 35 Sistemas Operativos II - 2004/2005 36

O estado-da-arte! Perquise no Google por Ext3, XFS, JFS, NTFS, Coda...! Ou passe algum tempo em http://www.aspsys.com/software/links.aspx/14.aspx Backups! Assegure-se que percebe a diferença entre Backup Redundância nos discos, por exemplo Raid-1(mirroring) ou Raid-5! Se o tempo é limitado, recomenda-se a leitura de Reiser FS (http://www.namesys.com/)! Backups Para onde? Quando? Que garantias de integridade? Sistemas Operativos II - 2004/2005 37 Sistemas Operativos II - 2004/2005 38 Programa! Sistemas de ficheiros Requisitos, objectivos, estudo de casos RAID, Log struct FS, sistemas de ficheiros distribuídos! Recapitulação de conceitos de programação concorrente Modelos de concorrência, comunicação e sincronização (processos e threads)! Mãos na massa: Exercícios de programação concorrente com processos, semáforos, threads, mutexes Aulas práticas em laboratório: Linux Porquê criar vários processos?! Porque dá jeito... + conveniência Estruturação dos programas Para não estar à espera (spooling, background...) Multiplas actividades / janelas! Porque é melhor + eficiência Múltiplos CPUs Aumenta a utilização de recursos (e.g multiprogramação) Sistemas Operativos II - 2004/2005 39 Sistemas Operativos II - 2004/2005 40