News

Interceptor Release Progress

Saturday, February 28th, 2009

I made a small breakthrough today with the first Symmetry release, 0.1 (Codename Interceptor), with the two most critical defects in the development branch being fixed. These were both problems that stemmed from a problem in Symmetry’s memory management, and have been blocking progress in the kernel for around three months now. With these fixed, as well as some good progress on vector support, Symmetry is well on the way to gaining multitasking and Elf executable support!

According to Trac. we are now 58% of the way to the 0.1 release. I expect that this will be done mid-year.

Hello Mac OS X

Sunday, December 21st, 2008

Symmetry on Mac OS X

Normally I develop Symmetry on my Linux box, which runs Ubuntu 8.10. This makes everything very easy, as you can just install the packages for gcc, binutils, nasm, git and mkisofs, and Symmetry will (usually) just work. In the next month I’m going to have a lot of spare time to work on Symmetry in the next few weeks, but I’m going to be away from home - with my laptop, an Apple MacBook running Mac OS X Leopard. While OS X does have GCC, it can only generate binaries in the Mach-O format. Building an ELF executable which GRUB can load, on the other hand, requires making a GCC cross compiler. Although this is a somewhat daunting task, it’s really quite easy with a good guide like the one at the osdev.org wiki.

Although I had some problems trying to build Symmetry at first, now I’ve got everything working nicely. I’ll have to save some documentation for when I’m without internet (like on plane trips), but apart from that, there shouldn’t be any problems developing when I’m away now!

Introducing Symmetry

Saturday, August 23rd, 2008

I haven’t really worked on my operating system lately, but I have done a little in the way of getting paging and some basic ACPI (!) support done.

I have been using Git to manage the project’s source code since I rewrote the C++ version, and today I found a pretty nice Git hosting site for open source development called Gitorious. The main repository will be hosted there now, instead of at the Google Code site as before.

Also, SoS now has a new name - Symmetry. I changed it for a few reasons. First, Stephen’s Operating System is kinda a lame name… Because of that I had been using SoS, but that still isn’t a really good name, because it has weird capitalisation, and names with OS in it are sort of unoriginal. Anyway, the abbreviation will continue to be sos, but the name of the project is now Symmetry.

Lastly, I upgraded to Ubuntu 8.10, which has a new GCC version. Just like last time, the operating system fails to build. Then, it was because it got too many warnings about char*s which should have been const char*s, and now it is that it doesn’t like me having one argument in the main function, and it wants the first argument to be an int. I don’t see why though, since I’m not using any standard libs or builtins or anything… It shouldn’t matter…

Anyway, I’ll try to find a solution for that eventually. But it’s annoying because I can’t really do much until I can build and test it…

New Stuff

Friday, February 22nd, 2008

I have just posted a massive commit today. Well, it wasn’t that huge, but I have put a lot of work into it. The first thing that’s different is in Seashell - I’m trying to get it to process arguments and then pass it to the function called, but that’s not working too great. Counting the number of arguments works (except that it disregards quotes), but it can’t put the arguments in string arrays…

But, the least work went into the main code. If you have the whole SVN tree (not just trunk), you’ll notice that there are two more directories - documents and utilities.I started a user manual in LaTeX, which is coming along (it’s formatted for A5, for two-up printing into a book). Also, in Utilities, there’s a ramdisk creator that (although it’s very, very basic at the moment), will take the arguments that you put into it, and create an SoS compatible ramdisk. It’s a proprietary file format at the moment, but later I’ll probably use something like Simple File System (SFS), to support more complex file handling (like directories)

Seashell

Wednesday, February 6th, 2008

Seashell
Click image for high-quality version

I have now started Seashell, SoS’s default terminal! It only has a few commands as of yet - but what I want to think about first is separating out the arguments, and passing argc and argv to the commands. Then I will be able to do some interesting stuff.

Supported Platforms

Friday, February 1st, 2008

Well, I thought that it might be a good idea to have SoS run on 32 bit computers as well, as we have a few left that could be used for testing. So I decided that, instead of just dropping support for 32 bit processors, I will add a define that contains the platform, and act accordingly.

The 32 bit version currently does more than the 64 bit one - so for the time being, I will be using that exclusively on the Download page. The 64 bit version doesn’t switch to long mode yet, and

The new code is in the latest svn revision.

64-bit

Wednesday, November 28th, 2007

There is no point, in my opinion, trying to develop a 32-bit operating system at this time. The x86 platform is not worth the development time anymore, because I’ll just have to port it to 64 bit in the future. Therefore, I am dropping support for 32-bit, and am moving to 64.

Pretty much every computer you can buy these days has a 64 bit processor, and even though they can run in real or protected mode, what’s the point of getting stuck with limited memory access and so on anyway.

OK, not a microkernel

Sunday, November 11th, 2007

Instead of making a microkernel, I’ve decided to re-write SoS in C++. It will be object oriented, and a lot cleaner. You will also be able to download the source code from the Google Code project, in the SVN repository.

Mircrokernel?

Wednesday, October 31st, 2007

I might rewrite SoS as a microkernel…

Then again, maybe I should just focus on adding floppy and CD-ROM support and multitasking to the current SoS…

Downloads Page

Monday, February 5th, 2007

I made a downloads page, and in my opinion, it looks great. The only problem is that only the floppy disk image is currently up. I’ll make a CD iso and put it up tomorrow.

-Stephen