1 / 1

Understanding Kernel Interrupt Handling and System Calls: Insights from ECE 354

This document presents an overview of the kernel structure related to interrupt handling, focusing on system calls and specific device access without return calls. It highlights the execution flow from the master handlers to sub-handlers for keyboard and display operations. Key caveats include the disregard for exceptions beyond system calls and interrupts, and a serial representation of device interactions. By using this original version by Mark D. Hill (2001), readers can gain insights into kernel processes relevant for systems programming and embedded systems courses.

Télécharger la présentation

Understanding Kernel Interrupt Handling and System Calls: Insights from ECE 354

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. E R R R R R E CS/ECE 354 Interrupt Kernel Structure 0x80000080 kernel start switch(ExcCode) Original Version by Mark D. Hill 14 Nov 2001 Caveats: Ignores exceptions beyond syscalls and interrupts. Ignores printing, errors, warnings, dumping, and halting. Revisions: <none yet> KEY: jump without return call that will return device access 1-7,9-15 8 0 _k_handleSys syscall master handler switch(syscall #) _k_handleInt interrupt master handler calls all specific handlers _k_handleOTHER other master handlers ignored here CLOCK 11 4 12 10 _k_Getc getc syscall sub-handler _k_Done done syscall sub-handler _k_Putc putc syscall sub-handler _k_Puts puts syscall sub-handler halts (to finish printing) _k_DPenQ enqueues a char on display’s _k_DP_q _k_KBdeQ dequeues a char from keyboard’s _k_KB_q (if empty) (if busy waiting) (if full & at end) _k_DP_handler display device driver: dequeues a char from _k_DP_q for display _k_KB_handler keyboard device driver: enqueues a char from keyboard on _k_KB_q _k_Return kernel end returns to user code (echo char) DISPLAY KEYBOARD

More Related