OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Mar 19, 2024 1:24 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 35 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: BareMetal OS
PostPosted: Wed Mar 03, 2010 9:25 am 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
Latest news: BareMetal OS v0.5.2 was released today. Mainly a maintenance release. Very basic ipconfig util with ARP and ICMP support (It will respond to ping).

BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. Development of the Operating System is guided by its 3 target segments:

* High Performance Computing - Act as the base OS for a HPC cluster node. Running advanced computation workloads is ideal for a mono-tasking Operating System.
* Embedded Applications - Provide a platform for embedded applications running on commodity x86-64 hardware.
* Education - Provide an environment for learning and experimenting with programming in x86-64 Assembly as well as Operating System fundamentals.

http://www.returninfinity.com/baremetal.html

Old posting:
BareMetal OS v0.5.2 was released today. The main changes have been the addition of the Newlib C library that applications can now compile against.

Older posting:
BareMetal OS v0.5.1 was released today. The main changes have been the addition of Gigabit Ethernet support via the Intel PRO/1000 and Realtek 8169.

Much Older posting:
BareMetal OS v0.5.0 was released today. The main changes have been the addition of Ethernet communications and memory functions.

Much, Much Older posting:
BareMetal OS v0.4.8 was released today. C library updates, additions to the documentation, bug fixes, etc.

Much, Much, Much Older posting:
BareMetal OS v0.4.6 was released yesterday. Major additions were the ability to write back to the harddrive (FAT16 formatted) as well as draft documentation on the OS. The C library for applications was also updated. Next steps are for PCI and network access.

BareMetal is a 64-bit, monotasking, multiprocessor Operating System written in Assembly.

http://www.returninfinity.com/baremetal.html

-Ian

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Last edited by IanSeyler on Tue Apr 30, 2013 1:02 pm, edited 8 times in total.

Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Wed Mar 03, 2010 12:00 pm 
Offline
Member
Member
User avatar

Joined: Fri Jun 22, 2007 12:47 pm
Posts: 1598
Location: New Hampshire, USA
Unfortunately I don't have time to test your release until I get home. I mainly wanted to say that your website is slick!
I'll post something more meaninful/helpful later on lol

_________________
Website: https://Joscor.com


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Wed Mar 03, 2010 7:29 pm 
Offline
Member
Member
User avatar

Joined: Sat Nov 15, 2008 2:37 pm
Posts: 815
Location: The Fire Nation
well done, i barely see 64 bit os's, Thank you for releasing your latest one


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Fri Mar 05, 2010 11:21 am 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
Thanks. If anyone has time to read and give feedback on the Architecture doc that would be great.

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Fri Mar 05, 2010 12:24 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 27, 2009 1:40 pm
Posts: 59
Location: Hanover, PA
ReturnInfinity wrote:
Thanks. If anyone has time to read and give feedback on the Architecture doc that would be great.


I'm just chiming in to say that I love the idea of having a, essentially, 64-bit version of DOS. Thanks for putting one out there. :)


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Fri Mar 05, 2010 6:07 pm 
Offline
Member
Member
User avatar

Joined: Thu Mar 06, 2008 1:26 pm
Posts: 81
Location: Roseville, California (USA)
Yes, this definitely looks quite useful. :)


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Tue Mar 09, 2010 2:00 pm 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
As of SVN revision #188 applications can retrieve the arguments that were passed to them.

Programming an app to use arguments is pretty straightforward:
Code:
[BITS 64]
[ORG 0x0000000000200000]

%INCLUDE "bmdev.asm"

start:               ; Start of program label

   call os_get_argc
   cmp al, 1
   je noargs
   mov rsi, hello_message      ; Load RSI with memory address of string
   call os_print_string      ; Print the string that RSI points to
   mov al, 1
   call os_get_argv
   call os_print_string
   call os_print_newline
   jmp fin
   
noargs:
   mov rsi, noargs_message
   call os_print_string

fin:

ret               ; Return to OS

hello_message: db 'Hello, ', 0
noargs_message: db 'no arguments supplied', 13, 0

Running the program without arguments will result in "no arguments supplied" being printed to the screen.
Running the program as "testapp Bob" will result in "Hello, Bob" being printed to the screen.

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Tue Mar 09, 2010 2:03 pm 
Offline
Member
Member
User avatar

Joined: Thu Mar 06, 2008 1:26 pm
Posts: 81
Location: Roseville, California (USA)
That's cool. :) EDIT: Nevermind.


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Wed Mar 10, 2010 2:27 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 15, 2009 10:01 am
Posts: 311
Location: France
Tested. Works fine. Also, thanks for the documentation. I'll try to write some applications for it.

_________________
"Open source seems to embrace the dark side of human nature." - Ville Turjanmaa


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Tue Mar 30, 2010 2:56 pm 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
As of SVN revision #197 SMP handling has changed dramatically. Originally, tasks were assigned directly to a CPU. As of now there is a "work queue" that all CPUs poll. The os_smp_enqueue function adds a workload to the queue (just a simple circular buffer).

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.7
PostPosted: Fri Apr 30, 2010 11:34 am 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
Version 0.4.7 is out now. See the start of the thread for more information.

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.6
PostPosted: Mon May 03, 2010 2:03 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
ReturnInfinity wrote:
Thanks. If anyone has time to read and give feedback on the Architecture doc that would be great.

Looks great, except for two things :
1/The diagrams are wrong. Aestetically speaking they're pretty neat (what software did you use, out of curiosity ?), but readability-wise there's room for improvement. First, since the average english speaker reads from left to right, I'd move the "software" and "hardware" labels to the left side, so that the reader know what the blue and green things are about *before* reading them. Moreover, you do not fully take account of Gestalt laws : things are detected by the viewer's brain as "going together" if they are put close to each other and/or have the same shape and/or use the same colors. In your current diagram, the labels are psychologically distant from the things they describe, so they're just ineffective and confusing.
I'd suggest something like this instead :
Attachment:
mockup.png
mockup.png [ 19.52 KiB | Viewed 16513 times ]

2/I'm not a good English speaker, but I'm pretty sure that "In actuality" (size section) is wrong and should be replaced by "actually".

Anyway, congratulations for making something original, and daring to say, here in the 21th century "Features like multitasking are neat, but they are not suited for the use cases that we target". It's rare to encounter people who are so wise about features in the computer world ;) And by the way, your site is pretty neat, too, both from an aesthetics and content point of view, even though I personally find some parts of it (like the gray and teal color scheme) hard on the eyes...


Last edited by Neolander on Tue May 04, 2010 12:02 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.7
PostPosted: Tue May 04, 2010 10:33 am 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
Hi Neolander,

Thanks for your comments. I have taken your advice and updated the diagrams. They were created in Microsoft Visio 2007... it seems to do a pretty good job.

Image

"In actuality" should work but the documents could stand to be cleaned up and simplified for people who do not use English as their primary language.

Thanks again for the kind words. The OS is being written with specific goals in mind and I would love to see it running on clustered hardware in the future. Maybe I could get a company like Pixar to switch from Linux to BareMetal for their render farm at some point :)

-Ian Seyler

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.7
PostPosted: Tue May 04, 2010 12:17 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
ReturnInfinity wrote:
Thanks for your comments. I have taken your advice and updated the diagrams. They were created in Microsoft Visio 2007... it seems to do a pretty good job.

Maybe I should try out these new Office releases some day, if I get bored with linux some day and want to have a look at the newer Windows experience. I heard many people saying that they are happy with them, and they certainly seem to do better than the 97/2000/XP series that I'm used to and that Oo is re-implementing in a better way :mrgreen: ...

About the diagram, I think something went wrong in the upload process because to me it looks very much like the original version. There's even the same date at the bottom. What did you change ?
EDIT : Okay, now it has changed... And it's way better in my opinion :)

Quote:
"In actuality" should work but the documents could stand to be cleaned up and simplified for people who do not use English as their primary language.

I don't know. It's pretty easy to read for me who's not exactly an English master (especially when it comes to *writing* in English), and this is a rather technical document to begin with, so I don't feel like there's a need for simplification here.

Quote:
Thanks again for the kind words. The OS is being written with specific goals in mind and I would love to see it running on clustered hardware in the future. Maybe I could get a company like Pixar to switch from Linux to BareMetal for their render farm at some point :)

Who knows ? Looking at my own long-term OS plans (I can go into details about them if you want), it's certainly not me who's gonna tell you that your goals are unrealistic ;)

After all, Pixar already proved that they were flexible enough to make the switch to Linux. So if you manage to offer them a massive advantage over it (which is nontrivial, but indeed possible), you certainly have some chances of success.


Top
 Profile  
 
 Post subject: Re: BareMetal OS v0.4.7
PostPosted: Sun May 09, 2010 4:16 pm 
Offline
Member
Member

Joined: Tue Apr 13, 2010 8:00 pm
Posts: 285
I saw your video on Youtube, looks really good, I hope I get to that point, eventually.

As for the "In actuality" vs. "Actually", "In actuality" literally means something is in a state of being actual, "Actually" means something is actual. They are the same, "In actuality" just sounds better.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 35 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group