MESSAGE
DATE | 2015-02-04 |
FROM | Ruben Safir
|
SUBJECT | Subject: [LIU Comp Sci] (fwd) Re: Operating System Design
|
From owner-learn-outgoing-at-mrbrklyn.com Wed Feb 4 13:23:14 2015 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix) id EFF83161165; Wed, 4 Feb 2015 13:23:13 -0500 (EST) Delivered-To: learn-outgoing-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 28) id E100016116C; Wed, 4 Feb 2015 13:23:13 -0500 (EST) Delivered-To: learn-at-nylxs.com Received: from mailbackend.panix.com (mailbackend.panix.com [166.84.1.89]) by mrbrklyn.com (Postfix) with ESMTP id 9BD28161165 for ; Wed, 4 Feb 2015 13:23:12 -0500 (EST) Received: from panix2.panix.com (panix2.panix.com [166.84.1.2]) by mailbackend.panix.com (Postfix) with ESMTP id 879C51308C for ; Wed, 4 Feb 2015 13:23:12 -0500 (EST) Received: by panix2.panix.com (Postfix, from userid 20529) id 83FB433CC5; Wed, 4 Feb 2015 13:23:12 -0500 (EST) From: Ruben Safir To: learn-at-nylxs.com Subject: [LIU Comp Sci] (fwd) Re: Operating System Design User-Agent: tin/2.0.0-20110823 ("Ardenistiel") (UNIX) (NetBSD/6.1.5 (i386)) Message-Id: <20150204182312.83FB433CC5-at-panix2.panix.com> Date: Wed, 4 Feb 2015 13:23:12 -0500 (EST) Sender: owner-learn-at-mrbrklyn.com Precedence: bulk Reply-To: learn-at-mrbrklyn.com
-- forwarded message -- Path: reader1.panix.com!panix!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Joe Pfeiffer Newsgroups: comp.os.linux.hardware Subject: Re: Operating System Design Date: Thu, 29 Jan 2015 16:07:31 -0700 Organization: A noiseless patient Spider Lines: 41 Message-ID: <1biofpchjg.fsf-at-pfeifferfamily.net> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="2b391fad2c409509b87cf3ff1ad20681"; logging-data="11262"; mail-complaints-to="abuse-at-eternal-september.org"; posting-account="U2FsdGVkX1/YmK9d+G/2PdC6ZO/2mniEbi/sR4I5YxY=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:MbTV99rRP63ydvg+cpBYiK7nIWs= sha1:RKsE8/NrleLGzhcRBJkFcW5IUdY= Xref: panix comp.os.linux.hardware:364726
ruben safir writes:
> I'm wondering if anyone has a background in operating system design. > I'm taking a class is OS's and the text is > > OPERATING > SYSTEM > CONCEPTS > ABRAHAM SILBERSCHATZ > 9th edition, and it says something that is puzzling me > > > > "Interrupts are an important part of a computer architecture. Each > computer design has its own interrupt mechanism, but several functions > are common. The interrupt must transfer control to the appropriate > interrupt service routine. The straightforward method for handling this > transfer would be to invoke a generic routine to examine the interrupt > information. The routine, in turn, would call the interrupt-specific > handler. However, interrupts must be handled quickly" > > " Since only a predefined number of interrupts is possible, a table of > pointers to interrupt routines can be used instead*** to provide the > necessary speed. The interrupt routine is called indirectly through the > table, with no intermediate routine needed. Generally, the table of > pointers is stored in low memory (the first hundred or so locations). > These locations hold the addresses of the interrupt service routines for > the various devices. This array, or interrupt vector, of addresses is > then indexed by a unique device number, given with the interrupt > request, to provide the address of the interrupt service routine for > the interrupting device. Operating systems as different as Windows and > UNIX dispatch interrupts in this manner." > > > *** Instead of what? Just because you have a table of pointers to > routines doesn't change the need for a routine, a generic routine > perhaps, from accessing that table.
In an interrupt vector table like he's describing, the hardware indexes the table directly and jumps straight to the ISR without any software intervention before it gets there. -- end of forwarded message --
|
|