FBOS
FBOS
hey guys,
in recent days I'v got interested in an "OS" programming and decided to give it a go and thus FBOS ( FreeBasicOperatingShell ) project is born. And in just few days i'v gotten suprisingly far. The system runs in DOS and is written using FreeBASIC and C (djgpp) compilers.
At the moment I have pre-emptieve threading and dynamic program loading. But there's alot of work ahead and I'm searching for some people who would be interested in helping out with such a project. The first "proof of concept" version is released on FreeBasic forum in this thread: http://www.freebasic.net/forum/viewtopic.php?t=3285
it's really not much -just two very simple programs ( both written and compiled in freebasic -so there's no scripting or any of that sort. It's real programs ) And they both run in theyr own thread.
I want to extend this project into more usuable DOS shell that can run programs and stuff.
all comments and ideas are welcome.
in recent days I'v got interested in an "OS" programming and decided to give it a go and thus FBOS ( FreeBasicOperatingShell ) project is born. And in just few days i'v gotten suprisingly far. The system runs in DOS and is written using FreeBASIC and C (djgpp) compilers.
At the moment I have pre-emptieve threading and dynamic program loading. But there's alot of work ahead and I'm searching for some people who would be interested in helping out with such a project. The first "proof of concept" version is released on FreeBasic forum in this thread: http://www.freebasic.net/forum/viewtopic.php?t=3285
it's really not much -just two very simple programs ( both written and compiled in freebasic -so there's no scripting or any of that sort. It's real programs ) And they both run in theyr own thread.
I want to extend this project into more usuable DOS shell that can run programs and stuff.
all comments and ideas are welcome.
- Seb McClouth
- Veteran
- Posts: 342
- Joined: Wed Nov 09, 2005 7:47 am
- Location: Inside the Matrix...
- Contact:
Would you be interested in helping with Qbinux?
If you would, check out the site at http://mcclouth.tk
Instead of making all diffrent kinds of Shells.. maybe we can all work on one... Just an idea...
grtz
Seb
If you would, check out the site at http://mcclouth.tk
Instead of making all diffrent kinds of Shells.. maybe we can all work on one... Just an idea...
grtz
Seb
QBinux is a Linux distribution with the aim of integrating the work of the vast community of free software developers at Pete's QBASIC Site in order to create a modern, performant, safe and easy to use system for system administrators and desktop users.
hey, I have looked at QBinux -it't interesting project, but is not what FBOS is about. Do I understand it righ:
QBinux is developed in QBASIC based on Z!res old fake-os project, it's programs are bytecode that are interpreted?
If so then srym but I'm not interested.
FBOS is developed in FreeBASIC/C(djgpp) and thus is natievly 32bit system. And it's applications aren't neither scripts nor bytecode but also compiled using either FreeBASIC compiler or C/C++(djgpp) and linked together with a special linker.
FBOS offers:
"True " Pre-empiteve threading (timer interrup based)
dynamic library support (Greater part of the core system is exposed to programs via dynamically loadable libraries)
QBinux is developed in QBASIC based on Z!res old fake-os project, it's programs are bytecode that are interpreted?
If so then srym but I'm not interested.
FBOS is developed in FreeBASIC/C(djgpp) and thus is natievly 32bit system. And it's applications aren't neither scripts nor bytecode but also compiled using either FreeBASIC compiler or C/C++(djgpp) and linked together with a special linker.
FBOS offers:
"True " Pre-empiteve threading (timer interrup based)
dynamic library support (Greater part of the core system is exposed to programs via dynamically loadable libraries)
- Seb McClouth
- Veteran
- Posts: 342
- Joined: Wed Nov 09, 2005 7:47 am
- Location: Inside the Matrix...
- Contact:
It was... Until recently I have decided just to use only the necessary things. Most of Qbinux is now based upon the real deal. Last week, I was able to implent some linux source code (ported to QB) and it worked, before it didn't.vongodric wrote:QBinux is developed in QBASIC based on Z!res old fake-os project
That's an idea for a compiler... which I don't have yet... So currently only program with real QBasic codevongodric wrote:it's programs are bytecode that are interpreted?
I was just wondering, since your making a huge program, you might wanna share some knowledge with the McClouth team.
Good luck anywayz...
grtz
Seb
QBinux is a Linux distribution with the aim of integrating the work of the vast community of free software developers at Pete's QBASIC Site in order to create a modern, performant, safe and easy to use system for system administrators and desktop users.
Hey,
I'v never made secret of my projecst so fbos is open source as all my other projects.
However I am a bit confused: Ported linux src into qbasic? Please explain to me HOW qbinux works, how does it execute programs, how does the core logic work?
FBOS: I use timer interrupt based threading system (basically same as any other OS. Programs are loaded dynamically into memory and the entry point is extracted and in the thread this entry point is executed. I also can receave/send events to / from applications.
How do you do threading for example?
I'v never made secret of my projecst so fbos is open source as all my other projects.
However I am a bit confused: Ported linux src into qbasic? Please explain to me HOW qbinux works, how does it execute programs, how does the core logic work?
FBOS: I use timer interrupt based threading system (basically same as any other OS. Programs are loaded dynamically into memory and the entry point is extracted and in the thread this entry point is executed. I also can receave/send events to / from applications.
How do you do threading for example?
- Seb McClouth
- Veteran
- Posts: 342
- Joined: Wed Nov 09, 2005 7:47 am
- Location: Inside the Matrix...
- Contact:
Currently I don't have any threading... I'm currently working on the fact of starting up of the system... I'm just getting errors about dviding through zero, since I'm using C's BitShift (<< or >>). I've adapted this to QuickBasic with the help of ppl on the forum here.
As soon as I'm able to fix that divide-through-zero, next step follows...
grtz
As soon as I'm able to fix that divide-through-zero, next step follows...
grtz
QBinux is a Linux distribution with the aim of integrating the work of the vast community of free software developers at Pete's QBASIC Site in order to create a modern, performant, safe and easy to use system for system administrators and desktop users.
- Seb McClouth
- Veteran
- Posts: 342
- Joined: Wed Nov 09, 2005 7:47 am
- Location: Inside the Matrix...
- Contact:
As in answer to your "porting"question:
It's just reading plain C-code and try if there is a similar thing for it in QB, if not, I try to code it...
It's just reading plain C-code and try if there is a similar thing for it in QB, if not, I try to code it...
QBinux is a Linux distribution with the aim of integrating the work of the vast community of free software developers at Pete's QBASIC Site in order to create a modern, performant, safe and easy to use system for system administrators and desktop users.
- Seb McClouth
- Veteran
- Posts: 342
- Joined: Wed Nov 09, 2005 7:47 am
- Location: Inside the Matrix...
- Contact:
1) 16bit system? Because it's fun!vongodric wrote:why waste such effort on 16system? wnd why are you trying devide with 0 anyway?
2) It's an error... not sumfin I wanna do... because 0 diveded by whatever = 0, it just wouldn't make sense...
anywayz
Good luck & cya around!
QBinux is a Linux distribution with the aim of integrating the work of the vast community of free software developers at Pete's QBASIC Site in order to create a modern, performant, safe and easy to use system for system administrators and desktop users.
Hey, yet another OS-dever!
I'm working on my own operating system (HorusOS), as well, but it's completely independent of other operating systems. That is to say, it doesn't depend upon DOS for ANYTHING. It's bootable, but since I haven't had much time to work on it, the kernel doesn't really do much, and I just scrapped my memory manager since it didn't really work very well, and it's design wasn't very good.
My OS is probably going to use a microkernel, so pretty much everything will just be a loaded program or driver, which will allow the user to customize the OS much more easily. All the kernel does is manage the currently running tasks, manage memory, and provide a runtime library for the programs (and the rest of the OS) to use. The drivers are basically just add-ons to the kernel runtime library, and the user will be able to add them and remove them at will. The kernel will not provide a GUI or a shell, as that will be managed by other tasks.
The runtime will probably be similar to the FB runtime, so it will be fairly easy to modify the FB compiler to produce HorusOS executables. The first programs will most likely be written in ASM, followed by C and FB. I'll probably provide a native FB compiler with the distros when I release it. Some of the OS might also be written in FB (probably the GUI and the GUI library).
I dont have program loading or task switching in yet, but hopefully I will have that implemented by the end of the summer, if I get the time.
I'm working on my own operating system (HorusOS), as well, but it's completely independent of other operating systems. That is to say, it doesn't depend upon DOS for ANYTHING. It's bootable, but since I haven't had much time to work on it, the kernel doesn't really do much, and I just scrapped my memory manager since it didn't really work very well, and it's design wasn't very good.
My OS is probably going to use a microkernel, so pretty much everything will just be a loaded program or driver, which will allow the user to customize the OS much more easily. All the kernel does is manage the currently running tasks, manage memory, and provide a runtime library for the programs (and the rest of the OS) to use. The drivers are basically just add-ons to the kernel runtime library, and the user will be able to add them and remove them at will. The kernel will not provide a GUI or a shell, as that will be managed by other tasks.
The runtime will probably be similar to the FB runtime, so it will be fairly easy to modify the FB compiler to produce HorusOS executables. The first programs will most likely be written in ASM, followed by C and FB. I'll probably provide a native FB compiler with the distros when I release it. Some of the OS might also be written in FB (probably the GUI and the GUI library).
I dont have program loading or task switching in yet, but hopefully I will have that implemented by the end of the summer, if I get the time.
Current projects:
oberonOS
Project HYDROGEN
oberonOS
Project HYDROGEN
- Seb McClouth
- Veteran
- Posts: 342
- Joined: Wed Nov 09, 2005 7:47 am
- Location: Inside the Matrix...
- Contact:
It's so true, though...
It's nearly as bad as the MMORPG craze was (and still is, to some extent)over at certain game programming forums, except this craze actually has people accomplishing something instead of dreaming all day!
Which reminds me, I should get back to work on mine, too.
edit: I just got a very simple external program running. It doesn't do much, and it's loaded alongside the kernel (since I don't have a filesystem yet), but it's still a running program!
It's nearly as bad as the MMORPG craze was (and still is, to some extent)over at certain game programming forums, except this craze actually has people accomplishing something instead of dreaming all day!
Which reminds me, I should get back to work on mine, too.
edit: I just got a very simple external program running. It doesn't do much, and it's loaded alongside the kernel (since I don't have a filesystem yet), but it's still a running program!
Current projects:
oberonOS
Project HYDROGEN
oberonOS
Project HYDROGEN
I was working on my own microkernel (using GRUB for bootstrap) but frankly, OS coding from scratch is a bit boring so I decided to do a bsd distro instead, seeing as there's not many (compared to the staggering number of Linux distros, that is). I'd show some screenies but there's not much worth showing that people haven't already seen...basically, my distro is specifically designed as a BSD desktop system, but it removes many of the more difficult parts of BSD management by handling them automatically and installing a lot of default stuff (when installed, X and KDE are autoconfigured for you, so you never have to touch xorg.conf at all nor do a pkg_add kde since it's already installed and pre-configured). It's basically FreeBSD minus sysinstall (it has its own installer with very minimal install options, so even the layman can install it) and plus X/KDE ready to go. I am even hoping to attempt to write a utility that will allow the user to easily compile a custom kernel, without having to know anything at all about how the kernel config file works or how to compile it...thegrogen wrote:It's so true, though...
It's nearly as bad as the MMORPG craze was (and still is, to some extent)over at certain game programming forums, except this craze actually has people accomplishing something instead of dreaming all day!
Which reminds me, I should get back to work on mine, too.
But enough sidetracking and self-promotion from me. VG, what are your long-term goals for this project of yours?
Well It's mostly for fun:P I'v always wanted to do a multitasking shell for DOS, but I'm considering moving to C/C++ with this and later just make sdk available for FreeBASIC. It's just C is better suited for such tasks.
I'v been playing with idea to make my own "OS" distribution using FreeDOS + my shell -it could be fun. But I need to do a lot of work.
Probably for gui I'm going to use MASkinG gui wich is based on allegro. It seems pretty good so I won't have to reinvent the wheel here.
But we'll see.
I'v been playing with idea to make my own "OS" distribution using FreeDOS + my shell -it could be fun. But I need to do a lot of work.
Probably for gui I'm going to use MASkinG gui wich is based on allegro. It seems pretty good so I won't have to reinvent the wheel here.
But we'll see.
-
- Veteran
- Posts: 288
- Joined: Sat Feb 18, 2006 4:02 pm