<x:xmpmeta tsc:version="2.0.1" xmlns:x="adobe:ns:meta/" xmlns:tsc="http://www.techsmith.com/xmp/tsc/">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:tscDM="http://www.techsmith.com/xmp/tscDM/" xmlns:tscIQ="http://www.techsmith.com/xmp/tscIQ/" xmlns:tscHS="http://www.techsmith.com/xmp/tscHS/" xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" xmlns:exif="http://ns.adobe.com/exif/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
      <rdf:Description dc:date="2020-04-17 01:06:40 " dc:source="Camtasia,19.0.10,enu" dc:title="OSCN_02-SubSys_INT_SysCall-2" tscDM:firstFrame="OSCN_02-SubSys_INT_SysCall-2_First_Frame.png" tscDM:originId="58121BEA-CBDB-4479-8064-7EB227577357" tscDM:project="Untitled Project">
         <xmpDM:duration xmpDM:scale="1/1000" xmpDM:value="1976533"/>
         <xmpDM:videoFrameSize stDim:unit="pixel" stDim:h="1080" stDim:w="1920"/>
         <tsc:langName>
            <rdf:Bag>
               <rdf:li xml:lang="en-US">English</rdf:li></rdf:Bag>
         </tsc:langName>
         <xmpDM:Tracks>
            <rdf:Bag>
               <rdf:li>
                  <rdf:Description xmpDM:trackType="ScreenText" xmpDM:frameRate="f1000" xmpDM:trackName="Screen Text">
                     <xmpDM:markers>
                        <rdf:Seq>
                           <rdf:li><rdf:Description xmpDM:name="Content Introduction and Motivation Subsystems, Interrupts and System Calls Processes Memory Scheduling I/O and File System Booting, Services, and Security" xmpDM:startTime="0" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="TI 3: Operating Systems and Computer Networks" xmpDM:startTime="0" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupts - Motivation A lot of devices are connected to a computer, e.g.," xmpDM:startTime="10400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Keyboard, hard disk, network interface These devices occasionally need CPU service: Keyboard: a key is pressed Hard disk: a task" xmpDM:startTime="10400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="is completed Network interface: a packet has arrived BUT: it is not predictable when these devices need to be serviced" xmpDM:startTime="10400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="How does the CPU find out that a device needs attention? Two options: Interrupts and Polling TI 3: Operating Systems" xmpDM:startTime="10400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="and Computer Networks" xmpDM:startTime="10400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupts versus Polling TI 3: Operating Systems and Computer Networks Interrupts Polling Give each device a wire that it can" xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="use to signal the CPU." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Ask the devices periodically if an event has occured." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Like a phone that rings when a call comes in." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Like a phone without a bell: You have to pick it up every few seconds to see if you have" xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="a call." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="No overhead when no requests pending, efficient use of CPU time." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Takes CPU time even when no requests pending." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Devices are serviced as soon as possible - low latency." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Response time depends on polling rate." xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="216833" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupt Service Routines Interrupt handling is performed by the operating system (device drivers) in interrupt service routines (ISRs)." xmpDM:startTime="456500" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupts temporarily discontinue the currently executing application." xmpDM:startTime="456500" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="TI 3: Operating Systems and Computer Networks interrupt.gif" xmpDM:startTime="456500" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="456500" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupt Vector Table Interrupt vector table maps interrupts to service routines that handle them Table has one entry for each" xmpDM:startTime="650167" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="interrupt Each entry contains the address of the ISR (interrupt vector) Table resides in main memory at a constant address" xmpDM:startTime="650167" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="(interrupt base address) Interrupt number provides index into the table TI 3: Operating Systems and Computer Networks InterruptVectorTable.gif" xmpDM:startTime="650167" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="650167" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Detecting Interrupts TI 3: Operating Systems and Computer Networks f2.pdf" xmpDM:startTime="831800" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="831800" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Detecting Interrupts TI 3: Operating Systems and Computer Networks f7.pdf" xmpDM:startTime="894467" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="894467" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Detecting Interrupts TI 3: Operating Systems and Computer Networks interrupt2.jpg" xmpDM:startTime="1014067" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="1014067" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Steps of Interrupt Handling Example: Handling of an I/O event TI 3: Operating Systems and Computer Networks I-O-Interrupt.gif" xmpDM:startTime="1111567" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="1111567" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Types of Interrupts Hardware interrupts (asynchronous) Triggered by hardware devices, e.g.," xmpDM:startTime="1506467" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Timer I/O device Printer Software interrupts (synchronous) Triggered within a processor by executing an instruction Often used to implement system" xmpDM:startTime="1506467" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="calls Exceptions, e.g.," xmpDM:startTime="1506467" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Arithmetic overflow, division by zero Illegal instruction Illegal memory access TI 3: Operating Systems and Computer Networks" xmpDM:startTime="1506467" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Multiple Interrupts Sequential interrupt processing: Delay of interrupt handling unpredictable under load Nested interrupt processing: Delay depends on interrupt priority" xmpDM:startTime="1744400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="level Highest priority guarantees constant delay Required for real-time applications TI 3: Operating Systems and Computer Networks MultipleInterrupts-Nested.gif" xmpDM:startTime="1744400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="MultipleInterrupts-Sequential.gif" xmpDM:startTime="1744400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="" xmpDM:startTime="1744400" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Questions &amp; Tasks Go back to Computer Architecture if you want to learn more about interrupts! Remember the issues with" xmpDM:startTime="1875300" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="pipelining, branch prediction etc." xmpDM:startTime="1875300" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Polling seems to be a bad idea – come up with scenarios where polling could make sense! What should be" xmpDM:startTime="1875300" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="considered when programming an ISR? Think of timing and registers Figure out the interrupts (type, frequency, priority etc.)" xmpDM:startTime="1875300" xmpDM:duration="1000"/></rdf:li><rdf:li><rdf:Description xmpDM:name="on your system – are interrupts frequent? TI III - Operating Systems and Computer Networks" xmpDM:startTime="1875300" xmpDM:duration="1000"/></rdf:li></rdf:Seq>
                     </xmpDM:markers>
                  </rdf:Description>
               </rdf:li>
               <rdf:li>
                  <rdf:Description xmpDM:trackType="TableOfContents" xmpDM:frameRate="f1000" xmpDM:trackName="Table of Contents">
                     <xmpDM:markers>
                        <rdf:Seq>
                           <rdf:li><rdf:Description xmpDM:name="Content" xmpDM:startTime="0" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="0" tscDM:imageoffset="0" tscDM:imagerect="0, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupts - Motivation" xmpDM:startTime="10400" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="1" tscDM:imageoffset="0" tscDM:imagerect="75, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupts versus Polling" xmpDM:startTime="216833" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="2" tscDM:imageoffset="0" tscDM:imagerect="150, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupt Service Routines" xmpDM:startTime="456500" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="3" tscDM:imageoffset="0" tscDM:imagerect="225, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Interrupt Vector Table" xmpDM:startTime="650167" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="4" tscDM:imageoffset="0" tscDM:imagerect="300, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Detecting Interrupts" xmpDM:startTime="831800" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="5" tscDM:imageoffset="0" tscDM:imagerect="375, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Detecting Interrupts" xmpDM:startTime="894467" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="6" tscDM:imageoffset="0" tscDM:imagerect="450, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Detecting Interrupts" xmpDM:startTime="1014067" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="7" tscDM:imageoffset="0" tscDM:imagerect="525, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Steps of Interrupt Handling" xmpDM:startTime="1111567" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="8" tscDM:imageoffset="0" tscDM:imagerect="600, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Types of Interrupts" xmpDM:startTime="1506467" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="9" tscDM:imageoffset="0" tscDM:imagerect="675, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Multiple Interrupts" xmpDM:startTime="1744400" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="10" tscDM:imageoffset="0" tscDM:imagerect="750, 0, 75, 42"/></rdf:li><rdf:li><rdf:Description xmpDM:name="Questions &amp; Tasks" xmpDM:startTime="1875300" tscDM:image="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png" tscDM:imageindex="11" tscDM:imageoffset="0" tscDM:imagerect="825, 0, 75, 42"/></rdf:li></rdf:Seq>
                     </xmpDM:markers>
                  </rdf:Description>
               </rdf:li>
            </rdf:Bag>
         </xmpDM:Tracks>
         <tscDM:controller>
            <rdf:Description xmpDM:name="tscplayer">
               <tscDM:parameters>
                  <rdf:Bag>
                     <rdf:li xmpDM:name="autohide" xmpDM:value="true"/><rdf:li xmpDM:name="autoplay" xmpDM:value="false"/><rdf:li xmpDM:name="loop" xmpDM:value="false"/><rdf:li xmpDM:name="searchable" xmpDM:value="true"/><rdf:li xmpDM:name="captionsenabled" xmpDM:value="false"/><rdf:li xmpDM:name="sidebarenabled" xmpDM:value="false"/><rdf:li xmpDM:name="unicodeenabled" xmpDM:value="false"/><rdf:li xmpDM:name="backgroundcolor" xmpDM:value="000000"/><rdf:li xmpDM:name="sidebarlocation" xmpDM:value="left"/><rdf:li xmpDM:name="endaction" xmpDM:value="stop"/><rdf:li xmpDM:name="endactionparam" xmpDM:value="true"/><rdf:li xmpDM:name="locale" xmpDM:value="en-US"/></rdf:Bag>
               </tscDM:parameters>
               <tscDM:controllerText>
                  <rdf:Bag>
                  </rdf:Bag>
               </tscDM:controllerText>
            </rdf:Description>
         </tscDM:controller>
         <tscDM:contentList>
            <rdf:Description>
               <tscDM:files>
                  <rdf:Seq>
                     <rdf:li xmpDM:name="0" xmpDM:value="OSCN_02-SubSys_INT_SysCall-2.mp4"/><rdf:li xmpDM:name="1" xmpDM:value="OSCN_02-SubSys_INT_SysCall-2_First_Frame.png"/><rdf:li xmpDM:name="2" xmpDM:value="OSCN_02-SubSys_INT_SysCall-2_Thumbnails.png"/></rdf:Seq>
               </tscDM:files>
            </rdf:Description>
         </tscDM:contentList>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>