:?: Ok, I am a pretty good with visual basic, i have almost mastered the basics and thoght it would be cool to make my own personal os, the way i want it, updating it whenever i feel, i am not sure if it is possible, but if it is, can someone guide me through the process? :?:

Recommended Answers

All 33 Replies

i dont think it is possible with vb as you need to have the visual basic runtime installed on the system to run any vb program. most OS's are writen in C/C++ and ASM but im sure there are other languages that can be used but i dont think you can with visual basic :) but it would be pretty cool if you could. and if im wrong on this could someone correct me :)

thanks for the help :)

is it possible to set up a boot disk that installs vb runtime so you can then install the operating systeM?

is it possible to set up a boot disk that installs vb runtime so you can then install the operating systeM?

Probably not. Being able to install the runtime would imply that you had an OS already installed on the system.

Does anybody think it would be possible to make an OS using Delphi? <more specifically, delphi 2>

Nope u cannot make an Os using VB or Delphi,

basically u need C/c++ in client server , ASM, and must be strong in unix platforms.

algorithms too play an important role.

Anybody know a link for Easy OS...and do i need linux to run it?

hey i have done some research but have found out that All the programers out their think that VB can't create and OS now to create an OS u need no dependency that is done in C,C++,ASM let's face it those language are not the fun as VB and qbasic so here is my question if some how their is a way to install the runtime needed by vb could it be possible to create an OS then


and Qbasic and VBdos yes VBDos 1.0 the first version of VB i think does not need any dependency other then dos so if some how we are able to create an replica of dos in asm that if i may say so i almot have it then is it possible to create an OS in qbasic or VBDos ??

----------please do reply ur opinion it does matter thx :lol:----------

From what I remember, QBASIC was not only a programming language but a software environment as well - and therefore it ran somewhat like an interpreter? Meaning that you couldn't write a program in it that would be able to stand alone. The code had to be executed from within the QBASIC software program.

From what I remember, QBASIC was not only a programming language but a software environment as well - and therefore it ran somewhat like an interpreter? Meaning that you couldn't write a program in it that would be able to stand alone. The code had to be executed from within the QBASIC software program.

You could start linking your own EXEs starting QB 4.5, I believe. Or at least that's the first version I had when I started creating my own. Executables were large, so I assumed it just attached the interpreter and libraries you used for you program to the executable. It's impossible to create an OS in VB because it relies on the Windows OS. As far as QBASIC, I think you might be able to, but most of your program would be composed of assembly calls. It'd still be a very limited program still.

You can't make an OS in QBASIC. QBASIC can compile to .com files, but these run under DOS (ie. they use DOS interrupts to print to screen, get keystrokes, access disk etc.). You would have to start with C or C++ and write your own API for your OS. I've thought of doing this a few times, but it would be very difficult to make it work with all hardware (notice how even windows, which has an immense library of drivers, has trouble with this sometimes). Good luck though :) .

Hi Everyone,

Yes it is possible to use basic language to make an operating system but you cannot use visual basic as you need runtimes. The only basic compiler that i can think of for creating your own os is Rapid-q by William Yu. But this compiler will create all .exe files thus all you have to do is to write .asm codes to run the main desktop executable. As for common controls and dialog boxes these can be created using Rapid-q but the only problem i see is trying to create your own custom fonts which can be very very hard. As for the use certain libraries for the kernel you can use gpl dos programs like freedos.

I hope this helps you

Yous Sincerely

Richard West

Creating an OS in visual basic 6.0 :rolleyes:

this is not possible atleast with vb bcuz vb program run
on windows platform even vbrun can't do
anything... :o vb sucks.... but VB.NET is something diffrent and i like
that

and if u r really want to code a OS :eek: than go for ASM
bcuz u can do anything in this language but remember it's
not a toy launguage like VB...u really needs to work hardddddd on
this language for many years

i am sorry but no one here ans me correctly or i did not get it :lol:

what i wanted to know is that if some how realy magicaly if i am able to install the runtimes needed for VB is it possible to create an OS in VB i am saying this due to the fact that OS is not that complecated as they look only if u know what to do and what u want

the os i am trying to create is for backing up files when windows or lunix has crash so i just boot with my os boot cd and back up nothing else so if possible rec me some cool easy language to do this very thing :lol:

and please try to ans my first question in yes or no and if yes tell me the method to do it :lol: thx for all ur reply realy nice... :cool:

No, it is NOT possible to create an operating system with Visual Basic (any version), because they require certain runtime libraries. Pre .NET versions require a file called vbrunxxx.dll (where 'xxx' is the version, such as '300' would be version 3.0) VB for DOS (version 1.0) requires a VBRUN100.LIB in order to run. This is true, even if you create a "self-contained" EXE file. All of these libraries require you to have MS-DOS or MS Windows installed, because they all are linked to Microsoft's OS-specific code (interrupts, external DLL's, etc), and cannot run unless you have those libraries. And those libraries require OTHER libraries, which require OTHER libraries (such as gdi32.dll and kernel32.dll - hence, an OS).

As for QBasic, it is technically not possible to create an OS because it requires runtime modules (these modules are linked into the EXE if you create a stand-alone EXE file), and they also use MS-DOS interrupts, which would need to be programmed from your OS EXACTLY the way DOS does (in essence, re-creating MS DOS).

Although it is *TECHNICALLY* impossible, it is not impossible on a theoretical level. If you had the patience and knowledge, you could create your own compiler for QBasic so that it produces pure code (not interpreted like QB code). This would essentially be creating a similar compiler as to Linux's gcc or Borland's DOS compiler for C/C++. Then, you could require that the QB program (the BAS file, not the actual EXE) declare "include" statements to add runtime libraries for functions such as file I/O and screen printing (this is what C/C++ does).

What it all boils down to is this: It doesn't matter WHICH language you use to create your OS... as long as there is a compiler that will create code that does not require libraries to run. The outcome of this language would be a VERY small key word base (if you look up the keywords for the core C language [not including those functions provided by #include lines], then you'll find that there are only a handful of keywords).

So the ultimate answer to this question is... No, it's not possible to write an OS in VB 6 because the VB6 runtime libraries are copyrighted by Microsoft, and therefore, you cannot create the proper runtime librarires in order to create your own compiler in order to write an OS with it. Also, regardless of which language you use to write the operating system, you MUST use ASM to write your boot loader, as it requires some pretty low-level stuff to make the machine useable.

I hope this helps. If you are still interested in using a BASIC style language to create an OS, then I would suggest looking into either creating your own BASIC compiler (prefereably a 32-bit compiler), or finding a copy of BASM (a BASIC to ASM translator).

the os i am trying to create is for backing up files when windows or lunix has crash so i just boot with my os boot cd and back up nothing else so if possible rec me some cool easy language to do this very thing

If that is all you want, then check out Knoppix. It's a pretty neat Linux system that runs completely from a CD. You never have to install ANYTHING to a hard drive.

www.knoppix.org

Does anyone know of a program that is almost like an easy os creater..in otherwords no programing necissary?

That depends on what you consider "easy" and what you consider "programming". I don't think there's really a program like this out there (yet), but there is LFS (Linux from Scratch). However, LFS is FAR from "easy", since you have to compile most of it yourself, find your own packages, and compile most of them.

could somebody. Anybody. Tell me who in the right mind would want to create their own OS anyway? You would need to make drivers for every piece of hardware you own, no it wouldn't be easy in any way, there is just too much work involved.
Anyway, thats what I think.

Slade

Ok, to lay the whole thing to rest, here is the guide to makign an operating system :)

1) VB is a high level language. it doesnt contain any code which can directly access the hardware. therefore, it relies on windows' ability to access the hardware in the system to function. it is NOt possible EVER to get VB to talk directly to the hardware.

2) You CAN'T install the runtime without having windows on the system. the runtime is effectivly, and add-on for windows which allows you to run VB programs. It uses DLL's, which when loaded, provide functions that programs can call. You can only load a DLL by calling it from a program within Windows.

3) It IS possible to write an operating system in QBasic, but it isnt easy. I wrote one to see if it can be done. you need to write assembly instructions for everything. even simple functions like displayin text need to be written from scratch, as every call that qbasic makes uses DOS in some way.

4) As for booting the system, a generic boot sector, which can load an EXE file is fine. However, you couldnt use this to load a windows or dos exe file, as it relies on windows, or dos to provide the routeens to access the hardware.

Ok, to lay the whole thing to rest, here is the guide to makign an operating system :)

1) VB is a high level language. it doesnt contain any code which can directly access the hardware. therefore, it relies on windows' ability to access the hardware in the system to function. it is NOt possible EVER to get VB to talk directly to the hardware.

2) You CAN'T install the runtime without having windows on the system. the runtime is effectivly, and add-on for windows which allows you to run VB programs. It uses DLL's, which when loaded, provide functions that programs can call. You can only load a DLL by calling it from a program within Windows.

3) It IS possible to write an operating system in QBasic, but it isnt easy. I wrote one to see if it can be done. you need to write assembly instructions for everything. even simple functions like displayin text need to be written from scratch, as every call that qbasic makes uses DOS in some way.

4) As for booting the system, a generic boot sector, which can load an EXE file is fine. However, you couldnt use this to load a windows or dos exe file, as it relies on windows, or dos to provide the routeens to access the hardware.

Man of the hour

alexander_agius dude put it to rest lol u killed it, murdered it ! buried it 6 feet underground and blowed it out of the sky dude seriously thx for the blunt NO lol now for the real thing.

I like to see that source code of the Qbasic OS or if not ur's then any will do just want to see how it's realy done :) and if Qbasic can be used then can vb for dos can be used right :) realy thx for the reply :).

There is very little difference between qbasic (by this, i mean QBX - qbasic 7.1), and VB-DOS.
Infact, the two are pretty much the same. All the VB-DOS idea is, is a set of libraries which are tied to the program at compile time. There is very little to it at all!

However, if you were to use any high level language for an OS, you must rewrite EVERY function that tha language provides!

This is why C is so popular for operating systems. Even the most basic functions (like printf, scanf etc..) and stored in a library.

By modifying the libraries to interract directly with the hardware, rather than using DOS/UNIX interrupts, you can make the program run without an OS - as essentially, it becomes one, albeit with limited functionality.

As most of Qbasic's functions are stored in libraries embedded a librariy called Brun71.lib, this library must be present when the program is run from the IE, or compiled.

If you want to write an OS in QB71, first, rewrite all the instructions you will need (like, print, input, inkey$, select case etc..) in assembler, and build a module with them in.

When you compile the kernel, do it from the command line, and you can choose which library to compile against.

I still have the sources for my OS, but very little of it remains intact. it has been tweaked and altered so much that it isnt much more than a load of random commands.

The kernel is the one piece of code i cannot release the source for, as all the libraries were written by a freind of mine. I can't write in assembler, so he wrote them for me, and as such, retains the copyright.

Once i have my webspace sorted, I will put the code and an installation on it for download.

This OS WILL RUN!!!!!, although not with it's own kernel yet. I boot it with a FreeDOS kernel, as we are builting the lernel to be 100% dos compatible, it makes no difference as to what we distribute it with.

Well what can i say bravo my friend nice job but what i got is that i can make a OS in qbasic or VB dos but for that i need to put all the commands in a module created in asam now for that i am going to learn asam because if u don't know asam u realy don't know how stuff work so well that's another matter but u see what i am trying to say is that i have my kernal and bootloader and stuff but ys now this is a BIG but , i don't have a floppy drive to load it on a floopy and test it and i don't like to waste CD's and multitracking don't seem to work for me :( any ways i am trying to get the floppy drive.


and yes i am realy looking forward to ur source code upload so i am download

and yes that asam source code well good for not realeasing it sence it's some one else's copyright good to know that other people do respect copyrights because it's so tough to create these damn good software or module in this case and see it has been taken by one that has done nothing well good job

i will keep posting if i get any good info on this subject thx for ur contribution
:)

Cool. ok, all the code that i've written for this os, is essentialy designed to work with DOS. The project started out in bout 1998 as a FreeDOS distro (well, initially just a new interface for DOS, which turned into a distro in 2001), and as such, simulates the UNIX BASH command shell and utilities.

The kernel is a DOS clone, althoguh we are attempting to implement multitasking.

You may have missunderstood what i said about distributing code for the kernel - the kernel code we have so far is incomplete. I will give you the code for the file routeens, and shell and such, but the kernel is stil the freedos one atthe moment, until we can finish the clone kernel.

This will differe in a few ways. for starters, it will sort of multitask. It will be able to run multiple DOS programs at ones in DOS boxes, although unless they were written with out taskign libraries, they will not be aware of eachother.

Secondly, it will hopefully break through the 512k usable memory problem that DOS had, by using memory mapping to move data around in the RAM whilst a program is running. In theory, the program will be unaware that this is going on, and run normally, but be able to use the full ram avaliable to the system.

I do not have a clue how we are doing this! again, i leave this down to my assembler loving freidn. lol

If you have an email address that you are willing to give out, please let me know, and I will talk to you further and in more detail.

Alex

For a long time I been wanting to create a small OS out of Qbasic that can fit into a floppy disk. But have't come up with a way to do it. Anyways I was wondering if thats even possible... ;)

The fact is that all VB programs need VB runtime dll's (Mind it. these will load only under the Win32 environment). So even if you have the runtimes on a bootable disk that won't help. These work on the Win32 API calls.

So you won't be able to create an OS in VB.

Cheers

Does anybody think it would be possible to make an OS using Delphi? <more specifically, delphi 2>

Nope you would need nasm + freepascal if you wish to do one in pascal.

dig though freepascal website there may be a link to the site for the one guy who did manage to code his own os in pascal.

NOTE *** the early mac os's were in pascal
so it is posible in pascal

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.