Skip to content

June 18, 2010 - Vegetando

8

Particionamento: Teoria

Uso de cartões no N800

Uso de cartões no N800

Ao comprar um cartão de memória, disco rígido, pendrive ou outro dispositivo de memória de massa o mais comum é ter uma única partição que oferece toda a capacidade de armazenamento. Pode acontecer pior: o dispositivo vir sem qualquer partição. De acordo com a finalidade de uso do dispositivo, é interessante modificar seu estado original de forma que ele separe o conteúdo armazenado em diferentes unidades lógicas. Esse processo de divisão do espaço de armazenamento é chamado particionamento.

O particionamento pode ser aplicado para diferentes dispositivos de armazenamento e para uso em computadores e outros dispositivos. De modo geral, algumas das vantagens que podem ser obtidas são:

  • Separar dados do sistema e dados do usuário: se o sistema operacional tem algum problema ou precisa ser alterado de alguma forma, apenas sua partição é modificada, preservando os dados do usuário;
  • Instalar diversos sistemas operacionais: permitir que mais de um sistema seja instalado, mantendo o isolamento dos dados entre eles e usando a estruturação de armazenamento adequada;
  • Obter características diferentes para o gerenciamento: é possível ter uma partição que valorize velocidade de leitura e gravação enquanto outra garante que os dados não sejam perdidos em caso de falhas.

Tratando de cartões e memórias de dispositivos com o Maemo (usado no N800, N810 e N900), há diversas situações em que o particionamento ou mudança de sistema de arquivos podem ser úteis, como:

  • Instalar mais de um sistemas operacional: Ter ao mesmo tempo mais de um sistema como o Maemo, Mamona, Mer, MeeGo e Android;
  • Clonar o sistema para o cartão: Ter uma cópia executável do sistema instalado na ROM para a ter um sistema de alternativo em caso de falha ou para tirar proveito da maior capacidade do cartão para instalar programas;
  • Montar uma organização diferente de arquivos: separar arquivos em divisões diferentes dos cartões, para organização dos dados, uso por sistemas diferentes ou outras finalidades;
  • Preparar o cartão para receber a instalação de programas: utilizar o espaço do cartão para a instalação de programas, livrando-se do limite atribuído originalmente ao Maemo na memória ROM;
  • Criar espaço para que um sistema operacional o reconheça como pendrive: o cartão em uso pelo N800 pode ser reconhecido por diferentes sistemas operacionais, incluindo o Windows, como um pendrive caso esteja formatado com FAT16 ou FAT32;
  • Criar área de memória virtual: criar uma partição SWAP que pode ser utilizada como memória RAM e assim permitir que mais programas sejam abertos ao mesmo tempo (com uma queda de desempenho).

Além das necessidades de particionamento, pode ser necessário fazer apenas a formatação do cartão para apagar suas informações. Antes de partir para a prática, que será vista em um post futuro, serão explicados alguns conceitos relacionados a partições e sistemas de arquivos.

Partições

Partições são formas de dividir o espaço de um dispositivo de armazenamento. Cada partição tem associado, direta ou indiretamente, um sistema de arquivos, que é a forma pela qual os dados serão gravados. A variação de uso de partições e de sistemas de arquivos pode ser influenciada por diversas razões, que incluem o sistema operacional utilizado, o tipo de dispositivo/mídia e a finalidade de uso.

De acordo com Bruno Torres, as partições podem ser classificadas como:

  • Primária: são partições que podem ser usadas para instalar um sistema operacional. Em um disco pode existir no mínimo 1 partição primária e no máximo 4. Se 4 partições primárias forem criadas, nenhuma outra, primária ou não, poderá ser adicionada;
  • Estendida: a partição estendida é um tipo especial de partição primária que permite que outras partições secundárias (chamadas partições lógicas) sejam criadas. Assim, caso seja necessário mais do que 4 partições sejam criadas em um disco, basta criar 3 primárias e 1 estendida, sendo que a última poderá conter mais do que uma partição lógica;
  • Lógica: como uma forma de ir além das 4 partições primárias que podem ser atribuídas a um disco, é possível criar até 16 partições lógicas dentro de uma partição estendida.

Assim, em um disco pode-se criar 3 partições primárias, 1 estendida e 16 partições lógicas, num total de 19 partições que serão diferenciadas pelo sistema para a gravação de arquivos. A partição estendida não será considerada, apenas as lógicas que estarão nela.

Sistemas de Arquivos

Outra informação importante a ser definida com relação às partições é o sistema de arquivos que será utilizado. Existem vários sistemas de arquivos, como FAT16, FAT32, ext2, ext3 e NTFS . O que define qual deles utilizar é o sistema operacional a ser utilizado, as características da mídia e o objetivo de uso. Por exemplo, o Windows XP só reconhece FAT e NTFS, então escolher um desses sistemas de arquivos é importante para fazer sua instalação.

Outros fatores que podem ser determinantes são limitações de armazenamento, como o tamanho máximo de uma partição ou arquivo, e a necessidade de ter uma característica específica, como atribuição de permissões de acesso, a capacidade de manter um registro das ações feitas no disco (journaling), para facilitar a recuperação em caso de falhas, e a menor influência por problemas de fragmentação de dados. A variação dessas características pode ser notada na tabela apresentada abaixo (mais detalhes em Comparison of File Systems).

Sistema de Arquivos Tamanho Máximo Journaling Controle de Acesso
Nome de Arquivo Arquivo Volume
FAT16 255 com UTF-16 2GB 2GB Não Não
FAT32 255 com UTF-16 4GB 8TB Não Não
NTFS 226 16EB 16EB Sim Sim
EXT2 255 16GB a 2TB 2TB a 32TB Não Sim
EXT3 255 16GB a 2TB 2TB a 32TB Sim Sim
EXT4 255 16GB a 16TB 1EB Sim Sim

Particionamento para o N800/N810

Para exemplificar a importância de se levar em consideração o número de partições e os sistemas de arquivos utilizados pode ser dado o exemplo de particionamento de um cartão para uso no N800, comumente usado para clonar o sistema operacional – uma opção comum para permitir a instalação de vários aplicativos sem se limitar aos 256MB de espaço disponíveis no N800. Uma configuração que pode ser utilizada para um cartão é:

  • 1 Partição com FAT16 ou FAT32: reconhecida pelo sistema como o cartão interno, e que é utilizada como área de armazenamento quando o N800 é ligado ao computador como dispositivo de armazenamento. A utilização de um desses formatos é importante para que a partição seja reconhecida por diversos sistemas operacionais, incluindo GNU/Linux, MacOS e Windows. É comum encontrar partições com tamanhos que variam entre 256MB e 1GB. Esse espaço funciona como uma área de transferência de dados, ou pendrive, utilizado a partir do N800.
  • 1 Partição SWAP: permite usar o cartão como extensão da memória principal para programas em uso, permitindo que mais aplicativos sejam abertos ainda que a memória RAM seja totalmente usada, mas implicando em uma lentidão maior. Normalmente essa partição é criada com tamanhos entre 128MB e 256MB.
  • 1 Partição ext2 ou ext3: é criada de forma a permitir melhor integração com sistemas operacionais GNU/Linux, tendo características importantes como atribuição de restrições e privilégios de acesso, para atender a requisitos de segurança. Esse tipo de partição normalmente é usado para instalar ou clonar o Maemo ou arquivos e aplicativos sejam passados para ele, mantendo as configurações do sistema.

Ext2 e ext3: integridade do cartão vs integridade dos dados

A principal diferença entre os sistemas de arquivo ext2 e ext3 é o suporte a journaling existente apenas no segundo formato. O journaling é um recurso que diminui a possibilidade de se perder dados e alterações feitas no dispositivo de armazenamento. Qualquer alteração a ser realizada no disco é registrada anteriormente em um “arquivo de log” (o journal). Assim, caso ocorra algum tipo de problema durante as ações (como desligamento do sistema por queda de energia ou falha), existe um registro das ações que deveriam ser feitas, permitindo que o estado original seja recuperado ou que todas as alterações que deveriam ser feitas, pelo menos as registradas no log, sejam realizadas.

Apesar da vantagem em ter maior confiança na integridade dos dados, o uso de journaling implica no aumento de gravações feitas no dispositivo de armazenamento. Para cartões de memória isso é uma desvantagem porque esse tipo de mídia tem um ciclo estimado de vida de 100.000 gravações. Assim, diminuir a quantidade de gravações nos cartões é uma medida interessante para aumentar a vida útil do dispositivo e o tempo estimado para considerá-lo um disquete não confiável.

O ext2 pode ser a melhor escolha caso o cartão seja utilizado para guardar informações que não são críticas e que podem ser recuperadas por outras fontes. Por exemplo, um cartão que seja utilizado para guardar músicas ou documentos de baixa importância que têm cópias em computadores ou outros locais. Se ocorrer algum problema e algum arquivo for perdido, basta fazer uma nova cópia da fonte.

O ext3 deve ser mais útil quando o aparelho é usado para gerar ou guardar dados que fiquem guardados apenas nele ou que em outro momento poderão ser salvos em outros locais. Assim, pode ser mais interessante assegurar que os dados estejam íntegros até que se possa fazer a replicação para outros lugares ao invés de se preocupar com o tempo de vida do cartão. Afinal, um cartão de memória não é o lugar mais indicado para deixar dados importantes e é sempre bom fazer backup.

Conclusões

É comum manter uma única partição para o uso de cartões em celulares, câmeras e outros dispositivos. Muitas vezes essa mesma situação ocorre com o uso de pendrives e HDs, sem que o usuário faça alguma alteração na forma como os dados estão organizados no meio de armazenamento. No entanto, a partir do momento que se cria a necessidade de separar dados de aplicações, ou de fazer um tratamento diferenciado para o dispositivo de armazenamento, surge a necessidade de se lidar com partições.

Neste primeiro post foram abordados os aspectos teóricos do particionamento, como motivos para fazê-lo e critérios a serem aplicados no momento de realizá-lo. Em um próximo post será exibido o particionamento de um cartão no N800 e a forma de se fazer o mesmo processo em diversos sistemas operacionais, incluindo Windows, Ubuntu e Maemo 5 (no N900).

Posts Relacionados

  • Aknaton

    Boa tarde!
    Gostei do artigo muito bem escrito e de fácil o entendimento para leigos como eu! Fico no aguardo do próximo artigo!
    Parabéns vegetando!

    Ps.Já pensastes em escrever um livro com este tipo de linguagem?
    como os do Carlos Morimoto!
    Ps2.Principalmente na parte de linhas de comando para linux,phiton e etc…?

    • http://freebird.blog.br vegetando

      Olá Aknaton,

      Obrigado. Escrever livro!? Imagina, criar coragem para escrever no blog foi quase um parto e até hoje é difícil achar que é vale apena publicar coisas…

      Estamos com vários assuntos pendentes por aqui, mas uma hora desenrolaremos. Pelo fato de ser final de semestre a quantidade de pendências aumenta. Pelo menos com o começo do próximo semestre há a esperança de que carga de tarefas diminua e o blog fique os assuntos em dia (principalmente os voltados para o N800/N810).

      Aproveitando a falta de limite de caracteres do twitter, quais foram as vantagens e desvantagens da troca do N800 pelo N810? Os repositórios continuam com problema?

  • Pingback: Tweets that mention Particionamento: Teoria | Free Bird -- Topsy.com

  • Bruno Fischer

    Boa noite,

    Muito bom o texto… estou ansioso pra ver a parte prática! Será muito bom ter uma maior capacidade para instalação de aplicativos no meu N900! O que eu achava legal no symbiam era possibilidade de instalar os progrmas no cartão, já no Maemo isso parece que não é possível.

    Parabéns pelo texto!

    • http://freebird.blog.br vegetando

      Olá Bruno,

      No Maemo não há uma forma “oficial” de se fazer a instalação de um programa em outra pasta. A forma mais conhecida é fazer a clonagem do sistema para o cartão de memória ou flash (comum no maemo 4). Já vi uma alternativa que é um programa que permite executar programas copiados para qualquer diretório do aparelho. O problema dele, pelo que me lembro, é que os programas têm que ser configurados pelo desenvolvedor, o que deixa limitado o número de opções de programas que podem ser executados.

      Outra opção é criar um link do diretório original de instalação de programas para um novo, em um dispositivo com mais espaço. Estes dois posts de particionamento (teoria e prática) são os requisitos que consideramos para mostrar o processo.

      Obrigado pelo comentário.

      PS: O post do SU-8W também não foi esquecido. Só preciso esperar o fim de algumas atividades acadêmicas para conseguir escrevê-lo. Mas se tiver alguma dúvida, basta dizer.

      • Bruno Fischer

        Caro Vegetando, muito obrigado pela ajuda com o teclado,

        Consegui fazê-lo funcionar, estou utilizando bastante… ainda mais agora que mapeei o teclado do N900 para poder colocar acentos e o Ç. As alterações que fiz no teclado do N900 funcionam no teclado bluetooth, claro que não é a mesma coisa do padrão US, mas é bem melhor do que ter que inserir acentos recorrendo ao teclafo virtual.
        Vou aguardar seu post (claro após suas atividade academicas, sei muito bem como é pois tb passo por isso) e quem sabe nele tenha os passos pra configurar o SU-8W para o padrão americano!!!

        Grande abraço

      • http://freebird.blog.br Ricardo Panaggio

        Está aí moçada. @vegetando deu a dica: estamos no caminho para escrever a solução para o problema mais recorrente entre os pedidos para o Free Bird: como colocar o /home (os seus dados) e os programas no N800 / N810 / N900 no SD, *sem* clonar o sistema para o cartão.

        Aguardem! :D

  • Pingback: Particionamento: Prática | Free Bird