AtheOS Interview
JigSaw writes: "BeNews has a very interesting interview with Kurt Skauen, the AtheOS creator and almost its sole developer. In the interview, Kurt is discussing the design of his OS which features a (nearly) micro-kernel, memory protection, 'true' multitasking, real C++ OOP design from the ground-up and all the rest of these buzzwords. AtheOS uses its own GUI, it does not rely on X or KDE libs, so porting Konqueror to his OS was a bit of a challenge."
I think it was under DOS, as before the 0.3.0 release of AtheOS, it could even boot off a DOS FAT32 partition! Then, Kurt removed that "feature" and made AtheOS bootable to its own partition with its own kick-ass 64-bit journaled and attributed file system. :)
Try QT/Embedded: It's a fully working GUI engine, backed by TrollTech, on Linux, that has the full QT widget set. And it's GPL'ed. And it does anti-aliasing, etc., etc., etc. It's even got konqueror.
pre-packaged 0.3.2 for VMWare - includes optional components - 120Mb ish IIRC
you can update to 0.3.4 once installed.
http://www.ethernalquest.org/VmAtheOS.zip
I haven't tried this, don't have the bandwidth.
Every time there's a discussion about BeOS the /. OSS/Linux zealots cry BeOS is good but that they'll never support closed source commercial software (as they run off to happily play Quake(TM)(C)(R) on their Linux box).
AtheOS brings some of the best of the BeOS world while being open source and POSIX compliant. No more whining, go get to work.
I just hope they make the API as elegant as the BeOS API, which is a jewel.
Accually the i386 could access several terabytes of memory. However when you go over 4Gb you have to get into segmented memory. Memory segments were very difficult to get right in DOS (not sure about other systems, but few used segmented memory) so nobody bothered implimenting them. (Accually this isn't true, microsoft implimented segmented memory in win32, but that seems more to break OS/2 then because there was a gain from it)
4 gigabytes comes from having 32 bits. (2 to the 32nd power is 4 billion something)
Does it run in VMWare? Or Plex86? That capability would be a great way to try it out.
If tits were wings it'd be flying around.
I would've posted this to the article's forum, but it looks like it would get drowned out with all the mumbling about be (side note to be fans: Get Over It).
Anyway, it would be interesting to hear about what steps Kurt had to go through to bootstrap to OS to a usable state. Was initial development done under Linux, DOS/Windows, or some other OS? Was there a lot of rebooting going? I've never written my own OS, or even just code that is loaded by the BIOS as an OS would be, even if all the code does is write "Hello World!" to the screen.
Kurt, if you're reading this and you don't mind, a bit of background info would be nice. Thanks in advance.
dennis
Uh oh, Kurt is Norwegian, and Linus is Finnish, what happens when AtheOS gets advocates? Will the flame wars turn Scandinavia into the next Balkans?
To live till you die is to live long enough. -Lao Tzu, Tao Te Ching
How does it manage to claim to be `open-source' when the download page will not let me proceed without agreeing to a discriminatory statement?
.|` Clouds cross the black moonlight,
~Tim
--
~Tim
--
Rushing on down to the circle of the turn
Get a grip, yourself.
He says that he's wanting to perhaps switch the core system to the LGPL so that he doesn't discourage people using other licenses. He's doing this to allow 3rd-party developers more freedom in designing their software. He never mentioned taking the whole OS to a closed source license for profit reasons. You're either trolling or grossly misinformed.
You know what? Even if he felt like doing that, then your choices are (1) shut up and (2) like it. It's his personal project that he's poured blood, sweat, and tears into. You're obviously not a user of AtheOS, so it's not like it effects you anyway. You claim that he's "no Linus" and that his "poject is no Linux," but let's see you write your own OS from scratch, especially one as advanced and fully featured as his. His OS is in many ways on par with Linux and BeOS for functionality, and he's been doing it all himself. Let's see you do better.
Futhermore, exactly where does he bash on other OSes or brag about how great his project is? Nowhere. You're just making up crap to troll, and it's not even a very good one at that. This man has done something that 99.9999% of the population simply isn't capable of and you dare to slam him for it because of a simple potential license change?
Whatever. You people are the reason that the Free Software movement feeds on its young. I can't believe you'd slander this man over such a petty thing as going from one Free Software license (GPL) to another (LGPL).
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Is this OS available for the Amiga?
Well, that depends. You see, Amiga is more than a piece of hardware. It's more than an OS. It's more than an internet appliance. It's more than a video editing workstation. Amiga is a metaphysical state of computing perfection -- an undefinable nirvana between hazy dreams, shattered promises, and perfection long since lost. Amiga is a way of being. It is enlightenment. It is a freedom gained from oneness with vapor than only many, many years of guru meditations can achieve.
So, no. AtheOS is not available for Amiga, but it strives to be, much like us all.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
He may be a crackerjack programmer but his English leaves something to be desired...
It's not like most of the American-born readers (and editors) of this site have a better grasp of the language. That doesn't make them less intelligent, just less articulate. Plus, I'm halfway sure the guy isn't a native English speaker anyway. Let's see how well you do in your second language, if you even have one that is.
I respect his C++ skills better anyway. I have to have a lot of respect for a man who will singlehandedly write his own preemptively multithreaded kernel, taggable journaling filesystem, GUI & event-driven programming layer, and system drivers, and who ported GLIBC and a web browser to his home-brew system. Sure, the grammar threw me for a bit of a loop initially, but just how high did your average native American Slashdot reader score on their verbal SATs/ACTs anyway?
This guy has a crazy mix of genius and dedication that could've changed the world if applied to things like military strategies or politics or if they had appeared on the scene at the right time and place. How different do you think things would've been had he started his OS 5 years ago? He'd be Linus right now and have his own cult following. (Of course, his OS might've gone in a completely different direction without his BeOS-loving friends to influence him.)
Of course, this is yet another pointless response to a blatant troll. Disregard as you see fit.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Get a grip, yourself.
He says that he's wanting to perhaps switch the core system to the LGPL so that he doesn't discourage people using other licenses. He's doing this to allow 3rd-party developers more freedom in designing their software. He never mentioned taking the whole OS to a closed source license for profit reasons. You're either trolling or grossly misinformed.
You know what? Even if he felt like doing that, then your choices are (1) shut up and (2) like it. It's his personal project that he's poured blood, sweat, and tears into. You're obviously not a user of AtheOS, so it's not like it effects you anyway. You claim that he's "no Linus" and that his "poject is no Linux," but let's see you write your own OS from scratch, especially one as advanced and fully featured as his. His OS is in many ways on par with Linux and BeOS for functionality, and he's been doing it all himself. Let's see you do better.
Futhermore, exactly where does he bash on other OSes or brag about how great his project is? Nowhere. You're just making up crap to troll, and it's not even a very good one at that. This man has done something that 99.9999% of the population simply isn't capable of and you dare to slam him for it because of a simple potential license change?
Whatever. You people are the reason that the Free Software movement feeds on its young. I can't believe you'd slander this man over such a petty thing.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Wow. I'm amazed. Does Atheos have any "official" sponsorship or support yet...e.g., from FSF, or something? This *definately* should be supported. Just awesome.
It's 10 PM. Do you know if you're un-American?
Why is there not one workingd GUI/graphic engine on Unix that is not X11 (eventhough there are regulary some attemps at it that appear here and there), and why a guy alone manage to make one that fully work (from graphic driver to widgets and API) and an OS to go with it ? If it is feasible on a "made from scratch" it should be already done on Linux for a long time. I mean - X11 has it's strength, but nowhere near the responsiveness and lean of BeOS GUI (or some other OS I won't name because I can already feel the flames...)
Is this OS available for the Amiga?
Addressing space. As in 00000000 to 7FFFFFFF on a 32 bit machine is reserved for the kernal.
Not the same as memory space.
Spyky
Dickhead. Linux does everything in kernelspace (networking!), except the GUI. AtheOS is much closer to a microkernel system (though it isn't one) in that servers do a lot of the processing. For example, the application server handles the GUI (ie "interface chrome") and other, well, application services.
A deep unwavering belief is a sure sign you're missing something...
Does everything on /. have to be about webserving, or "persistant objects" or security or something equally uninteresting? I mean doesn't ANYBODY use desktop computers here? AtheOS has a lot going for it, especially for such a young project. It has a fully preemptible kernel (Linux doesn't) that is tuned for desktop usage (Linux is not, otherwise the default quantum wouldn't be 50ms) and has awesome support for SMP (which Linux doesn't) because of the extensive use of kernel and server threads (which Linux doesn't use nearly enough).
A deep unwavering belief is a sure sign you're missing something...
Actually only old grognards use that definition of microkernel anymore. The "new" microkernel OSs are anything that run major services in userspace. They're not "pure" microkernels in the olden days sense, but who gives a f**k? If you're filesystem code crashes you're hosed, kernel space or no. Also, I'd like to point out that QNX (which is a microkernel) runs networking in kernel space. (At least QNX4 did)
A deep unwavering belief is a sure sign you're missing something...
The x86 processor can address 4GB of memory. OSs usually partition memory in order to map OS space into each processes. I don't know if Linux does this, but in other OSs (all versions of Windows, BeOS) this allows system calls to be made more quickly, since the page directory doesn't have to be changed and the TLB entries (the page table cache) doesn't get invalidated. The 2GB number is entirely arbitrary, (Linux reserves 1GB, Windows can be made to reserve 1GB) but a large number is needed to ensure that the kernel doesn't run out of address space. Partitioning memory also faccilitates access to user data during a system call, since all pointers passed to the system call are still valid (since the page directory didn't change.)
A deep unwavering belief is a sure sign you're missing something...
NT does the same thing (except it reserves the top half of memory for the OS.)
Is it just me, or is this one hideously ugly GUI
t ml
:P (It can run any other WM, right?)
http://plan9.bell-labs.com/plan9dist/screenshot.h
I wish the GUI was "beatiful" instead of the source.
--
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
I have zero tolerance for zero-tolerance policies.
Constitutionally Correct
I've got a couple of questions of my own, if you've got time to answer them.
Quite frankly, I'm a BeOS nut. I haven't had the chance to try AtheOS yet (I've been waiting for a more featureful build), though. I noticed some discussions a while back on the BeNews site (I think) about making AtheOS source- and binary-compatible with BeOS. Seeing that Be Inc.'s future is cloudy, I believe that I can speak for much of the BeOS community when I say that this would be much appreciated and would lead to wider acceptance and usage of AtheOS. I'm wondering, however, about the feasability of this. Since AtheOS is still in its early stages, changing the application structure wouldn't cause as many problems as with a more entrenched operating system, but I'm not sure how difficult this would be to do with the current AtheOS codebase (I'm not much of a programmer). If it is feasable, are there any speculations on your part as to whether something like this might be undertaken, or would it be something you would consider when there are more people working on AtheOS? Thank you for your time.
"One World, one Web, one Program" - Microsoft promotional ad
The Anti-Blog
It is true that AtheOS' kernel & appserver are closely tied. There is no "Command Line Only" option when running AtheOS, but there is the ATerm. The ATErm is analogous to an xterm. AtheOS uses bash exclusivly.
As for all those features "In the kernel", how do you think Linux does it?
Under AtheOS, the appserver (The bit that does all the GUI elements) is in userspace. Drivers are dynamically loaded, as are filsystems. There is no need to recompile the kernel to add in a driver. In fact there is no option to compile a driver into the kernel. Linux has far more "stuffed into the kernel" than AtheOS.
AtheOS isn't going to appeal to the hardcore Linux and BSD users. However, i'm inclined to say, "So what?"
If you like Unix & X, use it. If you want something a little easier to manage as a desktop OS, keep your eye on AtheOS.
Syllable : It's an Operating System
Well, AtheOS:
- Has a POSIX.1 API
- Uses bash as it's shell
- Uses GNU CC & Glibc
It's as close to Unix as it really needs to be, for me to feel comfortable using it. If you're used to Linux, you feel close enough to home using AtheOS for basic tasksSyllable : It's an Operating System
Hopefully some of the BeOS developers will take up this project as a hobby.
Pretty amazing. Too bad he didn't have more help, but how many software developers can find the time to put another 10 hours a week into an on-the-side project.
Kurt is probably very thankful for "32-bit OS Design and Development With Pre-emptive Threading in C++ for Dummies".
Linux has dynamically-loaded drivers; that has little to do with microkernels.
That's odd, I read the article and got the impression that the GUI (app server) is not built into the kernel. But yeah, I'm still waiting for that innovation.
Since by definition a microkernel doesn't run core OS services like filesystems and the network stack in kernel space, in what sense is AtheOS "nearly" microkernel-based?
I'm not even sure why people still care how microkernelish every new OS is...
Address space and memory are not the same thing. Many OSes reserve half the address space for the kernel, so that you can check whether a pointer points to user or kernel memory just by looking at the most significant bit.
Am I the only one around here who is a little leery anymore of clicking any links in the .cx domain?
eh, i guess that's what i get for browsing at -1...
---
---
Well, then you are not looking for a desktop OS. A Ferarry doesn't pull trees all that well so it must be inferiour to the tracktor. Right?
--- Kurt Skauen
It's not down. It is a bit loaded though :)
The server link is only 2Mb/s so it tend to be a bit hard to access when slashdotted.
--- Kurt Skauen
Yes. I have been developing AtheOS solely under AtheOS for about 3 years now.
>Is anyone working on a GUI RAD tool for AtheOS (something in the spirit of KDevelop or Glade)?
No.
>Are you trying to gather the momentum among application developers now or is it too early?
It's a bit early. I have never ever anounced AtheOS anywhere myself since many important "desktop features" and other things that I whould like to have firmly defined from the beginning are still missing.
>Do you have a Component Model yet? If not are you planning to add one soon? A CM would definitely help keep the look and feel consistent and help avoid code duplication. Two things that marred Linux's acceptance as a desktop OS.
Nothing like COM or CORBA but AtheOS have an object oriented design and it is component based in the sence that you can build abstract components that communicate over the flexible "builtin" event system.
--- Kurt Skauen
"because it isn't there"
I think AtheOS is actually a very valuable project for the Open Source world because not everyone is a Unix fan. A modern GUI but non-Unix operating system under GPL is a good thing for the OS scholar, as it gives a different perspective on how to do things.
/brian
Plan9 has been killed by the lawyers at Lucent. It was a good OS many years ago. Lucent should have gone the Open Source route, and today Plan9 would have been much more popular. But the lawyers got in the way and they started charging for distributions, and throwing all sorts of legalese at ya. The end result? Plan9 is now as popular as the movie it was named after.
PS: BTW, according to the license you have to agree to before you can download Plan9, you cannot export Plan9 out of the US without a license! So much for putting it on your FTP site....
Because he has a desire to create and the ability to focus that desire towards his own OS.
If you don't understand then you are, indeed, missing something.
Waltz, nymph, for quick jigs vex Bud.
I think that a VNC client would be a good first step. It's a simple protocol that's easy to implement on the client side (although I concede I've never actually attempted to do so :). You can also actually run a VNC X-server and a VNC client on the same machine, effectively giving you an X server, so if vncserver could be coaxed into compiling (basically XFree86 with the display driver being the server side of the VNC networking stuff) you'd be coming along nicely...
"Do one thing and do it well", a maxim that works excellently, but that most developers seem unaware of.
actually, that's not true. what the license does say is that if you distribute the system with modifications, you must make the source code available (on request) to lucent (the intention is that they can make such modifications available in the general distribution).
this is no worse than the GPL, which stipulates that if you distribute the system, you must make the source available too.
not true. you have to comply with the US export regulations (as does the export of every other piece of software), and as it contains some crypto software, you aren't allowed to export it to one of the "7 terrorist nations" or somesuch crap.
this is US government's doing, not lucent's (although it has to be said the lucent lawyers do seem to err on the "safe not sorry" side at times...)
beauty is in the eye of the beholder!
i agree it doesn't look like conventional GUIs that you see everywhere else, but then again the point was to rethink things without prejudice.
you'll notice from that screenshot that there's very little lost screen real-estate. no arrays of cryptic icons, no titlebars, no buttons, no text entry boxes, etc. that's one design goal: screen space is precious, so use it for information not crap.
also, it can't run any other WM, as it doesn't use the abortion that is X windows. this allows the window manager to start up in a fraction of a second, and take about 1/10th of the memory of window managers under other systems. most applications start up faster than you can notice.
no, it's not an OS for weenies that want to point-and-click on a few predetermined actions all day, a la Microsoft Word. it's small, incredibly powerful, and a joy to develop for and use on a day-to-day basis.
It's open source, written by some of the best people in the business, (the source code is beautiful) and its whole raison d'etre is to investigate how things should be done, instead of how they are usually done.
you might find some of your fundamental assumptions challenged and your paradigms shifted, but isn't that the point?! it keeps fundamentals of UNIX while discarding all the crud that's built up since the 7th Edition...
Wrong. It is not a Unix clone although it has a pretty complete POSIX layer which allows it to run most of the command line programs you know from Unix. It is also not single user.
You had me at "dicks fuck assholes".
It might not hurt to remember that what QNX is today isn't the only way QNX could have developed. (Quite) a few years ago, when it was just a lean, mean microkernel OS with beautiful internals and a great vision, it could have evolved in various technical and business directions. Its ultimate focus (on realtime and embedded applications) has more to do with who was prepared to invest dollars and risk in licensing a non-M$/non-Unix OS, than with any built-in technical spin to QNX or its developers. QNX was fighting an uphill battle, and I think the company deserves plenty of credit for surviving in *any* form at all.
If I had ruled the world back then, I would have made QNX the top dog, and we'd have a great OS paradigm for the next 20 years. No slight to Linux, which has its own strengths; but I'd say that Linux is more important for social reasons, i.e. open source, than for intrinsic architectural reasons. But that's not how things worked out. In the dark days, I kept telling people "It wouldn't be bad for humanity if the QNX guys just gave up and LGPL'd the whole system." The technology was superior enough that it could have eventually provided a viable alternative for a whole class of high-performance systems. This is sort of the path that Linux acceptance has in fact wound up taking, but QNX would have had a bit more technical depth at each end of the spectrum, I believe, ranging from gnarly big databases to tiny embedded systems.
But anyway, that's not how things went, and *my* path would have required that a good OS company admit defeat -- which wouldn't be a nice ending, even if the rest of us profited with a pretty open-source OS.
JMHO -- Trevor
-- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
When you sit back and think about it, it's quite an astonishing acomplishment for one person. The OS itself has some interesting design features, but just the factthat it got designed and created at all (by one person) is quite amazing
Great work Kurt.
--CTH
--
--Got Lists? | Top 95 Star Wars Line
Over on the BeNews discussion board for the article, a lot of people are saying that AtheOS has (and presumably will continue to have) poor driver support.
They forget two things, however:
- AtheOS is GPL (though Kurt is considering moving it to LGPL).
- Linux has the best hardware support of any non-Redmond OS out there.
Combine these two, and it's almost a certainty that AtheOS will get drivers, simply because it's drivers can be based on Linux kernel drivers.It might be an interesting exercise to port most of the Linux kernel drivers to the AtheOS architecture.
Why do you think AtheOS is single user? Is it the login dialog that you get when you boot it up that made you think that it's single user?
AtheOS is what I've been wanting.
Simply put, it's an open source project that isn't just a clone of an existing product. Open Source works great when everybody has a pretty set model of how it should work. Linux was easy because they just had to make it work like the existing assortment of Unicies.
But AtheOS is good because they are investigating how things should be done, instead of how they are usually done. Granted, BeOS already did a lot of that thinking, but they still are going off in their own directions.
It'll be interesting to see how this works out. Is it possible for an open source project to create something new and truly innovative?
Gentoo Sucks
Funny you said that. I also prefer the look and feel of Atheos widgets. I think they are quite close to AmigaOS. They are simple yet functional and get the job done. Just what one needs no more no less. However, the big job for both KDE and GNOME was getting their respective Component Models working. That's no mean feat by any stretch of imagination. I don't think Atheos has one yet but it's a must for a viable desktop OS.
Your pizza just the way you ought to have it.
QNX does have a gui subsystem (Photon) but I think its main purpose is to provide QNX developers with a native QNX environment to avoid cross compiling. I don't think we'll see Photon as a end user front end. Having said that QNX is hiring multimedia plugin developers so I might be wrong here. QSSL seem to be quite enigmatic about the direction of QNX-Rtp. Maybe someone here will enlighten us on this matter.
While AtheOS and QNX have very little in common both are worth checking out as both are gems. QNX is beautiful underneath. It just laughs in the faces of Linux zealots who think microkernels are passe.
Atheos is promising and because it's developed as an open source project there is a chance that the community might take it in a certain direction. But then again it might drift without focus. Time will tell I guess. It's looking good for now though.
Hope this helps somewhat.
Your pizza just the way you ought to have it.
My questions to Kurt:
Can Atheos compile itself yet?
Is anyone working on a GUI RAD tool for AtheOS (something in the spirit of KDevelop or Glade)?
Are you trying to gather the momentum among application developers now or is it too early?
Do you have a Component Model yet? If not are you planning to add one soon? A CM would definitely help keep the look and feel consistent and help avoid code duplication. Two things that marred Linux's acceptance as a desktop OS.
Your pizza just the way you ought to have it.
Looks like it uses some of our GPL'ed code. Should be GNU/AtheOS.
OK guys, go slashdot that server of his running AtheOS! Help him stress-test it :-)
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
tossing aside any technical merits, I have to say that the look and feel of the GUI are a hell of alot nicer than either KDE or Gnome. And one guy did this? Jesus, if that's the case then both the KDE I-look-like-Windows and Gnome boys should take a look at AtheOS.
Max
My god carries a hammer. Your god died nailed to a tree. Any questions?
this is quite an achievement. If you remember, Linus Thorvalds made Linux based on Minix, which was an operating system built by A. Tannenbaum. In my OS class, back in 1988, we used AST's book, "Operating Systems", which came with the fully functional OS with source, on floppies. So if Linus is God, at least Kurt deserves to be part of the Pantheon.
-- Another senseless waste of fine bytes.