Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.misc > #13506

Re: operating systems design

From Jeroen Belleman <jeroen@nospam.please>
Newsgroups comp.os.linux.misc
Subject Re: operating systems design
Date 2015-01-30 09:28 +0100
Organization Aioe.org NNTP Server
Message-ID <maffb4$8p2$1@speranza.aioe.org> (permalink)
References <maeb6o$sn9$1@reader1.panix.com>

Show all headers | View raw


On 2015-01-29 23:11, ruben safir wrote:
> 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.

Each device, when it generates an interrupt, tells the processor
which table index points to the correct handler. The processor then
jumps to that routine directly. The point is that it's not a routine,
in the sense of a sequence of CPU instructions, that does the work.
It's done directly by the hardware. (OK, microcoded CPUs may blur the
distinction.)

Of course, the location and size of the table are rigidly defined by
the hardware. (Or used to be, anyway.)

Jeroen Belleman

Back to comp.os.linux.misc | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

operating systems design ruben safir <ruben@mrbrklyn.com> - 2015-01-29 17:11 -0500
  Re: operating systems design Rich <rich@example.invalid> - 2015-01-29 22:29 +0000
    Re: operating systems design ruben safir <ruben@mrbrklyn.com> - 2015-01-30 08:19 -0500
      Re: operating systems design "David W. Hodgins" <dwhodgins@nomail.afraid.org> - 2015-01-30 09:01 -0500
      Re: operating systems design Robert Heller <heller@deepsoft.com> - 2015-01-30 08:07 -0600
        Re: operating systems design Jeroen Belleman <jeroen@nospam.please> - 2015-01-30 15:43 +0100
          Re: operating systems design Robert Heller <heller@deepsoft.com> - 2015-01-30 09:09 -0600
      Re: operating systems design Rich <rich@example.invalid> - 2015-01-30 15:21 +0000
        Re: operating systems design Robert Heller <heller@deepsoft.com> - 2015-01-30 11:27 -0600
          Re: operating systems design Rich <rich@example.invalid> - 2015-01-30 19:10 +0000
            Re: operating systems design Jean-David Beyer <jeandavid8@verizon.net> - 2015-02-02 08:29 -0500
              Re: operating systems design Rich <rich@example.invalid> - 2015-02-02 15:09 +0000
      Re: operating systems design The Natural Philosopher <tnp@invalid.invalid> - 2015-02-03 00:11 +0000
  Re: operating systems design Jeroen Belleman <jeroen@nospam.please> - 2015-01-30 09:28 +0100
  Re: operating systems design The Natural Philosopher <tnp@invalid.invalid> - 2015-02-03 00:08 +0000
    Re: operating systems design Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2015-02-03 20:52 +0000
      Re: operating systems design The Natural Philosopher <tnp@invalid.invalid> - 2015-02-03 21:06 +0000
      Re: operating systems design Rich <rich@example.invalid> - 2015-02-03 21:19 +0000

csiph-web