Making the "Interrupts" page less arch-specific
Making the "Interrupts" page less arch-specific
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 ?
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 ?
- Combuster
- 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
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.
Re: Making the "Interrupts" page less arch-specific
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.
- Brynet-Inc
- 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
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.
Re: Making the "Interrupts" page less arch-specific
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)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.
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.
Re: Making the "Interrupts" page less arch-specific
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).Neolander wrote:...I don't know which level of knowledge I should assume to be there...
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.
Every good solution is obvious once you've found it.
Re: Making the "Interrupts" page less arch-specific
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.
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 ?
Re: Making the "Interrupts" page less arch-specific
That's the ideagerryg400 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.
- gravaera
- 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
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
--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.
Re: Making the "Interrupts" page less arch-specific
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/
http://theosperiment.wordpress.com/2011 ... l-alpha-1/
Re: Making the "Interrupts" page less arch-specific
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.