No announcement yet.

A Tiny Operating System in PBDOS

  • Filter
  • Time
  • Show
Clear All
new posts

  • A Tiny Operating System in PBDOS

    If there are any questions, bug reports or comments regarding this OS, please post them here.


  • #2
    A bug report for what?



    • #3
      a bug report for what?

      sed editor, typelib browser, com wrappers.


      • #4
        Well, looks like Jose beat me to it.

        [This message has been edited by Mel Bishop (edited August 26, 2006).]
        There are no atheists in a fox hole or the morning of a math test.
        If my flag offends you, I'll help you pack.


        • #5
          I tied the source code post to this one early, but I'm still asking myself, "What?"

          I have no clue what purpose the posted program is supposed to serve.

          I can tell it's not an 'operating system' because it needs an operating system to run.

          I can tell it does something with one or more disk drives. After that I'm lost.

          But I ain't firing up and running anything with that many INTERRUPT and assembly language thingies in it until I have a much better idea of what it was <U>designed</U> to do.

          Michael Mattias
          Tal Systems (retired)
          Port Washington WI USA
          [email protected]


          • #6
            i can tell it's not an 'operating system' because it needs an operating system to run.

            this os does not need another operating system to run. you can make a bootable floppy with the boot loader i have posted here:

            and then use this boot loader to load this os instead of ms-dos. this boot loader is stored in the boot sector of the floppy disk. it has a very small isr which provides enough int 21h "support" to allow it to load and run a pbdos program without ms-dos.

            the basic code in the os itself does not use any dos calls and therefore will run without ms-dos.

            so this os

            - can be loaded from a boot loader
            - does not need another os to run
            - will load and execute application programs

            therefore it is a sample for a real operating system.

            if you don't want to spend the time to make a bootable floppy or test some changes you have made to the code, you can call the os from a windows dos box, have it redirect the dos int 21h to its own interrupt service routine and then load programs from the floppy disk. these programs have to be small, e.g. "hello world". some games work too.

            i just wrote it out of interest to show that it is possible to write an os in pbdos, which does not need ms-dos to run. its an example and shows an isr in pbdos, how to read files and sectors using bios calls only and how to load programs into memory and run them without doing a dos call. i agree that these functions are usually not used in application programs, however, could be of interest to some readers of the forum.



            [this message has been edited by georg potthast (edited august 27, 2006).]


            • #7
              Interesting. It is fun to dabble in these kinds of things. Embedded programming involves a lot of this kind of thing--not quite an OS, but certainly bare-metal programming. More of a BIOS-monitor (the BIOS used to do most of what the OS now does itself on modern system) and program loader, doing some of the tasks that an OS does. Can be a fun exercise. Before you know it you'll be doing your own full-blown OS! All you need to add is process and memory management, etc.

              As I think about it, yes our modern cpu features do make multiprocessing practical, but I remember an operating system called Geoworks that worked in real mode on top of DOS that did real preemtive multitasking. There was no memory protection, so errant programs could wreak havock, but it even still it was neat. It's too bad Geoworks came along far too late. Had it been around in the early 1980s it might have changed the face of the PC world (even with the lack of graphics at that time). Unfortunately MS-DOS's architecture really limited what we could do until the x386 processor brough to the PC world multiprocessing capabilities that that other platforms had had for 20 years.