1. Historia de los Sistemas
Operativos
Luis Roberto Santiago Avendaño
2. 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).
3. • 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.
4.
5. La década de 1950
• 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.
6. Monitor residente
• 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.
Procesamiento por lotes
• 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.
Almacenamiento temporal
• 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.
7.
8. 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.
9. • Multiprogramación
En un sistema multiprogramado 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.
• 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 sistema multiusuario, 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.
10. • Tiempo real
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.
• Multiprocesador
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
la memoria. 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.
11. • Sistemas operativos desarrollados
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.
• Inconvenientes de los Sistemas operativos
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.
12.
13. La década de 1980
• 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.
14. • 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 para IBM 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.
15. • Mac OS
El lanzamiento oficial del ordenador Macintosh en enero de 1984, al
precio de US $1,995 (después cambiado a $2,495 dólares). 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.
• MS-DOS
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 Disk Operating 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.
16. • Microsoft Windows
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.
17.
18. La década de 1990
• GNU/Linux
Este sistema 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.
19. • ReactOS
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.
20.
21. • 1: Monitor
• 2: Placa base
• 3: Procesador
• 4: Puertos ATA
• 5: Memoria
principal (RAM)
• 6: Placas de
expansión
• 7: Fuente de
alimentación
• 8: Unidad de
almacenamiento
óptico
• 9: Disco duro,
Unidad de estado
sólido
• 10: Teclado
• 11: Ratón
22. Monitor
El monitor o pantalla de computadora, es un
dispositivo de salida que, mediante una interfaz,
muestra los resultados, o los gráficos del
procesamiento de una computadora. Existen
varios tipos de monitores: los de tubo de rayos
catódicos (o CRT), los de pantalla de
plasma(PDP), los de pantalla de cristal
líquido (o LCD), de paneles de diodos orgánicos
de emisión de luz (OLED), o Láser-TV, entre otros.
23. Placa Base
La placa base, también conocida como placa madre o
tarjeta madre (del inglés motherboard o mainboard) es
una tarjeta de circuito impreso a la que se conectan los
componentes que constituyen la computadora u
ordenador. Es una parte fundamental a la hora de
armar una PC de escritorio o portátil. Tiene instalados
una serie de circuitos integrados, entre los que se
encuentra el circuito integrado auxiliar, que sirve como
centro de conexión entre el microprocesador, la
memoria de acceso aleatorio (RAM), las ranuras de
expansión y otros dispositivos.
24. Procesador
La unidad central de procesamiento, UCP o CPU (por el
acrónimo en inglés de central processing unit), o
simplemente el procesador o microprocesador, es el
componente principal del computador y otros dispositivos
programables, que interpreta las instrucciones contenidas
en los programas y procesa los datos. Las CPU
proporcionan la característica fundamental de la
computadora digital (la programabilidad) y son uno de los
componentes necesarios encontrados en las computadoras
de cualquier tiempo, junto con la memoria principal y los
dispositivos de entrada/salida. Se conoce como
microprocesador el CPU que es manufacturado con
circuitos integrados.
25. Puertos ATA
En la informática, un puerto ATA o puerto es una
forma genérica de denominar a una interfaz a
través de la cual los diferentes tipos de datos se
pueden enviar y recibir. Dicha interfaz puede ser
de tipo físico, o puede ser a nivel de software (por
ejemplo, los puertos que permiten la transmisión
de datos entre diferentes ordenadores) (ver más
abajo para más detalles), en cuyo caso se usa
frecuentemente el término puerto lógico.
26. Memoria principal
(RAAM)
La memoria principal o primaria, también llamada
memoria central, es aquella memoria que está
adentro del gabinete y fuera del ordenador, donde
se encuentran el código de instrucciones y los
datos del programa, que es ejecutado actualmente.
27. Placas De Expansión
Las tarjetas de expansión son dispositivos con
diversos circuitos integrados, y controladores que,
insertadas en sus correspondientes ranuras de
expansión, sirven para ampliar las capacidades de
un ordenador. Las tarjetas de expansión más
comunes sirven para añadir memoria,
controladoras de unidad de disco, controladoras de
vídeo, puertos serie o paralelo y dispositivos de
módem internos. Por lo general, se suelen utilizar
indistintamente los términos «placa» y «tarjeta»
para referirse a todas las tarjetas de expansión.
28. Fuente de Alimentación
En electrónica, una fuente de alimentación es un
dispositivo que convierte la tensión alterna de la
red de suministro, en una o varias tensiones,
prácticamente continuas, que alimentan los
distintos circuitos del aparato electrónico al que se
conecta (ordenador, televisor, impresora, router,
etc.).
29. Unidad de Almacenamiento óptico
El Almacenamiento óptico , es una variante de
almacenamiento informático surgida a finales del
siglo XX consistente en la lectura y escritura a
través de haces de luz que interpretan las
refracciones provocadas sobre su propia emisión.
Los soportes de almacenamiento que hacen uso de
este tipo de almacenamiento son el Compact Disc,
el Digital Versatile Disc, el Blu-Ray Disc, el UMD y
el HD DVD, también podría agregarse como nueva
tecnología el Blu-Ray 3D
30. Disco duro, Unidad de
estado sólido
En informática, un disco duro o disco rígido (en
inglés Hard Disk Drive, HDD) es un dispositivo de
almacenamiento de datos no volátil que emplea un
sistema de grabación magnética para almacenar
datos digitales. Se compone de uno o más platos o
discos rígidos, unidos por un mismo eje que gira a
gran velocidad dentro de una caja metálica sellada.
Sobre cada plato, y en cada una de sus caras, se
sitúa un cabezal de lectura/escritura que flota
sobre una delgada lámina de aire generada por la
rotación de los discos.
31. Teclado
Un teclado de computadora es un periférico, físico o virtual
(por ejemplo teclados en pantalla o teclados táctiles),
utilizado para la introducción de órdenes y datos en una
computadora. Tiene su origen en los teletipos y las
máquinas de escribir eléctricas, que se utilizaron como los
teclados de los primeros ordenadores y dispositivos de
almacenamiento (grabadoras de cinta de papel y tarjetas
perforadas). Aunque físicamente hay una miríada de
formas, se suelen clasificar principalmente por
la distribución de teclado de su zona alfanumérica, pues
salvo casos muy especiales es común a todos los
dispositivos y fabricantes (incluso para teclados árabes y
japoneses).
32. Ratón
El mouse o ratón es un periférico de computadora de uso
manual, utilizado como entrada o control de datos. Se utiliza con
una de las dos manos del usuario y detecta su movimiento
relativo en dos dimensiones por la superficie horizontal en la que
se apoya, reflejándose habitualmente a través de un puntero o
flecha en el monitor. Anteriormente, la información del
desplazamiento era transmitida gracias al movimiento de una
bola debajo del ratón, la cual accionaba dos rodillos que
correspondían a los ejes X e Y. Hoy, el puntero reacciona a los
movimientos debido a un rayo de luz que se refleja entre el ratón
y la superficie en la que se encuentra. Cabe aclarar que un ratón
óptico apoyado en un espejo o sobre un barnizado por ejemplo es
inutilizable, ya que la luz láser no desempeña su función
correcta. La superficie a apoyar el ratón debe ser opaca, una
superficie que no genere un reflejo, es recomendable el uso de
alfombrillas.
33. Impresora
Una impresora es un periférico de computadora que
permite producir una copia permanente de textos o gráficos
de documentos almacenados en formato electrónico,
imprimiendo en papel de lustre los datos en medios físicos,
normalmente en papel o transparencias, utilizando
cartuchos de tinta o tecnología láser. Muchas impresoras
son usadas como periféricos, y están permanentemente
unidas a la computadora por un cable. Otras impresoras,
llamadas impresoras de red, tienen una interfaz de red
interna (típicamente wireless o Ethernet), y que puede
servir como un dispositivo para imprimir en papel algún
documento para cualquier usuario de la red. Hoy en día se
comercializan impresoras multifuncionales que aparte de
sus funciones de impresora funcionan simultáneamente
como fotocopiadora y escáner, siendo éste tipo de
impresoras las más recurrentes en el mercado.
34. Escáner
En informática, un escáner (del idioma inglés:
scanner) es un periférico que se utiliza para
convertir, mediante el uso de la luz, imágenes o
cualquier otro impreso a formato digital.
Actualmente vienen unificadas con las impresoras
formando multifunciones.