Un Sistema Operativo es el software
encargado de ejercer el control y coordinar el uso del hardware entre
diferentes programas de aplicación y los diferentes usuarios. Puede decirse que
es un administrador de los recursos de hardware del sistema.
lunes, 10 de septiembre de 2012
¿PARA QUÉ SIRVE UN SISTEMA OPERATIVO?
El sistema operativo
funciona como un intermediario para que el usuario pueda comunicarse con el
hardware y así el sistema pueda proporcionar un ambiente en donde el usuario
pueda ejecutar programas. Esta relación hace que el sistema operativo y el
hardware funcionen de manera eficiente.
En una definición informal es un
sistema que consiste en ofrecer una distribución ordenada y controlada de los
procesadores, memorias y dispositivos de E/S entre los diversos programas que
compiten por ellos.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes.
Proveer una máquina virtual, es
decir, un ambiente en el cual el usuario pueda ejecutar programas de manera
conveniente, protegiéndolo de los detalles y complejidades del hardware.
Administrar eficientemente los recursos del computador.
CLASIFICACIÓN DE SISTEMAS OPERATIVOS
Sistemas Operativos de multiprogramación (o Sistemas
Operativos de multitarea)
Es el modo de funcionamiento disponible en algunos sistemas
operativos, mediante el cual una computadora procesa varias tareas al mismo
tiempo. Existen varios tipos de multitareas.
La conmutación de contextos (context Switching) es un tipo muy
simple de multitarea en el que dos o más aplicaciones se cargan al mismo
tiempo, pero en el que solo se está procesando la aplicación que se encuentra
en primer plano (la que ve el usuario). Para activar otra tarea que se
encuentre en segundo plano, el usuario debe traer al primer plano la ventana o
pantalla que contenga esa aplicación.
En la multitarea cooperativa, la que se utiliza en el sistema
operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado
durante los tiempos muertos de la tarea que se encuentra en primer plano (por
ejemplo, cuando esta aplicación está esperando información del usuario), y
siempre que esta aplicación lo permita.
En los sistemas multitarea de tiempo compartido, como OS/2, cada
tarea recibe la atención del microprocesador durante una fracción de segundo.
Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se
procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho
más lento que la velocidad de procesamiento del ordenador, las operaciones de
multitarea en tiempo compartido parecen ser simultáneas.
Se distinguen por sus habilidades para poder soportar la
ejecución de dos o más trabajos activos (que se están ejecutado) al mismo
tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP)
siempre tenga alguna tarea que ejecutar, aprovechando al máximo su utilización.
Su objetivo es tener a varias tareas en la memoria principal, de
manera que cada uno está usando el procesador, o un procesador distinto, es
decir, involucra máquinas con más de una UCP.
Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows
NT, MAC-OS, OS/2, soportan la multitarea.
Las características de un Sistema Operativo de multiprogramación
o multitarea son las siguientes:
Mejora productividad
del sistema y utilización de recursos.
Multiplexa recursos
entre varios programas.
Generalmente soportan
múltiples usuarios (multiusuarios).
Proporcionan
facilidades para mantener el entorno de usuarios individuales.
Requieren validación
de usuario para seguridad y protección.
Proporcionan
contabilidad del uso de los recursos por parte de los usuarios.
Multitarea sin soporte
multiusuario se encuentra en algunos computadores personales o en sistemas de
tiempo real.
Sistemas
multiprocesadores son sistemas multitareas por definición ya que soportan la
ejecución simultánea de múltiples tareas sobre diferentes procesadores.
En general, por tener
múltiples programas activos compitiendo por los recursos del sistema: procesador,
memoria, dispositivos periféricos.
Sistema Operativo Monotareas
Los sistemas operativos monotareas son más primitivos y es todo
lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso
en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo
cuando la computadora está imprimiendo un documento, no puede iniciar otro
proceso ni responder a nuevas instrucciones hasta que se termine la impresión.
Sistema Operativo Monousuario
Los sistemas monousuarios son aquellos que nada más puede
atender a un solo usuario, gracias a las limitaciones creadas por el hardware,
los programas o el tipo de aplicación que se esté ejecutando.
Estos tipos de sistemas son muy simples, porque todos los
dispositivos de entrada, salida y control dependen de la tarea que se está
utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas
de inmediato; ya que existe un solo usuario. Y están orientados principalmente
por los microcomputadores.
Sistema Operativo Multiusuario
Es todo lo contrario a monousuario; y en esta categoría se
encuentran todos los sistemas que cumplen simultáneamente las necesidades de
dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se
emplean especialmente en redes.
En otras palabras consiste en el fraccionamiento del tiempo
(timesharing).
Sistemas Operativos por lotes
Los Sistemas Operativos por lotes, procesan una gran cantidad de
trabajos con poca o ninguna interacción entre los usuarios y los programas en
ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo
tiempo, evitando la espera de dos o más trabajos como sucede en el
procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos,
y fueron introducidos alrededor de 1956 para aumentar la capacidad de
procesamiento de los programas.
Algunos ejemplos de Sistemas Operativos por lotes exitosos son
el SCOPE, del DC6600, el cual está orientado a procesamiento científico pesado,
y el EXEC II para el UNIVAC 1107, orientado a procesamiento académico.
Algunas otras
características con que cuentan los Sistemas Operativos por lotes son:
Requiere que el
programa, datos y órdenes al sistema sean remitidos todos juntos en forma de
lote.
Permiten poca o
ninguna interacción usuario/programa en ejecución.
Mayor potencial de
utilización de recursos que procesamiento serial simple en sistemas
multiusuarios.
No conveniente para
desarrollo de programas por bajo tiempo de retorno y depuración fuera de línea.
Conveniente para
programas de largos tiempos de ejecución (ej, análisis estadísticos, nóminas de
personal, etc).
Se encuentra en muchos
computadores personales combinados con procesamiento serial.
Planificación del
procesador sencilla, típicamente procesados en orden de llegada.
Planificación de
memoria sencilla, generalmente se divide en dos: parte residente del S.O. y
programas transitorios.
No requieren gestión
crítica de dispositivos en el tiempo.
Suelen proporcionar
gestión sencilla de manejo de archivos: se requiere poca protección y ningún
control de concurrencia para el acceso.
Sistemas Operativos de tiempo real
Los Sistemas
Operativos de tiempo real son aquellos en los cuales no tiene importancia el
usuario, sino los procesos. Por lo general, están subutilizados sus recursos
con la finalidad de prestar atención a los procesos en el momento que lo requieran.
Se utilizan en entornos donde son procesados un gran número de sucesos o
eventos.
Muchos Sistemas
Operativos de tiempo real son construidos para aplicaciones muy específicas como
control de tráfico aéreo, bolsas de valores, control de refinerías, control de
laminadores. También en el ramo automovilístico y de la electrónica de consumo,
las aplicaciones de tiempo real están creciendo muy rápidamente. Otros campos
de aplicación de los Sistemas Operativos de tiempo real son los siguientes:
Control de trenes.
Telecomunicaciones.
Sistemas de
fabricación integrada.
Producción y
distribución de energía eléctrica.
Control de edificios.
Sistemas multimedia.
Algunos ejemplos de Sistemas
Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra.
Los
Sistemas Operativos de tiempo real, cuentan con las siguientes características:
Se dan en entornos en
donde deben ser aceptados y procesados gran cantidad de sucesos, la mayoría
externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.
Se utilizan en control
industrial, conmutación telefónica, control de vuelo, simulaciones en tiempo
real., aplicaciones militares, etc.
Objetivo es
proporcionar rápidos tiempos de respuesta.
Procesa ráfagas de
miles de interrupciones por segundo sin perder un solo suceso.
Proceso se activa tras
ocurrencia de suceso, mediante interrupción.
Proceso de mayor
prioridad expropia recursos.
Por tanto generalmente
se utiliza planificación expropiativa basada en prioridades.
Gestión de memoria
menos exigente que tiempo compartido, usualmente procesos son residentes
permanentes en memoria.
Población de procesos
estática en gran medida.
Poco movimiento de
programas entre almacenamiento secundario y memoria.
Gestión de archivos se
orienta más a velocidad de acceso que a utilización eficiente del recurso.
Sistemas Operativos de tiempo compartido
Permiten la simulación de que el sistema y sus recursos son
todos para cada usuario. El usuario hace una petición a la computadora, esta la
procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal
del usuario.
Los principales recursos del sistema, el procesador, la memoria,
dispositivos de E/S, son continuamente utilizados entre los diversos usuarios,
dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo.
Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo,
principalmente en la administración de memoria principal y secundaria.
Ejemplos de Sistemas Operativos de tiempo compartido son
Multics, OS/360 y DEC-10.
Características de los
Sistemas Operativos de tiempo compartido:
Populares
representantes de sistemas multiprogramados multiusuario, por ejemplo sistemas
de diseño asistido por computador, procesamiento de texto, etc.
Dan la ilusión de que
cada usuario tiene una máquina para sí.
Mayoría utilizan
algoritmo de reparto circular.
Programas se ejecutan
con prioridad rotatoria que se incrementa con la espera y disminuye después de
concedido el servicio.
Evitan monopolización
del sistema asignando tiempos de procesador (time slot).
Gestión de memoria
proporciona protección a programas residentes.
Gestión de archivo
debe proporcionar protección y control de acceso debido a que pueden existir
múltiples usuarios accesando a un mismo archivo.
Sistemas Operativos distribuidos
Permiten distribuir
trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que
este conjunto de procesadores esté en un equipo o en diferentes, en este caso
es trasparente para el usuario.
Existen dos esquemas básicos de éstos. Un sistema
fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos
tiempos de acceso son similares para todos los procesadores. En un sistema
débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que
cada uno cuenta con su memoria local.
Los sistemas
distribuidos deben de ser muy confiables, ya que si un componente del sistema
se compone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes
Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite,
Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
Características de los
Sistemas Operativos distribuidos:
Colección de sistemas
autónomos capaces de comunicación y cooperación mediante interconexiones
hardware y software.
Gobierna operación de
un S.C. y proporciona abstracción de máquina virtual a los usuarios.
Objetivo clave es la
transparencia.
Generalmente proporcionan
medios para la compartición global de recursos.
Servicios añadidos:
denominación global, sistemas de archivos distribuidos, facilidades para
distribución de cálculos (a través de comunicación de procesos internodos,
llamadas a procedimientos remotos, etc).
Sistemas Operativos de red
Son aquellos sistemas que mantienen a dos o más computadoras
unidas a través de algún medio de comunicación (físico o no), con el objetivo
primordial de poder compartir los diferentes recursos y la información del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con
un procesador Motorola 68000, pasando posteriormente a procesadores Intel como
Novell Netware.
Los Sistemas Operativos de red más ampliamente usados son:
Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX,
LANtastic.
Sistemas Operativos paralelos
En estos tipos de Sistemas Operativos se pretende que cuando
existan dos o más procesos que compitan por algún recurso se puedan realizar o
ejecutar al mismo tiempo.
En UNIX existe también la posibilidad de ejecutar programas sin
tener que atenderlos en forma interactiva, simulando paralelismo (es decir,
atender de manera concurrente varios procesos de un mismo usuario). Así, en
lugar de esperar a que el proceso termine de ejecutarse (como lo haría
normalmente), regresa a atender al usuario inmediatamente después de haber
creado el proceso.
Ejemplos de estos tipos de Sistemas Operativos están: Alpha,
PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.
Suscribirse a:
Entradas (Atom)