Linux drivers and how they differ from others