Esa es una de las ventajas de los SO.
Tomando lo que dijo psykhon sobre la HAL, cuando existe, esta capa de software es la que está directamente encima del hardware. Por ejemplo, en una PC cualquiera, forman parte de la HAL los servicios del BIOS y los controladores básicos que debe ofrecer el Sistema Operativo para que la PC pueda trabajar. Con esto se reutiliza un montón de código para la configuración y uso de los periféricos y se puede gestionar de manera eficiente un conjunto de mecanismos complejos dentro del equipo como por ejemplo DMA, Servicio de Interrupciones, Temporizadores, etc todo eso mediante un conjunto de funciones o API.
La ventaja fundamental de esto está en que no tendrás que escribir de nuevo el código para trabajar con esos dispositivos (si están soportados por el SO), o copiar y pegar el código que está en algúna librería, o poner, por ejemplo, los #include de esas librerías, etc.
El SO debe ser capaz de hacer todo ese trabajo por tí o con muy poca intervención de tu parte, pero además debe ofrecer librerías que hagan de esos periféricos componentes más útiles y productivos. Por ejemplo si tienes un NIC, lo más seguro es que quieras utilizar TCP/IP, o UDP para comunicarte mediante Ethernet, entonces el SO debe ofrecerte la posibilidad de utilizar esos protocolos sin preocuparte de la parte física.
Claro que para los amantes del diseño de hardware tener esas ventajas a veces implica perderse la parte donde aprendes a utilizar y configurar esos dispositivos, pero no hay dudas que tenerlas significa un paso significativo en el desarrollo de un sistema ya que te ahorra un montón de trabajo.
Un saludo Reiner