Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

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

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

Sistemas Operacionais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Implementação de Diretórios (1)

Capítulo 11 Sistemas de Arquivos

Estudo de Caso 1: UNIX e LINUX

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA

Sistemas de Arquivos. (Aula 23)

Estrutura do Sistema Operacional

Fundamentos de Sistemas Operacionais

Hierarquia de Diretórios da Família Linux. Sistemas Operacionais 1

Usando o terminal -- Linux -- Flávia Maristela

GERENCIAMENTO DE PROCESSOS E MEMÓRIA

Sistemas Operacionais. Prof. André Y. Kusumoto

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais

Administração de Sistemas Operacionais

Lista de Exercícios de INF1019

SISTEMAS DE ARQUIVOS E DIRETÓRIOS DO LINUX. Prof. Gleison Batista de Sousa

Sistemas de Informação. Sistemas Operacionais

Conceitos básicos e serviços dos Sistemas Operacionais

Técnicas Avançadas de Programação

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

Tipos de usuários do Linux Root Usuário Comum: #

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Características Linux - CentOS

Sistemas Operacionais

Sistemas Operacionais

Sistemas de Arquivos. Diretórios Gerenciamento de Espaço em Disco

Sistemas Operacionais Profa. Roberta Lima Gomes ROTEIRO LAB File System

Capítulo 10: Interface de Sistemas de Arquivos. Operating System Concepts 8 th Edition

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Fundamentos de Sistemas Operacionais

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

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

Sistemas Operacionais

Sistema de Arquivos. Introdução

Estruturas de Sistemas Operacionais

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

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

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Gerência de Entrada e Saída

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

ENADE 2011 SISTEMAS OPERACIONAIS

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais

Permissões de acesso no Linux

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas de Informação. Sistemas Operacionais

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III

Histórico e conceitos básicos. GSO I Gestão de Sistemas Operacionais

Processos e Threads. Ciclo 2 AT3. Prof. Hermes Senger

Questões de Provas de Períodos Anteriores

Transcrição:

Introdução: histórico, distribuições e versões istemas Operacionais Linux Oriundo da decepção do estudante finlandês Linus Torvalds com o sistema operacional minix Após conclusão de uma versão inicial disponibilizou código na Internet Derivado em grande parte da família UIX BD Revisão: Fev/2003 2 a edição Capítulo 9 istemas Operacionais 2 Distribuições Versões É composto pelo núcleo do sistema operacional Linux, um conjunto de software aplicativos e uma interface de instalação Existem várias distribuições Diferenciam-se por alguns softwares aplicativos e na interface instalação Questão de gosto pessoal Os softwares aplicativos possuem uma base comum grande Desenvolvida pela GU (GU is ot Unix) da Free oftware Foundation O que se paga em uma distribuição? ão é o Linux, nem GU, mas sim uma série de serviços disponibilizados e.g: cdrom, manuais de instalação, hot-line, software proprietário,etc Existe núcleo de desenvolvimento, núcleo estável e releases istema de númeração de versões é baseado em três números: Versão principal: existem três até hoje 0, e 2 Indicativo se o núcleo é estável (par) ou desenvolvimento (impar) Release istemas Operacionais 3 istemas Operacionais 4

O ciclo de vida de processos O conceito de threads Criação é feita sempre a partir de um processo pai Chamada de sistema fork-exec Durante sua execução umprocesso Linux assume 5 estados: task_running: equivale aos estados pronto e apto task_interruptible: equivale ao estado bloqueado task_uninterruptible: equivale ao estado bloqueado (situações críticas) task_stopped: parado esperando por sinalização externa (signal) task_zombie: equivale ao estado zumbi Término uporte a threads nível de sistema (modelo :) Implementadas através da chamada de sistema clone() O núcleo não distingue threads de processos Empregam a mesma estrutura de dados (PCB) Threads tem ponteiros para o PCB do processo que as porta istemas Operacionais 5 istemas Operacionais 6 Escalonamento Escalonamento linux tempo real Duas classes em função do tipo de processos (threads) Processos interativos e batch Processos de tempo real Políticas de escalonamento do linux (padrão POIX) CHED_FIFO: FIFO com prioridade estática Válido apenas para processos de tempo real CHED_RR: Round-robin com prioridade estática Válido apenas para processos de tempo real CHED_OTHER: Filas multinível com prioridades dinâmicas (time-sharing) Processos interativos e batch Linux implementa dois tipos de prioridade Estática: exclusivamente processos de tempo real Dinâmica: processos interativos e batch Prioridade é definida pelo usuário e não é modificada pelo escalonador omente usuários com privilégios especiais eleciona sempre processos de mais prioridade para executar Executa segundo a política selecionada: CHED_FIFO ou CHED_RR Processo em tempo real tem preferência (prioridade) sobre processos interativos e batch istemas Operacionais 7 istemas Operacionais 8

Escalonamento linux timesharing Gerência de memória Baseado no uso de créditos e prioridade istema de créditos: Cada processo executa um certo número de créditos O processo com maior crédito é o selecionado Cada interrupção de tempo o processo em execução perde um crédito Processo que atinge zero créditos é suspenso (escalonado médio prazo) e no estado apto não existir processos com créditos é realizado uma redistribuição de créditos para todos os processos (qualquer estado) Créditos Créditos = + prioridade 2 Implementa memória virtual através de paginação por demanda Paginação a três níveis Portabilidade a diferentes plataformas Adapta, via software, a dois níveis em função do processador Algoritmo de substituição de páginas é o algoritmo do relógio com segunda chance Algoritmo de alocação é conhecido como Buddy istemas Operacionais 9 istemas Operacionais 0 Algoritmo Buddy istema de arquivos Free_area (antes) 32K 6K 0 64K 6K 2 3 4 32K 5 6 7 Free_area (depois) 0 2 3 4 5 6 7 istemas Operacionais Organizado de forma hierarquizada via grafo acíclico uporte a hard links e a software links Oferece suporte a diferentes sistemas de arquivos e.g: ext2, ext3, xia, minix, iso9669, fat, smb, ufs, entre outros Baseado no conceito de partições e montagem Implementa camada VF (Virtual File ystem) istema nativo do Linux é o ext2 Versões mais recentes 2.4.x disponibilizam o ext3 istemas Operacionais 2

O sistema de arquivos ext2fs Bloco Estruturas básicas são os blocos e os s Utiliza como método de alocação o indexado (combinado) Com VF suporta arquivos de até 4 Tbytes Cartografia de blocos e s livres/ocupados é mantido através de bitmaps Emprega cache para melhorar o desempenho Um arquivo é composto por uma quantidade inteira de blocos Fragmentação interna no último bloco Bloco tem tamanho configurável (por partição) Valores típicos são 024 bytes, 2048 bytes, 4096 bytes (default) Bloco armazena: Dados Certas informações de controle do sistema operacional e.g.: blocos de índices, blocos com bitmaps, etc... istemas Operacionais 3 istemas Operacionais 4 Estrutura interna de Cada arquivo é representado por uma estrutura () Cada possui: Tipo do arquivo (modo) Direito de acesso Proprietário Tamanho do arquivo timestamps Contador de links Ponteiros para bloco de dados possui 28 bytes 2 Modo Informações timestamps ro. de links Blocos diretos Indireção simples Indireção dupla Indireção tripla índices dados índices dados dados istemas Operacionais 5 istemas Operacionais 6

Estrutura física do disco em ext2fs Layout do sistema de arquivos ext2fs Fortemente influenciada pelo sistema de arquivos UIX BD istema de arquivos é organizado como um grupo de blocos Cilindros na terminologia do UIX BD Objetivo é favorecer uma localização espacial dos blocos e das estruturas de gerência do sistema de arquivos Reduzir tempo de seek Tentativa de alocar blocos para dados é sempre a partir do grupo de blocos mais próximo da posição atual do cabeçote e não tem disponível, tenta nos vizinhos mais próximos uper bloco Boot sector Grupo Grupo 2 Grupo 3 " Grupo n Descritor grupo Bitmap blocos Bitmap Tabela bloco n blocos bloco bloco n blocos " dados uper bloco: descritor do tamanho e formato do sistema de arquivos Descritor grupo: organização do grupo (tamanho e formato) Bitmap blocos: indicação se um bloco do grupo está livre/ocupado Bitmap s: indicação se um do grupo está livre/ocupado Tabela s: associação de blocos de dados aos s do grupo istemas Operacionais 7 istemas Operacionais 8 Tipos de arquivos Regular Regular Diretório Link simbólico Caracter/bloco Fifo (named pipe) ocket Tipo mais comum de arquivo eqüência de bytes cuja interpretação é dada pela aplicação Utiliza blocos para armazenamento de informação Exceção obvia: blocos só são alocados quando o arquivo possui dados istemas Operacionais 9 istemas Operacionais 20

Diretório Hard link Estruturado em uma árvore hierárquica Cada diretório possui arquivos e subdiretórios Diretório é um tipo especial de arquivo, onde cada entrada possui: : descreve localização dos blocos que compõem o arquivo tamanho da entrada: tamanho em bytes dessa entrada no diretório tamanho do nome: tamanho em bytes do nome do arquivo tipo: indicação do tipo do arquivo nome do arquivo: string de máximo 256 caracteres tamanho entrada tamanho nome tipo nome do arquivo A cada link criado o contador de links é incrementado Remover um link implica em decrementar o contador de links e liberar o i- node e blocos associados E o contador for zero ó existe no interior de uma mesma partição porque a referencia é número do na partição ão é permitido (para evitar ciclos) links para diretórios Tecnicamente todo arquivo é um hard link ão existe tipo de arquivo hard link Diretório hlink hlink2 hlink3 istemas Operacionais 2 istemas Operacionais 22 oft link Arquivos de dispositivos Link simbólico Arquivo que contém o nome (path) de um arquivo a realidade existe ainda os fast symbolic links O path do arquivo é armazenado diretamente no limita o tamanho do path a 64 caracteres Pode ser utilizado entre partições Diretório softlink Diretório /x/y/z /x/y/z/arq2 arq2 Periféricos são acessados através de arquivos especiais Modo bloco e modo caracter ão ocupam blocos de dados, apenas ão identificados por um: major number: tipo do dispositivo minor number:unidade do dispositivo /dev tty0 tty tty2 tty3 crw- - - - - - - root tty crw- - - - - - - root tty crw- - - - - - - root tty crw- - - - - - - root tty Major number 4,64 may 5 2000 /dev/tty0 4,65 may 5 2000 /dev/tty 4,66 may 5 2000 /dev/tty2 4,67 may 5 2000 /dev/tty3 Minor number istemas Operacionais 23 istemas Operacionais 24

Fifo (named pipes) ockets Mecanismo de IPC (Inter Process Communication) ão ocupa bloco de dados, apenas Cria um canal de comunicação unidirecional entre dois processos P P 2 pipe write read read pipe 2 write Mecanismo de IPC (Inter Process Communication) Tipo especial de arquivo destinado a realização de serviços de rede Maneira pela qual TCP e UDP identificam os processos de uma comunicação ão ocupa bloco de dados, apenas Um socket é um descritor que possui: Protocolo : TCP ou UDP Endereço da máquina : endereço IP Porta : identificador do processo Comunicação é feita através de chamadas de sistemas read e write istemas Operacionais 25 istemas Operacionais 26 Proteção Verificação de acesso (proteção) Cada processo possui 4 identificadores associados Real user e real group identifier (uid e gid) Effective user e effective group identifier (euid e egid) Cada arquivo possui os seguintes atributos User id e group id Bits de proteção rwx et user id e set group id (bit s) Permite que durante a execução seja trocado o userid e o gid de um processo (effective user/group) Proteção de acesso é realizado em função desses identificadores euid=zero euid=id owner egid = gid owner Permissões para other? Erro de acesso Acesso OK Permissões para acesso? Acesso OK Erro de acesso istemas Operacionais 27 istemas Operacionais 28

Interpretação dos bits rwx em diretórios O conceito de montagem Bit r Permite acesso ao contéudo do diretório (i.e., comando ls) Bit w Alteração do conteúdo do diretório (i.e., inclusão/remoção de arquivos) Bit x Possibilitar selecionar como diretório corrente de trabalho (i.e.., comando cd) Bit s Arquivos criados dentro do diretório herdam o grupo do diretório e não do usuário que criou o arquivo istema de arquivos é individualizado por meio de armazenamento e.g.; discos rígidos, disquetes, cd-rom, fitas, etc Montar um sistema de arquivo significa integrá-lo a uma hierarquia ja existente de um outro sistema de arquivos Ponto de montagem istema de arquivos pode estar em outra máquina (montagem remota) e.g.: etwork File ystem (F) Conceito de exportação e de importação istemas Operacionais 29 istemas Operacionais 30 Montagem de partições em um subdiretório Partição Partição 2 Partição 3 etc usr bin joão maria ls who Mail passwd hosts so teste teste trab Exemplo de montagem Pontos de montagem trab trab2 etc usr bin passwd hosts trab so trab2 teste joao maria teste trab ls who Mail istemas Operacionais 3 istemas Operacionais 32

Gerência de entrada e saída Organização em camadas da gerência de E/ Baseado em uma organização em camadas: E/ a nível de usuário ubsistema de entrada e saída Drivers de dispositivos Por questões de desempenho os drivers podem ser compilados junto ao kernel ou carregados dinamicamente (módulos) tty0 Processo Processo 2 Processo n Dispositivos caractere Driver tty tty Chamadas de sistema (API) Virtual File ystem Driver impressora Dispositivos bloco Driver disco Impressora Disco IDE Disco IDE istemas Operacionais 33 istemas Operacionais 34 Leituras complementares R. Oliveira, A. Carissimi,. Toscani; istemas Operacionais. Editora agra-luzzato, 200. Capítulo 9 A partir do site Linux Documentation Project (LDP) se tem acesso a várias referências http://www.ibiblio.org/mdv/index.html istemas Operacionais 35