Descripción del sistema operativo
Para que un ordenador pueda hacer funcionar un programa informático (a veces conocido como aplicación o software),
debe contar con la capacidad necesaria para realizar cierta cantidad de
operaciones preparatorias que puedan garantizar el intercambio entre el
procesador, la memoria y los recursos físicos (periféricos).
El sistema operativo (a veces también citado mediante su forma abreviada OS
en inglés) se encarga de crear el vínculo entre los recursos
materiales, el usuario y las aplicaciones (procesador de texto,
videojuegos, etcétera). Cuando un programa desea acceder a un recurso
material, no necesita enviar información específica a los dispositivos
periféricos; simplemente envía la información al sistema operativo, el
cual la transmite a los periféricos correspondientes a través de su
driver (controlador). Si no existe ningún driver, cada programa debe
reconocer y tener presente la comunicación con cada tipo de periférico.
De esta forma, el sistema operativo permite la
"disociación" de programas y hardware, principalmente para simplificar
la gestión de recursos y proporcionar una interfaz de usuario (MMI por
sus siglas en inglés) sencilla con el fin de reducir la complejidad del
equipo.
Funciones del sistema operativo
El sistema operativo cumple varias funciones:
- Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
- Gestión de la memoria de acceso aleatorio:
el sistema operativo se encarga de gestionar el espacio de memoria
asignado para cada aplicación y para cada usuario, si resulta
pertinente. Cuando la memoria física es insuficiente, el sistema
operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual".
La memoria virtual permite ejecutar aplicaciones que requieren una
memoria superior a la memoria RAM disponible en el sistema. Sin embargo,
esta memoria es mucho más lenta.
- Gestión de entradas/salidas: el sistema operativo
permite unificar y controlar el acceso de los programas a los recursos
materiales a través de los drivers (también conocidos como
administradores periféricos o de entrada/salida).
- Gestión de ejecución de aplicaciones: el sistema
operativo se encarga de que las aplicaciones se ejecuten sin problemas
asignándoles los recursos que éstas necesitan para funcionar. Esto
significa que si una aplicación no responde correctamente puede
"sucumbir".
- Administración de autorizaciones: el sistema operativo
se encarga de la seguridad en relación con la ejecución de programas
garantizando que los recursos sean utilizados sólo por programas y
usuarios que posean las autorizaciones correspondientes.
- Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
- Gestión de la información: el sistema operativo
proporciona cierta cantidad de indicadores que pueden utilizarse para
diagnosticar el funcionamiento correcto del equipo.
Componentes del sistema operativo
El sistema operativo está compuesto por un conjunto
de paquetes de software que pueden utilizarse para gestionar las
interacciones con el hardware. Estos elementos se incluyen por lo
general en este conjunto de software:
- El núcleo, que representa las funciones básicas del sistema
operativo, como por ejemplo, la gestión de la memoria, de los procesos,
de los archivos, de las entradas/salidas principales y de las funciones
de comunicación.
- El intérprete de comandos, que posibilita la
comunicación con el sistema operativo a través de un lenguaje de
control, permitiendo al usuario controlar los periféricos sin conocer
las características del hardware utilizado, la gestión de las
direcciones físicas, etcétera.
- El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.
Sistemas de multiprocesos
Un sistema operativo se denominade multiprocesos cuando muchas "tareas" (también conocidas como procesos) se pueden ejecutar al mismo tiempo.
Las aplicaciones consisten en una secuencia de instrucciones llamadas "procesos".
Estos procesos permanecen activos, en espera, suspendidos, o se
eliminan en forma alternativa, según la prioridad que se les haya
concedido, o se pueden ejecutar en forma simultánea.
Un sistema se considera preventivo cuando cuenta con un programador (también llamado planificador) el cual, según los criterios de prioridad, asigna el tiempo de los equipos entre varios procesos que lo solicitan.
Se denomina sistema de tiempo compartido a
un sistema cuando el programador asigna una cantidad determinada de
tiempo a cada proceso. Éste es el caso de los sistemas de usuarios
múltiples que permiten a varios usuarios utilizar aplicaciones
diferentes o similares en el mismo equipo al mismo tiempo. De este modo,
el sistema se denomina "sistema transaccional". Para realizar esto, el sistema asigna un período de tiempo a cada usuario.
Sistemas de multiprocesadores
La técnica de multiprocesamiento consiste en
hacer funcionar varios procesadores en forma paralela para obtener un
poder de cálculo mayor que el obtenido al usar un procesador de alta
tecnología o al aumentar la disponibilidad del sistema (en el caso de
fallas del procesador).
Las siglas SMP (multiprocesamiento simétrico o multiprocesador simétrico) hacen referencia a la arquitectura en la que todos los procesadores acceden a la misma memoria compartida.
Un sistema de multiprocesadores debe tener
capacidad para gestionar la repartición de memoria entre varios
procesadores, pero también debe distribuir la carga de trabajo.
Sistemas fijos
Los sistemas fijos son sistemas operativos diseñados para funcionar en equipos pequeños, como los PDA (asistentes personales digitales)
o los dispositivos electrónicos autónomos (sondas espaciales, robots,
vehículos con ordenador de a bordo, etcétera) con autonomía reducida. En
consecuencia, una característica esencial de los sistemas fijos es su
avanzada administración de energía y su capacidad de funcionar con
recursos limitados.
Los principales sistemas fijos de "uso general" para PDA son los siguientes:
- PalmOS
- Windows CE / Windows Mobile / Window Smartphone
Sistemas de tiempo real
Los sistemas de tiempo real se utilizan
principalmente en la industria y son sistemas diseñados para funcionar
en entornos con limitaciones de tiempo. Un sistema de tiempo real debe
tener capacidad para operar en forma fiable según limitaciones de tiempo
específicas; en otras palabras, debe tener capacidad para procesar
adecuadamente la información recibida a intervalos definidos claramente
(regulares o de otro tipo).
Estos son algunos ejemplos de sistemas operativos de tiempo real:
- OS-9;
- RTLinux (RealTime Linux);
- QNX;
- VxWorks.
Tipos de sistemas operativos
Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más.
Sistema
| Programación
| Usuario único
| Usuario múltiple
| Tarea única
| Multitarea
|
DOS |
16 bits |
X |
|
X |
|
Windows3.1 |
16/32 bits |
X |
|
|
no preventivo |
Windows95/98/Me |
32 bits |
X |
|
|
cooperativo |
WindowsNT/2000 |
32 bits |
|
X |
|
preventivo |
WindowsXP |
32/64 bits |
|
X |
|
preventivo |
Unix / Linux |
32/64 bits |
|
X |
|
preventivo |
MAC/OS X |
32 bits |
|
X |
|
preventivo |
VMS
| 32 bits
|
| X
|
| preventivo
|