04-19-2003, 08:14 AM
I've seen Gimi, and many other "Qbasic OSes" and none of them come even close to being an operating system. Gimi just runs .gex script files by reading each instruction and then executing approiate qbasic routines. It is does not, as the author claims have "fully preemptive multitasking". Preemptive multitasking allows the operating system to schedule a new process between any two lowest level instructions (ie asm ops), Gimi on the other hand can only reschedule processes between two .gex instructions, which may convert to several low level asm instructions.
Most people have a strange definition of operating system as something which runs many programs at once and provides a graphical shell (DOS and most batch operating systems for instance, do neither).
A good definition of operating system is Tanenbaum's one: An operating system extends the machine and manages resources. None of the "QB OSes" do either of these things, the machine is already extended by Qbasic (for example the print command masks the complexities of making the machine write to the screen). Managing resources refers to how the operating system allocates resources to processes, for example if three processes are printing at once (in a multitasking environment) the printer could contain jumbled output from each of the three processes as they are scheduled in and out. Proper resource management requires priority scheduling (which process gets the printer next) and resource locking using things like semaphores and mutexes.
On the source code front, I dont really have any that I want to release currently. My QBDBZ source code will become available, but its currently unworking due to some major overhauls to the code. My QB projects are all on the backburner at the moment because University is more important and much more work ;-)
Most people have a strange definition of operating system as something which runs many programs at once and provides a graphical shell (DOS and most batch operating systems for instance, do neither).
A good definition of operating system is Tanenbaum's one: An operating system extends the machine and manages resources. None of the "QB OSes" do either of these things, the machine is already extended by Qbasic (for example the print command masks the complexities of making the machine write to the screen). Managing resources refers to how the operating system allocates resources to processes, for example if three processes are printing at once (in a multitasking environment) the printer could contain jumbled output from each of the three processes as they are scheduled in and out. Proper resource management requires priority scheduling (which process gets the printer next) and resource locking using things like semaphores and mutexes.
On the source code front, I dont really have any that I want to release currently. My QBDBZ source code will become available, but its currently unworking due to some major overhauls to the code. My QB projects are all on the backburner at the moment because University is more important and much more work ;-)
esus saves.... Passes to Moses, shoots, he scores!