Por que os STREAMS foram marcados como obsoletos no POSIX.1-2008? [fechadas]

3

O argumento POSIX.1-2008 XRAT afirma que o X / Open STREAMS pode ser removido de futuras versões do padrão, e que aplicativos estritamente conformes não devem usá-los, mas isso não explica por quê.

Por que eles foram efetivamente removidos do padrão?

Eles caíram fora do escopo do POSIX? Existem falhas na implementação de drivers de dispositivos dessa maneira? Acho os STREAMS interessantes; Eu gosto da idéia de implementar drivers de dispositivos em camadas.

    
por osvein 15.07.2016 / 18:16

2 respostas

2

O Well STREAMS inclui uma API. Certamente eles estariam no escopo de padronização se o conceito fosse amplamente adotado, usado por aplicativos portáteis, etc.

A lenda da boca dos hackers do Linux é que o STREAMS estava morto em 1994, e só permaneceu em existência para compatibilidade com versões anteriores. (Da API).

link

Ele foi originalmente projetado para cobrir as redes também (cite: Wikipedia). Aparentemente, foi um obstáculo para o desempenho da rede nos dias dos servidores 100M / 1G ... hoje em dia temos 10G + ...

As pessoas dizem que as redes Linux ainda estão lentas (tentando empurrar as passagens do espaço do usuário como DPDK). Então, estou feliz por termos uma pilha de rede que não é forçada para o modelo STREAMS.

Eu não estou familiarizado com o STREAMS, mas a outra metade do design original era IO terminal. Pelo menos w.r.t. Linux, você poderia dizer que é meio antigo, temos uma interface que faz o que precisamos, e codificar recursos extras só vai causar quebras desnecessárias. Você já pode alternar o processamento intermediário com disciplinas de linha , embora isso pareça desviar dados para outro subsistema em vez de fornecer um filtro de troca . Por exemplo. Uma das disciplinas (PPP) cria uma interface de rede - que é completamente diferente de um nó de dispositivo. Mesmo quando o resultado é um nó de dispositivo, parece muito limpo anunciar como um novo dispositivo de um determinado tipo para o gerenciador de dispositivos hotplug do udev. Por exemplo. aplicar a disciplina do mouse serial criará um novo dispositivo de entrada, que será escolhido pelo X através do mecanismo exato de conectar um mouse USB.

    
por 15.07.2016 / 20:39
0

STREAMS é um bom api do ponto de vista de um programador do espaço do usuário, mas é um horror do lado do kernel. Não pode ser implementado de qualquer forma que seja de desempenho remoto.

Sistemas que implementaram o STREAMS se afastaram anos atrás por esse motivo. O POSIX apenas documenta o estado atual das coisas.

    
por 16.07.2016 / 10:10

Tags