(Usage hints for this presentation)
Computer Structures and Operating Systems 2023
Dr. Jens Lechtenbörger (License Information)
von Neumann Architecture
Figure by Kapooht under CC BY-SA 3.0; converted from Wikimedia Commons
|
Hack |
Modern Computer (e.g., PC, smartphone) |
---|---|---|
Memory |
• RAM for data, ROM for instructions • Physical RAM addresses • No secondary memory |
• RAM for data and instructions • Physical and virtual addresses • Memory hierarchy (disks) |
CPU |
• Single core • Single mode of execution • Neither cache nor MMU |
• Multi-core • Multiple protection domains • Caches and MMU |
I/O |
• No interrupts • Polling for I/O (recall keyboard) |
• Interrupts, DMA • Different options for I/O |
OS |
• Language library • Single thread, no multitasking • No virtual memory |
• Real OSs with system calls • Multitasking, scheduling • Virtual memory |
Additionally
I/O happens synchronously while OS polls for result
Software interrupt
int 0x80
(generic), SYSCALL
(AMD), SYSENTER
(Intel)int 0x80
int 0x80
leads into kernel mode0x80
points to handler function
system_call
, since 2015 entry_INT80_32
arch/x86/kernel/traps.c
)This task is available for self-study in Learnweb.
Measurements for DRAM-based storage prototype (data from [YMH12])
This document is part of an Open Educational Resource (OER) course on Operating Systems. Source code and source files are available on GitLab under free licenses.
Except where otherwise noted, the work “OS02: Interrupts and I/O”, © 2017-2023 Jens Lechtenbörger, is published under the Creative Commons license CC BY-SA 4.0.
In particular, trademark rights are not licensed under this license. Thus, rights concerning third party logos (e.g., on the title slide) and other (trade-) marks (e.g., “Creative Commons” itself) remain with their respective holders.