Particionamento: Teoria

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).



Pingback: Tweets that mention Particionamento: Teoria | Free Bird -- Topsy.com
Pingback: Particionamento: Prática | Free Bird