Sistemas
operativos
Un sistema operativo es
un conjunto de programas destinado a permitir el uso apropiado de las partes
físicas del ordenador (hardware).
Los sistemas operativos proveen un
conjunto de funciones necesarias y usadas por diversos programas de aplicaciones de una computadora, y los vínculos necesarios para controlar y
sincronizar el hardware de la misma. En las primeras computadoras, que no
tenían sistema operativo cada programa necesitaba la más detallada
especificación del hardware para ejecutarse correctamente
y desarrollar tareas estándares, y sus propios drivers para los dispositivos periféricos como impresoras y
lectores de tarjetas perforadas. El incremento de la complejidad del
hardware y los programas de aplicaciones eventualmente hicieron del sistema
operativo una necesidad.
Los primeros sistemas operativos fueron
desarrollados por cada usuario para adecuar el uso de su propia computadora central,1 y es en
1956 que la General Motors desarrolla
lo que es hoy considerado el primer sistema, el GM-NAA I/O,2 para su IBM 704.3
La década de 1940
A finales de la década de 1940, con lo
que se podría considerar la aparición de la primera generación
de computadoras, se accedía directamente a la consola de la
computadora desde la cual se actuaba sobre una serie de micro interruptores que
permitían introducir directamente el programa en la memoria de la computadora
(en realidad al existir tan pocas computadoras todos podrían considerarse
prototipos y cada constructor lo hacía sin seguir ningún criterio
predeterminado). Por aquel entonces no existían los sistemas operativos, y los programadores debían
interactuar con el hardware del computador sin ayuda externa. Esto
hacía que el tiempo de preparación para realizar una tarea fuera considerable.
Además para poder utilizar la computadora debía
hacerse por turnos. Para ello, en muchas instalaciones, se rellenaba un
formulario de reserva en el que se indicaba el tiempo que el programador
necesitaba para realizar su trabajo. En aquel entonces las computadoras eran
máquinas muy costosas lo que hacía que estuvieran muy solicitadas y que sólo
pudieran utilizarse en periodos breves de tiempo. Todo se hacía en lenguaje de
máquina.
A principios de los años 50 con el
objeto de facilitar la interacción entre persona y computadora, los sistemas
operativos hacen una aparición discreta y bastante simple, con conceptos tales
como el monitor residente, el proceso por lotes y el almacenamiento temporal.
Su funcionamiento era bastante simple, se
limitaba a cargar los programas a memoria, leyéndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar
una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje
del siguiente.
Como solución para optimizar, en una
misma cinta o conjunto de tarjetas, se cargaban varios programas, de forma que
se ejecutaran uno a continuación de otro sin perder apenas tiempo en la
transición.
Su objetivo era disminuir el tiempo de
carga de los programas, haciendo simultánea la carga del programa o la salida
de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos
técnicas, el buffering y el spooling.
[editar]La década de
1960
En los años 60 se
produjeron cambios notorios en varios campos de la informática, con la aparición del circuito integrado la
mayoría orientados a seguir incrementando el potencial de los ordenadores. Para
ello se utilizaban técnicas de lo más diversas.
En un sistema multi programado la memoria principal alberga
a más de un programa de usuario. La CPU ejecuta instrucciones de un programa,
cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar
de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa.
Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes
oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible,
teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de
manera óptima los recursos disponibles.
Artículo principal: Tiempo compartido.
En este punto tenemos un sistema que hace
buen uso de la electrónica disponible, pero adolece la falta de interactividad; para conseguirla debe convertirse en un sistemamultiusuario, en el cual existen varios usuarios con un terminal en línea, utilizando el modo de
operación de tiempo compartido. En estos sistemas los programas de los
distintos usuarios residen en memoria. Al realizar una operación de E/S los
programas ceden la CPU a otro programa, al igual que en la multiprogramación. Pero, a
diferencia de ésta, cuando un programa lleva cierto tiempo ejecutándose el
sistema operativo lo detiene para que se ejecute otra aplicación.
Estos sistemas se usan en entornos donde
se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en
su mayoría externos al ordenador. Si el sistema no respeta las restricciones de
tiempo en las que las operaciones deben entregar su resultado se dice que ha
fallado. El tiempo de respuesta a su vez debe servir para resolver el problema
o hecho planteado. El procesamiento de archivos se hace de una forma continua,
pues se procesa el archivo antes de que entre el siguiente, sus primeros usos
fueron y siguen siendo en telecomunicaciones.
Diseño que no se encuentran en
ordenadores monoprocesador. Estos problemas derivan del hecho de que dos
programas pueden ejecutarse simultáneamente y, potencialmente, pueden
interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y
escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
La arquitectura NUMA,
donde cada procesador tiene acceso y control exclusivo a una parte de la
memoria. La arquitectura SMP,
donde todos los procesadores comparten toda lamemoria. Esta última debe
lidiar con el problema de la coherencia de caché.
Cada microprocesador cuenta con su propia memoria cache local. De manera que
cuando un microprocesador escribe en una dirección de memoria, lo hace
únicamente sobre su copia local en caché. Si otro microprocesador tiene
almacenada la misma dirección de memoria en su caché, resultará que trabaja con
una copia obsoleta del dato almacenado.
Para que un multiprocesador opere
correctamente necesita un sistema operativo especialmente diseñado para ello.
La mayoría de los sistemas operativos actuales poseen esta capacidad.
Además del Atlas Supervisor y
el OS/360,
los años 1970 marcaron
el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo
multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T y Unix,
convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En
el campo de la programación lógica se dio a luz la primera implementación
de Prolog,
y en la revolucionaria orientación a objetos, Smalltalk.
Se trataba de sistemas grandes, complejos
y costosos, pues antes no se había construido nada similar y muchos de los
proyectos desarrollados terminaron con costos muy por encima del presupuesto y
mucho después de lo que se marcaba como fecha de finalización. Además, aunque
formaban una capa entre el hardware y el usuario, éste debía conocer un
complejo lenguaje de control para realizar sus trabajos. Otro de los
inconvenientes es el gran consumo de recursos que ocasionaban, debido a los
grandes espacios de memoria principal y secundaria ocupados, así como el tiempo
de procesador consumido. Es por esto que se intentó hacer hincapié en mejorar
las técnicas ya existentes de multiprogramación y tiempo compartido.
·
MULTICS (Multiplexed
Information and Computing Service): Originalmente era un proyecto cooperativo
liderado por Fernando Corbató del MIT, con General Electric y los laboratorios
Bell, que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969
para comenzar a crear el sistema UNIX.
Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits;
después fue soportado por la serie de máquinas Honeywell 6180.
Fue uno de los primeros. Además, los
traducía a instrucciones de alto nivel destinadas a BDOS.
El hecho de que, años después, IBM
eligiera para sus PC a MS-DOS supuso su mayor fracaso, por lo que
acabó desapareciendo.
Con la creación de los circuitos LSI
-integración a gran escala-, chips que contenían miles de transistores en
un centímetro cuadrado de silicio, empezó el auge de los ordenadores
personales. En éstos se dejó un poco de lado el rendimiento y se buscó más que
el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas. Esto
reducía la rapidez de las aplicaciones, pero se volvían más prácticos y simples
para los usuarios. En esta época, siguieron utilizándose lenguajes ya
existentes, como Smalltalk o C, y
nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación
a objetos, y Haskell y Miranda en el campo de la programación declarativa.
Un avance importante que se estableció a mediados de la década de 1980 fue el desarrollo de redes de
computadoras personales que corrían sistemas operativos en red y sistemas
operativos distribuidos. En esta escena, dos sistemas operativos eran los
mayoritarios: MS-DOS (Micro Soft Disk Operating System),
escrito por Microsoft paraIBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus
sucesores, y UNIX,
que dominaba en los ordenadores personales que hacían uso del Motorola 68000.
El lanzamiento oficial del ordenador Macintosh en enero de 1984,
al precio de US $1,995 (después cambiado a $2,495 dólares)[1]. Incluía su sistema operativo Mac OS cuya características novedosas era una
GUI (Graphic User Interface), Multitareas y Mouse.
Provocó diferentes reacciones entre los usuarios acostumbrados a la línea de comandos y algunos tachando el uso del Mouse como juguete.
En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas
modificaciones, se convirtió en la primera versión de MS-DOS (Micro Soft DiskOperating System). A partir de aquí se
sucedieron una serie de cambios hasta llegar a la versión 7.1, versión 8 en
Windows Milenium, a partir de la cual MS-DOS dejó de existir como un componente
del Sistema Operativo.
A mediados de los años 80 se crea este
sistema operativo, pero no es hasta la salida de (Windows 95) que se le puede
considerar un sistema operativo, solo era una interfaz gráfica del (MS-DOS) en
el cual se disponía de unos diskettes para correr los programas. Hoy en día es
el sistema operativo más difundido en el ámbito doméstico aunque también hay
versiones para servidores como Windows NT. (Microsoft) ha diseñado también
algunas versiones para superordenadores, pero sin mucho éxito. Años después se
hizo el (Windows 98) que era el más eficaz de esa época. Después se crearía el
sistema operativo de (Windows ME) (Windows Millenium Edition) aproximadamente
entre el año 1999 y el año 2000. Un año después se crearía el sistema operativo
de (Windows 2000) en ese mismo año. Después le seguiría el sistema operativo
más utilizado en la actualidad, (Windows XP) y otros sistemas operativos de
esta familia especializados en las empresas. Ahora el más reciente es (Windows
7) (Windows Seven) que salió al mercado el 22 de octubre del 2009, dejando
atrás al (Windows Vista), que tuvo innumerables críticas durante el poco tiempo
que duró en el mercado.
[editar]La década de 1990
Este sistema al parecer es una versión
mejorada de Unix, basado en el estándar POSIX,
un sistema que en principio trabajaba en modo comandos. Hoy en día dispone de
Ventanas, gracias a un servidor gráfico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone
de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl o Compiz.
Lo que permite utilizar Linux de una forma visual atractiva.
Existen muchas distribuciones actuales de
Gnu/Linux (Debian, Fedora, Ubuntu, Slackware, etc.) donde todas ellas tienen en
común que ocupan el mismo núcleo Linux. Dentro de las cualidades de Gnu/Linux
se puede caracterizar el hecho de que la navegación a través de la web es sin
riegos de ser afectada por virus, esto debido al sistema de permisos
implementado, el cual no deja correr ninguna aplicación sin los permisos
necesarios, permisos que son otorgados por el usuario. A todo esto se suma que
los virus que vienen en dispositivos desmontables tampoco afectan al sistema,
debido al mismo sistema de permisos.
[editar]
ReactOS (React Operating System) es un sistema
operativo de código abierto destinado a lograr la compatibilidad binaria con
aplicaciones de software y controladores de dispositivos hechos para Microsoft
Windows NT versiones 5.x en adelante (Windows XP y sus sucesores).
En 1996 un grupo de programadores y
desarrolladores de software libre comenzaron un proyecto llamado FreeWin95 el
cual consistía en implementar un clon de Windows 95. El proyecto estuvo bajo discusión por el diseño
del sistema ya habiendo desarrollado la capa compatible con MS-DOS, pero
lamentablemente esta fue una situación que no se completó. Para 1997 el
proyecto no había lanzado ninguna versión, por lo que los miembros de éste,
coordinados por Jason Filby, pudieron revivirlo. Se decidió cambiar el núcleo
del sistema compatible con MS-DOS y de ahora en adelante basarlo en uno
compatible con Windows NT y así
el proyecto pudo seguir adelante con el nombre actual de ReactOS, que comenzó
en febrero de 1998, desarrollando las bases del kernel y algunos drivers
básicos.
No hay comentarios:
Publicar un comentario