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 474974
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[7]: Comment by Kaj-de-Vos
by Kaj-de-Vos on Sun 29th May 2011 21:50 UTC in reply to "RE[6]: Comment by Kaj-de-Vos"
Member since:

That's pretty good, except:

- It's not esoteric, but widely used. Hence my example of HTML.

- I do not prefer XML. It has become a reflex for people to come up with that immediately, but like RPC, it's an implementation detail. Actually, I think XML is way too heavy.

- Specification sheets (such as DTDs) are not strictly necessary. This is also an implementation detail. A metadata specification is required if all the world needs to know the meaning of the data, but most interfaces are between parties that know each other and don't need to be understood by parties that have no preexisting knowledge of the interface.

- Therefore, there are no inherent drawbacks of difficult implementation. It can be as simple as you make it.

Reply Parent Score: 1

RE[8]: Comment by Kaj-de-Vos
by xiaokj on Sun 29th May 2011 21:58 in reply to "RE[7]: Comment by Kaj-de-Vos"
xiaokj Member since:

Personally, I prefer something lighter too: the HTTP protocol itself is a wonder, and it is much lighter than the tag heavy XML, of course.

However, a specification sheet is a good idea since implementations can, and do, change. Better to code with expectation of change rather than go by "interface memory". If you wanted to have something be as abstract as declarative would allow, then why strap yourself down with black magic? Again, something light would be very nice too. Maybe just a version number is good enough, but still.

Glad that I could actually understand you with just the magic 2 words. It may not be esoteric, but this is proper old school (actually, more like good sense than old).

Reply Parent Score: 2

RE[9]: Comment by Kaj-de-Vos
by Kaj-de-Vos on Sun 29th May 2011 22:11 in reply to "RE[8]: Comment by Kaj-de-Vos"
Kaj-de-Vos Member since:

The best declarative interface is a self-descriptive one. Which has the effect of the metadata specification being woven into the communication. In that case, there is of course still a standard for what the data can look like, but that standard is fixed, like a type system.

Reply Parent Score: 1