El documento describe la evolución de los sistemas operativos desde los años 1940 hasta la actualidad. Los primeros sistemas operativos aparecieron en los años 1950 y proporcionaban funciones básicas como procesamiento por lotes y almacenamiento temporal. En los años 1960 surgieron los primeros sistemas multiusuario y se desarrolló UNIX. En las décadas siguientes se crearon interfaces gráficas y sistemas operativos más avanzados como Windows, macOS y Linux.
Existen muchas definiciones y no siempre coincidentes. Nosotros diremos que un sistema distribuido es un conjunto de computadores independientes que se presenta a los usuarios como un sistema único. En esta definición cabe destacar dos aspectos. Uno, el hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. Dos, el software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única.
El diseño e investigación de herramientas para los sistemas operativos centralizados convencionales, los cuales corren en sistemas de uno o varios procesadores, está muy bien entendido. Sin embargo la proliferación de estaciones de trabajo personales y redes de área local ha llevado al desarrollo de nuevos conceptos del sistema operativo, a saber sobre, sistemas operativos en red y sistemas operativos distribuidos.
Antes de empezar no hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras están interconectadas por medios de comunicación: software y hardware. En este tipo de red los usuarios saben dónde están ejecutando su trabajo y guardando su información. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su información.
Existen dos esquemas básicos de éstos sistemas. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Existen muchas definiciones y no siempre coincidentes. Nosotros diremos que un sistema distribuido es un conjunto de computadores independientes que se presenta a los usuarios como un sistema único. En esta definición cabe destacar dos aspectos. Uno, el hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. Dos, el software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única.
El diseño e investigación de herramientas para los sistemas operativos centralizados convencionales, los cuales corren en sistemas de uno o varios procesadores, está muy bien entendido. Sin embargo la proliferación de estaciones de trabajo personales y redes de área local ha llevado al desarrollo de nuevos conceptos del sistema operativo, a saber sobre, sistemas operativos en red y sistemas operativos distribuidos.
Antes de empezar no hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras están interconectadas por medios de comunicación: software y hardware. En este tipo de red los usuarios saben dónde están ejecutando su trabajo y guardando su información. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su información.
Existen dos esquemas básicos de éstos sistemas. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
1. EVOLUCIÓNDELOS SISTEMAS OPERATIVOS
A finales de los 40 fue la aparición de la primera generación de computadoras. Solo había un
pequeño número de computadoras.
Todo se hacia n lenguaje maquina y no existían los sistemas operativos.
En los años 50 comenzaron a aparecer los sistemas operativos:
Monitor residente: funcionamiento simple
Procesamiento de lotes: agrupar los trabajos en lotes, para que se ejecutaran de forma
continua para no perder tiempo en la transición.
Almacenamiento temporal: disminuir el tiempo de carga de los programas, haciendo que
la carga de un programa y la ejecución de la siguiente tarea fueran simultáneas.
En los años 60 se produjeron cambios en la aparición del circuito cerrado para seguir
incrementando el potencial de los ordenadores, también apareció el sistema operativo
multiusuario (aunque fracaso en poco tiempo).
A finales deesta década se empezó a desarrollar UNIX.
Multiprogramación: la memoria alberga más de un programa. La CPU ejecuta las
instrucciones de un programa, y si este está realizando una operación de E/S,entonces
pasa a ejecutar otro programa.
Multiprocesador: permite trabajar con maquinas, con mas de un procesador
Tiempo compartido: sistema que hace buen uso de la electrónica disponible, pero carece
de interactividad.
La década de los años 70 fue llamada la década de los sistemas de propósito general y se
desarrollaron tecnologías que se siguen utilizando hoy en día.
Fue el boom de los miniordenadores y los sistemas que ya existían eran grandes, caros y
ocasionaban un gran consumo de recursos.
Los nuevos sistemas en esa época incorporaban una amplia capa de software entre el usuario
y el ordenador, para que el usuario no necesite conocer ningún detalle del circuito.
Se desarrollaron los sistemas operativos MVS, MULTICS, BDOS, CCP y CP/M
En los 80 se crearon los circuitos LSI y surgieron los menús ylas interfaces graficas, y aunque
esa ralentizaba las aplicaciones, era máspráctico y simple para los usuarios.
Lanzaron a la venta APPLE MACINTOSH que fue diseñado para funcionar a través de
GUI(Graphic User Interface) y no con la línea de comandos.
2. El MS-DOS (Microsoft Disk Operating System) surge a partir de una serie de modificaciones del
sistema operativo QDOS, el cual compro Windows en 1982. Al llegar la versión 7.1 el MS-DOS
pasó a estar integrado en el sistema operativo Windows.
En los 90 apareció la primera versión del núcleo de LINUX (1991)similar a UNIX, y esta basado
en el estándar posix (que trabajaba en modo de comandos).
Los sistemas operativos de la actualidad son APPLE, WINDOWS y LINUX
CLASIFICACIÓN DE LOS SISTEMA OPERATIVOS
Los sistemas operativos se clasifican por lotes, por multiprogramación, multiusuario, en
tiempo real y de tiempo compartido.
sistemas operativos por lotes: estos requieren que la información esté reunida en un
bloque o “lote” (el programa, los datos, las instrucciones). Los trabajos son procesados
en el orden de admisión, según el modelo de “primero en llegar primero en ser
atendido”. En estos sistemas la memoria se divide en dos zonas:
o Ocupado por el sistema operativo
o Se usa para cargar programas transcritos para su ejecución
o Cuando termina la ejecución de un programa se carga un nuevo program en la
misma zona de la memoria.
Sistemas operativos multiprogramación: son capaces de soportar dos o mas procesos
concurrentes múltiples, permiten que residan al mismo tiempo en la memoria
primaria las instrucciones y los datos procedentes de dos o mas procesos. Estos
sistemas implican la operación de multiproceso, para el manejo de la información.
Sistemas operativos multiusuario: permiten acceder simultáneamente a un sistema de
computadoras a través de dos o más terminales. Este tipo de sistema operativo es
fundamental en el manejo de redes de computadoras actualmente.
Sistemas operativos tiempo compartido: estos tratan de proporcionar un reparto
equitativo de los recursos comunes para dar la impresión a los usuarios que poseen
una computadora independiente. En estos sistemas el administrador de la memoria
proporciona aislamiento y protección delos programas, ya que generalmente no
tienen necesidad de comunicarse entre ellos.
Sistemas operativos en tiempo real: estos sistemas tienen como objetivo proporcionar
tiempo mas rápidos de respuesta, procesar la información sin tiempos muertos. En
estos sistemas el administrador de memoria es relativamente menos solicitado debido
a que muchos procesos residen permanentemente en la memoria.
3. ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Elsistema operativo es un programa o software que sirve de intermediario entre el computador y
el usuario brindando un entorno agradable a los ojos del usuario para su buen uso y manejo. Su
objetivo principal es lograr que el usuario use su sistema de computación de una forma
máscómoda y eficiente.
Para lograr ese objetivo, el sistema operativo se encuentra estructurado de la siguiente forma:
Estructura modular: también llamados sistemas monolíticos, se caracterizan por que
carecen de estructura. Este sistema describe como una colección de procedimientos es
decir que estos pueden llamar a otros sistemas cada vez que así lo requieren.
Estructura de anillos o capas: consiste en organizar al sistema operativo en una jerarquía
de capas, es decir que una esta construida sobre la inmediata inferior. El primer sistema
construido de esta forma fue llamado SISTEMA THE (TechnischeHogeschoolEindhoven) el
cual constaba de seis capas: el operador, programas de usuarios, control de entrada/
salida, comunicación operador proceso, administración de la memoria y del disco,
asignación del procesador y multiprogramación.
Estructura microkernel: en esta estructura es donde las funciones centrales son
controladas por el núcleomas conocido como SHELL. El microkernel se encargue de la
planificación de hilos(post anterior), no de procesos, esto hace posible tener varias tareas
(multitarea), siendo así el microkernel el que planifica todo el código quecorre en el
sistema. Algunas tareas que realiza el microkernel es la manipulación de las interrupciones
en el sistema desde dispositivos físicos, manipula excepciones del procesador y
proporciona soporte para la recuperación de un sistema con alguna fala de caída de
energía
Estructura multinucleo: son los procesadores actuales que tiene dos o másnúcleos que
trabajan simultáneamente como un solo sistema. Esta tecnología ha girado en torno a la
idea de ser capaz de hacer posible la computación paralela es decir que podría aumentar
drásticamente la velocidad, el eficiencia y el rendimiento de las computadoras
simplemente poniendo dos o mas unidades centrales de procesamiento en un solo chip.
Permite a los usuarios realizar más tareas al mismo tiempo.
Estructura de maquinas virtuales: es una copia exacta de la maquina real, generada por
software, los sistemas operativos de maquinas virtuales proporcionan al usuario una copia
exacta del hardware incluyendo sus modos usuario y núcleo, dispositivos de entrada y
salida, interrupciones, almacenamiento, etc. Llamadas maquinas virtuales, aparentando
así que cada terminal posee su propia maquina real.
NÚCLEO DE LOS SISTEMAS OPERATIVOS
Las funciones básicas del núcleo son:
Proporcionar el entorno adecuado para la existencia de procesos.
Funciones
4. o Tratamiento de interrupciones
o Conmutación del procesador entre procesos (soporte al diagrama deestados)
o Mecanismos básicos de comunicación y sincronización entre hilos y procesos.
o Carga inicial y activación de la configuración del sistema.
Tratamiento de interrupciones:
o El núcleo transforma las interrupciones en eventos de mas alto nivel
o El núcleo determina que proceso espera una interrupción y le envía un mensaje
Conmutación del CPU entre procesos
o Los procesos de usuario pasan por varios estados durante su tiempo de vida en el
sistema
o El núcleo proporciona los mecanismos de conmutación de la CPU entre procesos
Comunicación y sincronización entre procesos
o El núcleo proporciona mecanismos para que losprocesos puedan intercambiar
información ysincronizarse
o Mecanismos:
o Señales
o Semáforos
o Mensajes
o RPCs (remote procedure calls)