viernes, 21 de noviembre de 2008

Sistema operativo:

Un sistema OPERATIVO es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando es cargado en memoria por un programa específico, que se ejecuta al iniciar el equipo, o al iniciar una máquina virtual, y gestiona el hardware de la máquina desde los niveles más básicos, brindando una interfaz con el usuario.

Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, radios, etc.).

Funciones básicas.

Los sistemas operativos, en su condición de capa software que posibilitan y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno (módulo en núcleos monolíticos y servidor en micronúcleos), podemos reseñar las siguientes:
· Proporcionar más comodidad en el uso de un computador.
· Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas)
· Brindar una interfaz al usuario, ejecutando instrucciones (comandos).
· Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad).
Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático: suministro de interfaz al usuario, administración de recursos, administración de archivos, administración de tareas y servicio de soporte y utilidades.

1.- Interfaces del usuario:

Es la parte del sistema operativo que permite comunicarse con él, de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos, las que utilizan menús y las interfaces gráficas de usuario.

2.- Administración de recursos:

Sirven para administrar los recursos de hardware y de redes de un sistema informático, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.

3.- Administración de archivos:

Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento secundarios.

4.- Administración de tareas:

Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad.

5.- Servicio de soporte:

Los servicios de soporte de cada sistema operativo dependerán de la implementación particular de éste con la que estemos trabajando. Entre las más conocidas se pueden destacar las implementaciones de Unix, desarrolladas por diferentes empresas de software, los sistemas operativos de Apple Inc., como Mac OS X para las computadoras de Apple Inc., los sistemas operativos de Microsoft, y las implementaciones de software libre, como Linux o BSD producidas por empresas, universidades, administraciones públicas, organizaciones sin fines de lucro y/o comunidades de desarrollo.
No todas las utilidades de administración o servicios forman parte del sistema operativo, además de éste, hay otros tipos importantes de software de administración de sistemas, como los sistemas de administración de base de datos o los programas de administración de redes. El soporte de estos productos deberá proporcionarlo el fabricante correspondiente (que no tiene porque ser el mismo que el del sistema operativo).

História.

Los primeros sistemas (1945 - 1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950 - 1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

Problemas de explotación y soluciones iniciales

El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que manejaba el sistema, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.
Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar.
Monitores residentes
Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial
Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.
Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.
Sistemas con almacenamiento temporal de E/S
Se avanza en el hardware, creando el soporte de interrupciones. Luego se lleva a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos. Por ello se crea el sistema de buffers con el siguiente funcionamiento:
· Un programa escribe su salida en un área de memoria (buffer 1).
· El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.
· La salida desde el buffer 1 termina y el nuevo cálculo también.
· Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.
· El proceso se puede repetir de nuevo.
Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).
Spoolers
Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).
Sistemas Operativos Multiprogramados
Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:
Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.
Se pueden mantener en memoria varios programas.
Se asigna el uso de la CPU a los diferentes programas en memoria.
Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:
Administrar la memoria.
Gestionar el uso de la CPU (planificación).
Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.
Características de un Sistema Operativo.
Administración de tareas
· Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
· Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.
Administración de usuarios
· Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
· Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
Manejo de recursos
· Centralizado: Si permite utilizar los recursos de una sola computadora.
· Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.

No hay comentarios: