Pascal Operating Systems?

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
joe

Pascal Operating Systems?

Post by joe »

Recently I have taken up, "OS dev" and have been looking over my options for my own OS, but Instead of writing my own bootloader and kernel, etc... I know it woudnt be the real experience but I was wondering If it would be posible to eventually create an entire OS running off of Freedos- Written in Turbo Pascal, and If so, any comments would be greatly welcomed, even critisism...

-thx, Peace out
ASHLEY4

RE:Pascal Operating Systems?

Post by ASHLEY4 »

You could run a program from freedos, say called dos32.exe ( you would after make it in freepascal .set up gdt,idt,a20,pic ect) go into Pmode leave the lower memory untouched,add all the things you want in your OS, if people wanted to run turbo pascal programs they go in real mode (back to freedos) if they want to run 32bit programs made in freepascal they goto dos32 etc.
This is basicly how win98 works.

ASHLEY4.
Adek336

RE:Pascal Operating Systems?

Post by Adek336 »

Is it? The only task DOS does, is to load the binary. Win98 on the other hand, has got it's message passing, filing service, device management. Win98 does not rely on DOS that much.
carbonBased

RE:Pascal Operating Systems?

Post by carbonBased »

Indeed... it's a simplication, for sure, but Win98 does use DOS withen a VM86 task to run real-mode dos apps.  It _does not_ switch back to real mode.  As such, it maintains all its protection (well... what protection '98 actually had, anyway...) and services, as you mentioned.

And it relies on DOS for its bootup (more-or-less), but otherwise, you're right... it's pretty independant of it.

Ashley's right too, though... it's a perfectly viable solution to add a layer on top of FreeDOS (although, don't switch to real mode to run real mode apps... use VM86 :))

Cheers,
Jeff
Post Reply