Sistemas Operativos de multitarea
La multitarea es la característica de los sistemas operativos modernos de permitir que varios procesos se ejecuten al parecer al mismo tiempo compartiendo uno o más procesadores.
Aquí son los procesos de usuario los que ceden la CPU al sistema
operativo a intervalos regulares. Muy problemática, puesto que, si el
proceso de usuario se interrumpe y no cede la CPU al sistema operativo,
todo el sistema quedará trabado, es decir, sin poder hacer nada. Da
lugar también a latencias muy irregulares y la imposibilidad de tener en
cuenta este esquema en sistemas operativos de tiempo real. Un ejemplo
sería Windows hasta la versión 95.
Los sistemas operativos multitarea son capaces de dar servicio a más de
un proceso a la vez para permitir la ejecución de muchos más programas.
Sistemas Operativos multiusuarios
La palabra multiusuario se refiere a un concepto de sistemas operativos, pero en ocasiones también puede aplicarse a programas de computadora de otro tipo (e.j. aplicaciones de base de datos)
e incluso a sistemas de cómputo. En general se le llama multiusuario a
la característica de un sistema operativo o programa que permite proveer
servicio y procesamiento a múltiples usuarios simultáneamente,
estrictamente es pseudo-simultáneo (tanto en paralelismo real como
simulado).
En los sistemas operativos antiguos, la idea de multiusuario guarda el significado original de que éste puede ser utilizado por varios usuarios al mismo tiempo, permitiendo la ejecución concurrente de programas por parte de distintos usuarios. Aunque la idea original de tiempo compartido o el uso de terminales bobas
no es ya el más utilizado. Esto debido a que los computadores modernos
pueden tener múltiples procesadores, o proveer sus interfaces de usuario
a través de una red, o en casos especiales, ya ni siquiera existe un
solo computador físico proveyendo los servicios, sino un conjunto de
computadoras en red o conectadas por un bus de alta velocidad y actuando
en concierto para formar un cluster.
Sistemas Operativos multiprocesador
Se denomina multiprocesador a un computador que cuenta con dos o más microprocesadores (CPUs).
Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes.
Los ordenadores multiprocesador presentan problemas de diseño que no
se encuentran en ordenadores monoprocesador. Estos problemas derivan del
hecho de que dos programas
pueden ejecutarse simultáneamente y, potencialmente, pueden
interferirse entre sí. Concretamente, en lo que se refiere a las
lecturas y escrituras en memoria. Existen dos arquitecturas que
resuelven estos problemas:
- La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria.
- La arquitectura SMP, donde todos los procesadores comparten toda la memoria.
Sistemas Operativos multitramo
Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
tiempo real: Es aquel sistema que interactúa activamente con un entorno con dinámica conocida en relación con sus entradas, salidas y restricciones temporales, para darle un correcto funcionamiento de acuerdo con los conceptos de estabilidad, controlabilidad y alcanzabilidad.
tiempo real: Es aquel sistema que interactúa activamente con un entorno con dinámica conocida en relación con sus entradas, salidas y restricciones temporales, para darle un correcto funcionamiento de acuerdo con los conceptos de estabilidad, controlabilidad y alcanzabilidad.
Sistemas Operativos tiempo real
Un sistema operativo de tiempo real es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real.
Como tal, se le exige corrección en sus respuestas bajo ciertas
restricciones de tiempo. Si no las respeta, se dirá que el sistema ha
fallado. Para garantizar el comportamiento correcto en el tiempo
requerido se necesita que el sistema sea predecible.
En la actualidad hay un debate sobre qué es tiempo real. Muchos sistemas operativos de tiempo real tienen un programador (en inglés conocido como scheduler), diseños de controladores
que minimizan los periodos en los que las interrupciones están
deshabilitadas, un tiempo finito conocido (casi siempre calculado para
el peor de los casos, término que en inglés se conoce como worst case) de la duración de interrupción.
Muchos incluyen también formas especiales de gestión de memoria que
limitan la posibilidad de fragmentación de la memoria y aseguran un
límite superior mínimo para los tiempos de asignación y retiro de la
memoria asignada.