Persistência Ortogonal

Esse artigo, apesar de falar sobre uma tecnologia é também um relato pessoal do meu interesse sobre o futuro da informática e da computação. Fazia um tempo que não postava aqui e estava sem idéias. De repente me vi comentando um post e percebi que estava escrevendo tanto sobre o tema que eu poderia escrever um artigo. Eu estava tentando defender uma decisão de projeto do iOS que era a encarnação de uma idéia que vivia a quase uma década na minha mente esperando que alguém colocasse em prática: A persistencia ortogonal.

A Persistência da Memória - Salvador Dalí (1931)

MinuetOS: Existe vida inteligente lá fora.

Faz muito tempo, mesmo antes de me entrar na faculdade, que eu comecei a pesquisar sobre sistemas operacionais alternativos. Acho que foi mais ou menos na época que surgiu o MinuetOS — Um sistema operacional escrito em assembly, com interface gráfica e multitarefa e que cabia em parcos 1,44 MB de um disquete de 3,5 polegadas. Eu estava aprendendo assembly do Intel 8051 e mal-e-mal conseguia escrever texto puro num display lcd de matriz de pontos. Assembly é o mais baixo antes de escrever em hexadecimal no nível ISA, como era possível alguém fazer tanto com tão pouco se você precisa hoje de um DVD para instalar um sistema operacional moderno?

Only DEAD people know hex

Unununium: O sistema operacional do futuro. Ainda.

Nessa época comecei a pesquisar sobre sistemas que estavam sendo criados. Meu AMD 586 sofria para rodar windows 2000 ou mesmo o 98 e acabara de descobrir sistemas eficientes que cabiam num disquete. Acho que o Ubuntu nem existia (na verdade, nem Kurumin) e eu já tinha tentado usar Linux sem sucesso. Ou porque não tinha driver (eu usava um softmodem), porque não tinha algum programa, ou porque eu queria mexer em algo para aprender e acabava detonando tudo e não sabia arrumar.

Descobri que tirando o Linux, outros projetos “alternativos” eram apenas um hobby. Quem queria criar um sistema pegava o kernel do linux e mexia, criava uma distro, etc. Poucos malucos resolviam criar algo do zero e repensar o que um OS poderia fazer sem o legado de mais de meio século de teoria se SO. Os sites que costumava pesquisar eram o osnews e o osdev. Foi ai que encontrei o unununium, um sistema que não estava nem em beta, mas que tinha metas muito audaciosas e avançadas. Tão avançadas que eu nem entendia.

Definindo persistência.

Persistência é um conceito simples, mas profundo. É a continuidade da existência ao longo do tempo. A teoria da seleção natural e mais especificamente a teoria do gene egoísta falam da persistência (e da extinção) de características genéticas ao longo de milhões de anos. A persistência visual é a capacidade de reter a imagem na sua vista entre a troca de dois quadros do cinema ou da televisão ou do seu monitor, dando a ilusão de movimento. É a persistência de dados que faz com que as coisas que você salva no seu computador continuam lá quando você desliga ele hoje e religa amanhã.

A forma mais comum de ligar com isso são os arquivos. Desde que os computadores passaram a armazenar dados de forma não volátil, ou seja, desde que deixaram de ser apenas uma calculadora que recebia dados de um lado (possivelmente em cartões perfurados) e mostrava o resultado numa impressora matricial, surgiram os sistemas de arquivos. Note que nesse caso, a persistência de forma meio tosca ocorria em papel. Não vou explorar esse passado, pois não sou a melhor pessoa para falar sobre isso, vamos avançar no tempo até o Macintosh.

Persistencia ortogonal é também chamada de persistência transparente, porque ela é invisível para o usuário. É como se as coisas estivessem sempre lá.

Midnight Commander

Bem vindo ao sistema de arquivos

Alegoria do escritório

Nós sabemos que o modelo atual de computadores pessoais se baseia no conceito de Metáfora da Escrivaninha (Desktop Metaphor), mas eu diria mais. A base de toda interface gráfica atual é a Alegoria do Escritório.

Desde os primórdios, não se sabia direito que tipo de nerd cliente compraria um computador. No começo eram realmente os nerds, mas logo o foco mudou para os burocratas das empresas. Ora, porque uma empresa que faz fotocópia foi inventar um computador? Porque perceberam que o papel seria trocado por maquinas e a Xerox sofreria com isso. A partir dai, a interface gráfica passou a adotar uma linguagem familiar para os trabalhadores de escritório: pastas, arquivos, documentos, desktop, copiar, colar, recortar, formulários, planilhas, etc. O sistema de arquivo, antes acessado pela linha de comando, passou a ser representado graficamente por essas metáforas.

Uma nova esperança

Quem já ouviu alguém dizendo “mas eu salvei no word, agora não acho esse documento” sabe que as vezes essa não é a melhor forma de apresentar dados a um público mais vasto. Então. Passaram-se 30 anos e nós usamos esse linguajar de escritório mesmo depois do computador ter audaciosamente ido onde nenhum homem jamais esteve. Apesar disso já surgiram muitas alternativas sem que muitos tenha notado.

  • Hibernação

Quando seu computador entra em estado de hibernação, é feita uma imagem de tudo que existe na RAM e gravado em um único arquivo que depois é carregado novamente para memória.

  • Spotlight (Mac) / Windows Desktop Search

Indexa arquivos pelo conteudo, faz busca por palavra chave. O usuário não precisa lembrar o caminho do arquivo, apenas uma parte do nome, ou do conteúdo para localizá-lo.

  • TimeMachine (Mac)

Faz backups e organiza-os numa linha do tempo. Pode resgatar dados de uma pasta ou mesmo fazer um programa voltar a um estado anterior

  • GMail

Poderia incluir todos tipos de e-mail, mas como o GMail nasceu com o gene de busca do google, sua estrutura é diferente. Ao invés de pastas, são usadas tags para agrupar mensagens e estas podem ser localizadas por busca do título, do texto ou dessas tags.

  • Computação em nuvem

Citei o GMail por ser um dos primeiros serviços que ofereceu grande capacidade de armazenamento na internet. Porém existem outros aplicativos que pelo simples fato de delegar ao servidor o papel de gerenciar o armazenamento, tiram da vista do usuário as pastas, diretórios e arquivos.

São exemplos disso o Flickr, Youtube, Google Docs, etc…

Não considero serviços como Dropbox. Por um lado o controle de versão é automático, ou seja várias cópias são geradas sem vocês ver, por outro lado eles replicam a mesma ideia de sistema de arquivos com pastas, documentos, funções de copiar e mover.

  • iTunes

Organiza as bibliotecas de músicas por álbuns, artistas, gêneros, títulos, playlists, época, etc…

  • iPhoto

Organiza fotos com base em eventos (data), local (geotag), rostos (reconecimento facial), e álbuns.

  • Restauração do Windows

Armazena arquivos e configurações por data. Mesmo usuários leigos podem restaurar vários arquivos e dados do registro.

  • iPhone/Android

Como os ambientes móveis costumam ter pouca memória, a qualquer momento o sistema pode derrubar uma aplicação para liberar espaço. Dessa forma, todos aplicativos tem que salvar seus dados a todo momento para poderem continuar de onde pararam quando forem abertos novamente. Principalmente quando o iPhone não tinha multitarefa, isso era importante para dar a impressão que os programas estavam em segundo plano, uma vez que ao abrí-los ele estava exatamente no mesmo ponto onde estava quando fechou.

Sobre Diego Ruggeri

Hanc marginis exiguitas non caperet


Tags: , , , , , , , , ,
Postado em: One more thing

Comentários por Facebook:

COMENTÁRIOS

  1. Sir Will disse:

    Entendi +- a idéia, mas gostei das comparações feitas.

  2. Flávia disse:

    Achei seu texto interessante e esclarecedor,me ajudou numa prova de paradigmas de linguagem.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>