SkyOS is a home brewed operating system, created by Robert Szeleney in the last few years as a hobby project. As SkyOS gets bigger and more advanced, its popularity and importance are also growing, driving the 3-member team to add more and more functionality. Latest in their efforts is the — already working according to the SkyOS web site– Linux emulation layer which runs Linux binaries natively, without recompiling. Among their future plans is also a Windows emulation layer. But SkyOS is much more than emulation layers, it has a personality and functionality of its own. Read more for what Robert has to say about SkyOS and its future.1. Please tell us about the technical aspects of SkyOS. Kernel, multithreading/tasking, filesystem etc
Robert Szeleney: SkyOS is an operating system for intel 486+. It supports features like 32bit PM, paging, virtual memory, kernel/user multitasking/threading etc.
SkyOS has a full preemtiv kernel and supports kernel tasks/threads as well as user task/threads.
A virtual filesystem is implemented which supports sub-filesystems like FAT, SkyFS, ISO9660, devicefs, procfs and fifofs.
An other feature is the SkyGI. This is the graphical part of SkyOS splitted into two parts. A kernel and a user library. The kernel library implements
the window manager as well as primitv drawing functions.
A lot of device drivers has been implement for SkyOS like keyboard, serial mouse, ps2 mouse, IDE harddisk, ATA harddisk, ATAPI cdrom, VGA16, VESA, CT,
ELO touchscreen etc.
Scheduler is a priority based round robin scheduler.
2. When and why did you start coding SkyOS? What is the goal of the whole project?
Robert Szeleney: I started coding SkyOS in 1996. But I really don`t know why. I remember that I wanted to code a bootmanager. After I finished coding this in one day,
I thought about implementing more functions into this “bootmanager”. And so I started SkyOS V1.0, a 16bit OS written completly in assembler. In 1998 I
started SkyOS V2. (32Bit PM written in C). But SkyOS V2 didn`t support usertasks and virtual memory. So I rewrote the complete OS and started SkyOS V3. (32Bit PM, Paging, Virtual memory etc )
I have no exact goal for SkyOS. It should support as many hardware as possible and should be binary compatible to linux first. There are
emulation layers in the kernel which fakes that is is a running linux system so linux applicatons can run natively.
3. What are your plans for a networking stack? Will you incorporate a BSD-like library or rewrite it from scratch?
Robert Szeleney: SkyOS has a TCP/IP stack already. (I implemented this in version 2 of SkyOS). Only the TCP layer should be rewritten completely.
4. Do you have plans to make the OS posix compliant or you prefer it to be closely to the Windows model?
Robert Szeleney: As mentioned above, SkyOS support emulation layers. So it will support POSIX as well as the Win32 API. Currently I`m implementing more and more
functions for POSIX. WIN32 compatibility will be in the future.
5. Do you accept help and source code or bug fixes from third parties? Do you put restrictions to third parties regarding coding style etc?
Robert Szeleney: Until version 3.0, SkyOS was open source. But now, I don`t want SkyOS to be open source. I put so many work into this project, that I don`t want to
give to source away. But I accept project members. If someone want to code for SkyOS he can have source. Also, I accept source codes and bugfixes for
SkyOS. I don`t put restrictions for coding style. If someone coded for example a new driver, I will change the code to fit into the whole SkyOS
coding style.
6. Which are the strongest features found in SkyOS?
Robert Szeleney: Hmm, strongest features… I think SkyOS doesn`t have features which hasn`t been seen before in another operating system. Also, I don`t want to say that some features are better then in another operating system. First I want to get a stable, wide supported operating system. Then I will try to optimize and implement better features.
7. Do you plan to add native development tools to the OS? For example, to be able to compile code within your OS?
Robert Szeleney: Sure, as soon as the linux emulation layer is finished, it will be possible to run gcc and other programming tools. I don`t want to code a compiler
myself.
8. Your VESA implementation seems quite slow when compared to let’s say, Qube’s. Do you turn on the MTRRs in the Intel PII+ CPUs? Any plans for a speed up in graphics?
Robert Szeleney: The window manager and the graphic interface as well as all graphic drivers are really fast. (for example, recalculating all visible/dirty regions of
100 window objects needs only 0.2ms. But the VESA and VGA16 driver has a big lack. The copy_screen_to_screen function is really slow. It needs about
22ms to copy a 480*200 pixel region from on position to another. But the VESA driver isn`t optimized yet. (MTRR isn`t enabled, and really no optimization in the copy function). If you use, for example, the Chips and Technologies driver, you will see how fast the GUI is).
9. Does the OS have a VM yet? What kind is its filesystem? How about support for non-rectangle windows?
Robert Szeleney: The virtual machine implemented in SkyOS is primary used to call BIOS functions. SkyOS supports following filesystems: FAT12/16/32, SkyFS and ISO9660. Also, there are some virtual filesystems like procfs, devicefs and fifofs. I don`t know what to do to support non-rectangular windows yet. This feature isn`t on my current todo list, maybe in future.
10. Where do you see SkyOS in the future and what are your plans in general?
Robert Szeleney: Because SkyOS has a realtime scheduler and a really good interrupt latency, it could be possible to use SkyOS as a realtime operating system or as a visualization platform. But primarily, my first goal is a simple task: to play my MP3 files, browse in the internet, and compile applications…
I respect that you don’t want to give source, that is your right. But I fail to see *why*. You are really limiting yourself as far as developers go. Also, given today’s settings, you’re either joining the open source ranks or competing with Microsoft. Good luck.
close sourced? Like Beos -> death is its fate
closed source? Like Windows -> err…
1st: If you want, you can have access to the sources, he said it..so no problem for me, in fact, better so nobody steals its stuff.
2nd: It seems like a very interesting thing, just that i dont understand the idea of making that emulation layer, WHAT 4??
I beleive that is really a waste of time.. optimize the drivers, enhance the IP protocol, port a navigator, develop an IDE, but..
Why would you make an emulation layer?????
Pablius,
The emulation layer is the ONE thing which makes this OS stand out from all the others that are currently available (i.e. *nix/*bsd/windows) because the emulation layer will allow you (that is, the user) to run _every_ application you would want… You like IE? run it. You like licq (linux icq client)? run it. You like some freebsd-only app. (sorry don’t know freebsd, but i wouldn’t be surprised if they don’t have some great bsd-only app or another)? run it.
get the picture? running these applications side by side is a dream come true (at least for me) ‘cos then i wouldn’t need 2 computers to run both my OS wishes (which i do at the moment).
I don’t see the difference between the emulation layer of SkyOS and projects like Wine. Linux already has a POSIX compliance. Wine is a layer to run WIN32 applications.
I was interested in SkyOS but now, because of closed source, I am not. I prefer Linux and AtheOS. The key to compete against M$ is open source not freeware.
In the interview I said SkyOS is not open source. That’s not absolutly right. If you want wo have to source (to code for SkyOS), you can have it!
But I don’t like to put the source on the homepage for the public!
Emulation layer:
I think this is one of the most importent things! If you emulate only 8 linux API calls, you can run about 1000 linux applications! Or do you thing writing this applications once again for SkyOS is better?
Personally I prefer a good closed source OS over a bad open source OS. I don’t really care, if it’s open or closed source. But remember: The developers don’t pay licensing fees to anyone. If SkyOS was “dying”, they could release the source (not like BeOS).
——-
What are the details of SkyFS? The infos on the homepage isn’t understandable for me. Is it 32 or 64 bit? Journaled? Indexed? What about file attributes?
…?
——-
Does SkyOS run on PC emulators? How well does it run on VirtualPC, VMWare, and Bochs?
The original Windows NT had the concept of subsystems: There was/is the Posix subsystem, the OS/2 subsystem and the Win32 subsystem built in. Unfortunately only the Win32 susystem was promoted and maintained, so the others got forgotten. Is SkyOS picking up on this idea?!
Just what the world needs… another OS. You know, why not take all of the time and effort you are putting into SkyOS and contribute to a project that has a better chance of longevity? Ask yourself this question: other than to appease your own vanity, does this project serve any real purpose? It sounds like the author has done a great deal of excellent work on this OS in a fairly short period of time, but why reinvent the wheel? Why not contribute to building a Win32 API layer by joining the Wine project instead of starting from scratch and building a parallel project? It seems like such a waste of effort.
Let’s face it, based on the given description of this OS, it has no feature value not found in an existing project or product. In fact, with the addition of a Linux emulation layer, SkyOS really just starts to look like a cheap Linux knock-off. If I’m going to run Linux apps anyway, why not just run them on Linux?? SkyOS offers nothing that Linux doesn’t already do better! So do you think that someday, someone will pay to run SkyOS (which is why the source is closed for the slow among you) when they can get all the functionality and more out of a free OS? This reminds me so much of the BeOS debaucle, it makes me sick.
Here it is in simple terms: Microsoft is a software giant, rolling over the landscape, crushing everything in it’s path. Unless you want to see a day when every computing device runs Windows (which is Gates’ and Balmer’s ultimate goal), then the alternative OS community needs to stop butting heads and learn to co-operate. Building 20 little siege engines (OS’s) to fight the giant will be ineffective in stopping the onslaught. The community needs to establish a unified front, and build a single gargantuan siege engine that can defeat (or at the very least, hold back) the giant. The best tactic at this point would be to pick a single OS, and throw all available resources into furthering it’s development. Right now, that candidate appears to be Linux (although, I’m sure those among the *BSD crowd will disagree). Linux has good hardware support, good stability, good scalability, a good software base, and most importantly, a good media image. It may not be the best OS in one particular area or another, but it comes out ahead in the overall average.
So this is my message to the SkyOS team: if you want to spend your time developing a closed-source OS to take to market, be my guest. Microsoft will crush you. You will fail. But I encourage you instead to take your skills and contribute to a project that may one day serve to improve the computing world, rather than stuff it into Microsoft’s back pocket.
The Prophet said M$ will crush SkyOS. The Prophet has spoken. The Prophet is always right. *g*
The Prophet: Linux is sloooow as a desktop OS. It is not an alternative. BeOS is MUCH faster, easier.. but i don’t want to start another OS war. I like BeOS much more, does it mean that i should say “Ppl stop doing what You want! Support BeOS – it’s the only way!” ???? Stupid. There is no “The One And Only Way”, there are more answers. If You like Linux: good. I don’t.
Most of you people, are taking the whole thing in very wrong way.
When someone is writting an OS is NOT about out throwning Microsoft or Linux or whatever. It is NOT about “why do *we* need yet another half baked OS?”. Because *we*, don’t most of the times. But the OS authors do:
For these hobby OS developers, it is all about LEARNING. It is about HAVING FUN coding cool low level stuff.
And how do I know?
Let’s say that I met –in real life– FOUR of these people who write OSes in their spare time. And heck, I am happily married with one of them. Believe me, I know and understand their mindset first hand.
Get a grip people. It is not about becoming the best OS, or the best selling OS, or the best whatever, it is about LEARNING and HAVING FUN in the process (because these geek coders DO have fun when they code low level asm and stuff).
And put that in your skull when you visit OSNews, because OSNews is also about all these things, not just delivering news for well-known established Operating Systems.
Darn it, I need some coffee, I just woke up… ZZZzzzz
Wasted effort? I’m pretty sure that Mr. Szeleney wouldn’t think so. I imagine that enjoying coding and having fun working on a project that he enjoys is MUCH more important to him than being part of the Open Source community or your delusions of grandeur with respect to overthrowing Microsoft.
Get a grip, little man! It’s not all about you and what you expect developers to code. It’s about what THEY want to code. The funny thing is that you advocate the OS dev model but fail to understand the concept that is integral to OSS: OSS will be better than closed source, proprietary, commercial software because the coders will envariably be working on projects they love. The same argument applies to restricted source, non-commercial products as well, like SkyOS.
Besides, here is a project that I’m sure has hundreds (thousands?) of man hours devoted to it. If you feel so strongly about telling someone what they should and shouldn’t code on THEIR OWN TIME, then clearly you must’ve put that much work into your vision: making Linux a better system so that you can put MS out of business. So where’s your project? What have you done to further your ideas besides telling people off and expecting them to get behind your brilliant leadership? Or are you all talk and no action?
I’m not even questioning your sense of priorities at this point (ie. why is overthrowing MS more important than working on personal OS projects you enjoy more?) as much as I’m just plainly calling you a hypocrite for not practicing what you preach.
Sorry, but FreeBSD already supports most of the features of this new, closed source, Operating System. Including Linux binary compatibility. The only thing that FreeBSD is”lacking” is binary compatibility with Win32 applications (if you disregard WINE which is not a kernel layer)…
So I prefer and will always prefer an Open Source Operating System which supports these features over any closed source product.
Do have a look at http://www.freebsd.org and decide for yourself.
… then why the closed source nature of the project?
And what about the comment about marketing the OS as a RTOS?
If SkyOS is really “just for fun” why wouldn’t the authors invite peer review and source contribution? Why isn’t the source publicly available?
The only reason to keep source code closed is if your intention is to make money from the project at some point in the future. At which point, it ceases to be a “hobby” OS, and becomes a commercial project.
Notice the comment the author made about rewriting source contributions to fit the SkyOS “coding style”. That is a smokescreen. This is essentially propriatizing the source, so that it differs from the original contribution and becomes the property of the SkyOS team, and not the contributing coder.
Personally, I’ve contributed a lot of code to open source projects over the past few years. But I would never expend effort on code and then hand the code to a proprietary project for free. Essentially that would make me an unpaid employee of a commercial (or potentially commercial) venture.
I, like many others, am coding a small hobby OS. However it is also closed source. Wny? Because even though, I offer the binary free to the public, I still wish to control the source. That’s the point, I want to have ultimate control over the source, and particularly, it’s distribution.
My final words are: If you think Linux is the be all and end all of OS’s, then it’s time to pull your head out of your arse, and have a good look around. As a friend said to me, “Linux is a toy, nothing more…”
Chewy, I wanted to ponder what you had to say… sure Linux is a toy, but where its at now is just an intermediate step. Perhaps, if the developers were able to write their own system instead of just recreating unix, it might be smoother in design. Wait and see where Linux is in 8 years compared to Chewy509-OS , hmmm…
SkyOS is one hobby project..So if closed source nature of the project irritates someone just mind ur business..
you’re evil, prophet.
im another one making an operating system. its real hard. i just want something usable. linux aint goin’ anywhere on the desktop market. nope. well thats all i have to say.
Eugenia’s right. Heck, I’m just 14 years old and coding an OS. I’ve been coding OSs since I was 11. Why do I do it? Cause love low-level programming. You have a feeling of accomplishment once you’ve done it. Something you can rightfully call yours. You learn too. It turns your mind on to see computers running what you’ve written and to know the very itty-bitty details of how it’s done. Personally, if I put so much effort into an OS and added new features to it that nobody else has, I wouldn’t just throw the source into the open. I’m still coding my OS, now called Whizzer. And yes, it’s closed sourced. 🙂