Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jul 2006 15:53:41 -0500
From:      Derek Ragona <derek@computinginnovations.com>
To:        Jamie <jamie@gnulife.org>, freebsd-questions@freebsd.org
Subject:   Re: traps and interrupts
Message-ID:  <6.0.0.22.2.20060721155056.025578d8@mail.computinginnovations.com>
In-Reply-To: <20060721145851.I95847@floyd.gnulife.org>
References:  <20060721145851.I95847@floyd.gnulife.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Traps go along with signal handlers.  You should do a man on signal for 
more information.  The interrupts you are referring to are at a device 
driver level, where a driver interacts directly with the hardware.

         -Derek


At 03:21 PM 7/21/2006, Jamie wrote:


>    I'm going through "Design and Implementation of the FreeBSD operating
>system" (McKusick) right now, and I've got some questions...
>
>
>
>1) The book refers to software traps...
>
>(page 51 para 2):
>
>"  Software initiated traps are used by the syste mto force the scheduling
>of an event, such as process rescheduling or network processing, as soon
>as possible. Software initiated traps are implemented by setting a flag
>that is checked whenever a process is preparing to exit from the kernel.
>If the flag is set, the software interrupt code is run instead of exiting
>from the kernel."
>
>
>    Unfortunately, the book doesn't give any examples of how this is
>implemented in enough detail for me to understand. The only example it
>seems to really give of a software interrupt is the process that delivers
>the incoming packets to their destination processes. (??)
>
>   I was trying to learn more about how the trap function is implemented,
>so I read up on hardware traps in my IA-32 system manual (the one Intel
>ships out for free if you ask them for it).
>
>   That manual says that there is basically a set of INT calls you can make
>that are in an IDT table. Some of these are hard wired, like 0-19, if I
>recall. Then 33-255 are all software definable.
>
>   I am guessing that these high priority software interrupt routines are
>stored at locations pointed to by elements 33-255 in the IDT table. Is
>that correct? Or, do these software interrupt processes have no need to
>trap into the routines in the IDT?
>
>
>    I hope this question makes sense...I'm just trying to get a more lucid
>understanding of how "software interrupts" or "software traps" as they're
>referred to in this text, are implemented.
>
>
>
>        - Jamie
>
>
>
>
>
>
>
>The Moon is Waning Crescent (12% of Full)
>_______________________________________________
>freebsd-questions@freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"
>
>--
>This message has been scanned for viruses and
>dangerous content by MailScanner, and is
>believed to be clean.
>MailScanner thanks transtec Computers for their support.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MailScanner thanks transtec Computers for their support.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.0.0.22.2.20060721155056.025578d8>