Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

andy89

macrumors 6502
May 22, 2005
318
123
Kent, England
When I saw the thread title, I couldn't help but think of this legendary thread.

Sounds like you are being a bit more realistic though. Good luck with the project :)

ROFL.

That remind me of one of my freinds. He says hes working as a hacker for a company. He doesn't even know what am IP address is!

Anyway, good luck. I always wanted to write my own OS. My C++ sucks too bad though. (And don't get me started on assembly, that looks freaking evil).

If only you could write an OS in PHP :rolleyes:

*Hint-hint.* (web based OS)
 

slooksterPSV

macrumors 68040
Apr 17, 2004
3,544
306
Nowheresville
I have an idea that you could play around with. What about building an OS but base it off of SDL, basically you make the OS but use SDL and make it in a Mac OS X window and it would even be portable to Windows and Linux. So for the window you set the image for the window, create apps that only the SDL app can run (or make it another piece of the program or that). Hmm... so to do a command prompt you'd just make the window, and on an interval make the cursor blink (interchanging 2 images), when the user presses a key, see which app the user is in and if its a command prompt/terminal like one, send all the key events to the terminal, when you press a letter, the letter shows up and adds itself to a string in the terminal or you could do it like an input like cin or that and move the image, then check to see if its in the bounds, if not move it down a row and start it at the other end, if it extends below the screen, ... you get the point. Since SDL handles mouse events too, this would be an interesting project. Imagine, you could load the SDL_Image Library and have transparencies.

Main point, start with something simple then expand, create this SDL based OS (that works in Mac OS X, Windows, etc.) then move it out, make it to where it runs in fullscreen, then make it an option to load it or the other OS, then make it its own OS.
 

Teh Don Ditty

macrumors G4
Jan 15, 2007
11,306
8
Maryland
I give you (and your friends) a lot of credit for attempting to create an OS. I wish I could do that (Work + Master's In Progress = Barely any free time).

Best of luck to you and your friends! Please keep us in the loop (pun)!
 

Sean7512

macrumors 6502a
Original poster
Jun 8, 2005
856
41
Update

UPDATE:

We have exchanged lots of ideas and had quite a few long discussions. While creating a list for what we hope to include, we stumbled upon a potentially GREAT idea. The idea is how the boot loader is implemented...

The boot loader has been pretty much straight forward since the DOS days with no radical changes to it. Well, we have come up with a new idea that if it works correctly, it could easily cut start-up times in half and if combined with flash memory, could even be "instant-on." We have talked to our teachers about our idea and they all agree that it is a great idea and that it is definitely possible.

Once we get a final list together, we are going to begin with a boot loader and then go from there. We are expecting the boot loader to take a good bit of time to complete. We have set a deadline so that if we can't implement it, we will go about it the traditional way. Once there is anything worth mentioning, I will post it here.

Happy Spring (yeah, a few days late)
 

wmmk

macrumors 68020
Mar 28, 2006
2,414
0
The Library.
haha, this brings back wonderful memories of a while back when I attempted to make an OS by typing random C++ codes I found in 'The Idiot's Guide to C++' into the BSD source then making a flash animation that was the GUI. I never got BSD to load the .swf. or boot. or compile. lol. anyways, I got flamed quite a bit, but I totally deserved it. you obviously know what you are doing and have reasonable expectations (my OS was going to be better than windoze and OS X and I was going to save all the starving children in Africa with my billions).

Good luck!

EDIT: must have missed this:
When I saw the thread title, I couldn't help but think of this legendary thread.

Sounds like you are being a bit more realistic though. Good luck with the project :)
glad to be legendary!
 

Sean7512

macrumors 6502a
Original poster
Jun 8, 2005
856
41
Coding of the boot loader has begun today. Not much else to update you guys on, stay tuned.....
 

Sean7512

macrumors 6502a
Original poster
Jun 8, 2005
856
41
Cool. Best of Luck to you.

PS: Your Sig should read - Crosby + Malkin + Staal... Imagine the Possibilities.

Thanks! We've already learned some things that we previously did not know :p

PS, my sig should probably read Staal...I haven't updated it since Malkin fled Russia and at that time everyone thought Staal would stay in junior hockey...I'll add Fleury too
 

Sean7512

macrumors 6502a
Original poster
Jun 8, 2005
856
41
UPDATE:

Well, we finished coding a simple boot loader and it actually works too :D For something soo simple and small, we are extremely happy. From here, we are going to attempt to implement our ideas for a next generation boot loader that has never been implemented before. I'll keep you guys updated as we progress. Hope all is well
 

twoodcc

macrumors P6
Feb 3, 2005
15,307
26
Right side of wrong
UPDATE:

Well, we finished coding a simple boot loader and it actually works too :D For something soo simple and small, we are extremely happy. From here, we are going to attempt to implement our ideas for a next generation boot loader that has never been implemented before. I'll keep you guys updated as we progress. Hope all is well

sounds good! keep up the good work! and keep us updated! :)
 

Teh Don Ditty

macrumors G4
Jan 15, 2007
11,306
8
Maryland
UPDATE:

Well, we finished coding a simple boot loader and it actually works too :D For something soo simple and small, we are extremely happy. From here, we are going to attempt to implement our ideas for a next generation boot loader that has never been implemented before. I'll keep you guys updated as we progress. Hope all is well

Awesome!! Keep up the good work! Good Luck in the playoffs against Ottawa!
 

SC68Cal

macrumors 68000
Feb 23, 2006
1,642
0
I would recommend joining the Linux Kernel mailing list, if you're looking to get your hands dirty in coding an operating system

EDIT: If you want to stay in Apple territory, join the BSD kernel mailing list or the Darwin list.
 

aLoC

macrumors 6502a
Nov 10, 2006
726
0
I implemented most of the modules of an OS as part of my undergrad degree. It's not as difficult as you might assume. Go for it!

The real value that companies like Apple add is not in the core OS functions (task management etc.) but in the graphics libraries that contain a lot of specialized knowledge that would take years to get good at. This is probably why they leveraged BSD for core OS stuff instead of redoing it themselves.
 

notjustjay

macrumors 603
Sep 19, 2003
6,056
167
Canada, eh?
haha, this brings back wonderful memories of a while back when I attempted to make an OS ... [snippety snip] ... glad to be legendary!

Glad to see you're taking it all in stride :) I read your thread, thanks for the link. Take heart in that even if misguided, I see evidence of impressive technical knowledge.

Truth be told, a lot of us were like that when we were younger. The problem is so much has already been done, it's hard to know where a newbie is to start. Today's computers have so many abstraction layers that you can't even really hack around much. And any dream you have of redoing any of the existing software or layers is inevitably met with what you got.

When I was in grades 5-8, I did all kinds of stuff on my Apple ][. Back then, there simply wasn't all that much to know, so even something coming from a 12-year-old had reasonable credibility.

I never wrote an OS, but I did write a (very crude) graphics drawing and presentation program. I needed something to display voltage-time curves for my grade 7 science project (the venerable "Which battery lasts longest?" - Duracell won, by the way). Today, you would simply plot the curves in Excel and use a laptop with PowerPoint sitting beside your display board. Back then, none of that stuff existed (or I certainly didn't have access to it). So I wrote it myself.

I also made headways into a database program (I was going to call it the Personal Filing System, not realizing that name was already in use) and some Star Trek games, because, hey, I was a geek.

In grade 8 I needed to show an animation of how antihistamines work, so again I brought out the Apple ][, started typing

NEW
10 HOME
20 REM HERE WE GO...

And created what I needed. Nowadays, you just fire up Flash.

I remember getting my first C++ compiler (for DOS), and what kind of power that opened you up to. I was the classic cheap student / geek -- if I couldn't afford to buy a piece of software I needed, I tried to figure out if I could build it myself. I had a fairly reasonable clone of Telix going (if a bit slow at anything faster than 9600 baud) for my BBS'ing needs!

I wrote a text-based window manager (like those old DOS programs), just for fun, and I even wrote a presentation/page renderer using a simple markup language I came up with. Nowadays people would just laugh at you because every OS has a window manager and we have all manner of Flash, HTML, XML, etc.

Nowadays I still have trouble setting up a Visual C++ program to do a "Hello World" Windows app.

And then in grade 9, after reading a computer architecture book, I sketched a schematic for a very simple Z80-based computer, which I still intend to build one day. It was so tedious drawing all those address and data lines! :)

All the good stuff has been done! We were born 10 years too late ;)
 

xUKHCx

Administrator emeritus
Jan 15, 2006
12,583
9
The Kop
I have been subscribed to this thread for ages, really interested to see how this works out. Maybe we can install it in Parallels when done.
 

Sean7512

macrumors 6502a
Original poster
Jun 8, 2005
856
41
UPDATE:

It has been quite some time since I have updated any of you on our project. As I said, we have a functioning boot-loader and now we have a BASIC, but stable kernel. When booted up, the OS is just a plain black screen that says

"<centered> Welcome to O.S Project! </>

Press 1 and <Enter> to open a basic text editor"

That is all so far. The text editor does work and allows you to type up some stuff. Unfortunately saving or opening existing .txt files does not work yet. It is a LONG and TEDIOUS project, but we are moving forward. I can get a screenshot of it running, but it is wayyyy to boring to bother, just black background with white text, haha.

More updates to follow.....
 

x704

macrumors regular
Apr 15, 2006
118
0
What are you going to call it (If you have not already)? I would like to suggest calling it "whatever"... I believe whateveros.com/net/org is open.

"What operating system do you use?"
"Oh, I use whatever."

I could then make a program for whatever called what... or maybe call the programming tools/libs what.

you could put on your résumé that for a large programming project you (and a few others) made whatever.

Hahah, that would be too funny.

/* *** */

What language are you doing it in? C? Objective-C? C++? Assembly?
 

CoreWeb

macrumors 6502
Mar 2, 2007
456
0
Edge of reason
Go for it dude. Ive always wanted to make one myself. Operating systems really arent that complicated when you cut out all the bloated fat that doesnt belong in the kernel. 85% of the Linux kernel code is drivers. So if you only need to support basic hardware then it is extremely plausible that you could do it. Just make sure you plan the thing out very well before you begin.

No, operating systems are still pretty complicated (at least, from my perspective). It depends what you mean by an OS, though, I suppose. I tried to write one once. Complicated and tedious.

When I saw the thread title, I couldn't help but think of this legendary thread.

Sounds like you are being a bit more realistic though. Good luck with the project :)

I was like that once. Though, I did manage to get somewhere.

haha, this brings back wonderful memories of a while back when I attempted to make an OS by typing random C++ codes I found in 'The Idiot's Guide to C++' into the BSD source then making a flash animation that was the GUI. I never got BSD to load the .swf. or boot. or compile. lol. anyways, I got flamed quite a bit, but I totally deserved it. you obviously know what you are doing and have reasonable expectations (my OS was going to be better than windoze and OS X and I was going to save all the starving children in Africa with my billions).

Good luck!

EDIT: must have missed this:

glad to be legendary!

I glanced at your thread, and it reminded me of myself a few years ago, when I was around 14-16. I wanted to build an operating system. And, I did get somewhere. I managed to use a bootloader (not mine), create a FAT12 driver which would get the first 512 bytes of any file (but I couldn't figure the bugh which made it go to the wrong place for the next 512 bytes out). I tried to make a memory manager, but I wasn't quite able to. I made command-line and GUI variants (256-color, ultra-low resolution GUI, nothing fancy - you could move the mouse and do mouse clicks, and drag around a box on the screen).

I got pretty far, I suppose. I spent probably a total of a month or two on the project, a couple of hours a day.

However, despite the fact that I failed in my creation of the operating system, I am quite proud of this time: I now know a ton more about computers, and have a much better understanding of how programs work. It made me a MUCH better programmer.

I wrote mostly in C. I didn't write much assembly, as I hardly understood it at the time.
 

GothicChess.Com

macrumors regular
Apr 6, 2007
126
0
Philadelphia, PA
The problem with "starting" on building an OS is what I call "painted-yourself-into-a-corner-itis." :) It's easy to get yourself down a path with no forward way out. Then you start "changing" stuff to get yourself out of the corner. Then you're still in the corner, just facing a different way. Then, your're finally out of the corner, until you paint yourself into another corner, and the cycle repeates till you hit more corners than you thought were in the room.

And what you are left with... is Windows! :)

I speak from experience, I worked with a small team to try and build an OS, then the BE OS came out (1993) and shattered our dreams.

I would say, do this:

1. Build an APPLICATION first that has the look and feel of an OS without being the OS.

2. Have it MIRROR your existing hard drive to verify it works. You should be able to open/close windows, select files and apps and get info on them etc.

3. When you are satisfied with what it looks like, start investigating the "hard stuff", and port the functionality of your application into the OS.

And good luck!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.