OSDev.org

The Place to Start for Operating System Developers
It is currently Mon Feb 18, 2019 6:08 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Memory map for Win3, 9x, NT4/5/6
PostPosted: Tue Feb 12, 2019 9:44 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1107
Is there information in the Wiki or somewhere else about the concrete memory map for Windows 1, 3, 9x, 2000, NT, 7?

Things like where, physically, the kernel is located, where the system data is generated, the maximum size of the kernel and system modules (for ranges), where standard device/DMA memory is, where the Real Mode system image (BIOS/DOS) is stored, and so on.

A memory map for Windows 98 would be enough for a start.

In fact, memory maps for all major operating systems should be known, fully documented, such as Linux, BSD, DOS and OS/2.

_________________
http://devel.archefire.org/forum/
http://www.archefire.org/_PROJECTS_, http://sourceforge.net/u/udocproject/

YouTube Development Videos:
http://www.youtube.com/user/AltComp126/videos

IP for hosts file:
190.53.101.69 archefire.org (udocproject@yahoo.com)


Top
 Profile  
 
 Post subject: Re: Memory map for Win3, 9x, NT4/5/6
PostPosted: Tue Feb 12, 2019 10:40 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1424
Location: Athens, GA, USA
Quite honestly, WRT Windows, I doubt that the information in question is even available, both because it involves proprietary details, and because it is going to vary depending on the system's hardware configuration and runtime operations.

Perhaps someone here knows more about it than I do, but I am guessing that the best answers you can get are "it depends", "it's confidential", and/or "it's somewhere in this general vicinity".

Excluding the proprietary aspects for the FOSS systems, the same will be true of other OSes as well. Even MS-DOS didn't necessarily have everything in fixed locations - after all, part of the reason for the IVT in real mode is to allow the interrupt routines to be located in different addresses for different versions of the system monitor/kernel (Intel had no expectations as to what OS would be running on an 8086 - if any, given that it was meant to be a souped-up microcontroller).

For more elaborate systems, ones with virtual memory management and paging - including 32-bit Windows - the physical locations are hardly relevant, and the system is likely to relocate some of them over the course of a given uptime.

To the best of my knowledge, all of the Unices - Linux, FreeBSD, NetBSD, etc. - are Higher Half Kernels, meaning that the kernel is mapped into the upper half of the virtual address space of every user process. However, it could be mapped to almost anywhere in the physical address space, in principle anyway. Quite frankly, once you have the virtual mapping enabled, the physical locations are for the most part of interest only to the kernel memory pager itself.

In other words, even if we could answer the question, it probably wouldn't gain you anything to know the answer.

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
μή εἶναι βασιλικήν ἀτραπόν ἐπί γεωμετρίαν
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Last edited by Schol-R-LEA on Wed Feb 13, 2019 10:04 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Memory map for Win3, 9x, NT4/5/6
PostPosted: Wed Feb 13, 2019 5:06 am 
Offline
Member
Member

Joined: Tue May 13, 2014 3:02 am
Posts: 245
Location: Private, UK
As it turns out, for a closed-source commercial OS, the workings of Microsoft Windows are surprisingly well documented and published.

The "Windows Internals" series from Microsoft's own publishing division contain everything you'd ever want to know about how memory is arranged and managed in the system and is probably the best resource of its kind. I'm not sure about the legality, so won't link to them, but PDF copies of this book are extremely easy to find online.

There are also online resources like this which contrasts the Windows 95 (identical in this regard with 98) memory layout with that of Windows NT.

As for other operating systems, the amount of detail available varies. OS/2 (1.x) was largely developed by Microsoft and received a similar book treatment called "Inside OS/2". I've actually just ordered a copy since used copies are going very cheaply on Amazon...

On most UNIX systems, you can get a listing of a particular process's memory map using the "pmap" command, although the usefulness of that varies.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Memory map for Win3, 9x, NT4/5/6
PostPosted: Wed Feb 13, 2019 10:16 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1107
Probably a bit can be deduced by investigating the target OS booting process, then inspecting the size of the boot and kernel files loaded in all of their versions (to deduce a standard memory ange by those files), and the same for the maximum size of drivers, kernel modules, subsystem images, and when information isn't really available, constructing a reasonable map that works well with and without paging even for computers with as little as 4 Megabytes (a single page directory entry) or less, for good optimization.

_________________
http://devel.archefire.org/forum/
http://www.archefire.org/_PROJECTS_, http://sourceforge.net/u/udocproject/

YouTube Development Videos:
http://www.youtube.com/user/AltComp126/videos

IP for hosts file:
190.53.101.69 archefire.org (udocproject@yahoo.com)


Top
 Profile  
 
 Post subject: Re: Memory map for Win3, 9x, NT4/5/6
PostPosted: Wed Feb 13, 2019 11:57 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 3328
Location: Chichester, UK
I'm not convinced that it is the purpose of this site to document obsolete operating systems.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: qookie and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group