diff --git a/content/notes/23-IO-systems.md b/content/notes/23-IO-systems.md index 13c785337..9870e01ad 100644 --- a/content/notes/23-IO-systems.md +++ b/content/notes/23-IO-systems.md @@ -4,6 +4,9 @@ aliases: tags: - cosc204 - lecture +sr-due: 2022-11-04 +sr-interval: 3 +sr-ease: 250 --- interactive between device drivers and IO devices @@ -49,8 +52,15 @@ Direct memory access IO performance - reduce context switches -- reduce data copies in memory (normamly two: user mem) +- reduce data copies in memory (normamly two: user memory, device/kernel memory): can mmap to share memory - reduce number of interrupts (e.g., using polling) + - it data is coming more frequently polling may be faster than interrupts - increase concurrency (e.g., DMA) - move data processing to hardware (e.g., network interface card) -- balance CPU, memory system, bus, IO performance \ No newline at end of file +- balance CPU, memory system, bus, IO performance + +Zero-copy +- avoid memory copy in IO data transfer +- use dynamic mmap +- copy data from deice directly to user spce e.g., remote direct memory access RDMA +- pass packet buffer pointers between layers of TCP/IP protocol \ No newline at end of file diff --git a/content/notes/cosc-204.md b/content/notes/cosc-204.md index 1e0c06b5b..3ac05f63a 100644 --- a/content/notes/cosc-204.md +++ b/content/notes/cosc-204.md @@ -53,7 +53,7 @@ tags: - [20-sync-deadlock](notes/20-sync-deadlock.md) - [21-memory-management](notes/21-memory-management.md) - [22-virtual-memory](notes/22-virtual-memory.md) - +-[23-IO-systems](notes/23-IO-systems.md) # Archive