Projeto: Camada Independente de Dispositivo



Documentos relacionados
SISTEMAS OPERACIONAIS II ESPECIFICAÇÃO CAMADA INDEPENDENTE

Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

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 Informação. Sistemas Operacionais 4º Período

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

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

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

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Sistemas Operacionais: Sistema de Arquivos

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Conceitos de Sistemas Operacionais: Chamadas de Sistema. Prof Rafael J. Sandim

Fundamentos de Sistemas Operacionais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Capítulo 6 Sistemas de Arquivos

AULA 16 - Sistema de Arquivos

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

Unix: Sistema de Arquivos. Geraldo Braz Junior

Fundamentos de Arquivos e Armazenamento Secundário

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

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistema de Arquivos FAT

Arquitetura de Computadores. Tipos de Instruções

Sistemas Operacionais

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais

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

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Sistemas de Arquivos. Sistemas de arquivos: Mecanismos para armazenamento on-line e acesso de dados e programas.

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

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

Tipos de Servidores. Servidores com estado

Sistemas Operacionais Processos e Threads

Prof. Bruno Calegaro

SW DE E/S INDEPENDENTE DE DISPOSITIVO

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

GERENCIAMENTO DE DISPOSITIVOS

Organização Básica do Computador

Persistência de Dados

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

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

Processos e Threads (partes I e II)

Sistemas Operacionais

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

PROG. DE COMPUTADORES II SI Arquivos

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

3 SCS: Sistema de Componentes de Software

AULA 5 Sistemas Operacionais

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

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

E.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro. Programação Concorrente em Linux

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

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Sistemas Operacionais

Memórias Prof. Galvez Gonçalves

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

Disciplina de Banco de Dados Introdução

Manual do Usuário - ProJuris Web - Fila de s Página 1 de 8

Arquitetura de Sistemas Operacionais

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

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

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

Modelos. Comunicação com clientes

SISTEMAS OPERACIONAIS. Sistemas de Arquivos Apostila 09

Sistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros

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

Sistemas Operacionais. Prof. André Y. Kusumoto

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

SISTEMAS OPERACIONAIS

Ciclo de Vida de um Processo

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

ESTRUTURA DE UM SISTEMA OPERACIONAL

TÓPICO 7. Gerência de Arquivos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

1 - SISTEMA DE FICHEIROS NO WINDOWS

Sistema de Arquivos EXT3

1. CAPÍTULO COMPUTADORES

Fundamentos de Sistemas Computacionais Introdução

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Computador = Hardware + Dados

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

Disciplina: Introdução à Informática Profª Érica Barcelos

Estruturas do Sistema de Computação

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

4) Abaixo está representado o nó_i do arquivo SO.txt em um sistema UNIX.

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Sistemas Operacionais Gerência de Dispositivos

the slides) Sobre a apresentação (About( Capítulo 11: Implementação de Sistemas de Arquivos Sistemas de Arquivos Objetivos

Transcrição:

Projeto: Camada Independente de Dispositivo Introdução Esse documento tem como finalidade demonstrar como será implementada a Camada Independente de Software. Estrutura A camada independente de software é interligada da seguinte forma: Camada Independente de Dispositivo: É a camada próxima do usuário ou operador, vide especificação. A camada tem como princípio enviar requisições para o driver de dispositivo, se assim necessário e receber um status de retorno ou o dado requerido. Processo do usuário: Entidade que faz requisições a camada independente de dispositivo, requisições essas como: open, read, write. Driver de dispositivo: É a camada de software responsável por requerer blocos de dados da controladora de disco, é a camada que busca os dados no dispositivo, pois conhece todas as especificações do mesmo. Essa camada se comunica diretamente com a controladora requerendo bloco para ser lido.

Consultar/Atualizar descritores e verificar cache: função que consulta e/ou atualiza os descritores do PCB correspondente do processo que fez a chamada de sistema. Analisa as chamadas de sistemas e chama a função Executa chamada de sistema passando os parametros necessários para cada chamada. Essa função consulta também se o dado requerido já existe na cache, não necessitando fazer requisição a função Executar chamada de sistema. Executar chamada de sistema: função que faz requisição ao driver de dispositivo em relação a dados necessitados pela chamada de sistema feito pelo processo do usuário. Essa função faz chamada a função que trata a FAT, chama o driver e atualiza o cache de dados. Tratar FAT: função que consulta a tabela de alocação de arquivos (FAT) do disco. Buffer de dados: estrutura de dados que armazena dados lidos ou devem ser escritos do disco. Lista de arquivos abertos: estrutura de dados que armazena uma lista de arquivos abertos no sistema operacional. FAT: file allocation table, tabela de alocação de arquivos. Tabela existente em disco, nos seus primeiros blocos. Possui se os blocos do disco estão ocupados (com dados). PCB: estrutura que armazena dados detalhados de um processo (vide especificação).

Lista de descritores: estrutura de dados que armazena descritores para os arquivos abertos pelo processo e que contém o bloco inicial, flag de leitura e escrita do arquivo. Comunicação entre as camadas A comunicação entre a camada independente de dispositivo (CSID) e o processo do usuário é direta, ou seja, cada processo conterá uma cópia da CSID e irá fazer requisições diretas a ela. A CSID é um módulo que é incluido no processo do usuário. A comunicação entre a CSID e o driver de dispositivo será feita através de uma fila de mensagem. Cada requisição estará numa mensagem, sendo que cada requisição conterá os seguintes parâmetros. Número do cluster long inteiro Tipo de operação inteiro // 0 quando for operação de leitura ou 1 quando for escrita Posição memória long inteiro //onde os dados serão lidos no caso escrita ou onde os dados serão escritos no caso de uma leitura Pid long inteiro // identificador do processo dono da requisição Número de bytes a serem escritos ou lidos - inteiro Diagrama de controle Estruturas de dados Requisição

Número do Cluster Tipo de Operação Posição de Memória PID Número de Bytes Número do cluster inteiro Tipo de operação inteiro // 0 quando for operação de leitura ou 1 quando for escrita Posição memória inteiro //onde os dados serão lidos no caso escrita ou onde os dados serão escritos no caso de uma leitura Pid inteiro // identificador do processo dono da requisição Número de bytes a serem escritos ou lidos inteiro Lista de arquivos abertos É uma estrtura de dados (struct) contendo: Primeiro bloco: Primeiro bloco em disco do arquivo aberto Contador: Número de vezes que aquele arquivo foi aberto no sistema Descritor Estrutura que contém: Inteiro handler: indeficação do arquivo Ponteiro para o buffer de dados do arquivo Posicação na lista de arquivos abertos Ponteiro para a lista de arquivos abertos PCB Estrutura que contém: Char caminho corrente: Diretório corrente daonde o processo está Lista de descritores dos arquivos abertos pelo processo Requisição Estrutura que armazenará os dados que serão requeridos junto ao driver e/ou serão úteis para a requisição no driver Operação: inteiro que indica a operação a ser feita pelo driver Index: inteiro que indica qual bloco será lido Id share bloco: numero do bloco compartilhado (buffer) que armazenará os dados lidos Pid do processo BUFFER

Estrutura de memória compartilhada que armazenará os blocos lidos pelo driver. Contém os campos: Index: idenficação no bfd dessa entrada nesse bloco Tipo: tipo arquivo, diretório arquivo etc Nome: nome do arquivo ou diretório Algorítmos dos módulos Envia requisição driver comentario: Envia requisicao ao driver atraves de uma fila de mensagem ienvia_requisicao_driver(operacao, index, buffer) requisicao-operacao = operacao; requisicao-index = index; requisicao-id_share_bloco = buffer; requisicao-pid = getpid(); requisicao- envia_mensagem_requisicao( requisicao-operacao, requisicao-index, id_share_bloco, requisicao-pid); retorna status; final Driver // Driver fica na ativa sempre, escutando escutar(sempre) escreva( Driver escutando); // REQUISICAO da CID checar_nova_mensagem(cid) if(novamensagem) escreva(chegou nova mensagem); confirmar_requisicao(cid) caso 1: /// Ler bloco bfd caso 2: // Ler outros blocos caso 999: parar driver final // REPOSTA PARA a CID envia_mensagem_resposta(status);

FFOPEN verifica_caminho_arquivo(absoluto/relativo) forma_caminho_absoluto(caminho_pcb+caminho_usuario) _loop envia_requisicao_driver(bfd) envia _requisicao_bloco_driver(raiz) verifica_token_caminho(bloco_raiz) busca_proximo_bloco_no_bfd(index_raiz) volta_loop atualiza(listaaa) atualiza(pcbdescritores) retorna descritor final