RPC? for Microkernel and Hybrid Kernel

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
mgoppold
Posts: 9
Joined: Wed Feb 13, 2013 9:12 pm

RPC? for Microkernel and Hybrid Kernel

Post by mgoppold »

Are there any other ways, other than RPC like in http://wiki.osdev.org/RPC, to make calls from regular userspace programs to subsystem/service userspace code?

Regular RPC seems so slow.
User avatar
thepowersgang
Member
Member
Posts: 734
Joined: Tue Dec 25, 2007 6:03 am
Libera.chat IRC: thePowersGang
Location: Perth, Western Australia
Contact:

Re: RPC? for Microkernel and Hybrid Kernel

Post by thepowersgang »

By definition, calling a function in another process (or even thread) is a 'RPC'. How you chose to implement it is up to you. The RPC wiki page appears to be describing the method used by COM and SunRPC, where the RPC wrapper code is computer generated, but for smaller operations writing up your own works well.

It depends on what you want to do, some simple operations can easily be serialised into a command stream [e.g. Graphics rendering] (assuming they do not need to be synchronous) while more complex ones would require framing and return values [e.g. open() or ioctl(), for a microkernel VFS]
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
User avatar
zeitue
Member
Member
Posts: 88
Joined: Fri Dec 14, 2012 6:05 pm
Libera.chat IRC: zeitue
Location: United States, Texas
Contact:

Re: RPC? for Microkernel and Hybrid Kernel

Post by zeitue »

So what methods of RPC are there besides those mentioned on the previous post?
### Z++; && S++; ###
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: RPC? for Microkernel and Hybrid Kernel

Post by Brendan »

Hi,
zeitue wrote:So what methods of RPC are there besides those mentioned on the previous post?
You can probably extract a list from wikipedia's page.

Mostly it's just "synchronous messages with wrappers", which means that it's inferior to other forms of IPC. ;)


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Post Reply