Page 1 of 4

Your first attempt to make a OS

Posted: Wed Apr 04, 2007 12:56 pm
by inflater
Hey everyone,
i started with OS dev straight away from my "kernel" named TextLiner OS, that was full in ASM and ran on all 8086's. And what's your first attempt at a OS? :)

inflater

Posted: Wed Apr 04, 2007 1:52 pm
by Alboin
My first attempts were a little sad to say the least. It was when I first started programming. I started creating a command shell for my Windows 95 system. (Obviously the best version of Windows.) It never really got anywhere.

However, my first real OS was about a year later, after I had tried booting some Windows programs from a floppy disk, not currently knowing about external dependencies. Yet, to try to get something booted, I had found a C++ OSdev tutorial on the web somewhere, and got that working.

Then I started my own OS, based off the OS Development for Dummies Kernels kernels. Granted, I didn't know much of programming at the time, but I improved it bit by bit. That is, until I got to creating a memory manager and couldn't realize why anyone would want to dynamically located memory. :wink: That's when I went back to application programming for a while.....I'm just now restarting my OS. Although, I'm starting from a new code base written in assembly instead of C.

Toodles.

Posted: Wed Apr 04, 2007 2:06 pm
by Combuster
The first go at a true operating system, i started off with a lousy bootloader displaying "Welcome to my OS", which later loaded a second stage that contained a prompt that accepted the cliche commands: help, info, reboot.

Before that i tried a few times to kick DOS' butt out of conventional memory and go run a stack-switcher between programs saying A and B in real mode, which horribly failed. Wether that was an true attempt at osdeving I leave up to you to decide. But at that time assembly was still a foreign language to me...

I should have backup copies of both somewhere... :oops:

Posted: Wed Apr 04, 2007 8:45 pm
by pcmattman
My first OS is the one I'm working on now.

It started out as an all-assembly project, with a custom bootloader and such... Then I found out how to get GRUB working and all of a sudden I can use C!!! Now, 4 months later I've released the first alpha and am finalizing my hard disk routines.

Posted: Wed Apr 04, 2007 10:08 pm
by Dex
My first OS, other than "hello world" ones, were made up of a template to get me into pmode, from this template i added as many parts to a OS as possible, but unless it needed some other part, i tyred to keep them like simple demos of doing a part of a OS, in other words, i did not just keep adding the parts.
Then after i had a lot of there demos coded, i glued then togeather by adding a CLI.
Still have all the parts on disks.

Posted: Wed Apr 04, 2007 10:10 pm
by AndrewAPrice
My first OS project was a graphical shell/desktop for DOS I made in QuickBasic. Programs were big scripts (using a cut down version of BASIC) that were interpreted by the shell. Multitasking was achieved by switching the current interpreted line and local variables. I wrote a web browser, paint program, and word processor in my interpreted BASIC..

I thought it was impressive back when I was 12 \:D/ (6 years ago).

EDIT: It was called BINX (something Interactive something something).

Posted: Wed Apr 04, 2007 10:18 pm
by Dex
MessiahAndrw wrote:My first OS project was a graphical shell/desktop for DOS I made in QuickBasic. Programs were big scripts (using a cut down version of BASIC) that were interpreted by the shell. Multitasking was achieved by switching the current interpreted line and local variables. I wrote a web browser, paint program, and word processor in my interpreted BASIC..

I thought it was impressive back when I was 12 \:D/ (6 years ago).
That sounds like my Qbasic GUI, thouse filled box's, with two dark line on one side and top, and two light lines on other side and bottom. Boy did they look good or so i thought :lol:

Posted: Thu Apr 05, 2007 1:37 am
by AJ
Not an OS, but I attempted a shell written in BASIC on my BBC B! The aim was that you could wordprocess with text and graphics on the same page.

Needless to say, I failed horribly (even simple wordprocessing software came on a ROM chip that you had to permanently install) :(

Adam

Posted: Fri Apr 06, 2007 10:40 pm
by earlz
my first OS was so horrible...
I used it to learn C if that gives you a hint..
I used a getstring function but rather than using an array of chars, I used an array of *chars! lmao! funny looking at it now, how I never could find what the crap was wrong with it..

Posted: Sat Apr 07, 2007 1:20 am
by Kevin McGuire
All I can remember is naming it, "High Flex Modular Operating System". Of course I have never finished a kernel as of yet, and I think that was about four years ago..maybe this year I can get it working.

Posted: Sat Apr 07, 2007 5:23 am
by inflater
The very first programming in me inside began with writing .BATs for MS-BOSS and Windows. The "products" I've made was preferably system detection and games.

I was playing with QBASIC too when i was 10 (and with MS VC++ too :lol:), after that I got a, well, QBASIC that could compile to EXE. The process how I found it was not very legal though... :oops:

I found on my local library a "Do you want to try it with programming?", when I was 11. It was a bit dated book from year 1984 or so, oh sweet communism :). Actually, it was programming in BASIC for microprocessors Z80 and MOS 6502. The code was magically backward-compatible with Qbasic on my former 80486DX4 and Windows 95. So I've made a simple "racing" games, jokes ("CMOS damaged" with flickering screen and bleeping noises), and text adventure games. It was fun alright, and simple.

In 12, I discovered emu8086 and I saw a simple operating system "kernel" there. That was my first attempt to make a OS, it was a curious boot sector with kernel no larger than 3 kB :lol:

inflater

Posted: Sat Apr 07, 2007 7:40 am
by earlz
In 12, I discovered emu8086 and I saw a simple operating system "kernel" there. That was my first attempt to make a OS, it was a curious boot sector with kernel no larger than 3 kB Laughing
lmao! that's the first thing I used for os dev! then I found a very nice tutorial using as and linux

Posted: Mon Apr 09, 2007 6:41 am
by gfmay
My first OS project is now in the sky:-)
I am learning something useful in OS development now, and I always believe that one day I could have my first OS project. I will try my best for this future OS project.

Posted: Mon Apr 09, 2007 12:12 pm
by mystran
My first project was a microkernel back in 2003. It was written as a single threaded kernel (it did have multi-tasking, but only for user threads) which turned out to be rather painful approach, and while I had a basic keyboard driver running as a normal process, that was more or less how far it got.

The second iteration then, was a multi-threaded kernel in the same spirit. It actually advanced to the point where it had relatively straightforward messaging IPC, with capability transfers and long messages working, but the idea of having memory management in user processes proved a bit hard to get right, so I kinda forgot the project. While the kernel was more advanced in several ways, it actually never supported stuff like a keyboard. :D

This year then, I picked up the previous kernel, hacked some minor things with it, fixing some features, until I'd actually have to figure out the memory management problem. Once I got there, I came to the conclusion that it was simply too much trouble to put everything into the userspace, and I'd love to do OS development, but if I continued with the pure microkernel approach, I'd just get frustrated, and forget the project again.

So I started my current project, this time writing a more traditional kernel, with at least device drives in kernel, so I could actually get it somewhere, and not get stuck with non-sense.

Ofcourse my current kernel advanced to the point where it is quite fast, since I could get most of the basic support code (virtual memory manager, interrupts, scheduling/semaphores, timers) from my previous kernel, more or less simply by copypasting and removing a few dependancies here and there. In fact, some of the code in my current kernel was originally written for my first project. In that sense it was good to design a generic microkernel first, because the basic code doesn't rely much on what's on top of it. :)

Posted: Mon Apr 09, 2007 4:34 pm
by AndrewAPrice
inflater wrote:So I've made a simple "racing" games,
Do you mean that text skiing/racing game that looked similar to below?

Code: Select all

#       !!      #
 #       !!      #
 #      !!      #
  #    !!        #
   #  !!          #
    #!!            #
      #!            #
     GAME OVER. PRESS ANY KEY TO CONTINUE.
I remember copying that out of an old Commodore book and I ported it over to QBasic.