Linked by Hadrien Grasland on Sun 29th May 2011 09:42 UTC
OSNews, Generic OSes It's funny how trying to have a consistent system design makes you constantly jump from one area of the designed OS to another. I initially just tried to implement interrupt handling, and now I'm cleaning up the design of an RPC-based daemon model, which will be used to implement interrupt handlers, along with most other system services. Anyway, now that I get to something I'm personally satisfied with, I wanted to ask everyone who's interested to check that design and tell me if anything in it sounds like a bad idea to them in the short or long run. That's because this is a core part of this OS' design, and I'm really not interested in core design mistakes emerging in a few years if I can fix them now. Many thanks in advance.
Thread beginning with comment 474961
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Comment by Kaj-de-Vos
by Alfman on Sun 29th May 2011 20:20 UTC in reply to "RE[2]: Comment by Kaj-de-Vos"
Alfman
Member since:
2011-01-28

"In RPC, you assume that the remote end has a procedure you can call."

Well, that's a given, but we're talking semantics here. Whether your talking about dos interrupts, linux syscalls, vector calls, we're still technically calling a "procedure".

I guess you are referring to different mechanisms for parameter passing?

It's true there are different incompatible types (for example __cdelc or __stdcall), and these may even have subtle differences from platform to platform (passing floating point values in ST0 instead of stack). But these are strictly binary differences, all models are compatible at a source level - I just need to recompile.

"That's a big assumption. To make it work, you assume that the remote procedure is written in the same programming language."

Why did you ignore my counter example? In any case, this is no different than windows or linux being written around C callers.

"That's a huge implementation 'detail'."

Exactly, it's an implementation detail which end users rarely if ever need to concern themselves with. People don't need to know the calling conventions of their platforms to be able to write code.

Reply Parent Score: 2

RE[4]: Comment by Kaj-de-Vos
by Kaj-de-Vos on Sun 29th May 2011 20:30 in reply to "RE[3]: Comment by Kaj-de-Vos"
Kaj-de-Vos Member since:
2010-06-09

All the things you talk about are procedure calls. If you never consider the alternative of declarative messaging, you won't see the difference.

Reply Parent Score: 1