Linked by Thom Holwerda on Sat 28th Jul 2007 09:02 UTC, submitted by Kelly Rush
SkyOS SkyOS has received an update to the Viewer application (system file browser). Many changes have been implemented, including a tabbed interface, universal drag-and-drop, and many others. Head on over to the SkyOS website to see a video of the new Viewer features in action. Thanks to the recently implemented Profiler, an interesting system bottleneck has been identified and fixed in SkyOS. This has allowed for increased performance across many functions within SkyOS.
Thread beginning with comment 258973
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: kernel design?
by n0xx on Sat 28th Jul 2007 13:54 UTC in reply to "RE: kernel design?"
n0xx
Member since:
2005-07-12

Putting stuff on kernel space is stupid. Anything thats not core functionality needed to actually run binaries should be implemented outside of the kernel space. Why? Well, for starters there's no such thing as memory protection in kernel sapce. That means that if something goes wrong, say, a stack overflow, the whole system goes down in flames. That's why some guy invented the microkernel design: to remove as much stuff as possible form the kernel space so that in the event of something going seriously wrong, the system remain fully operational. Isn't this approach to OS design you've defended time and time again on this forum? So why does anybody need to explain himself to you as to why putting stuff in kernel space is bad?!?!

But that's not all. The single worst thing anybody can implement on kernel space is the GUI subsystem. Why? Well, because it makes every single GUI interact with the kernel. A poorly programed application with a bad pointer can bring the whole system down, and even a malicious web page can result in privilege escalation. It's the encyclopedic definition of a bad move. The performance gains obtained from doing such a thing can be matched and even surpassed by a properly designed userspace resided GUI subsystem. Like QNX Photon.

I for one think SkyOS is the new poster child of the proprietary/closed source development model. I'll just wait for the final version to see how much BSD code this guys are using. No, I don't think it's possible for just a bunch of guys to develop something like this. Well, at least not without some outside help or inspiration. Anybody who thinks otherwise is living in the pony-fairy-magic land where every thing is possible and hasn't got a clue of how hard it is to actually develop software completely from scratch. Not to mention that developing an OS with the features found in SkyOS is probably as hard and time consuming as developing a next generation action game, and that takes a team of 50+ guys laboring over the course of many many years.

I mean, they sure are entitled do rip and use BSD/MIT code or even just check out for inspiration, that's fine with me... I'd just love they'd cut the crap and admit they're using it. But i guess that would be admitting that the proprietary development is not as superior as some people claim it is.

Reply Parent Bookmark Score: 5

RE[3]: kernel design?
by Thom_Holwerda on Sat 28th Jul 2007 14:14 in reply to "RE[2]: kernel design?"
Thom_Holwerda Member since:
2005-06-29

Putting stuff on kernel space is stupid.

You don't have to tell me. I've written several articles on microkernels and monolithic kernels, and I'm well aware of the (dis)advantages of each. I simply hate comments that flat out say "Xyz is stupid", but provide no explanation as to why it is stupid.

The original commenter didn't do that.

Reply Parent Bookmark Score: 1

RE[4]: kernel design?
by n0xx on Sat 28th Jul 2007 16:36 in reply to "RE[3]: kernel design?"
n0xx Member since:
2005-07-12

I think it's fair to assume most of us know a thing or two about OS. After all, this isn't shinyponies.com :p

Reply Parent Bookmark Score: 1

RE[3]: kernel design?
by siride on Sat 28th Jul 2007 14:21 in reply to "RE[2]: kernel design?"
siride Member since:
2006-01-02

The only reason, so far as I can tell, for why people think the GUI shouldn't be in the kernel is because Unix didn't put it in the kernel, therefore, it's wrong to put it in the kernel. All of the reasons you gave above could just as easily apply to any other subsystem, including (especially!) the filesystem, terminal drivers (which reside in the kernel in Linux and are functionally equivalent to having a GUI in the kernel).

The GUI is a shared resource, like files, terminals, memory and CPU. As such, in a properly designed OS, the GUI should be part of the OS, and in a monolithic kernel, it should reside in the kernel. That doesn't mean all of the GUI is in the kernel. Just the parts that are relevant to sharing the screen and interacting with physical device drivers. Everything else, such as high level window management, GUI widgets, frameworks, etc. should most definitely be in userspace. This is, in fact, how Windows does it and it works really well.

X is moving in that direction kind of, by putting modesetting, DRI/DRM and screen allocation into the kernel DRM driver.

Reply Parent Bookmark Score: 5

RE[4]: kernel design?
by Robert on Sat 28th Jul 2007 15:05 in reply to "RE[3]: kernel design?"
Robert Member since:
2005-07-06

This is exactly how it is done in SkyOS. Only the shared resources like the physical window list, the clip rectangle list, the visible rectangle list as well as parts of the graphic driver are running in kernel mode. (this prevents a lot of task switches when doing drawing operations or talking to the graphic card).

The GUI itself, the widgets, the actual logic and interface are implemented completely in usermode. As a developer or user you never access any (GUI) kernel functionality directly.

@xhemi:
Thanks for the hint, fixed the FAQ section as this was rather irritating.

@n0xx:
Which BSD code are you talking about?

Edited 2007-07-28 15:11

Reply Parent Bookmark Score: 5

RE[3]: kernel design?
by Almafeta on Sat 28th Jul 2007 14:39 in reply to "RE[2]: kernel design?"
Almafeta Member since:
2007-02-22

The actual interface, required to be human-usable, isn't core functionality...?

Reply Parent Bookmark Score: 3

RE[4]: kernel design?
by n0xx on Sat 28th Jul 2007 16:29 in reply to "RE[3]: kernel design?"
n0xx Member since:
2005-07-12

Why in the devils name would a GUI ever be REQUIRED for any OS is beyond me. Even Windows has a native console interface, although Microsoft only let's you use it when you boot through the Windows 2k/XP installation CD and fire up the recovery console. So no, no GUI should be considered Core functionality because any half decent OS must have a fallback mechanism through wich us techies can fix broken stuff instead of just telling everybody to reinstall.

Reply Parent Bookmark Score: 2

RE[3]: kernel design?
by zizban on Sat 28th Jul 2007 15:33 in reply to "RE[2]: kernel design?"
zizban Member since:
2005-07-06

I mean, they sure are entitled do rip and use BSD/MIT code or even just check out for inspiration, that's fine with me... I'd just love they'd cut the crap and admit they're using it. But i guess that would be admitting that the proprietary development is not as superior as some people claim it is.

Do you have proof for this? And Robert has never claimed proprietary development was superior, it was just his choice to make SkyOS proprietary. If you don't like it, don't use it.

Reply Parent Bookmark Score: 4