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.
Order by: Score:
OS News
by krtekz on Thu 29th Dec 2011 00:47 UTC
krtekz
Member since:
2007-05-31

OS News needs real OS news, such as this one. Frankly, I'm sick of all those pieces about law suits.

Reply Score: 8

RE: OS News
by Alfman on Thu 29th Dec 2011 01:24 UTC in reply to "OS News"
Alfman Member since:
2011-01-28

krtekz,

I am tired of most of the mobile device coverage too, but you know what? I notice those articles get a lot more comments than these articles do. Granted, that's probably because the fanboys/trolls jump all over them, but we have to face the sad possibility that maybe the real technical articles aren't very appealing to most osnews readers.

If I could make a good living writing technical articles, I'd have a blast with it, but I don't think the money's there. If I'm wrong: Thom please contact me, I'm sure I can help cover some fascinating technical subjects ;)

Reply Score: 2

RE[2]: OS News
by Dirge on Fri 30th Dec 2011 12:42 UTC in reply to "RE: OS News"
Dirge Member since:
2005-07-14

I also like this article and the way the author manages to get the technical details across without alienating me. Yes sometimes it is better to explain it to me like I am a 5 year old.

Boo to all the coverage the patent wars seem to get on OSnews. Bring back well written and easily understood technical articles.

Edited 2011-12-30 12:43 UTC

Reply Score: 1

RE: OS News
by some1 on Thu 29th Dec 2011 04:04 UTC in reply to "OS News"
some1 Member since:
2010-10-05

Yes, we need real OS news. Something about what people use or research, not someone's CS 101 home assignment.

Reply Score: 4

RE: OS News
by David on Thu 29th Dec 2011 05:01 UTC in reply to "OS News"
David Member since:
1997-10-01

Believe it or not, we agree with you. We encourage readers to turn us on to interesting new projects, and we welcome submissions of articles.

Of course, a lot of readers also care about mobile and legal issues too, but we'd certainly like to publish more about alternative, experimental, and new OSes too.

Reply Score: 3

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 UTC 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 Score: 1

RE: Hmm
by Morin on Sat 31st Dec 2011 04:12 UTC 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 Score: 2

Security
by laffer1 on Thu 29th Dec 2011 01:46 UTC
laffer1
Member since:
2007-11-09

This type of design is a nightmare for security. Putting common user land tools into the kernel makes it far too easy to miss something and open up a gaping hole.

Part of the reason we go through all the complexity with a micro kernel or even a well designed monolithic kernel is privilege separation.

Reply Score: 2

Comment by RichterKuato
by RichterKuato on Thu 29th Dec 2011 01:53 UTC
RichterKuato
Member since:
2010-05-14

Why even have a kernel? Why not just make a direct to hardware application? or make the whole application firmware. That's what I'm sort of interested in. I believe that's how a lot of electronics used to be made.

Reply Score: 2

RE: Comment by RichterKuato
by Alfman on Thu 29th Dec 2011 02:11 UTC in reply to "Comment by RichterKuato"
Alfman Member since:
2011-01-28

RichterKuato,

"Why even have a kernel? Why not just make a direct to hardware application? or make the whole application firmware. That's what I'm sort of interested in. I believe that's how a lot of electronics used to be made."


osnews covered baremetal os a while ago...

http://www.osnews.com/story/24616/BareMetal_Node_HPC_kernel_in_6KiB


The idea is to write apps to run directly on hardware, but the OS aimed to eliminate the need to reinvent the wheel when it came to initialising the runtime. It also came with some networking support.

The problem with running custom apps in firmware is that firmware isn't portable, the specs are closed, and it's may not be possible to recover from a bricked system. Not that I haven't wanted to do it.

Reply Score: 2

Real mode?
by Zifre on Thu 29th Dec 2011 02:47 UTC
Zifre
Member since:
2009-10-04

Very interesting. I'm glad to see more actual OS news on OSNews.

However, this is pretty pointless if it is only in real mode. If the purpose of this architecture is to get speed and simplicity, this is ridiculously stupid. You have to jump through hoops to code for real mode, and it's going to be slower anyway. Not to mention that you can't do real IO (IIRC) and have to rely on super slow BIOS interrupts...

Reply Score: 2

RE: Real mode?
by Alfman on Thu 29th Dec 2011 03:04 UTC in reply to "Real mode?"
Alfman Member since:
2011-01-28

Zifre,


"However, this is pretty pointless if it is only in real mode. If the purpose of this architecture is to get speed and simplicity, this is ridiculously stupid. You have to jump through hoops to code for real mode, and it's going to be slower anyway."

Yep, I cannot think of a single good reason to design an OS around real mode today. 64K segments are a major impediment for any real load - unable to represent even a single bitmap without mucking around with intra-segment hacks. Even if those are overcome, you're still limited to some 640K of base memory.

Of course you can use "flat real mode", so the 64k limit is removed. But that implies switching to protected mode and back, why not just use protected mode?



"Not to mention that you can't do real IO (IIRC) and have to rely on super slow BIOS interrupts..."


It's not necessary to use BIOS interrupts in real mode any more than it is from protected mode. The only IO problem you'd have is reaching memory mapped devices that aren't mapped within the first 1MB.

Reply Score: 2

Compiler and source included?
by Earl C Pottinger on Thu 29th Dec 2011 02:49 UTC
Earl C Pottinger
Member since:
2008-07-12

I remember when reading about SmallTalk-80 that the compiler and all the source code was included as one transparent package.

Can this system operate the same way? Thus when ever you need a new application added you just compile it into the kernel. Now additional major thing I remembered is that ST-80 worked with snapshots so if the newest version messed up the system you could just revert back to before you made any changes in the code.

Edited 2011-12-29 02:51 UTC

Reply Score: 1

Comment by zhulien
by zhulien on Thu 29th Dec 2011 03:47 UTC
zhulien
Member since:
2006-12-06

how does that differ from other OS's that don't segregate kernel and user?

Reply Score: 1

crippled form of dos
by bnolsen on Thu 29th Dec 2011 06:31 UTC
bnolsen
Member since:
2006-01-06

Scary...dos is more powerful than this. Ripping out the security model you can still have installable applications, etc. You just have zero control on how well they play with each other.

Reply Score: 4

Comment by TheChucklesStart
by TheChucklesStart on Thu 29th Dec 2011 06:44 UTC
TheChucklesStart
Member since:
2009-04-17

I wonder how similar this is to the operating used on older game consoles. It seems like this is pretty much the same architecture as is on the WII (from my limited experience hacking it).

Reply Score: 1

RE: Comment by TheChucklesStart
by Pro-Competition on Thu 29th Dec 2011 15:26 UTC in reply to "Comment by TheChucklesStart"
Pro-Competition Member since:
2007-08-20

It also reminds me of the C-64, Atari 400/800, etc.

Interesting exercise - it's good to re-check the ubiquitous assumptions once in a while.

Reply Score: 2

RE[2]: Comment by TheChucklesStart
by JLF65 on Thu 29th Dec 2011 17:01 UTC in reply to "RE: Comment by TheChucklesStart"
JLF65 Member since:
2005-07-06

Sorry, but it's NOTHING like the A8 OS. The Atari had a rather sophisticated OS - everything was a device that you would open and send commands to. The screen was the 'S' device, the full-screen editor was the 'E' device, the cassette was the 'C' device, and so on. Programs were loaded from (floppy) disk or cassette like a normal OS, and called the OS through a central vector table. Clearly, there was no sense of user vs kernel because this was a 6502, but it was nothing like how this 'Messy' OS is described.

Reply Score: 3

Pro-Competition Member since:
2007-08-20

I was talking about the basic concepts, not implementation specifics.

The two main ways of running programs on those old systems are BASIC "programs" and ROM cartridges. The cartridge ROM is simply mapped into the "kernel" memory space, and BASIC programs are run by a built-in (i.e. "kernel") interpreter. There was no differentiation between kernel and user space (memory, processor modes, etc.).

BTW, I found your information about the 8-bit Atari OS very interesting. I never had an Atari 400/800, and I love learning about these old systems. Sometimes they had very elegant solutions.

(The article didn't seem to specify much about how device drivers and such would work in Dreckig OS, so I'm not sure if there are similarities or not.)

Reply Score: 2

Good article
by Vlad on Thu 29th Dec 2011 09:23 UTC
Vlad
Member since:
2006-03-23

Like other users, I'm pleased to see more OS oriented news on OS news, although I understand the purpose of the other non-OS related articles (chiefly to draw traffic...).

Since 'the cloud' is all the rage these days, I think it would be cool if the OS pulled config/customizations/etc from there. I'm guessing networking isn't implemented yet as it wasn't discussed, but it would be interesting to have a unique OS lightly coupled with the cloud, even if only academically.

Reply Score: 2

Uhm...
by Panajev on Thu 29th Dec 2011 09:51 UTC
Panajev
Member since:
2008-01-09

Its simplicity causes the need for complex ways to make it usable and useful.


I think the project might be a little be flawed by design... well, judging it by this quote of yours at least.

Reply Score: 2

RE: Uhm...
by Brendan on Thu 29th Dec 2011 10:48 UTC in reply to "Uhm..."
Brendan Member since:
2005-11-16

Hi,

I think the project might be a little be flawed by design... well, judging it by this quote of yours at least.


Often the primary goal of an OS like this is for the author to gain experience. From this perspective, you can say the design wasn't flawed and the OS has met it's primary goal.

- Brendan

Reply Score: 4

RE[2]: Uhm...
by Panajev on Thu 29th Dec 2011 13:34 UTC in reply to "RE: Uhm..."
Panajev Member since:
2008-01-09

Hi,

"I think the project might be a little be flawed by design... well, judging it by this quote of yours at least.


Often the primary goal of an OS like this is for the author to gain experience. From this perspective, you can say the design wasn't flawed and the OS has met it's primary goal.

- Brendan
"

The experience gained by working on this concept and seeing what it does well and what it does not is invaluable, you are correct and we agree on it.
I should have said "the architecture of the OS" instead of the project perhaps.

Reply Score: 2

Common embedded, like Quadros
by KenJackson on Thu 29th Dec 2011 13:05 UTC
KenJackson
Member since:
2005-07-18

This is common in the embedded world.

In fact, I'm currently using Quadros, which is essentially the same concept.
http://www.quadros.com/

Reply Score: 3

RE: Common embedded, like Quadros
by jackastor on Thu 29th Dec 2011 16:10 UTC in reply to "Common embedded, like Quadros"
jackastor Member since:
2009-05-05

Exactly. In fact wouldn't the megalithic architecture necessarily be embedded by design?

Reply Score: 1

No protected mode DOS like OS?
by axilmar on Thu 29th Dec 2011 16:21 UTC
axilmar
Member since:
2006-03-20

Why real mode? the same architecture could work in flat memory protected mode and have the benefit of the increased memory space.

Reply Score: 3

tylerdurden Member since:
2009-03-17

I assume because that is the mode in which x86 cpus start off the BIOS?

I got the impression this OS being basically a multitasking DOS. Although I was kind of confused by the schematic diagram for its architecture, honestly.

Edited 2011-12-29 21:13 UTC

Reply Score: 2

What about...
by Tuishimi on Fri 30th Dec 2011 07:46 UTC
Tuishimi
Member since:
2005-07-06

...what about paleolithic kernels?

Reply Score: 3