sexta-feira, 27 de novembro de 2009

Protocolo de IPC e tranferencia de dados

Gente, desenvolvendo o protocolo PTDS1, acabei desenvolvendo um procolo simples para IPC (Inter Process Comunication), chama-se PCPR (Protocolo de comunicação de processos remotos):

[2][msg][data_size][data][cks][4]

[2] byte 2 (1 byte);
[msg] mensagem (1 byte)
[data_size] tamanho do bloco de dados de 1 à 250 (1 byte)
[data] dados (maximo 250 bytes)
[cks] checksum do pacote, exeto o primeiro e os 2 ultimos caracteres (2, cks e 4)
[4] byte 4 indicando o fim do pacote (1 byte)

cada frame do pacote tem no máximo 255 caracteres.
Não serve para enviar grandes blocos de dados como arquivos, para isto estou desenvolvento o PTDS.
Ótimo para IPC entre processos remotos

segunda-feira, 16 de novembro de 2009

E Se a nossa informática não fosse em base 2

Você nunca pensou como seria a nossa informática se em vez da base 2, utiliza-se outras bases?
A base 2 na informatica dá-se devido ao fato de que transistores (dispositivos eletrônicos que, na informática, são utilizados para guardar bits) assumem dois estados, ligado ou desligado, ou seja, 1 e 0.

Mas e se tivessem outras bases. Veja esta lista que mostra quantos valores caberiam em alguns tipos de variáveis muito conhecidas dos programadores:


Legenda
B = Base binaria
T = Base trinaria
O = Base Octal
H = Base Hexadecimal


Byte
B 256
T 6.561
O 16.777.216
H 4.294.967.296

Word
B 65.536
T 43.046.721
O 281.474.976.710.656
H 18.446.744.073.709.551.616

Integer 32Bits
B 4.294.967.296
T 1.853.020.188.851.841
O 79.228.162.514.264.337.593.543.950.336
H 340.282.366.920.938.463.463.374.607.431.768.211.456

Integer 64Bits
B 64 18.446.744.073.709.551.616
T 64 3.433.683.820.292.512.484.657.849.089.281
O 6.277.101.735.386.680.763.835.789.423.207.666.416.102.355.444.464.034.512.896
H 115.792.089.237.316.195.423.570.985.008.687.907.853.269.984.665.640.564.039.457.584.007.913.129.639.936

sexta-feira, 13 de novembro de 2009

Protocolo para tranferencia de arquivos e IPC multiplos

Comecei agora a desenvolver um protocolo para fazer a comunicação entre dois processos remotos, permitindo que arquivos, mensagens de IPC e outros dados sejam transferidos simultaneamente.

O protocolo possui uma interface para a transferencia de arquivos bem trabalhada, permitido que, centenas de arquivos sejam tranferidos simultanemante (Claro que tudo depende da capacidade da rede).

Estou trabalhando com pacotes de no máximo 512 bytes. Não sei se é essa a causa, mas algo esta consumindo CPU. Vou fazer testes com buffers maiores.

Pretendo, ao término, disponibilizar o protocolo.