SISTEMA OPERATIVO
Es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para utilizar un computador.Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación para las aplicaciones que se ejecutan en la máquina.
Uno de los propósitos de un sistema operativo como programa estación principal, consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)
FUNCIONES DEL SISTEMA OPERATIVO
Las funciones más importantes que debe cumplir un sistema operativo son las siguientes:
-Aceptar los trabajos y conservarlos hasta su finalización.
-Detectar errores y actuar de modo apropiado en caso de que se produzcan.
-Controlar las operaciones de E/S.
-Controlar las interrupciones.
-Planificar la ejecución de tareas.
-Entregar recursos a las tareas.
-Retirar recursos de las tareas.
-Proteger la memoria contra el acceso indebido de los programas.
-Soportar el multiacceso.
-Proporcionar al usuario un sencillo manejo de todo el sistema.
-Aprovechar los tiempos muertos del procesador.
-Compartir los recursos de la máquina entre varios procesos al mismo tiempo.
-Administrar eficientemente el sistema de cómputo como un todo armónico.
-Permitir que los diferentes usuarios se comuniquen entre sí, así como protegerlos unos de otros.
-Permitir a los usuarios almacenar información durante plazos medianos o largos.
-Dar a los usuarios la facilidad de utilizar de manera sencilla todos los recursos, facilidades y lenguajes de que dispone la computadora.
-Administrar y organizar los recursos de que dispone una computadora para la mejor utilización de la misma, en beneficio del mayor número posible de usuarios.
-Controlar el acceso a los recursos de un sistema de computadoras.
CARACTERISTICAS DEL SISTEMA OPERATIVO
Las características deseables más importantes de un sistema operativo son:
-Permitir la concurrencia de procesos, traslapándose el tiempo de entrada/salida (E/S) con el de cálculo y ocupando la memoria con varios programas.
-Posibilitar la ejecución de cualquier proceso en el momento que se solicite siempre y cuando haya suficientes recursos libres para él.
-Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que no se usa la CPU, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos asignaciones de CPU a un mismo programa.
-Ser eficiente en cuanto a aumentar la utilización de recursos en general, tales como memoria, procesadores, dispositivos de E/S, discos magnéticos, datos, etc.
-Ser fiable, es decir, un sistema operativo no debe tener errores y debe prever todas las posibles situaciones.
-Ser de tamaño pequeño.
-Posibilitar y facilitar en lo posible el "diálogo" entre computadora y usuario de la misma.
Permitir compartir entre varios usuarios los recursos de hardware con que cuenta una computadora.
-Permitir a los usuarios compartir datos entre ellos, en caso necesario.
-Facilitar la E/S de los diferentes dispositivos conectados a una computadora.
TIPOS DE SISTEMAS OPERATIVOS
Actualmente los sistemas operativos se clasifican en tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y sistemas operativos por la forma en que ofrecen sus servicios (visión externa).
SISTEMAS OPERATIVOS POR SERVICIOS (Visión Externa).
Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final.
SISTEMA OPERATIVO POR NUMERO DE USUARIOS
-Sistema Operativo Monousuario.
Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesoso tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón.
En otras palabras 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 este ejecutando.
-Sistema Operativo Multiusuario.
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una redde comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.
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).
SISTEMA OPERATIVO POR EL NUMERO DE TAREAS
-Sistema Operativo Monotarea.
Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.
Los sistemas operativos monotareas son más primitivos y, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una.
-Sistema Operativo Multitarea.
Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo.
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 esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario.
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 esta esperando informacióndel 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.
Un sistema operativo multitarea puede estar editando el códigofuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.
Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecución concurrente de dos o más procesos activos. La multitarea se implementa generalmente manteniendo el código y los datos de varios procesos simultáneamente en memoria y multiplexando el procesador y los dispositivos de E/S entre ellos.
SISTEMA OPERATIVO POR EL NUMERO DE PROCESADOR
-Sistema Operativo de Uniproceso.
Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.
-Sistema Operativo de Multiproceso.
Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente.
-Asimétrica.
Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos.
-Simétrica.
Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cual quiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema.
Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede consistir de un área de memoria, un conjunto de registros con valoresespecíficos, la pila y otros valores de contexto.
Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de código paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por sí mismo esta facilidad, pero esta última opción las más de las veces es costosa en horas hombre y muy tediosa, obligando al programador a ocupar tanto o más tiempo a la paralelización que a elaborar el algoritmo inicial.
No hay comentarios:
Publicar un comentario