出光驱，它就提供了一个对应的Ioctl请求码。设备无关的请求码则提供了内核调用权限。ioctl这名字第一次出现在Unix第七版中，他在很多类unix系统（比如Linux、Mac OSX等）都有提供，不过不同系统的请求码对应的设备有所不同。Microsoft Windows在Win32 API里提供了相似的函数，叫做DeviceIoControl。
背景.传统的操作系统可以分成两层，用户层和内核层。应用程序代码比如编辑器，处于用户层，然而系统底层程序，比如网络栈，处于内核层。内核代码处