Coder Social home page Coder Social logo

gabrielbarbosasalvador / soii-inode Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 1.29 MB

Este trabalho foi concebido com o propósito de aprofundar a compreensão acerca do funcionamento do I-Node e da gestão de blocos de disco em sistemas operacionais Linux. A abordagem adotada envolve a exploração prática desses conceitos, além da implementação efetiva, ou próxima à realidade, utilizando as linguagens de programação C++ e C.

C 3.40% C++ 96.60%
disk disk-management disk-system inode linux

soii-inode's Introduction

Kause Linux - Trabalho prático de SO II

Este trabalho foi concebido com o propósito de aprofundar a compreensão acerca do funcionamento do I-Node e da gestão de blocos de disco em sistemas operacionais Linux. A abordagem adotada envolve a exploração prática desses conceitos, além da implementação efetiva, ou próxima à realidade, utilizando as linguagens de programação C++ e C.

Este projeto prático tem como finalidade realizar a simulação referente a implementação do Sistema de Arquivos utilizado Inode. Cada Inode possui 8 ponteiros, sendo os 5 primeiros para alocação direta, o 6º ponteiro para alocação simples indireta; o 7º para alocação dupla indireta e o 8º para alocação tripla-indireta. Cada inode ocupa um bloco em disco. Cada inode principal pois um área de atributos com os seguintes campos: data, hora, tamanho, permissões (10 bits, onde o primeiro pode ser – ou d ou l, seguido dos do usuários (u) RWX, seguido do grupo (g)RWX e dos outros (o)RWX), contador de links físicos, tipo do bloco;

Por meio de um prompt de comando o usuário poderá manipular o sistema de arquivo:

  • chmod (+)(-)ugo RWX alterar as permissões de acesso a arquivos e diretórios
  • vi nomeArquivo visualizar um arquivo regular
  • ls listar os nomes dos arquivos no diretório
  • ls -l listas os nomes dos arquivos com seus atributos
  • mkdir NomeDir criar diretórios
  • rmdir NomeDir deletar direitórios que estejam vazios
  • rm NomeArq deletar aquivos
  • cd NomeDir ou . ou .. navegar nos diretórios
  • link –h nomeArquivoOrigem NomeArquivoDestino criar link fisico
  • link –s nomeArquivoOrigem NomeArquivoDestino criar link simbólico
  • unlink –h remover link físico
  • unlink –s remover link simbólico
  • bad numeroBloco transformar um bloco em Bad
  • touch NomeAruivo TamanhoBytes Criar um arquivo Regular

soii-inode's People

Contributors

brunomelo283 avatar gabrielbarbosasalvador avatar joaovitordiass avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

soii-inode's Issues

Identificado problemas de interpretação do documento solicitado pelo professor

  • Ajustar lista de blocos livres para virar uma pilha de pilha
    • O funcionamento está quase o ideal, o problema é que a cabeça da lista deve se movimentar até a última pilha criada, e retornar caso tenha sido desocupada
  • Lost blocks deve considerar os blocos que foram perdidos ao dar bad em um inode, por exemplo
  • O vi não pode exibir o arquivo se o inode estiver como bad, e os blocos que estiverem como bad
  • O rm e rmdir não pode liberar o bloco que está como bad
  • link simbólico deve começar a percorrer a partir da raiz
  • Caminho exibido:
    • "~" É para exibir somente se estiver dentro do diretório do usuário do sistema
    • Após sair e ir para o "/", o primeiro a ser exibido deve ser o "/"
  • Criar o comando PWD, para ver o caminho real em que está
  • Ajustar comando LS - E, para exibir igual ao TREE executado no cmd ou power shell do windows

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.