As the media processed by a computer becomes diverse, it is necessary for an OS to accommodate the diversity in devices and their driver routines. Microkernel architecture enhances the extensibility of an OS by dividing the entire system into several independant components. In this thesis, we investigate the implementation issues of such an OS, which is implemented on an IBM PC. We also show now a device drivers can be placed in user space by the help of hardware features in Intel 80486 processor. This feature allows easy attachment of new devices without modifying the OS.