Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Tópicos - lacerdabh

Páginas: [1] 2
1
Programação e Scripts / Artigo - Ext2
« Online: 08 de Junho de 2008, 22:21 »
Escrevi este meio artigo em um trabalho acadêmico e estou compartilhando com a comunidade..

Link para o Original  http://docs.google.com/Doc?id=dfrw3n25_20cb8tmxfk

Abraços.....


Second Extended File System (EXT2)


Lucas Peixoto Sepe e Lucas Lacerda Madeira

Centro Universitário de Belo Horizonte

Resumo

Os sistemas de arquivos do GNU/Linux sempre foram conhecidos por sua robustez, segurança e tolerância a falhas. O GNU/Linux também se destaca pela grande variedade de sistemas de arquivos suportados. Neste artigo será abordado o Ext2. Serão vistos alguns conceitos básicos, fundamentais para entender como o Ext2 se comporta no GNU/Linux, a história do Ext2, seu funcionamento e limitações e principais características.
1.1. História

Linux Torvalds adaptou o sistema de arquivos do Mimix, de Andrew Tanenbaum, para Linux, mas aquele sistema de arquivos tinha várias limitações, como o tamanho do volume que suportava apenas 64 Mega Bytes e nome de arquivos de no Maximo 14 caracteres.

Depois da inserção do sistema de arquivos virtual, que consiste em uma camada de abstração em cima de um sistema de arquivos, no kernel, Rémy Card criou o Ext no ano de 1992, esse sistema de arquivos aumentou o limite do volume para 2 Giba Bytes e o tamanho do nome de arquivos para 255 caracteres.

O Ext ainda possui algumas limitações, como a fatal de suporte a modificação em nós-i e o tempo de modificação de arquivos. No inicio de 1993 foram disponibilizados 2 novos sistemas: o XiaFS, de Frank Xia, também baseado no Minix; e o Ext2, de Rémy Card e Stephen Tweedie, baseado no Ext, que tornou-se o sistema de arquivos padrão para Linux.
1.2. Ficha técnica


●Oferece suporte aos tipos de arquivos UNIX padrão: arquivos, diretórios, arquivos especiais de dispositivos e links simbólicos.

●Suporta 4 também para o sistema de arquivos.

● Pode-se estender o tamanho do nome de arquivos para no máximo 1012 caracteres.

● Reserva de 5% dos blocos para o ROOT.

● Pode-se escolher o tamanho do bloco lógico na criação do sistema de arquivos.

● Bloco que indica o status do sistema de arquivo: "NOT CLEAN", "CLEAN" ou "ERRONEOUS".

● Contador de mount/unmount para força verificação de integridade (presente no Ubuntu mesmo sendo EXT3).

● Quando um bloco é lido vários blocos contíguos também são lidos para aumentar a performance.

● O Kernel sempre tenta alocar o bloco de dados do arquivo no mesmo grupo que seu Inode.

● Na escrita de dados, até 8 blocos adjacentes são pré-alocados quando um novo bloco é alocado, permitindo que blocos contíguos sejam alocados e facilite uma futura leitura.

● A estrutura foi fortemente influenciada pelo layout do BSD filesystem, onde o sistema de arquivos está disposto em grupos de blocos.

● O EXT3 é fortemente baseado no EXT2, o que significa que um sistema EXT2 pode ser desmontado e remontado como EXT3 e vice-versa, tendo inclusive compatibilidade de metadados.
1.3. Optimações

O sistema de ficheiros Ext2 foi projetado e implementado para suprir deficiências do Ext, no qual se baseou. Dentre estes avanços se destaca o esforço para sanar problemas de fragmentação e de desempenho, o aumento do tamanho máximo da partição para 4TB e o uso de 3 timestamps nos arquivos (criação, modificação e acesso).
1.4. Características Avançadas


O Ext2 compartilha muitas propriedades do sistema de arquivos UNIX tradicional, dentre elas podemos citar os conceitos de blocos, inodes e diretórios, especificação de controle de listas de acesso (ACL’s), fragmentos, restauração e compressão de arquivos.


O Sistema de arquivos Ext2 oferece a sua montagem em duas semânticas: ou BSD ou System V Release 4 – SVR4. Tal semântica escolhida influenciará na criação do arquivo, onde a BSD os arquivos são criados com a mesma identificação de grupo do diretório pai, e já na semântica SVR4, há uma complexidade, pois um diretório tem um bit de identificação de configuração, os novos arquivos herdam a identificação do grupo do diretório pai e os diretórios herdam o bit de identificação da configuração do diretório pai e a identificação do grupo. Em outros casos, os arquivos e diretórios são criados com a identificação do grupo primário do processo chamado.


A semântica BSD permite ao Administrador requisitar que metadados (informações sobre os dados, ou seja, inodes, mapa dos blocos de bits, blocos de indiretos e blocos de diretórios) sejam escritos de forma síncrona no disco quando eles são modificados. Isto pode ser útil para manter a consistência dos metadados, mas pode levar a um baixo desempenho. Este tipo de característica é pouco usado, pois a perda de desempenho associada com a utilização de atualizações síncronas dos metadados pode causar corrupção nos dados do usuário que não serão sinalizados pelo Sistema de Arquivos.


O Administrador pode definir o tamanho máximo da unidade de alocação ao criar o Sistema de Arquivo. Caso seja utilizado uma unidade de alocação grande, o Ext2 fornece técnicas de pré- alocação, otimizando assim o desempenho, mas se o acesso de entrada e saída for grande esta escolha prejudicará o desempenho.


Ferramentas, como tune2fs, e2fsck e o debugfs são fornecidas pelo Ext2. O tune2fs pode modificar os parâmetros do Sistema de Arquivos. Esta ferramenta pode alterar erros de comportamento do Sistema de Arquivos, contagem máxima e montagem, intervalo máximo de checagem e o número de blocos lógicos reservados ao super usuário. Já o e2fsck realiza a recuperação do Sistema de Arquivos quando o mesmo está sujeito, por

exemplo a uma queda brusca de energia. Para complementar o e2fsck o Administrador pode utilizar o debugfs, o qual o ajudará a examinar a estrutura interna do Sistema de Arquivos, reparando algumas inconsistência. Esta última ferramenta é muito perigosa podendo destruir facilmente o Sistema de Arquivos.
1.5. Estrutura do Ext2


Além das características do padrão UNIX, o Ext2 suporta algumas extensões que não estão normalmente presentes em sistemas de arquivos UNIX.

O espaço em um disco é dividido em blocos, que tem tamanho fixo de 1024, 2048 ou 4096 bytes e podem ser fragmentados em 2, 4 ou 8 partes.


Os blocos são agrupados formando os grupos de blocos que reduzirão a fragmentação, e as informações sobre cada grupo de bloco é mantida em uma tabela armazenada no bloco imediatamente após o superbloco.

O superbloco contém todas as informações sobre a configuração do sistema de arquivamento. Uma cópia primária do superbloco é armazenada em 1024 bytes a partir do início do disco, e isto é para a montagem do sistema de arquivos. As informações do superbloco são tão importantes que são armazenadas em grupos de blocos ao longo do sistema de arquivos.

As informações de um superbloco possuem campos com o total de inodes e blocos em um sistema de arquivos, quantos estão livres , quantos inodes e blocos estão em um grupo de blocos, quando o sistema de arquivos foi montado ( e se foi desmontado corretamente), quando foi modificado, qual a versão do sistema de arquivos e qual Sistema Operacional em que o sistema de arquivos foi criado. Se for a primeira vez o sistema de arquivos está sendo revidado, ou se já foi outras vezes, então são criados campos extras como um nome de volume, um número único de identificação, tamanho do inode e um espaço opcional para o armazenamento de informações de configuração das características do sistema de arquivos.

Todos os campos em um superbloco são armazenados no disco em formato little endian (forma de organização dos bytes em uma palavra de memória), facilitando a portabilidade do sistema de arquivos para outra máquina.


O inode (nó de índice) é um conceito fundamental no Ext2, de forma que cada objeto em um sistema de arquivos é representado por um inode. Um arquivo ou diretório é descrito por um e somente um inode, o qual possui um

grupo de blocos que mantém uma tabela de inodes junto com uma mapa de bits que permite o sistema saber como alocar ou apagar uma alocação de um inode. O inode possui alguns campos como:


Modo: campo que possui a descrição do inode (se é um arquivo, diretório, link simbólico, bloco de desipositivo, dispositivo de caracter ou FIFO) e permissões de usuários (leitura, escrita ou execução).

Informações do Propritetátio: identificação do usuário e do grupo do proprietário do arquivo ou diretório. Isto permite que o sistema de arquivos faça uma classificação correta dos acessos.

Tamanho: tamanho do arquivo em bytes.

Controle de data e hora: controla a criação e alteração de um arquivo ou diretório.

Bloco de Dados: ponteiros para os blocos em que o inode está descrito. Os vinte primeiros apontam para os blocos físicos que possuem os dados descritos pelo inode e os três últimos apontam para blocos que possuem subníveis, ou seja, o primeiro aponta para

o bloco indireto simples que possuem endereços de disco. Se não for suficiente existe o bloco indireto duplo que contém vários blocos indiretos simples que apontam para centenas de blocos em disco. E se mesmo assim não for suficiente um bloco indireto triplo também

poderá ser utilizado. Estes três últimos são mais usados em arquivos que possuem muitos dados.


Um diretório é um objeto, ou seja, é um arquivo especialmente formatado contendo registros os quais associam cada nome com o número do inode. O Ext2 mantém uma lista isolada com o nome dos arquivos do diretório evitando uma varredura em todo o diretório.

Um outro tipo de objeto utilizado pelo Ext2 são os arquivos especiais, ou links simbólicos. O tratamento com estes tipos de arquivos é diferenciado, pois os blocos que seriam utilizados como ponteiros são usados para armazenamento de dados.

O Ext2 mantém uma certa quantidade de blocos livres, os quais são reservados ao super-usuário (root). Desta maneira se o sistema utilizar todos os blocos, o super-usuário poderá ainda continuar utilizando o sistema.

O sistema de segurança aos arquivos e diretórios do Ext2 recebem três tipos diferentes de privilégio, como podemos ver a seguir:


Privilégio de proprietário: somente o dono do arquivo ou diretório poderá acessá- lo;

Privilégio de grupo: somente poderão acessar o arquivo ou diretório os usuários que fazem parte do grupo;

Privilégio de outros: neste caso qualquer usuário poderá acessar o arquivo ou diretório.


Uma vez recebido o privilégio o usuário poderá acessar o arquivo ou diretório de três formas: leitura, escrita ou execução. Esses acessos têm diferentes significados quando aplicados a diretórios ou arquivos.

No caso do Arquivo o acesso leitura permite copiar ou visualizar o conteúdo de um arquivo; o acesso escrita pode- se editar, apagar e sobrepor arquivos e o de execução permite rodar um arquivo programa ou um arquivo script.

Já no caso do Diretório o acesso leitura permite listar o conteúdo de um diretório, o acesso escrita permite criar, editar, renomear e deletar arquivos e subdiretórios contidos em um diretório e o acesso execução permite mover entre diretórios, criar, editar, renomear e deletar arquivos e subdiretórios e rodar um programa ou scripts contidos em um diretório.

Um Administrador de um sistema UNIX, neste caso o Linux, possui privilégio total sobre qualquer arquivo ou diretório podendo se tornar dono quanto alterar as formas de acesso.
1.6. Conclusão

O sistema de arquivos Ext2, que já foi o padrão da maioria das distribuições, ainda é um dos mais utilizados na comunidade Linux. Ele provê padrões de semântica de arquivos Unix e características avançadas. Além disso, graças às otimizações incluídas no código do kernel, ele é robusto e oferece ótima performance.

Entretanto, algumas características, como o número pré-determinado de nós-i, o uso de listas encadeadas e a alocação por blocos estão limitando a sua estalabilidade. O sucessor do Ext2 ( Ext3) implementou poderosas ferramentas, como o Fsck e suporte à Journaling, mas mesmo assim ainda não foi suficiente para sanar todas suas limitações.


Referencias

Rémy Card, Theodore Ts'o e Stephen Tweedie Design and Implementation of

the Second Extended Filesystem. (http://web.mit.edu/tytso/www/linux/ext2intro.html)

Boulic, R. and Renault, O. (1991) “3D Hierarchies for Animation”, In: New Trends in Animation and Visualization, Edited by Nadia Magnenat-Thalmann and Daniel Thalmann, John Wiley & Sons ltd., England.

Dyer, S, Martin, J. and Zulauf, J. (1995) “Motion Capture White Paper”, http://reality.sgi.com/employees/jam_sb/mocap/MoCapWP_v2.0.html, December.

Holton, M. and Alexander, S. (1995) “Soft Cellular Modeling: A Technique for the Simulation of Non-rigid Materials”, Computer Graphics: Developments in Virtual Environments, R. A. Earnshaw and J. A. Vince, England, Academic Press Ltd., p. 449-460.

Knuth, D. E., The TeXbook, Addison Wesley, 1984.

RUSLING, David A. de The Linux Kernel. Version 0.8-3. 1988.

(http:/ /www.tldp.org/LDP/tlk/tlk.html),

VLECK, Tom Van Unix and Multics. (http:/ /www.multicians.org/unix.html)

M. McKusick, W. Joy, S. Leffler, and R. Fabry. A Fast File System for UNIX, Fevereiro de 1984

TANENBAUM, Andrew S.; WOODHULL, Albert S. de Sistemas Operacionais: Projeto e Implementação. 2 ed. Bookman, 2000, 759 p.

2
Programação e Scripts / Programação Prolog.
« Online: 21 de Maio de 2008, 20:15 »
A partir de um conjunto de números inteiros de 1 a Σ=n , para um dado n, construa um triângulo de números tal que cada número seja formado pela subtração dos dois números que estão imediatamente abaixo dele, por exemplo, para n=4 e n=5 pode-se construir os seguintes triângulos:

   3
  2 5
 7 9 4
8 1 10 6

    5
   9 4
  2 11 7
 10 12 1 8
13 3 15 14 6

Tá muito complicado de fazer, ainda mais que eu não tenho a amnha em prolog, uma das partes que é o somatório eu consegui fazer?

soma(0,0):-!.
soma(0,Res):- Res = 0.
soma(N,Res):- N1 is  N-1,soma(N1,S),Res is S + N.

Alguem tem alguma idéia para esse problema?

3
Instalação e Atualização / Problemas com RMVB
« Online: 18 de Maio de 2008, 21:02 »
Não consigo rodar rmvb no ubuntu nem a pal, já instaleio o w32codecs http://andregondim.eti.br/?p=296,instalei o realplayer 10 e 11,  ja segui N tutorias e nada.
Só consigo rodar o audio do video, alguem ja passou por esse problema e conseguiu resolver?

4
Instalação e Atualização / Instalação do Realplayer
« Online: 18 de Maio de 2008, 13:46 »
Já tentei de diversar fomas instalar o Real Player na minha maquina mas não obtive sucesso, tenho a versão 10 instalada mas não consigou assistir videos que estão no formato rmvb, minha versão do ubuntu é a  8.04, alguem consguiu instalar o Real Player 11 ou alguma outrar solução para videos rmvb?


5
Iniciantes / Plano de Fundo - Cubo Compiz(Resolvido)
« Online: 18 de Maio de 2008, 11:56 »
É possivel mudar o plano de fundo que fica atras do cubo?

6
Iniciantes / Second Extended Filesystem - EXT2
« Online: 13 de Maio de 2008, 22:23 »
Alguem sabe se existe alguma artigo que ja fora publicado que fale a respeitode partições EXT2?

7
Instalação e Atualização / Ubuntu 8.04 em ingles...
« Online: 03 de Maio de 2008, 23:02 »
Não se é bug ou algo do tipo mas, não consigo passou o meu para português, os itens dos menus estão traduzidos mas alguns continuam em ingles..

8
Programação e Scripts / APIs Java
« Online: 27 de Setembro de 2007, 20:43 »
Quem topa traduzir as especificações das APIs?

9
Programação e Scripts / [Eclipse] - Tradução
« Online: 17 de Setembro de 2007, 11:16 »
Ai Galera, andei pesquisando se existia alguma tradução para o eclipse, mas não encontrei nenhuma solução q funcionasse, alguem sebe se tem como traduzir o eclipse para o portugues?

10
Programação e Scripts / Java, qual seria seu fututo?
« Online: 30 de Agosto de 2007, 22:49 »
Tenho acompanhada muitos topicos que discutem o uso do java como linguagem de programação.
Gostaria de saber a opnião de vcs sobre essa linguagem, os pros e os contras.

11
Iniciantes / Arquivos com extenção, RMVB, como rodar.
« Online: 06 de Julho de 2007, 14:09 »
Olá amigos;

estava tentando assistir um video com essa extenção, mas n consegui, usando o reprodutor de videos q vem com o ubuntu, ele até tentou baixar alguns plugins mas não adiantou, como faço para assistir videos com a extenção RMVB.

12
Iniciantes / Como instalar programas no linux?(Duvida)
« Online: 06 de Julho de 2007, 14:07 »
Baixei o Xine, com extenção "tar.bz2", como faço para instalalo?
abrs..

13
Programação e Scripts / Duvidas C++, como utlizar o new.
« Online: 06 de Julho de 2007, 13:28 »
Olá pessoal estou com duvidas na utilização do new, no c++.
Qual a sua sintaxe?
Em qual biblioteca ele esta?
abrs.

14
Programação e Scripts / Falha de Segmentação....(Resolvido)
« Online: 29 de Junho de 2007, 23:17 »
O seguinte trecho  do meu codigo esta dando este erro..

Código: [Selecionar]
void somador(struct dados *reg, int k,int i){
if(reg[k].ap[i]=1){
reg[k].ap[i+1]=0;
somador(reg,k-1,i);
}
else reg[k].ap[i+1]=1;

};

void cria_tabela(struct dados *reg, int t1, int t2){
int i,k;
for(k=t1;k>=0;k--)
for(i=1;i<t2;i++) somador(reg,k,i);

};

Qual  seria o erro?

15
Café com Ubuntu / O melhor amigo de Bill Gates....
« Online: 24 de Junho de 2007, 19:26 »
Encontrei este artigo na net e achei interressante, gostaria de saber o opinião do pessoal do forum.

O melhor amigo de Bill Gates

"É curioso como nos dias de hoje, em plena era da informação e das revoluções tecnológicas, ainda seja difícil dialogar sobre Linux sem que a conversa escorregue para o lado dogmático de que o Linux é bom porque é bom e o Windows é ruim porque é ruim. Digo isso, principalmente, porque jogo no mesmo time do Pingüim, apenas, talvez, com visão estratégica um pouco diferente de boa parte da comunidade. Tem certa dose de razão quem diz que não devemos comparar os sistemas Linux e Windows, pois são sistemas com filosofias diferentes. Concordo em parte com isso. Acho que as comparações podem ser feitas, apenas o risco de cairmos no subjetivismo do gosto pessoal é muito grande. É muito parecido com o que ocorre no setor automobilístico. Para comprar um carro costumamos reunir uma série de dados levando em conta preços, potência do motor, economia de combustível, autonomia e opcionais. Mas na decisão final acaba sempre prevalecendo a preferência pessoal por determinado estilo e design.

Por outro lado, sempre que formos falar sobre Linux, suas características e até mesmo sua filosofia, é inevitável fazermos algumas comparações. Faz parte da condição humana trabalhar com referências. Eu, particularmente, gosto muito de analisar as coisas amparado em referenciais estatísticos.

Me corrijam se eu estiver errado. O Windows está em 95% dos computadores do Mundo por 2 grandes motivos:

    * É grátis.
    * É fácil e amigável.

Oooppss !!?? Windows é grátis ???

Praticamente sim!

Vejam bem!

Basta ir em qualquer camelô de qualquer cidade média do Brasil e você pode comprar um CD com WinXP última versão por cerca de R$ 10,00 – R$ 15,00, o mesmo preço de uma revista com uma distribuição Linux qualquer. A situação se repete com todos os outros pacotes ou programas populares.

Ou alguém vai dizer que não sabia disso!!??

Vou mais longe. O próprio Bill Gates sabe disso e, todos os dias, em suas orações, agradece que as coisas sejam assim na América Latina, África, Ásia e também em alguns nichos mais discretos do primeiro Mundo.

Quer melhor campanha publicitária que essa? Divulgação em nível Mundial e a custo zero. O lucro vem das corporações, empresas, organizações governamentais e não governamentais, enfim, dos lugares onde as coisas, por força de lei, precisam andar na linha. É claro que a pirataria doméstica é ilegal e imoral, mas, neste caso, a relação custo/benefício para fiscalização e moralização seria extremamente desvantajosa sob todos os ângulos que se queira analisar.

Resumindo, do ponto de vista meramente econômico não existe competição entre software livre e software proprietário. Para efeito prático, ambos encontram-se em igualdade de condições. Do ponto de vista ético, é claro, as coisas mudam de figura. Mas, convenhamos, ética é artigo raro neste planeta. Se valesse a ética eu não tenho a menor dúvida que o Linux estaria rodando em 95% dos computadores do Mundo. É por isso que Bill Gates ama todos os piratas do Mundo.

Acho fundamental que a comunidade Open-source leve este fator em conta. Não faz sentido apegar-se ao falso trunfo de que o Linux é gratuito e o Windows custa caro. Essa vantagem é falsa. Devemos buscar outras explicações para a a enorme popularidade do Windows em oposição ao Linux. É preciso investigar outras alternativas estratégicas para promoção e divulgação do Tux. É aqui que entra o motivo (2), Fácil e Amigável. Esse é o “X” da questão. Não importa quantas virtudes o Linux ofereça em termos de segurança, confiabilidade e estabilidade. Isso é muito bom, mas vale só na rede corporativa ou no micro do aficionado. No micro do usuário comum o que importa é o baixo custo (igual vale lembrar) e a facilidade de uso. Se o Windows fosse menos fácil e amigável que o Linux, eu também não tenho a menor dúvida que o Pingüim seria o Rei do “software”.

Acho que é pura perda de tempo compararmos Linux e Windows em qualquer outro aspecto que não seja a facilidade de uso. É só isso que conta. É pura utopia querer que o Linux se expanda fora desta premissa.

É neste ponto que venho “brigando” com a comunidade Linux. O pessoal está muito apegado aos aspectos de segurança, estabilidade e controle total sobre o sistema instalado. Isso só é relevante para uma pequena minoria. A imensa maioria quer o mel na sopa, isto é, um sistema que faça quase tudo sozinho e na hora que der pau aperta-se o botão de On/Off e ponto.

É aqui que está a grande sacada que tenho a impressão que a comunidade não quer ver. Onde é que está escrito que o Linux não pode satisfazer a Gregos e Troianos? O que impede que o Linux não seja muito mais fácil e amigável, ao mesmo tempo que permita ao usuário avançado e exigente, o controle total da máquina? Por que não unir o melhor dos dois Mundos? Por que ignorar ou menosprezar o maior e verdadeiro trunfo do concorrente?

Isso tem um preço, é claro. O Mundo open-source precisa ser mais unido e menos individualista. Faz-se necessário uma maior padronização. Faz-se necessário maior compatibilidade entre as distribuições. Faz-se necessário maior união. Enquanto houverem tantas distribuições quanto usuários; enquanto houver a apologia do obscuro editor “vi”; enquanto houver a proliferação desordenada do imenso arsenal de “how-tos” escritos no banheiro sobre as coxas, não iremos a lugar algum. Essa é a realidade nua e crua. É por isso que o Bill Gates também ama e agradece a todos os fanáticos por Linux.

Autor

Cesar Boschetti Tecnologista Senior INPE - Instituto Nacional de Pesquisas Espaciais F.: 12 - 3945 7797. www.las.inpe.br www.las.inpe.br/~cesar/welcome.html"

O artigo foi retirado no site: http://under-linux.org/wiki/index.php/Artigos/Amigo-Bill-Gates

abraçs...



Páginas: [1] 2