首先,操作系统对设备的操作主要通过存储关于设备信息的数据结构来使用。最重要明白的是,一个用户进程是不能直接访问和请求系统设备的!要明白操作系统如何为进程分配设备,就要对计算机内部组成有一定的认识,操作系统通过驱动程序作为桥梁,向DMA(设备管理器)发出控制信息,DMA一头连着CPU,一头连着设备接口。由于计算机设备众多,如果要CPU全部控制,负担太重。所以在DMA和CPU之间设置一个通道。这个通道连着众多不同设备的DMA,CPU只需和通道发出控制信息就可。
对CPU如何控制设备有了大概的了解之后,就可以在系统层面来控制设备了。首先在操作系统中,要设置四个数据结构,存放通道信息的表(CHCT),存放DMA信息的表(COCT),存放设备信息的表(DCT),和系统设备表SDT.
设备表中存放的信息有:设备id,设备忙碌状态0或1,设备队列的队首指针(