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.
RPC? for Microkernel and Hybrid Kernel
- thepowersgang
- 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
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]
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
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
- zeitue
- 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
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
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
Re: RPC? for Microkernel and Hybrid Kernel
Hi,
Mostly it's just "synchronous messages with wrappers", which means that it's inferior to other forms of IPC.
Cheers,
Brendan
You can probably extract a list from wikipedia's page.zeitue wrote:So what methods of RPC are there besides those mentioned on the previous post?
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.