Funciones de un sistema operativo
Gestión de la CPU.
La gestión de un sistema operativo monoprogramado es simple.
Los sistemas operativos multiprogramados o de tiempo compartido, realizan:
• Mantienen una estructura de datos para guardar información sobre cada uno de los procesos que se ejecutan concurrentemente en el sistema.
• Decide cuando se interrumpe un proceso y determina a qué proceso se le asigna la CPU en su lugar, para ello se ejecuta un programa llamado planificador.
Servicios relacionados con la gestión de la CPU que proporcionan todos los sistemas operativos:
• Creación de un proceso.
• Terminación de un proceso.
Gestión de la memoria principal.
El Sistema operativo debe mantener una estructura de datos donde almacena la información sobre qué zona de la memoria ocupa cada proceso, así como de las zonas de la memoria libres.
La CPU capta de la memoria principal las instrucciones máquina de los programas para ejecutarlas. Esto implica que para que un programa se pueda ejecutar debe esta cargado en la memoria principal. Por esto el tamaño máximo del código máquina de un programa no debería exceder del tamaño de la memoria principal.
Memoria Virtual: permite que el usuario pueda crear programas cuyo código máquina excede del tamaño de la memoria principal.
Para proporcionar memoria virtual, el sistema mantiene en la memoria principal sólo parte del código de un programa por
donde se va ejecutando actualmente, y el resto permanece en memoria principal.
El sistema de ficheros.
Motivos para la utilización de memoria secundaria:
• Existen datos que deben de sobrevivir a la ejecución de un programa. La solución es almacenar estos en memoria secundaria.
El sistema operativo facilita notablemente el trabajo con la memoria secundaria, al presentar una interfaz de uso simple.
El sistema operativo aporta un conjunto de servicios para manipular los ficheros, como podrían ser:
• Abrir un fichero.
• Escribir en un fichero.
• Leer de un fichero.
• Borrar un fichero.
• Cerrar un fichero.
Gestión de la entrada/salida.
Es misión del sistema operativo gestionar directamente los periféricos, ofreciendo al programador unos servicios para su utilización mucho más sencillos que los que ofrecen éstos a nivel hardware.
A nivel físico los periféricos son muy distintos, por esto los servicios que ofrece el sistema operativo para trabajar con dispositivos distintos son muy parecidos, la E/S independiente del dispositivo.
El sistema operativo ofrece como mínimo los siguientes servicios para realizar las operaciones de E/S:
• Apertura de un periférico.
• Operaciones de lectura y escritura.
• Cierre de un periférico.