A melhor IDE para programar em PHP: Netbeans.

O NetBeans é um Ambiente de Desenvolvimento Integrado para múltiplas linguagens de programação, disponível em mais de 20 idiomas.
O foco inicial dos desenvolvedores do aplicativo era a linguagem Java — mas o ambiente já suporta plenamente o PHP, C, C++ etc. — e vem oferecendo recursos cada vez mais atraentes para programadores de outras linguagens.
Captura de tela do netbeans
O NetBeans é livre e de código aberto e começou a se tornar popular entre os desenvolvedores PHP, a partir de 2008.
Neste texto, vou procurar mostrar algumas razões para optar pelo desenvolvimento com esta ferramenta e, em seguida, como instalar a versão mais adequada para você.
Embora o foco de instalação do NetBeans, neste post, seja o Linux (Ubuntu, mais precisamente) — o procedimento para baixar e instalar é o mesmo para qualquer outro ambiente — seja outro sabor do Linux, MacOS ou Windows.

Por que usar o NetBeans para desenvolver suas aplicações?

O NetBeans é uma IDE — Integrated Development Environment. Em português, um Ambiente Integrado de Desenvolvimento.
Entre as principais características deste aplicativo, citam-se:

  • Criação e gestão de projetos — A IDE para PHP nos permite criar projetos, que poderão crescer. O NetBeans tem recursos relativos à gestão de projetos de softwares, que vão desde a facilidade para criar documentação à testar os programas criados.
  • Recursos de edição do código fonte — O editor vem equipado com uma coletânea de recursos voltados para projetos em PHP, realce da sintaxe para PHP (syntax highlighting) etc.
  • Suporte a gestão de bancos de dados — e de serviços web.
  • Detecção de erros — mostra erros de parsing em seu código PHP, entre outros.

Requisições de sistema para instalar o NetBeans

O NetBeans está disponível nas mais diversas plataformas.
Ainda que seja um software robusto, ele não requer um hardware “irracional” para ser usado.
Já experimentei o NetBeans em um netbook, com processador Intel 800 MHz, com 2 Gb de memória (a configuração de hardware mínima) RAM — ele demora um pouco pra carregar, mas é perfeitamente usável.
De forma resumida, você precisa de uma tela com resolução mínima de 1024×768 e suporte à máquina virtual Java (JVM).
Veja, a seguir, o hardware recomendado na documentação oficial.

Plataforma Hardware mínimo Hardware recomendado
Ubuntu 12.10 ou superior, OS X 10.8 Intel e Windows 7 Processador: 800MHz.
Memória: 512 MB.
Disco: 650 MB de espaço livre em disco.
Processador: Intel Core i5 ou AMD Athlon X4.
Memória: 2 GB (32-bit), 4 GB (64-bit).
Disco: 1.5 GB de espaço em disco livre.

Se você quiser mais detalhes sobre as requisições de sistema, veja os links no final do artigo.
Há outras distribuições Linux que funcionam perfeitamente com o NetBeans, tal como o Fedora (RedHat), OpenSuse etc.
O Ubuntu 12.04 tem suporte até 2017 — e é uma das opções mais estáveis.

Como baixar e instalar o NetBeans no Linux

O NetBeans se encontra disponível nos repositórios oficiais das grandes distribuições.
Se você usa Ubuntu ou alguma distro baseada nele, pode clicar no botão abaixo para iniciar a instalação a partir do Software Center.

Clique para baixar e instalar o aplicativo

Se preferir usar o terminal, use o comando abaixo para instalar a versão mais estável do NetBeans no Ubuntu:

sudo apt-get install netbeans

Usuários do Fedora, podem usar o yum:

yum install netbeans

Usar os repositórios oficiais para instalar o NetBeans, é sempre a melhor maneira de executar a tarefa — por que você não precisa se preocupar com as dependências, por exemplo.
O gerenciamento de pacotes da sua distribuição Linux entrega o NetBeans instalado e pronto para uso, em poucos minutos para você (dependendo da sua conexão).
Se você prefere uma versão mais atual, recomendo buscar os arquivos de instalação no site oficial de downloads do NetBeans.
No site de downloads, é possível optar por versões em Desenvolvimento ou nightly builds — que não devem ser usadas em ambiente de produção, por conterem recursos experimentais, que poderão estar presentes em futuras versões.
Escolha, no canto superior da página de downloads, o seu idioma preferido e o sistema operacional para o qual você deseja baixar o NetBeans.
A seguir, opte pela versão customizada para desenvolver em PHP.

captura de tela do site de download do netbeans
Clique, para ver detalhes.

Ao clicar em Download, você será levado a uma segunda página e o programa de instalação deverá começar a baixar automaticamente, em alguns segundos.

Como instalar o NetBeans

Uma vez baixado o programa de instalação (netbeans-X.X.X-php-linux.sh), ele precisará ter suas permissões alteradas para poder ser executado:

chmod aug+x netbeans-8.0.1-php-linux.sh

Em seguida, já é possível executá-lo:

./netbeans-8.0.1-php-linux.sh

Alguns problemas de instalação são previstos na documentação oficial — principalmente se você ainda não tiver instalado o JDK, ou seja o suporte Java.
Não havendo problemas, a instalação prossegue normalmente.
captura de tela de instalação do netbeans

É possível ter mais de uma versão do NetBeans instalada?

captura de tela da splash screen do netbeans
Múltiplas instalações ou versão do NetBeans podem coexistir no mesmo ambiente.
Um exemplo de utilidade desta situação é querer usar a versão mais estável pra sua distro Linux, para desenvolver seu código com segurança — e ter também uma versão em desenvolvimento (nightly build), para poder dar uma olhada nas novidades que estão sendo testadas para as próximas versões do produto.
Se quiser fazer o download da versão em desenvolvimento do NetBeans, clique aqui.
Além disto, o NetBeans torna fácil importar as configurações de usuário da versão antiga pra nova — e você não precisa desinstalar nada, antes de experimentar o novo.

LEIA MAIS

REFERÊNCIAS

Suspender ou hibernar?

Na aparência, os dois procedimentos são idênticos, em qualquer sistema operacional. Mas os mecanismos são bem diferentes.
A suspensão interrompe a operação de todas as aplicações e grava o estado atual do sistema na memória RAM.

Em seguida, a máquina entra no modo de economia de energia (low power mode).
captura de tela gerenciamento de energia no xubuntu xfce

Neste modo, o sistema ainda precisa de algum suprimento de energia — apenas para manter os dados na memória RAM
Você pode perder os dados em que estava trabalhando, se deixar o notebook muito tempo desconectado da rede elétrica, dependendo apenas da carga da bateria (se esta se exaurir).
Por sorte, a maioria dos sistema atuais, desligam o notebook ou o colocam para hibernar, quando a carga da bateria chega a um nível crítico.
É possível tirar a máquina do estado de suspensão com vários “gatilhos” — um toque no teclado, por exemplo.
Embora você possa usar os botões ou teclas apropriados para isto, se você estiver acessando um sistema Linux de uma máquina remota, pode precisar executar o comando no terminal, como irei explicar mais à frente.

Como funciona a hibernação

icone do disco rígido - salvar
Atualmente, uma das principais funções da memória SWAP, no Linux, está ligada à hibernação.
Uma vez que o sistema já tem um gerenciamento de memória incrivelmente eficiente, O Linux quase nunca usa o SWAP.

Saiba como obter um melhor desempenho do seu sistema, reduzindo o uso do SWAP


O processo de hibernação move o conteúdo da memória RAM pro SWAP.
Por isto, ao criar um arquivo ou partição SWAP, no Linux, você deve usar um tamanho equivalente à quantidade total de memória RAM no seu sistema ou maior.
Depois de copiar o estado da memória pro SWAP, o processo de hibernação diz ao bootloader para iniciar diretamente no kernel apropriado (quando a máquina for ligada novamente), mais tarde… e desliga a máquina.
No estado de hibernação, o equipamento não precisa de energia elétrica e não consome a carga da bateria.
Ao ligar novamente a máquina, o kernel irá recarregar todo o conteúdo do SWAP, devolvendo o sistema ao ponto em que se encontrava quando foi hibernado.
O comando para hibernar uma máquina, no Linux é:

pm-hibernate

ou


systemctl suspend

Cuidado! O systemctl não pede confirmação.
Se quiser, é possível usar uma variante, que dispara a suspensão híbrida:


pm-suspend-hybrid

ou


systemctl hybrid-sleep

A suspensão-híbrida, no Linux, é um processo no qual o sistema faz tudo o que precisa para hibernar mas, em vez disto, executa a suspensão.
Com este método, o seu computador pode “acordar” mais rápido do que se tivesse sido hibernado normalmente, desde que a bateria não tenha se exaurido.
E, mesmo que a carga da bateria acabe, você não corre o risco de perda de dados.

Devo configurar o SWAP no SSD?

Esta discussão é boa e os argumentos mudam em função dos avanços tecnológicos — mas, para manter a fidelidade ao tópico vou respondê-la parcialmente.
Se a pergunta for “devo configurar o SWAP no SSD para erguer o sistema mais rápido após a hibernação?”
Leve em consideração a menor duração das unidades sólidas, comparadas às unidades magnéticas (discos rígidos).
Embora o tempo de vida útil dos drives SSD tenda a aumentar nos próximos anos, ainda não é bom usá-las em atividades que façam gravações intensas.
Se você tem mais memória RAM do que precisa e só vai usar o SWAP para hibernação do sistema, a idéia de ter o arquivo ou partição de troca no SSD é boa — uma vez que não representa grande desgaste para a unidade.
O assunto é melhor abordado no post Perguntas e respostas sobre SWAP.

LEIA MAIS

UC Browser: um navegador rápido para Android

Vou mostrar, neste post, por que você deveria se dar a chance de conhecer o UC Browser para Android.
A velocidade da navegação é algo que salta aos seus olhos, já no primeiro uso.
squirrel mascot
Se você já experimentou outros navegadores, como o Chromium ou o Firefox, vai se surpreender agradavelmente também com os outros recursos do UC Browser — que se pronuncia you see browser e cujo mascote é um esquilo.

Os recursos do UC Browser

uc browser logoTal como vários outros navegadores, o UC Browser tem o recurso de pré carregamento de páginas a partir do servidor.
Que eu me lembre, pré carregar as páginas que o usuário requisitou, comprimir e só depois enviar é algo inventado pelo navegador Opera. O UC Browser, elevou isto tudo a um outro nível.
Conheça outros de seus recursos:

  • Modo acelerado — Ao requisitar uma página, no UC Browser, este envia uma ordem aos servidores para comprimir os dados e, em seguida, enviá-los a você. Isto trás 2 ganhos fundamentais pro usuário: páginas comprimidas carregam mais rápido e consomem menos largura de banda.
  • Complementos — Todo recurso “a mais”, que se colocar dentro de um aplicativo, vai trazer consigo um maior consumo de processamento e memória.
    Permitir que os usuários adicionem, através de complementos, apenas os recursos desejados, ajuda a melhorar a experiência de navegação.
  • Gerenciador de downloads — o navegador tem uma seção, a partir da qual é possível acompanhar os seus downloads e, se necessário, interromper uma transferência que não mais te interesse.
  • Compartilhamento — quando as opções de compartilhamento padrão não satisfazem, use o sistema de compartilhamento do UC Browser.

Velocidade nas redes sociais

Captura de tela facebook no smartphone - uc browserO UC Browser é muito eficiente para entregar as páginas das redes sociais.
Muitas pessoas (eu!) não gostam de usar os aplicativos do Facebook ou do Twitter para acessar as redes — acho-os muito pesados e lentos.
A experiência de uso das redes sociais através deste navegador foi surpreendente.
Só isto já vai ser suficiente para você ter vontade de recomendar o aplicativo aos seus amigos.
Se você ainda quiser, pode aumentar ainda mais a velocidade de carregamento das páginas do Facebook.
Para isto, ative o Acelerador do Facebook nas configurações do aplicativo.
Com o acelerador ligado, o UC Browser, deixa de carregar, parte dos componentes visuais do “face”, para mostrar logo a informação que é relevante. Pode ser uma boa opção quando estiver fora de casa e sem wi-fi.

Complementos

O aplicativo vem com alguns complementos padrão — dos quais, alguns já estarão ativos.
Você pode também pode buscar e acrescentar outros complementos ao UC Browser, para ter mais conforto no uso.
Entre os complementos já existentes:

  • Compartilhamento — permite compartilhar rapidamente uma página nas redes sociais ou enviar o seu endereço para algum amigo, via email, bluetooth, wi-fi direct etc.
  • Buscar na página — permite realizar uma busca, por um texto, na página atual.
  • Scanner de códigos QR — pra quem tem o hábito de usar códigos QR, o plugin traz uma forma eficiente de uso.
  • A área de colagem permite guardar vários textos copiados para colar onde você quiser depois.
  • Captura de tela — embora o Android já tenha o recurso de captura de tela, este permite recortar a parte da tela que você deseja capturar.
  • Modo rápido — com este complemento, é possível alterar o modo de visualização da página.
  • Bloqueio de anúncios — impede a exibição da maioria dos tipos de anúncios na web.
    Por um lado, isto evita certos abusos — mas, por outro, impede que os sites que trazem informações úteis faturem um dinheiro que os ajuda a se manter na Internet. Pense nisto.
  • UC Widget — posiciona no canto da sua tela principal um widget para acessar algumas das opções do UC Browser mais rápido.
  • eyeNight mode — Uma das minhas funções preferidas. Ela ajuda a controlar o brilho e o contraste da tela do navegador para tornar o seu uso mais confortável à noite.

A maioria dos recursos do navegador são intuitivos fáceis de achar, mesmo para quem ainda não tenha muita experiência com a web móvel.

Download

O aplicativo UC Browser, pode ser baixado no Google Play ou no site oficial.
Vá para a página de download, usando o seu smartphone, e clique no logo do navegador, abaixo:
uc browser logo
ou ir para a página oficial.
Depois de baixar e instalar o UC Browser, Sinta-se à vontade para deixar a sua opinião para outros usuários sobre o navegador, para compartilhar esta página e, se tiver alguma dica, o espaço é todo seu 😉

Sistemas de arquivos otimizados para mídias flash, cartões de memória, SSD, NAND

Mídias em estado sólido têm problemas diferentes das tradicionais mídias magnéticas rígidas ou flexíveis, embora possuam interfaces similares.
Cartões de memória flash, pendrives, unidades SSD etc. requerem tratamento especial e possuem processos de detecção e correção de erros de gravação/leitura diferentes —, além de técnicas para prolongamento do tempo de vida útil (wear leveling).
pen-drive-sandisk
Tipicamente, dispositivos como as unidades SSD realizam estas operações internamente, o que permite que um sistema de arquivos comum possa ser usado nelas.

Os meios de armazenamento flash sofrem de duas grandes limitações em relação às mídias magnéticas tradicionais.
— Os bits só podem ser apagados, removendo um grande bloco da memória.
— Cada bit suporta passar por um número limitado de processos de remoção — após o que, já não pode mais armazenar dados de maneira confiável.
Em função destas limitações, são requeridas outras estruturas de dados e algoritmos para fazer uso efetivo destes meios de armazenagem.

Contudo, em alguns casos específicos, sistemas de arquivos otimizados para memória flash podem ser necessários ou recomendados.
Você provavelmente nunca ouvir falar da maioria dos sistemas, que seguem. Muitos deles foram projetados por empresas para serem usados internamente, em seus próprios dispositivos. Alguns deles sequer são acessíveis ao público.
Se você tem algum projeto em mente e pensa em qual sistema de arquivos seria o mais adequado, espero que este artigo te ajude a encontrar algumas respostas.

CASL

É um sistema de arquivos desenvolvido pela Nimble Storage, que usa os dispositivos SSD para fazer o tradicional cache dos discos rígidos usados nos produtos da empresa.

ETFS

Corresponde a Embedded Transactional File System projetado pela QNX Software Systems para ser usado em dispositivos NAND.

exFAT

Criado pela Microsoft, otimizado para drives flash e amplamente difundido. Como já era de se supor, é proprietário.
A sugestão de uso é nos dispositivos flash, onde o NTFS não for a solução mais razoável (como a sobrecarga na estrutura de dados), ou onde o limite do tamanho de arquivo seja incompatível com os padrões do FAT32.
Tem sido adotado pela SD Card Association como padrão para cartões SDXC maiores que 32 GiB.

ExtremeFFS

Sistema de arquivos interno para dispositos de estado sólido (SSD) — desenvolvido pela SanDisk, que permite uma melhora na performance de escrita aleatória na memória flash, se comparado aos sistemas tradicionais, como o TrueFFS (veja abaixo).
A SanDisk alega que a tecnologia incrementa a velocidade de acesso randômico em drives de estado sólido em 100 vezes.
A empresa planeja usar o ExtremeFFS nas próximas implementações de memória flash NAND, de células multinível.

F2FS

O Flash-Friendly File System é um sistema de arquivos de código aberto, introduzido pela Samsung em 2012.
A empresa desenvolveu o F2FS do zero, levando em conta as características dos dispositivos de armazenamento baseados em memória flash NAND — tais como unidades SSD, eMMC e cartões SD, que são largamente usados em sistemas computacionais, desde dispositivos móveis (smartphones) a grandes servidores.
A Samsung escolheu a abordagem estruturada por logs, para desenvolver o projeto do F2FS.
O projeto foi adaptado para atender a novas formas de armazenagem de dados e ajuda a remediar alguns problemas conhecidos entre outros sistemas de arquivos log-structured.
Leia mais sobre o F2FS, aqui.
O sistema resolve o efeito bola de neve causado por um problema chamado wandering tree, que causa sobrecarga durante o processo de limpeza.

Como usar o sistema de arquivos F2FS no Linux

Se quiser experimentar o sistema de arquivos em algum dispositivo de memória flash, que você tenha disponível, use o comando mkfs:

mkfs.f2fs /dev/sdb1
mount -t f2fs /dev/sdb1 /mnt/f2fs 

Não se esqueça de substituir /dev/sdb1 pelo nome endereço real do seu dispositivo.
Usuários do Ubuntu, precisam instalar o pacote de aplicativos F2FS-tools, para poder realizar o procedimento acima:

sudo apt-get install f2fs-tools

Enfim, a Samsung adicionou uma série de parâmetros para configurar o layout do dispositivo, selecionar alocações e melhorar os algoritmos de limpeza.

Como usar o sistema de arquivos F2FS no Android

A maneira mais fácil é baixar um aplicativo no Google Play que faça a conversão do atual sistema de arquivos para F2FS.

FFS2

Este sistema provavelmente substitui o FFS1, também da Microsoft, e é um dos primeiros desenvolvido pela empresa, para uso em mídias flash.

JFFS

Sistema de arquivos estruturado por log, para Linux, desenvolvido para uso em mídias flash NOR.
Substituído pelo JFFS2 (veja o próximo item).

JFFS2

Sucessor do JFFS, que inclui suporte a mídias flash NOR e NAND.
O Journaling Flash File System version 2 é um sistema de arquivos estruturado por log, projetado para uso em dispositivos flash em sistemas embutidos.
Se diferencia de outros sistemas de arquivos antigos por não usar uma camada de tradução nos dispositivos flash, para simular um disco rígido.
Ele põe o sistema de arquivos direto nos chips dos dispositivos flash.
O sistema foi desenvolvido pela Red Hat, baseado no trabalho anterioraa empresa sueca, Axis Communications, conhecida pelos seus produtos na área de vigilância.
Se você tem interesse em estudar e usar este sistema de arquivos no Linux, pode encontrar mais informações neste site.
No Ubuntu, você precisará instalar alguns pacotes para poder criar um sistema de arquivos JFFS2 em dispositivos flash. Use o comando apt-cache, para saber quais:

apt-cache search jffs2
logfs-tools - Tools to manage logfs filesystems
logfs-tools-dbg - Tools to manage logfs filesystems (debug)
mtd-utils - Memory Technology Device Utilities

Por sorte, as ferramentas logfs-tools são as mesmas a ser usadas pro próximo sistema de arquivos, descrito abaixo.

LogFS

O LogFS é um sistema de arquivos relativamente novo, também desenvolvido para Linux e que tem a intenção de, futuramente, substituir o JFFS2.
Uma de suas vantagens, em relação ao seu antecessor, é a melhor escalabilidade.
O LogFS é também um sistema de arquivos estruturado por logs (log-structured), concebido para mídias flash de grande capacidade.
O sistema foi desenvolvido inicialmente por Jörn Engel, em 2008, inspirado em outro sistema de arquivos do NetBSD e é suportado desde a versão 2.6.34 do kernel Linux (2010).

O que faz o LogFS se destacar: snapshots

Um dos destaques do LogFS é a possibilidade de tirar snapshots do sistema de arquivos — atualmente, nenhum sistema de arquivos tradicional para Linux faz isto.
Algumas pessoas chamam os snapshots de versões.
O recurso equivale a “tirar fotos” ou criar imagens de todo o sistema de arquivos em dados momentos.
Imagine a possibilidade de ter removido acidentalmente todo o seu diretório /home. Com este recurso, é possível voltar no tempo — analisar os diversos snapshots tirados e escolher para qual deles voltar.
É como se o acidente não tivesse acontecido.
Outra forma de ver o processo é como se o sistema de arquivos oferecesse vários backups de si mesmo, em vários momentos. Ele não consome muito espaço para fazer isto.
Se você usa o Ubuntu e deseja experimentar o LogFS, instale os pacotes relacionados a ele:

sudo apt-get update
sudo apt-get install logfs-tools

O tamanho do pacote não é monstruoso — pelo contrário, ocupou pouco mais de 64 Kb no meu sistema.
Uma vez instalado, para formatar um dispositivo com este sistema de arquivos, basta usar o comando mkfs.

NVFS

O nome Non-Volatile File System corresponde a, em português, “sistema de arquivos não volátil” e foi introduzido pela fabricante de dispositivos móveis Palm.
O último dispositivo a fazer uso deste sistema, feito pela Palm, foi o Treo 650.

OneFS

Este sistema foi desenvolvido pela Isolon para atender seus projetos de sistemas de armazenamento em clusters.
A Isolon foi adquirida pela EMC Corp, em 2010.
O sistema OneFS suporta alocação seletiva de metadados diretamente no dispositivo flash SSD.

RFS

O Robust File System é desenvolvido pela Samsung e usado em suas TV’s, no espaço reservado às aplicações dos usuários.
O RFS é baseado no sistema de arquivos da Microsoft FAT 16/32, com uma espécie de journaling incluído.
O seu código é proprietário e ele só é usado em equipamentos da Samsung, tais como smartTVs, reprodutores BluRay e alguns celulares.
O site SamyGo tem um tutorial (em inglês) que descreve como usar este sistema para:

  • alterar o firmware da sua TV
  • e criar novos kernels para a sua TV ou outros dispositivos Samsung.

Segger Microcontroller Systems emFile

Este sistema de arquivos é usado em aplicações “profundamente” embutidas, com suporte a mídias flash NAND e NOR.
Tem recursos de wear leveling, escrita e leitura rápida e consumo muito baixo de memória RAM.

SafeFLASH

Sistema de arquivos HCC-embedded, seguro contra falhas, que provê suporte a mídias flash NAND e NOR, com integração a wear-leveling e manipulação de blocos defeituosos (bad blocks).

TFAT

Uma versão transacional do sistema de arquivos FAT.

TrueFFS

Apesar do nome, o TrueFFS não é exatamente um sistema de arquivos — ele não provê uma interface de sistema de arquivos, mas uma interface de disco.
O termo mais correto é camada de tradução flash — flash translation layer.
O sistema foi projetado para rodar em drives de estado sólido raw —. Atualmente, a maioria dos SSDs vendidos ao consumidor não são deste tipo.
O projeto implementa correção de erros, remapeamento de blocos defeituosos e wear leveling.
A função de uma camada de tradução flash é adaptar um sistema de arquivos pleno às limitações e restrições impostas pelos dispositivos de memória flash.

UBIFS

Este sistema de arquivos pretende suceder o JFFS2 e concorre com o LogFS, otimizado para uso de memória DRAM não volátil.
O nome quer dizer Unsorted Block Image File System.
Seu desenvolvimento iniciou-se em 2008 e ele já integra o kernel do Linux, desde a versao 2.6.27.
O sistema está sob desenvolvimento dos engenheiros da Nokia, com a ajuda da Universidade de Szeged, na Hungria.

UFFS

O Ultra low cost flash — ou sistema de arquivos de ultra baixo custo para sistemas embutidos foi concebido, de acordo com a página oficial, para as seguintes situações:

  • quando os recursos de hardware são muito limitados (capacidade de memória RAM entre 64 Kb e 512 Kb) mas, ainda assim, você precisa de um sistema de arquivos confiável para dispositivos de armazenamento flash
  • quando o JFFS/JFFS2 são lentos e consomem muita memoria
  • quando o YAFFS/YAFFS2 se encaixa perfeitamente, mas consome muita memória
  • quando você precisa que o projeto seja livre e de código aberto

O UFFS2, segundo os desenvolvedores, terá as seguintes melhorias:

  1. menor fome de memória, com a redução de 25-50% da necessidade atual;
  2. possibilidade de abrigar um ou mais arquivos/diretórios em um único bloco, o que melhora significativamente o uso do espaço, para arquivos pequenos;
  3. suporte a links simbólicos e outros arquivos especiais;
  4. wear-leveling estático e
  5. suporte a mais chips flash NAND.

Unison RTOS

Este sistema de arquivos é voltado a sistemas embutidos com mídias flash de baixo custo NAND ou NOR.
O Unison RTOS oferece um sistema de arquivos para Linux 32 bits compatível com o POSIX.
O sistema de arquivos é muito leve e pode ocupar um espaço muito pequeno (1 Kb, em algumas arquiteturas).
É de código aberto e segue padrões abertos — e isto sempre conta pontos a favor.

WAFL

O WAFL – Write Anywhere File Layout – é um sistema de arquivos interno utilizado pela NetApp em seus dispositivos DataONTAP OS, originalmente otimizado para uso de memória DRAM não volátil.

XCFiles

Trata-se de uma implementação exFAT, pela DataLight para sistemas operacionais embarcados Wind River VxWorks.

YAFFS

Um sistema de arquivos estruturado por logs, projetado para mídias flash NAND — mas também adequado a flash NOR.
O nome dele é um acrônimo para mais um sistema de arquivos flash — ou Yet Another Flash File System.
O projeto foi inicialmente desenvolvido por Charles Manning
O sistema de arquivos é disponibilizado pela licença GPLv2 e pode ser embarcado em vários sistemas operacionais, como:

  • Android
  • Firefox OS
  • Linux
  • Windows CE, pSOS, eCos, ThreadX etc.

O YAFFS é robusto e mantém a integridade dos dados como prioridade.
O objetivo secundário do YAFFS é a alta performance.
Em situações onde não há um sistema operacional, é possível usar uma variante: YAFFS/Direct — que tem o mesmo sistema de arquivos central, contudo com um interfaceamento simplificado.

ZFS

Um sistema de arquivos combinado e gerenciador de volumes lógico, projetado pela Sun Microsystems.
Os recursos do ZFS inclui proteção contra corrupção de dados, suporte a altas capacidades de armazenamento, compressão de dados eficiente, integração dos conceitos de sistema de arquivos e gestão de volumes, snapshots e clones de cópia-na-escrita.
A lista de recursos segue com verificação de integridade contínua e reparo automático, RAID-Z e NFSv4 ACLs nativos.
O projetos começou como software de código aberto e seguiu com a licença CDDL — Common Development and Distribution License.
Leia mais sobre esta tecnologia em Introdução ao sistema de arquivos ZFS.
O nome ZFS é marca registrada da Oracle Corporation.

OTFS

Segundo a InformationWeek, o OmniTraak File System é um sistema de arquivos extensível do “estado da arte”.
O OTFS é um componente de software que organiza o conteúdo do disco em arquivos, provê controle de acesso e segurança e oferece métodos de nomenclatura de arquivos.

Referências

Além dos vários links espalhados pelo texto, você pode também conferir as seguintes páginas na Wikipedia:
http://en.wikipedia.org/wiki/List_of_file_systems#File_systems_optimized_for_flash_memory.2C_solid_state_media
http://en.wikipedia.org/wiki/Flash_file_system

Android: por que o smartphone parece estar mais lento.

Vou listar os 3 principais fatores que concorrem para tornar o seu smartphone cada vez mais lento e como resolvê-los.
Muitas pessoas têm esta percepção de que seu telefone, tablet ou, mesmo, seu computador — seja Android, iOS, Linux ou Windows —, vai ficando mais lento com o passar do tempo.
Neste artigo vou repassar algumas das possíveis causas e razões pelas quais um dispositivo pode começar a ter um rendimento piorado na velocidade de execução das suas tarefas mais corriqueiras.
Além de mostrar o que causa o problema, vou procurar ajudá-lo a resolver, com algumas dicas.

As atualizações constantes contribuem para tornar o aparelho mais lento?

História do disco rígido - HDD
Clique, para ver detalhes.
Creio que fabricante nenhum afirmaria isto pra você — mas algumas atualizações de softwares podem, sim, piorar o desempenho.
Houve um tempo em que programadores disputavam quem desenvolveria a melhor solução para um determinado problema. Ganhava quem, além de resolver o tal problema, o fizesse com a menor quantidade de código possível. Fazer programas pequenos, nos tempos em que o armazenamento custava caro era fundamental.
Mas os tempos mudam…
Espaço em disco ou em memória RAM é muito barato hoje, em comparação com o que era há algumas décadas atrás. Os desenvolvedores priorizam outras demandas de hardware, hoje.
O seu celular Android não tem mais os mesmos softwares instalados que tinha há um ano atrás — levando em conta que sofreram atualizações neste tempo.
O fato é que eles já não são mais otimizados pro hardware específico que você possui e isto pode ter causado uma diminuição na eficiência
A sua operadora e o fabricante do seu aparelho provavelmente adicionaram aplicativos (bloatware) nas atualizações que estão rodando em background, ou seja, nos bastidores e consumindo os recursos do sistema.
Uma vez que os desenvolvedores não se preocupam mais com o tamanho dos aplicativos, estes parecem estar aumentando exponencialmente.
Os aplicativos engordam e ganham peso a cada atualização.
Considere, ainda, que as operadoras e os fabricantes fornecem aos desenvolveres aparelhos sempre novos e com mais recursos de armazenamento e processamento — alguns dos quais sequer foram lançados no mercado.
Duas consequências decorrem destes fatos:

  • Os desenvolvedores passam a se concentrar nos novos dispositivos e nos seus recursos. O foco dos programadores é o novo hardware, sempre.
  • Com a mudança do foco, ninguém mais se preocupa em corrigir velhos bugs ou otimizar seus programas para funcionar bem nas plataformas “antigas”.

Pense, quem vai ir atrás de melhorar o Instagram para usuários do iPhone 4, quando a versão 6 do aparelho já está no mercado? — a probabilidade é que já realocaram boa parte da equipe para trabalhar no projeto do iPhone 8…
Ou, quem vai pagar um programador pra otimizar aplicativos pro Samsung Galaxy S3, quando o fabricante e as operadoras já querem que você compre o S4 e o S5?
Chato isto.
Mas esta é uma tendência em todas as plataformas — sites se tornam mais pesados, videogames se tornam mais vorazes, os aplicativos exigem cada vez mais recursos etc.

Como resolver esta situação

Não há muito o que se fazer por aqui.
A saída mais comum dos usuários é optar pelo rooting do aparelho, para remover definitivamente os aplicativos das operadoras.
Outros usuários, optam pelo uso de uma ROM customizada, como o CyanogenMod, em substituição ao Android tradicional — ele vem sem excesso de softwares e é conhecidamente mais eficiente em vários aparelhos.
Além disto, você pode substituir os seus aplicativos atuais por outros similares, mais leves.

Processos pesados

No tempo em você vem usando o seu aparelho, vem também instalando novos aplicativos que você gosta de usar.
Alguns destes aplicativos, mesmo “fechados”, continuam a rodar nos bastidores e, portanto, consumindo tempo de processamento da sua CPU além de espaço na memória.
Se você tem instalados muitos aplicativos que rodam em background, esta situação contribui em muito para tornar o seu dispositivo mais lento.
Android samsung galaxy s5Outros tipos de aplicativos, com os quais você deve se preocupar:

  • Papéis de parede animados também concorrem no uso dos recursos do seu aparelho.
  • Os widgets, espalhados nas telas do seu smartphone ou tablet consomem recursos de processamento e memória.

Reduza a quantidade de widgets na sua tela inicial e você vai experimentar uma melhora.

Como desativar aplicativos que rodam em background

Uma grande quantidade de aplicativos rodando em background consome recursos de seu sistema sem você perceber.
Para verificar quais aplicativos estão rodando neste momento, siga os passos:

  • Tecle o botão Home e, em seguida, selecione o menu Configurações;
  • Abra o Gerenciador de aplicações;
  • Selecione a tela Executando;
  • Agora, selecione os aplicativos que você não está usando e pare sua execução;

Note como a quantidade de memória usada, vai sendo liberada, no rodapé da tela.
Continue e pare todos os aplicativos que você não precisa receber notificações o tempo todo.

O sistema de arquivos está quase cheio

Discos de estado sólido (solid-state drives), ou SSDs, tendem a ficar cada vez mais lentos, à medida em que vão ficando mais cheios.
O cartão de memória do seu celular usa a mesma tecnologia dos SSDs (e eles nem são “discos”).
Tenha o cuidado para manter, pelo menos, 25% da memória interna e externa do seu aparelho sempre disponível.
Arquivos de cache podem contribuir para aumentar descontroladamente a ocupação da memória do aparelho.

Como resolver

Abra a tela de armazenamento:

  • Toque no ícone Home e selecione Configurações;
  • Em seguida, selecione Armazenamento;
  • Ao final da tela de cada aplicativo, observe a quantidade de cache que ele está usando.
  • Exclua o cache.

É seguro excluir o cache de todos os aplicativos —. Mas não é o suficiente.
O Cache é um recurso que serve para melhorar a eficiência do dispositivo como um todo — e os aplicativos irão recompor seu cache sempre.
O ideal é remover os aplicativos que você não usa.
Fazer um reset para os padrões de fábrica (Factory RESET) também pode ajudar.
Este processo irá apagar todos os aplicativos que você baixou e as informações pessoais (como senhas) que você inseriu neles.
Não irá apagar suas fotos, suas músicas e seus vídeos.
Após o reset, o seu aparelho volta ao seu estado de novo (internamente, pelo menos). E, aí, você pode reinstalar os aplicativos que realmente quer usar novamente.
Mas uma dica para ajudar a economizar espaço, é não instalar os aplicativos das redes sociaisGoogle plus, Twitter, Facebook etc. Experimente a versão web deles, antes, para ver se você gosta. Neste caso, é possível economizar quase 500 Mb de memória do aparelho.
Tutoriais Android

Conclusão

Acho que ficou mais do que claro que o processo de tornar aparelhos mais lentos é do interesse das operadoras e dos fabricantes, que vendem aparelhos pra você e que o problema é independente de plataforma — usuários Windows, Apple e, até mesmo, o pessoal que usa Linux reclama disto.
Mas, se você seguir estas recomendações, vai conseguir manter um conjunto de hardware/software eficiente por muito mais tempo.
Enquanto fazemos nossa parte, cobramos dos fabricantes que se produza menos lixo tecnológico e se incentive menos o consumismo irracional.

LEIA MAIS

Referência: http://www.howtogeek.com/183004/why-android-phones-slow-down-over-time-and-how-to-speed-them-up/