Opinion on location of driver area

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Opinion on location of driver area

Post by VolTeK »

I have read up on some Disk Operating Systems and have found many of the drivers are loaded into the Conventional Memory Area, however many posts back an idea had come up for my memory manager storing information in the High Memory Area and have taken its existence into consideration to my design. I am currently working on my version of IO.SYS.

IO.SYS loads device drivers before loading MSDOS.SYS which goes on and installs core DOS system routines.

However,

My design is built around management of the conventional memory, which is installed by my version of MSDOS.SYS. If i load drivers before having my memory manager set up to control the conventional memory area, should i set up the memory manager in IO.SYS so the location of the drivers are known and will not be overwritten, or should i store them in the HMA?

The question rephrased, should i set up my memory manager in IO.SYS so i have control of knowing where the drivers are loaded to, or not set it up until i load the kernel and just load them to the HMA.

Thank you in advance for reading.
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: Opinion on location of driver area

Post by bluemoon »

I would suggest to load the core kernel functions, including memory management, before loading drivers, drivers will found those functions connivence.
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re: Opinion on location of driver area

Post by bubach »

If IO.SYS contains mostly start-up code for loading drivers and MSDOS.SYS (system services, MM, and so on..) it should also be the file responsible for getting a BIOS memory map, right? Just modify that memory map to include where the different drivers and such is loaded before passing it on to MSDOS.SYS.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
Post Reply