What are some of the I/O hardware aspects (related to programming)? I/O devices can be divided into two categories block devices (that store information in a fixed-size block) and character devices (that deliver or accept a stream of characters) I/O units typically consist of a mechanical component and an electronic component; the electronic component is called the device controller each controller has a few registers that are used for communicating with the CPU - the operating system can write to those registers to command the device a Direct Memory Access (DMA) controller can be used to request data from an I/O controller instead of the CPU i and ii ii, iii, and iv iii and iv all of the above (i, ii, iii, and iv) Solution Last one is the answer all of the above (i,ii,iii,iv) Thank You! .