Different methods for carrying out I/O are listed below. After the I/O list, I will discuss basic CPU architecture from a high level.
Programmed - CPU sends data to a device, and then waits to see if the device is ready for the next bit of data. Can waste a lot of time.
Interrupt-driven - Book puts this one in nice wording: send character -> go do something else -> interrupt -> send another character.
DMA - Direct memory access. Does not even use the CPU. Uses a controller instead. Really speeds up I/O.
Premapped - Deals with security. OS trusts the device to behave properly. CPU does not control interactions. Could be a problem.
Fully Mapped - Also deals with security pertaining to I/O. OS does not trust device interaction with memory directly.
In CPU architecture, lower level ring process are more trusted.
Level 0 - OS Kernel
Level 1- OS
Level 2 - OS Utilities and File System Drivers
Level 3 - Other Applications
No comments:
Post a Comment