90s books on OS Dev?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
486etc
Posts: 1
Joined: Sat Jun 24, 2023 4:32 am

90s books on OS Dev?

Post 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?
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: 90s books on OS Dev?

Post 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
Octocontrabass
Member
Member
Posts: 5560
Joined: Mon Mar 25, 2013 7:01 pm

Re: 90s books on OS Dev?

Post 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).
reapersms
Member
Member
Posts: 48
Joined: Fri Oct 04, 2019 10:10 am

Re: 90s books on OS Dev?

Post 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
thewrongchristian
Member
Member
Posts: 426
Joined: Tue Apr 03, 2018 2:44 am

Re: 90s books on OS Dev?

Post 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.
Post Reply