Page 1 of 1

90s books on OS Dev?

Posted: Sat Jun 24, 2023 7:01 am
by 486etc
I want to write an operating system for my vintage 486 computer. I read the OSDev wiki and got the simple hello world programs to work, but beyond that I am lost. Does anyone know of any good books from the time period that could maybe help me out?

Re: 90s books on OS Dev?

Posted: Mon Jun 26, 2023 4:16 am
by AJ
TBH, a surprising amount of tutorials online still target pretty old hardware - look at the number of tutorials that assume legacy BIOS bootloaders, floppies etc...

It wouldn't be a bad plan to try to locate an old copy of the Intel Software Developer's manuals. They used to give them out to anyone who asked - I had a set which I've unfortunately disposed of, but eBay may be your friend here?

Cheers,
Adam

Re: 90s books on OS Dev?

Posted: Mon Jun 26, 2023 2:23 pm
by Octocontrabass
486etc wrote:I want to write an operating system for my vintage 486 computer.
It's nice to see I'm not the only one.
486etc wrote:I read the OSDev wiki and got the simple hello world programs to work, but beyond that I am lost. Does anyone know of any good books from the time period that could maybe help me out?
Hold on. Are you trying to figure out which things you want your OS to do, or are you trying to figure out how to do those things on a 486?

If you're just trying to figure out which things you want your OS to do, don't limit yourself to books from the 90s. Your 486 is perfectly capable of handling scheduling, memory management, virtual filesystems, and all the other things modern OSes do. Any good OS book will teach those things in a way you'll be able to apply to your 486.

If you already know what you want to do and you're trying to do those things on a 486, you still shouldn't limit yourself to books from the 90s. You should definitely refer to period-appropriate reference manuals first, but it doesn't hurt to keep an eye on how things have changed over the past three decades - especially if you want to see your OS running on new PCs too.
AJ wrote:It wouldn't be a bad plan to try to locate an old copy of the Intel Software Developer's manuals. They used to give them out to anyone who asked - I had a set which I've unfortunately disposed of, but eBay may be your friend here?

Someone has very kindly archived most versions of the SDM, along with a bunch of other documents. But for a 486, my first choice would be the 486 programmer's reference manual (which isn't in the previous archive - bitsavers has two copies).

Re: 90s books on OS Dev?

Posted: Mon Jun 26, 2023 2:30 pm
by reapersms
https://www.amazon.com/Developing-32-Bi ... 0672306557 does go into a fair amount of the nitty gritty for that era.

It focuses on message passing and call gates for IPC and the user layer interface.

Searching the ISBNs will likely find a number of more reasonably priced sources.

It appears to be available online as well via googlebooks and openreads
https://books.google.com/books/about/De ... JQAAAAMAAJ
https://openlibrary.org/books/OL1126522 ... ing_system

Re: 90s books on OS Dev?

Posted: Mon Jun 26, 2023 4:30 pm
by thewrongchristian
486etc wrote:I want to write an operating system for my vintage 486 computer. I read the OSDev wiki and got the simple hello world programs to work, but beyond that I am lost. Does anyone know of any good books from the time period that could maybe help me out?
Most of the OS books of the era would be light on specific details about contemporary machines. They certainly won't serve as a tutorial on how to work with 90's era hardware.

All I can recommend is, if you're using QEMU for development, perhaps run QEMU using:

Code: Select all

qemu-system-i386 -m 4m -M isapc ...
4MB seems a reasonable minimum memory to target for i486 era hardware, and you can write a pretty capable kernel to work in 4MB.

For a small suite of ISA drivers (i8042 kbd controller + keyboard, PIO IDE driver, UART, with PIC for interrupt controller and PIT for timings), you can find all that information on or via the wiki.