sábado, 5 de junio de 2010

Sistema Operativo

Definición:
Un sistema operativo es, en principio, el soporte lógico que controla el funcionamiento del equipo físico o hardware haciendo que el trabajo con la computadora sea sencillo. Desde este punto de vista podemos definirlo de la siguiente manera:
Un Sistema Operativo es un conjunto de programas y funciones que controlan el funcionamiento del hardware ocultando sus detalles, ofreciendo al usuario una vía sencilla y flexible de acceso a la computadora.

Concepto: Un Sistema Operativo, es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. Tiene dos objetivos principales:
§ Lograr que el Sistema de computación se use de manera cómoda
§ Que el hardware del computador se emplee de manera eficiente
Siendo el sistema operativo un programa de control, ya que se encarga de gestionar y asignar los recursos hardware que requieren los programas. Por ejemplo una computadora que es utilizada desde diversos terminales por varios usuarios. Los recursos hardware son el procesador (CPU),l la memoria principal, los discos y otros periféricos. Obviamente si ambos usuarios están utilizando la misma computadora, debe haber alguien o algo que asigne los recursos y evite los conflictos que puedan surgir cuando dos programas requieran los mismos
elementos (la misma unidad de disco, o la misma impresora por ejemplo). Esta es una de las funciones del sistema operativo. Además de esta función de asignar los recursos a cada programa, el sistema operativo se encarga de contabilizar el uso de éstos y de la seguridad (que un usuario no pueda acceder sin autorización a la información de otro por ejemplo).
El sistema operativo efectúa entre otras las siguientes funciones:
• Facilita el uso de la computadora y, en general, la comunicación computadora /usuario
• Gestiona y asigna recursos hardware (procesador, memoria y periféricos) a los distintos programas o tareas.
• Gestiona y mantiene los archivos en dispositivos de memoria masiva.
• Apoya a otros programas
• Protege los datos y los programas, cuestión especialmente compleja en
sistemas multiusuarios.
• Identifica y autentica a los usuarios que hacen uso del computador
• Contabiliza la utilización de los recursos realizada por los distintos usuarios.
Característica de un Sistema Operativo.
Entre las características que presentan los sistemas operativos presentan las siguientes características:
• Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora.
• Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
• Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
• Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.
• Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos (entrada/salida), cuando el usuario así lo requiera.
• Organizar datos para acceso rápido y seguro.
• Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
• Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
• Técnicas de recuperación de errores.
Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación está siendo ocupada por otro usuario.
• Presentan utilerías de Software. Fragmentación de Archivos, Compresión de Datos, administración de Memoria.


Tipos de Sistema Operativo
Actualmente los sistemas operativos se clasifican en:
§ Sistemas operativos por su estructura (visión interna)
§ Sistemas operativos por la forma en que ofrecen sus servicios (visión externa).
Los usuarios finales, se interesan por la forma en que ofrecen sus servicios (visión externa):
Esta clasificación es la comúnmente usada y conocida desde el punto de vista del usuario final.

Por Número de Usuarios:

· S.O. 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 procesos o 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 esté ejecutando.

· S.O. 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 red de 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 los mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

Por el Número de Tareas:

· S.O. 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.

· S.O. 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 witching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan almismo tiempo, pero en el que solo se está procesando la aplicación que se encuentra en primer plano (la que ve el usuario).

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.

La multitarea suele asociarse con soporte hardware y software para protección de memoria con el fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento de otros procesos residentes.

Por el Número de Procesadores:

· S.O. 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.

· S.O. 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 cualquiera 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 valores específicos, la pila y otros valores de contexto.

No hay comentarios:

Publicar un comentario