FBOS

Announce and discuss the progress of your various programming-related projects...programs, games, websites, tutorials, libraries...anything!

Moderators: Pete, Mods

Post Reply
vongodric
Coder
Posts: 11
Joined: Thu Aug 25, 2005 7:28 pm

FBOS

Post by vongodric »

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.
User avatar
Seb McClouth
Veteran
Posts: 342
Joined: Wed Nov 09, 2005 7:47 am
Location: Inside the Matrix...
Contact:

Post by Seb McClouth »

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
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.
vongodric
Coder
Posts: 11
Joined: Thu Aug 25, 2005 7:28 pm

Post by vongodric »

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)
vongodric
Coder
Posts: 11
Joined: Thu Aug 25, 2005 7:28 pm

Post by vongodric »

now that I re-read my post, sry I didn't try to discredit QBinux or anything -just to state that the nature and the goal of the project is different from the one of QBinux.
User avatar
Seb McClouth
Veteran
Posts: 342
Joined: Wed Nov 09, 2005 7:47 am
Location: Inside the Matrix...
Contact:

Post by Seb McClouth »

vongodric wrote:QBinux is developed in QBASIC based on Z!res old fake-os project
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:it's programs are bytecode that are interpreted?
That's an idea for a compiler... which I don't have yet... So currently only program with real QBasic code

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.
vongodric
Coder
Posts: 11
Joined: Thu Aug 25, 2005 7:28 pm

Post by vongodric »

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?
User avatar
Seb McClouth
Veteran
Posts: 342
Joined: Wed Nov 09, 2005 7:47 am
Location: Inside the Matrix...
Contact:

Post by Seb McClouth »

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
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.
User avatar
Seb McClouth
Veteran
Posts: 342
Joined: Wed Nov 09, 2005 7:47 am
Location: Inside the Matrix...
Contact:

Post by Seb McClouth »

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...
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.
vongodric
Coder
Posts: 11
Joined: Thu Aug 25, 2005 7:28 pm

Post by vongodric »

why waste such effort on 16system? wnd why are you trying devide with 0 anyway?
User avatar
Seb McClouth
Veteran
Posts: 342
Joined: Wed Nov 09, 2005 7:47 am
Location: Inside the Matrix...
Contact:

Post by Seb McClouth »

vongodric wrote:why waste such effort on 16system? wnd why are you trying devide with 0 anyway?
1) 16bit system? Because it's fun!
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.
thegrogen
Coder
Posts: 14
Joined: Fri Mar 25, 2005 1:33 pm
Location: Vancouver BC
Contact:

Post by thegrogen »

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.
Current projects:
oberonOS
Project HYDROGEN
Nodtveidt
Veteran
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR
Contact:

Post by Nodtveidt »

Cool, an OS craze. :D

*goes back to work on his bsd distro*
User avatar
Seb McClouth
Veteran
Posts: 342
Joined: Wed Nov 09, 2005 7:47 am
Location: Inside the Matrix...
Contact:

Post by Seb McClouth »

ROFLOL, good one Nek!! :lol: :lol: :lol:
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.
thegrogen
Coder
Posts: 14
Joined: Fri Mar 25, 2005 1:33 pm
Location: Vancouver BC
Contact:

Post by thegrogen »

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!
Current projects:
oberonOS
Project HYDROGEN
Nodtveidt
Veteran
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR
Contact:

Post by Nodtveidt »

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. :)
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...

But enough sidetracking and self-promotion from me. :P VG, what are your long-term goals for this project of yours?
vongodric
Coder
Posts: 11
Joined: Thu Aug 25, 2005 7:28 pm

Post by vongodric »

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.
bungytheworm
Veteran
Posts: 288
Joined: Sat Feb 18, 2006 4:02 pm

Post by bungytheworm »

Well, ASCII "gui" for dos32 or linux is something i have dreamed to do like over year now. Alltho, lots of water will stream on our river before i have skills and experience to make it come true. :cry: :lol:
Post Reply