Linked by Sean Haas on Wed 28th Dec 2011 23:41 UTC
OSNews, Generic OSes There are two main kernel architectures for large operating systems; monolithic and micro. While these architectures are well thought out, well implemented (usually), and well understood, they have their faults. Mainly, the loading of modules and executables, management of memory, and interfacing between the kernel and software cause these architectures to be vastly complex. With this complexity comes a loss of speed and increased difficulty for the developer. There are other kernel architectures, such as the exokernel, that are vastly different from traditional architectures, but they still have performance issues caused by userland processes.
Thread beginning with comment 501530
To read all comments associated with this story, please click here.
Hmm
by Alfman on Thu 29th Dec 2011 01:06 UTC
Alfman
Member since:
2011-01-28

First off, thanks for the technical article, these are why I come here.


"Dreckig (German for dirty, or messy) is a real-mode operating system designed for simplicity and performance."

REAL-MODE?? Was that a misprint? Do modern compilers even generate that? I can't think of one good reason to target real mode these days.

"Multitasking becomes very impractical when only one process can execute. Workarounds can be written to do multi-threading and run different parts of the kernel at the same time, but this can lead to memory protection errors."

Even if multitasking can be added, it would be very difficult to run more than one instance of any utility as designed.

I'm not clear what's the technical difference between the "front end" and "back end", but it's odd that the shell is a backend component. Ideally it would just be another application.


I'm having trouble seeing what benefits this OS offers over others. Sure, loading a single file into RAM can be extremely fast, but that's easily replicated by using an "initrd" image under linux.

I appreciate that almost all operating systems start out this way before they have real file systems, and that's ok. But in the course of their existence they typically evolve to support dynamically loadable applications, it seems odd to stop with this design. Does Dreckig have any other strengths?

Reply Score: 2

RE: Hmm
by goldfire on Fri 30th Dec 2011 03:44 in reply to "Hmm"
goldfire Member since:
2011-12-30

I'm looking at the source code right now, and it is definitely 16-bit, real mode. It's... kind of refreshing, actually, in a way.

To the author, it might be nice to have some documentation as to your build process, for those of us who haven't dealt with this sort of thing in a while. ;)

Reply Parent Score: 1

RE: Hmm
by Morin on Sat 31st Dec 2011 04:12 in reply to "Hmm"
Morin Member since:
2005-12-31

"Dreckig (German for dirty, or messy) is a real-mode operating system designed for simplicity and performance."

REAL-MODE?? Was that a misprint? Do modern compilers even generate that? I can't think of one good reason to target real mode these days.


Especially not if simplicity is a goal. Switching to protected mode is rather easy. I'd bet there are a lot of copy-this-code examples that you could just use (dunno, when I wrote my hobby OS I wanted to understand how it works, then wrote that one page of code myself), then have a flat, non-mapped 32-bit address space. That real mode segment juggling isn't really "simple" when you actually try to code something.

Reply Parent Score: 2