OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 1:42 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: Making the "Interrupts" page less arch-specific
PostPosted: Mon Mar 14, 2011 4:55 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
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 ?


Top
 Profile  
 
 Post subject: Re: Attempts to make the "Interrupts" page less arch-specifi
PostPosted: Mon Mar 14, 2011 5:19 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9301
Location: On the balcony, where I can actually keep 1½m distance
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 ]


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Mon Mar 14, 2011 6:38 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
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.


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Mon Mar 14, 2011 11:43 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 9:29 pm
Posts: 2426
Location: Canada
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.


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Mon Mar 14, 2011 2:22 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
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.


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Tue Mar 15, 2011 2:11 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
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.


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Tue Mar 15, 2011 2:51 am 
Offline
Member
Member

Joined: Thu Mar 25, 2010 11:26 pm
Posts: 1801
Location: Melbourne, Australia
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 ?


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Tue Mar 15, 2011 2:57 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
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 :)


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Tue Mar 15, 2011 5:05 pm 
Offline
Member
Member
User avatar

Joined: Tue Jun 02, 2009 4:35 pm
Posts: 737
Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
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.


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Sun Mar 20, 2011 3:01 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
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/


Top
 Profile  
 
 Post subject: Re: Making the "Interrupts" page less arch-specific
PostPosted: Sun Jun 12, 2011 4:32 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 23, 2010 3:01 pm
Posts: 228
Location: Uppsala, Sweden
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group