Making the "Interrupts" page less arch-specific

All about the OSDev Wiki. Discussions about the organization and general structure of articles and how to use the wiki. Request changes here if you don't know how to use the wiki.
Post Reply
User avatar
Neolander
Member
Member
Posts: 228
Joined: Tue Mar 23, 2010 3:01 pm
Location: Uppsala, Sweden
Contact:

Making the "Interrupts" page less arch-specific

Post by Neolander »

Currently, the wiki's entry on interrupts is highly x86-specific (even PIC-specific). In my opinion, for someone who wants to write portable code, it would be interesting to have some arch-independent description of the interrupt mechanism, and separate entries about the arch-specific bits.

Having collected some data on how it works on some past and current CPU architectures, I've begun experimenting with that. Here's a tentative rewrite of the "Interrupts in a nutshell" bit. What do you think about it ?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Attempts to make the "Interrupts" page less arch-specifi

Post by Combuster »

I don't mind splitting the (small) theory part out of the Interrupts page - actually it would probably be a good plan to move it to Interrupts (x86), move your page to Interrupts and add a forward to the platform-specific part.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Solar »

I added a note on your Wiki user discussion page on the rewrite before seeing this here. I temper my Wiki remark a bit now that I see what you are trying to do - but only a bit. Take care not to start from too base a level.
Every good solution is obvious once you've found it.
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Brynet-Inc »

The basic theory shouldn't need to be explained again, the real juicy bits are in the implementation.. I'd opt for a rename of that article as Combuster stated.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Neolander
Member
Member
Posts: 228
Joined: Tue Mar 23, 2010 3:01 pm
Location: Uppsala, Sweden
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Neolander »

Solar wrote:I added a note on your Wiki user discussion page on the rewrite before seeing this here. I temper my Wiki remark a bit now that I see what you are trying to do - but only a bit. Take care not to start from too base a level.
I indeed have a tendency to explains the basics even when I'm talking about relatively advanced topics. Thanks for pointing it out I'll try to avoid this in further revisions of this page (even though I don't know which level of knowledge I should assume to be there... If people knew all those matters perfectly, wiki entries would be unnecessary and OS projects would succeed more often)

An idea I've had this afternoon is to introduce a sort of glossary for those who are unsure about some matters (short reminders of the difference between an interrupt and an exception, masking, what are software interrupts, different ways vectors can work, what are PICs and what can they do, interrupt priority mechanisms) and then to write a big table comparing various architectures on points where implementations differ and linking to the page of each arch.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Solar »

Neolander wrote:...I don't know which level of knowledge I should assume to be there...
I would expect an OS developer to have a good grasp of what an interrupt is, in general terms, and I also expect an OS developer to have the documentation for his CPU of choice at hand (and read front-to-back at least once).

I know that many aspiring OS developers don't meet this criteria, but I do think that it's reasonable.

The job of the OSDev Wiki, IMHO, is to:
  • summarize on a subject and give an overview (making the technical docs easier to comprehend);
  • point out design choices involved;
  • point out caveats, cross-subject considerations;
  • provide exemplary, "best practice" how-to's where appropriate.
I.e., the Wiki should / could never be a replacement for the technical docs, but a supplement, providing those parts that are not immediately obvious from the official manuals but born out of experience.
Every good solution is obvious once you've found it.
gerryg400
Member
Member
Posts: 1801
Joined: Thu Mar 25, 2010 11:26 pm
Location: Melbourne, Australia

Re: Making the "Interrupts" page less arch-specific

Post by gerryg400 »

I agree that perhaps the basic information need not be repeated.

To write portable code one needs to create a portable 'model' of an interrupt system that can be applied to a number of architectures. Perhaps your wiki entry could present the design of such a model.
If a trainstation is where trains stop, what is a workstation ?
User avatar
Neolander
Member
Member
Posts: 228
Joined: Tue Mar 23, 2010 3:01 pm
Location: Uppsala, Sweden
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Neolander »

gerryg400 wrote:To write portable code one needs to create a portable 'model' of an interrupt system that can be applied to a number of architectures. Perhaps your wiki entry could present the design of such a model.
That's the idea :)
User avatar
gravaera
Member
Member
Posts: 737
Joined: Tue Jun 02, 2009 4:35 pm
Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.

Re: Making the "Interrupts" page less arch-specific

Post by gravaera »

Just dropping by to say I like that people are seeing the need to make the wiki articles more focused on design and not "tutorials", and that there are people interested in presenting good theory pages. Nice :)

--Peace out
gravaera
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
User avatar
Neolander
Member
Member
Posts: 228
Joined: Tue Mar 23, 2010 3:01 pm
Location: Uppsala, Sweden
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Neolander »

What would you think about something at this level of required knowledge ? Would it be a step in the right direction ?

http://theosperiment.wordpress.com/2011 ... l-alpha-1/
User avatar
Neolander
Member
Member
Posts: 228
Joined: Tue Mar 23, 2010 3:01 pm
Location: Uppsala, Sweden
Contact:

Re: Making the "Interrupts" page less arch-specific

Post by Neolander »

Well, nevermind, I had started to do too much things at the same time and this task didn't progress. I'll stop there, though I think that I could have done more in the right circumstances. If anyone else wants to work on this, he can use my draft in any way he wants, public domain, blah blah blah.
Post Reply