A algum tempo na Lista OS/2 Brasil o amigo Emerson fez uma pergunta curiosa sobre gerenciamento de memória no OS/2, obtivemos duas respostas, uma de nosso amigo Reinaldo e uma resposta complementar de um experiente usuário de OS/2, o Daniel Caetano.
Estou lendo o livro "The Design of OS/2" (Deitel & Kogan), que fala sobre as entranhas do OS/2 2.0 (que já rodava aplicações nativas em 32 bits). Alguém saberia dizer se os modos de gerência de memória e processos para aplicações nativas, de 32 bits, mudaram nas versões mais recentes Warp 3.0 e posteriores)?
Alterações significativas não, o modelo de privilégios, anéis e etc., se manteve da versão 2.0 (32bits) até o atual ECS. As alterações foram cosméticas na otimização de memória, suporte a file system avançado, a API 32 bits (win32s) do Windows... Mas a estrutura se manteve.
Temos que acrescentar que algumas coisas mudaram significativamente no Aurora (Warp 4.5), com o suporte KEE (Kernel E????? Extensions), que permite acesso a memória alta (a memória do OS/2 ficou dividida em 2 gomos: a baixa com 512MB e a alta, além deste valor).
Temos que acrescentar que algumas coisas mudaram significativamente no Aurora (Warp 4.5), com o suporte KEE (Kernel E????? Extensions), que permite acesso a memória alta (a memória do OS/2 ficou dividida em 2 gomos: a baixa com 512MB e a alta, além deste valor).
Não muda muito o jeito que os programas tradicionais veem o micro (só enxergam 512MB). Pra usar a parte alta, tem que usar as rotinas novas do KEE. Melhorou mas não resolveu. Ainda temos problemas de "falta memória" mesmo tendo a maior parte da RAM livre, por conta da forma precária com que a shared memory é gerenciada.
Infelizmente consertar isso sem os códigos fontes e mantendo a compatibilidade com aplicações velhas é algo prá lá de difícil... mais fácil refazer o kernel em uma versão mais avançada e pensar em um jeito de "gambiarrar a compatibilidade" (ao invés de gambiarrar a evolução, como foi o caso do KEE). Com relação aos processos, mudou alguma coisa no que tange a gerência da exit list (rotina de limpeza de recursos dos programas finalizados), e nada ou quase nada do SMP. Por sorte, o SMP do OS/2 já era bem avançado, e fica bem diante dos sistemas mais atualizados como o Windows e o Linux.
De uma forma ou de outra, infelizmente ele já começa a mostrar a idade.
Espero que a dica tenha ajudado!
Até a próxima
Comentários
Postar um comentário