Si quieres conocer todas las funciones de un sistema operativo, debo decir que depende del sistema operativo.
Las funciones que todos los sistemas operativos tienen en común son las subrutinas para realizar operaciones de entrada y salida, la capacidad de ingresar una tarea a realizar, la capacidad de cargar el software para realizar la tarea deseada.
La mayoría de los sistemas operativos, pero no todos, incluyen una forma de finalizar una tarea y proporcionar el estado de finalización del trabajo (terminación normal, aborto o código de retorno).
Los sistemas operativos multitarea y el sistema operativo multiprocesador incluyen un programa para controlar el tiempo máximo ininterrumpido en la CPU que proporciona preferencia si es necesario, programador de trabajos y sistema de interrupción. Estos sistemas operativos casi siempre también incluyen un sistema de administración de memoria para mover un programa fuera de la memoria cuando se reemplaza o se desea una operación de entrada y salida y el programa que sigue en el planificador requiere parte o toda la memoria utilizada por el programa que fue eliminado de la memoria.
La mayoría, pero no todos, proporcionan un sistema de administración de archivos, proporcionan un método para enviar información de usuario y, en los últimos años, brindan alguna forma de seguridad y derechos de usuario para programas y / o datos.
Más allá de esto, la mayoría de las funciones son solo para optimizar las indicadas anteriormente, como permitir la priorización de tareas en la cola del programador.
Aunque Microsoft ha incluido características como Internet Explorer en su sistema operativo, NO es una función del sistema operativo.
En su forma más básica, todo lo que un sistema operativo está diseñado para hacer es proporcionar una interfaz entre el usuario y la máquina y proporcionar el software básico que debe existir para ejecutar trabajos. Los sistemas operativos se crearon originalmente para evitar tener que volver a escribir cómo iniciar un trabajo, cómo realizar operaciones de entrada y salida y cómo determinar el estado de finalización del trabajo. Anteriormente, todos los programas debían incluir estas habilidades. Originalmente, nadie consideró los programas que se suponía que no debían terminar hasta que la computadora fuera destruida físicamente (es por eso que algunos sistemas operativos, ahora, no incluyen la capacidad de determinar el estado de finalización del trabajo).