De la misma manera que el API proporciona a las aplicaciones de una manera consistente para usar los recursos del sistema de ordenadores, un interfaz de usuario proporciona una estructura entre el usuario y el ordenador. En la última década, casi todos los desarrolladores en interfaces de usuario han estado en el área de interfaces de usuarios gráficos (GUI), con dos modelos recibiendo la mayor parte de la atención y ganando prácticamente todo el mercado, los cuales son Windows de Microsoft y Macintosh de Apple.
El popular sistema operativo de código abierto Linux también ofrece algunos interfaces de usuario muy reconocidos por millones de usuarios. Hay otros sistemas de este tipo, algunos gráficos y otros no, para otros sistemas operativos.
Para poner un ejemplo, Unix tiene un interfaz de usuario llamado “shell” que presenta un interfaz más flexible y potente que el interfaz estándar de texto de algunos OS. Programas como el C shell, son interfaces basados en texto que añaden importantes utilidades, pero su misión más importante es hacer más fácil para el usuario el poder manipular las funciones del sistema operativo. También hay interfaces gráficos para este sistema, como por ejemplo X-Windows y Gnomo, que hacen parecer Linux y Unix más como un sistema Windows desde el punto del usuario.
Es importante recordar que en todos estos ejemplos, el interfaz de usuario es un programa o conjunto de programas que se asienta como una capa sobre el propio sistema operativo. Lo mismo es verdad, con algunas diferencias en los mecanismos, en los OSs de Windows y Macintosh. El núcleo de las funciones del sistema operativo – la gestión del sistema – está asentado en el kernel del sistema operativo. Las conexiones entre el sistema operativo y el interfaz de usuario, las utilidades y otros tipos de software definen muchas de las diferencias en los sistemas operativos de hoy en día, y también lo definirán en el futuro.
Desarrollo de los sistemas operativos
Para sistemas de ordenadores, de acceso a LAN o a Internet, se han convertido es algo tan corriente que en muchas maneras, es difícil hablar de sistemas operativos sin hacer referencia a sus conexiones a otros ordenadores y servidores. Los desarrolladores de sistemas operativos han hecho de Internet el método estándar para hacer entrega de actualizaciones y parches cruciales para los OS.
Aunque es posible recibir estas actualizaciones por medio de un CD o DVD, cada vez se está haciendo menos común. De hecho, en algunos sistemas operativos, las actualizaciones solo se pueden hacer por medio de Internet.
Aparte de todo esto, un proceso llamado NetBooting ha extendido la capacidad de mover las funciones del sistema operativo (interfaz de usuario, kernel, etc.) más allá de la propia máquina que controla. Esto previamente solo era posible para usuarios experimentados en plataformas multiusuario como es Unix, y con un conjunto de aplicaciones especializadas.
NetBooting permite al sistema operativo de un ordenador ser mantenido sobre una conexión de red, por un ordenador remoto conectado en cualquier punto de la red. Un solo servidor NetBoot puede ofrecer servicios a docenas de clientes (ordenadores) de forma simultánea, y sin que los usuarios tengan que hacer nada, sino mirar como todo se hace de forma remota.
Una pregunta que surge concerniente al futuro de los sistemas operativos, es la habilidad de tener una filosofía de un software de distribución para crear un sistema operativo utilizable por corporaciones y consumidores de forma conjunta. Linux, el OS creado y distribuido según los principios de código abierto, ha tenido un fuerte impacto en los sistemas operativos en general.
Muchos OS, controladores, y programas, están escritos por organizaciones comerciales que distribuyen versiones ejecutables de su software – versiones que pueden ser estudiadas y alteradas. El código libre requiere la distribución del código fuente original para que pueda ser analizado, modificado y utilizado para construir encima más cosas que puedan interactuar con el sistema operativo. En el mundo de Linux, los propios usuarios han obtenido un enorme control sobre el OS con el que operan, y los han hecho crecer hasta limites insospechados.