Idea for a new kernel - amateur, so be nice, please!

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
User avatar
LieutenantHacker
Member
Member
Posts: 69
Joined: Sat May 04, 2013 2:24 pm
Location: Canada

Idea for a new kernel - amateur, so be nice, please!

Post by LieutenantHacker »

Ok guys, so I have been gone a while, learned some more stuff, but still have no actual experience writing any kind of low-level software, albeit I have studied on it a lot.

I thought about this kernel (32-64 bit, backwards/upwards compatible, emulation support, multiple file format support) that would have some system software that it comes with (no loader, the software comes natively built within a kernel process), and here are some examples:

1.Kernel process natively designed with multi-clipboard capabilities (the text you copy, ASCII/UTF-8, etc.) will be a kernel process rather than a user-level process. This is a "system-built" process that works with any compatible GUI/text UI system to hold many "slots" of clipboard data, and by hitting the right key combination (e.g. ALT+slot number) the user can bring up whatever copied characters up, and the slot table can be re-order, arranged, and cleared from a GUI program, or through a command interpreter/command line, etc. This has never been done before, and this way if any user-level program crashes you can always still retain the data as long as the kernel process is executing normally.

2.Native emulation support (backwards and upwards compatible execution) enables the kernel to parse/load executable formats in 16, 32, or 64-bit code, and execute them as if they were native (emulation). Also, supports formats from other top executables, and can use native kernel supported processes to create a software compatibility layer. Advantage? No extra programs need to be installed/downloaded, and no user-level programs can stall this as it's a kernel process.

3.Some device drivers are "built in" as well.

Also, higher-design implementations must be taken appropriately to enhance the concept of the "monolithic kernel".

By giving better support to other binaries, having it natively implemented within the kernel, and having the bridge between user and kernel processes shortened makes for a much more speedy system call.

What do you guys think? Any constructive criticism? Remember to keep an open mind!
The desire to hack, with the ethics to code.
I'm gonna build an 8-bit computer soon, with this as reference: http://www.instructables.com/id/How-to- ... -Computer/
Nable
Member
Member
Posts: 453
Joined: Tue Nov 08, 2011 11:35 am

Re: Idea for a new kernel - amateur, so be nice, please!

Post by Nable »

"Smells like MS Windows spirit."
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Idea for a new kernel - amateur, so be nice, please!

Post by dozniak »

Keeping clipboard data in the kernel does not make it safer to save, but opens up various ways to inject malicious data and code into the kernel space.

It is much safer to keep it in a separate user space process.
Learn to read.
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: Idea for a new kernel - amateur, so be nice, please!

Post by bluemoon »

Also note that for 32-bit OS the kernel address space (or global accessible address space) is very valuable, the less required by kernel, the more application can make use of them.

Keeping multiple clipboard data in the address space, may greatly reduce the usable address for application, try copying a few screenshot images of each 8mb, or in extreme case a few photoshop layers which take hundreds mb of memory.
User avatar
bwat
Member
Member
Posts: 359
Joined: Fri Jul 03, 2009 6:21 am

Re: Idea for a new kernel - amateur, so be nice, please!

Post by bwat »

I think everything you mention has been done before, or solved in a better way: the clipboard in Smalltalk-80 (the language is the OS), backwards compatibility with any microcoded system. Note that these ideas are at least 30-35 years old.

That said, you should probably go for it. By your own admission you only have "know what" experience, and making a real go at implementing these facilities will give you that "know how" experience you lack. Succeed or fail, you will have gained something. Good luck!
Every universe of discourse has its logical structure --- S. K. Langer.
Post Reply