Eu entendi. O que estou querendo responder é sua frase inicial 'O que difere o Linux do Windows ?'. E não discordei, o que digo é que a estória sobre como acessar memória depende da solução que cada sistema operacional resolve fazer, e Linux e Windows tem origens diferentes.
Ah tá... assim sim

Mas veja que se não fosse o DOS, a microsoft teria que fazer malabarismos que provavelmente impossibilitariam uma transição fácil de 16 pra 32 bits.... Mesmo com o modo virtual pra fazer 99% do serviço o Windows 95 era incompatível com um monte de coisas do MS-DOS que foram resolvidas no 98, quando ninguém mais precisava haha
Okey, mas 'semana passada' é bem diferente do que acontecia nos primeiros PCs, e estava falando das várias limitações do DOS daquela época. Ou não se lembra dos malamarismos para colocar um BIG programa no ar no DOS ? Eu portei várias vezes programas para DOS, e usava banco de dados relacional ainda em 90, 91, 92, e o sistema que rodava liso no SCO/Unix, no DOS tinha 1001 malabarismos dependendo da memória final, do que utilizava além do DOS, da versão, etc… era botar um pagãozinho de neném num gorila.
Na verdade não foi semana passada, foi essa semana haha, segunda-feira..
De qualquer forma, só citei o PSP pra você ver como até hoje existem sistemas que não tem MMU, como praticamente todos os microcontroladores de 8 ou 16bits atuais e muitos processadores ARM 32 bits
Veja por exemplo, se você permitisse que qualquer usuário dum Linux hipotético acessasse diretamente o dispositivo /dev/hda (o primeiro hd inteiro), ele poderia tirar vantagem disso?
Teóricamente não, pq ia ser um monte de dados incompreensíveis e inuteis pra todos os programas
Mas aí alguém lançou um programa só pra servir de prova-de-conceito (poc), ao executar o programa com um usuário que tivesse permissão pra ler/escrever /dev/hda, o programa então localizava todos os executáveis que o usuário era dono e transformava-os em suid pro usuário root, efetivamente o usuário podia rodar qualquer coisa como root, mesmo que indiretamente
A diferença entre escrever em /dev/hda ou programar a porta de IO é muito pouca exceto o fato que numa precisa-se saber interfacear com um hd ide genérico, nada muito complexo....
Bom, mas se vc utilizasse um unix (e tinha que ser 32 bits, isso sim) o usuário nem mesmo sabia se estava na memória, ou se estava em swap (tirando a demora).
É a isso que vou: kernel, swap, nomes longos em arquivos, filesystems, são conceitos que apareceram no unix, e hoje vc usa em qualquer sistema operacional de médio porte. Enquanto as vantagens dos vários Windows foram interfaces gráficas inteligentes, foi a arquitetura do sistema operacional unix que foi utilizada nos modernos windows.
Cara, a gente tá fugindo completamente do assunto inicial... O ms-dos era um sistema operacional 16-bits, enxergava apenas o primeiro MB de memória por não rodar em modo protegido, a microsoft ao invés de criar um ms-dos criou um ms-Windows 32bits, eles foram espertos, querer lançar um DOS 32 bits só pra enxergar os 4gb endereçáveis ia ser nadar contra a correnteza a troco de muito pouco ou nada...
Fora isso, o jogo 'DooM' por exemplo suportava memória virtual caso o DPMI (dos protected mode interface) que fosse instalado previamente o suportasse (caso do DooM rodando em Windows 9x)
E nenhum sistema operacional que eu tenha visto até hoje me informava se arquivo X tava na memória física ou virtual...

O problema do hardware era ser reconhecido no sistema operacional. E, sim, o filesystem usado no DOS e depois no Windows é um lixo se comparado a qualquer minix ou filesystem comum em unix. Mesmo assim vc se esquece que no Windows NT apareceu um novo filesystem, este sim reescrito e muito melhor.
Eu quis mostrar outro exemplo de péssima implementação de sistema operacional.
O que quero dizer, basicamente, é que o que o Windows tem de melhor não é a estrutura do sistema operacional. Tem outros muitos logros, como a camada de DLLs Win32 depois transformadas em COM e parte readaptada para SOAP (e para fazer o ".NET" sobre ele).
Olha, o NTFS do Windows NT não era grande coisa melhor que o FAT32 não, os clusters eram do mesmo tamanho, ambos sofriam de fragmentação (embora supostamente o NTFS fragmentasse menos, nada que não pudesse ser resolvido com um algoritmo mais eficiente de fat32 que a MS nunca quis desenvolver) e suportavam arquivos com grandes nomes, então sinceramente eu ainda tô tentando descobrir daonde você tira tanta veemência pra afirmar que NTFS é lindo e FAT32 é infame

Concordo que os FSs do Unix eram melhores
Ah! E se você tá comparando FAT32 com NTFS v5, de Windows XP, que veio muuuuuuuuuuito depois, aí sim, tem algums vantagens. Mas esses filesystems já estão sendo ultrapassados pelo tal do ZFS (zetabyte filesystem) que vem com várias coisas legais como raid built-in caso você tenha vários hds e suporte pra até 1 zetabyte de informação e 16TB por arquivo(snme)... mas sinceramente nada que me fizesse sair do ext3 ou do fat32 até agora
Fato: as DLLs do Windows são uma boa sacada
E onde eu disse que BBS era um protocolo de rede ? Havia comunidades, e comunidades são redes, e não caso dependiam bem mais do proveedor.
Já que vc lembra, por incrível que pareça, a rede RENPAC (X.25) ainda funciona … argh…
Ah bom, eu tinha entendido outra coisa

Mas anyway: A RENPAC AINDA FUNCIONA??? heiauheaiheaihea
Nossa, que nostalgia haha
Eu só acessei lá por modem... de 2400 ainda por cima haha um zoltrix, pra afundar na depressão!! Ninguém merece³!!
Eu também não disse que o unix era grátis, disse que idéias do unix foram implementadas e ninguém pagou royalties por elas. Então um desavisado pode achar que TUDO ISSO é da Microsoft, e não é. Entendeu a idéia ?
Unix era um consórcio , e houve vários consórcios de várias épocas (por isso existiram implementações como System V, que veio do System III, basicamente a AT&T e a SUN, e outras implementações como a Berkeley).
Justamente a ruína do SCO/Unix foi botar um preço, e beeem salgado, ao sistema operacional. Nisso a Microsoft acertou em cheio: sistema operacional não se vende, se compartilha. E esse é o ponto forte do Linux, além de hoje ter colaboração de grandes corporações, várias versões, consórcios, grupos de usuários bem fortes, etc.
Sim, mas foi oq eu disse logo em seguida: você não pode cobrar royalties por idéias como interface gráfica ou nomes de arquivos longos, pois são abstratas demais pra isso (quer dizer, naquela época não conseguiam patentear frutas e cores)
E ow, isso tá ficando 500% off-topic

Eu também. Mas se reler sem paixonite, vai ver que não discordamos.
Aliás, eu não escrevi discordando, foi um corolário, com um pouquinho de ódio talvez, mas implementações ruins já me fizeram perder o sono mais de uma vez, então, já viu…
Ok, é que eu não tenho disso (acho), acho que estar certo ou errado não faz diferença, se a ciência não admitisse seus erros ela seria mais um tipo de religião...
Convenhamos, atualmente é muito mais fácil e seguro desenvolver.... Na época que não tinhamos sistemas operacionais em modo protegido qualquer erro no nosso programa e toca rebootar o computador... o DOS carregava até que rápido, imagina se fosse o Windows XP com aqueles 80 programinhas que auto-inicializam junto!

Em compensação era muito mais fácil desenvolver drivers na época do MS-DOS..