HISTORIA DEL SISTEMA OPERATIVO
Para tratar de comprender los requisitos de un
Sistema Operativo y el significado de las principales características de un
Sistema Operativo contemporáneo, es útil considerar como han ido evolucionando éstos con el
tiempo.
A finales de los 40's el uso de
computadoras estaba restringido a aquellas
empresas o
instituciones que podían pagar su alto
precio, y no existían los
sistemas operativos. En su lugar, el programador debía tener un
conocimiento y contacto profundo con el
hardware, y en el infortunado caso de que su
programa fallara, debía examinar
los valores de los
registros y páneles de luces indicadoras del
estado de
la computadora para determinar la causa del fallo y
poder corregir su programa, además de enfrentarse nuevamente a los
procedimientos de apartar tiempo del sistema y poner a punto los
compiladores, ligadores, etc; para volver a correr su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ).
La importancia de los sistemas operativos nace históricamente desde los 50's, cuando se hizo evidente que el operar una
computadora por medio de tableros enchufables en la primera generación y luego por medio del
trabajo en lote en la segunda generación se podía mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó "Sistema Operativo". Así, tenemos entre los primeros
sistemas operativos al Fortran
Monitor System ( FMS ) e IBSYS.
Posteriormente, en la tercera generación de computadoras nace uno de los primeros
sistemas operativos con la
filosofía de administrar una
familia de computadoras: el OS/360 de IBM. Fue este un
proyecto tan novedoso y ambicioso que enfrentó por primera vez una serie de
problemas conflictivos debido a que anteriormente las computadoras eran creadas para dos propósitos en general: el comercial y el científico. Así, al tratar de crear un solo sistema operativo para computadoras que podían dedicarse a un propósito, al otro o ambos, puso en evidencia la problemática del trabajo en equipos de
análisis,
diseño e implantación de sistemas grandes. El resultado fue un sistema del cual uno de sus mismos diseñadores patentizó su opinión en la portada de un
libro: una horda de bestias prehistóricas atascadas en un foso de brea.
Surge también en la tercera generación de computadoras el
concepto de la multiprogramación, porque debido al alto
costo de las computadoras era necesario idear un esquema de trabajo que mantuviese a la unidad central de procesamiento más tiempo ocupada, así como el encolado (spooling ) de trabajos para su
lectura hacia los lugares libres de
memoria o la
escritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera generación siguieron siendo básicamente sistemas de lote.
En la cuarta generación la
electrónica avanza hacia la
integración a gran
escala, pudiendo crear
circuitos con miles de
transistores en un centímetro cuadrado de silicón y ya es posible hablar de las computadoras personales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando así atraer al público en general al uso de las computadoras como
herramientas cotidianas. Se hacen populares el
MS-DOS y
UNIX en estas
máquinas. También es común encontrar clones de computadoras personales y una multitud de empresas pequeñas ensamblándolas por todo el mundo.
Para mediados de los 80's, comienza el auge de las
redes de computadoras y la necesidad de sistemas operativos en
red y sistemas operativos distribuidos. La red mundial
Internet se va haciendo accesible a toda
clase de instituciones y se comienzan a dar muchas
soluciones ( y problemas ) al querer hacer convivir
recursos residentes en computadoras con sistemas operativos diferentes. Para los 90's el
paradigma de la
programación orientada a objetos cobra auge, así como el manejo de objetos desde los sistemas operativos. Las aplicaciones intentan crearse para ser ejecutadas en una plataforma específica y poder ver sus resultados en la pantalla o monitor de otra diferente (por ejemplo, ejecutar una
simulación en una máquina con UNIX y ver los resultados en otra con DOS ). Los niveles de
interacción se van haciendo cada vez más profundos.
¿Qué es un Sistema Operativo?.
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. El
objetivo principal de un Sistema Operativo es, entonces, lograr que el Sistema de
computación se use de manera có
moda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente.
Un Sistema Operativo es una parte importante de cualquier sistema de computación. Un sistema de computación puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los programas de aplicación y los usuarios. El hardware (Unidad Central de Procesamiento(UCP), memoria y dispositivos de entrada/salida (E/S)) proporciona los recursos de computación básicos. Los programas de aplicación (compiladores, sistemas de
bases de datos,
juegos de vídeo y programas para
negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios.
Característica de un Sistema Operativo.
En general, se puede decir que un Sistema Operativo tiene 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 pàrte 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, 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.
Procesamiento por bytes de flujo a través del
bus de datos.
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 esta siendo ocupada por otro usuario.
Generación de
estadísticas.
Permite que se puedan compartir el hardware y los datos entre los usuarios.
El
software de aplicación son programas que se utilizan para diseñar, tal como el procesador de palabras, lenguajes de programación, hojas de
cálculo, etc.
El software de base sirve para interactuar el usuario con la máquina, son un conjunto de programas que facilitan el
ambiente plataforma, y permite el diseño del mismo.
El Software de base está compuesto por :
Cargadores.
Compiladores.
Ensambladores.
Macros.
2. 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).