Está en la página 1de 49

Universidad de Panamá

Facultad de Informática Electrónica y Comunicación

Sistemas Operativos y Arquitectura de los Computadores

Profesora:
Amarilis O. De León H.

Integrantes:
Alfonso Víctor 8-891-1794
Morales Andrés 8-899-1618
Ortega Leonardo 8-928-1522
Vargas Ricardo 8-917-1592

Fecha de entrega:
Jueves 25 de mayo de 2017

Tema:
Evolución de los sistemas operativos de tiempo compartido

1
Índice
Introducción
Contenido
Capítulo I
Sistemas operativos de tiempo compartido
Historia
Evolución
¿Qué son los tiempos compartidos?
Características de los sistemas de tiempo compartido
Capitulo II
Tiempos compartidos en la actualidad
Seguridad
Ventajas y Desventajas
LTSP
Capitulo III
UNIX
Características del SO UNIX
Kernel de UNIX
Arquitectura del Sistema UNIX
Gestor de procesos
Estados de los procesos
Tabla de procesos
Estados de los hilos
Gestor de entrada y salida
Gestor de memoria
Computación en la nube
Arquitectura de los SO online

2
Capitulo IV
SO OS/360
Historia de OS/360
PCP
IBM 360
Descripción
Características de la IBM 360
Arquitectura
Kernel de OS/360
Memoria
Direccionamiento
Formato de Estados
Palabras de estado del programa
Interruptores de entrada y salida
Interrupciones de programa
Interrupción de chequeo de la máquina
Gestor de E/S
Capítulo V
SO MULTICS
Reseña histórica
Aportes del sistema operativo
Segmentación de memoria
Características principales
Niveles de privilegios

3
Introducción
Este trabajo investigativo tiene como objetivo recopilar, estructurar, analizar y detallar la
evolución de los sistemas operativos de tiempo compartido a través de la historia,
podremos conocer a fondo las dificultades y logros que se realizaron a lo largo del
desarrollo de estos sistemas operativos. También conoceremos los tipos de
arquitecturas de software y hardware que empezaron el establecimiento de los tiempos
compartidos y convirtieron a este tipo de sistemas operativos en sistemas de amplio
rendimiento, ya que en aquel entonces los sistemas informáticos eran ineficientes y
muy costosos.

En este trabajo también podremos apreciar el tipo de manejadores de memoria y


planificadores de procesos que utilizan estos sistemas operativos y como han
evolucionado hasta nuestros días, las ventajas y desventajas que tienen el diseño e
implementación de los tiempos compartidos en mainframes y computadores de la
actualidad.

La era del internet ha hecho posible que los sistemas de tiempo compartido estén
nuevamente en desarrollo e implementándose día a día en grandes empresas e
instituciones con granjas de servidores y servicios de IT acoplados a sistemas
operativos de tiempo real en los cuales se necesita un tiempo de respuesta lo más
eficiente posible, reduciendo así los costos operativos y gastos en equipos físicos ya
que cada usuario puede conectarse en un terminal en línea o cualquier dispositivo móvil
en cualquier parte del mundo.

4
Sistemas Operativos de Tiempo Compartido
Historia
Los sistemas operativos de tiempo compartido, aparecen durante la llamada “tercera
generación” de los sistemas informáticos entre finales de los años 60 e inicios de la
década de los 70.

El concepto de tiempo compartido fue introducido a principios de 1957 por Bob Bemer
como parte de un artículo en una revista conocida como ACM. Uno de los primeros
proyectos para implementar un sistema de tiempo compartido fue desarrollado por John
McCarthy a finales de 1957.

En el año 1961 aparece el primer sistema de tiempo compartido de propósito general,


fue conocido como CTSS por sus siglas en inglés (Compatible Time Sharing System,
Sistema compatible de tiempo compartido), se desarrolló en el Instituto tecnológico de
Massachusetts en una 7094 modificada en forma especial (Corbató y compañías
asociadas, 1962). Otro candidato para el primer sistema de tiempo compartido
demostrado fue PLATO II creado por Donald Bitzer en 1961. Bitzer dijo que el proyecto
PLATO habría conseguido la patente sobre el tiempo compartido si la Universidad de
Illinois hubiera sabido cómo procesar solicitudes de patente más rápido, pero en ese
tiempo, las patentes de la universidad eran tan pocas que tardaron un tiempo largo en
realizarla.

Sin embargo, el primer sistema de tiempo compartido comercialmente exitoso fue el


Dartmouth Time-Sharing System (DTSS) que fue implementado por primera vez en
1964 y procedente a ello formó la base de los computer bureau services de la empresa
General Electric. El DTSS influenció en el diseño de otros sistemas de tiempo
compartido tempranos desarrollados por Hewlett Packard, Control Data Corporation,
UNIVAC y otros, además de introducir el lenguaje de mediano nivel de programación
BASIC.

Sin embargo, en realidad los sistemas de tiempo compartido no se popularizaron sino


hasta que el hardware de protección necesario se empezó a implementar ampliamente

5
durante la transición de la tercera era de los sistemas informáticos, dejando atrás el uso
de sistemas mono-tarea y abriéndole paso a los sistemas multitareas con múltiples
usuarios.

Evolución

El tiempo compartido se desarrolló al realizar estudios y recibir las peticiones de los


programadores y gracias al amplio estudio realizado se dieron cuenta que mientras un
solo usuario era poco eficiente, un grupo grande de estos juntos no lo era. Esto era
debido al patrón de la interacción hombre máquina; en la mayoría de los casos los
usuarios envían rachas de información seguidas por una larga pausa o inactividad, pero
un grupo de usuarios trabajando al mismo tiempo significaría que las pausas de un
usuario en un momento determinado serían consumidas por la actividad de los otros es
decir se aprovechaba el tiempo de ocio de la máquina. Una vez hallado el tamaño de
grupo óptimo, el proceso total podía ser mucho más veloz. igualmente se podría otorgar
a otros usuarios, las pequeñas fracciones de tiempo usadas en esperar por el disco, la
cinta, o la entrada de la tarjeta de red.

Los tiempos compartidos eran la alternativa, permitiendo al usuario operar el


computador directamente, pero se consideró demasiado costosa ya que no existían
maquinas con múltiples núcleos. Esto también se debió a que el usuario debía esperar
largos retardos simplemente sentado allí mientras se introducía y cargaba el código.
Esto limitó los desarrollos en la interacción directa usuario/maquina únicamente a las
grandes organizaciones que podían pagar para despilfarrar ciclos computacionales, así
como grandes universidades en general. Los programadores en las universidades
denigraron los comportamientos inhumanos que el procesamiento por lotes impuso. Se
experimentaron con nuevas maneras de interactuar directamente con el computador, un
campo conocido hoy como Interacción Humano Máquina.

En ese entonces desarrollar e implementar un sistema que soportara varios usuarios al


mismo tiempo era una pauta totalmente diferente, el "estado" de cada usuario y sus
programas tendría que ser mantenidos en la máquina, y luego cambiado entre ellos
rápidamente. Esto tomaría ciclos de la computadora, y en las máquinas lentas de la
época esto era una gran preocupación para los desarrolladores. Sin embargo, a medida

6
que las computadoras mejoraban en velocidad y especialmente la capacidad de la
memoria de núcleos magnéticos eran mucho más estables, y se podía usar para
mantener el estado de un programa en un instante determinado (guardándolo hasta su
reanudación), es decir que los costos de operaciones e implementación de programas
maquina eran mucho más baratos en comparación a la segunda generación.

En los años 1960, varias compañías comenzaron a proporcionar servicios de tiempo


compartido como bureau de servicios (se alquilaba tiempo y servicio de computación).
Los primeros sistemas usaron el teletipo ASR-33|K/ASR-33s o K/ASR-35s en
ambientes ASCII, y una teleimpresora de IBM en ambientes EBCDIC. Se conectaban
con la computadora central usando dial-up por medio de módems de acople acústico
que operaban a 10-15 caracteres por segundo. Terminales y módems posteriores
soportaban 30-120 caracteres por segundo. El sistema de tiempo compartido
proporcionaría un ambiente operacional completo, incluyendo editores de texto y
entornos de desarrollo integrado para lenguajes de programación, varios paquetes de
programas informáticos, almacenamiento de archivos, impresión masiva, y de
almacenamiento fuera de línea. A los usuarios se les cargaba un alquiler por el terminal,
una carga por horas de tiempo de conexión, una carga por segundos de tiempo de
CPU, y una carga por kilobytes mensuales de almacenamiento de disco.

Hacia inicios de los 70, los terminales de computadora fueron combinados sobre
complejas mainframes (sistemas centrales de computación), que en muchas
implementaciones consultaban secuencialmente a los terminales para ver si había
algún dato o acción adicionales solicitados por el usuario del computador. La tecnología
posterior en interconexiones fue manejada por interrupciones, y alguna de estas usaban
tecnologías de transferencia paralela de datos como, por ejemplo, el estándar IEEE
488. Generalmente, los terminales fueron utilizados en propiedades de las
universidades en muchos de los mismos lugares donde se encuentran hoy los
computadores de escritorio o los computadores personales. De hecho, en los primeros
días de los computadores personales, muchos fueron usados particularmente como
terminales inteligentes para los sistemas de tiempo compartido.

7
¿Qué es un sistema operativo de tiempo compartido?

Es el sistema que permite la simulación de que el sistema y sus recursos son todos
para cada usuario. El usuario hace una petición a la computadora, ésta la procesa tan
pronto como le es posible, y la respuesta aparecerá en la terminal del usuario. Los
principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son
continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de
que tiene el sistema dedicado para sí mismo.

En un sistema de tiempo compartido, si 20 usuarios están conectados y 17 de ellos


están pensando en dar un paseo o tomar café, la CPU se puede asignar por turno a los
tres trabajos que desean ser atendidos. Como las personas que depuran programas
generalmente envían comandos cortos (por ejemplo, compilar un procedimiento de
cinco hojas†) en vez de largos (por ejemplo, ordenar un archivo con un millón de
registros), la computadora puede proporcionar un servicio rápido e interactivo a varios
usuarios y, tal vez, también ocuparse en trabajos grandes por lotes en segundo plano,
cuando la CPU estaría inactiva de otra manera.

Características de un SO de tiempo compartido

a- Los sistemas de tiempo compartido son representantes de sistemas


multiprogramados multiusuario, por ejemplo, los sistemas de diseño asistido por
computador, procesamiento de texto, etc.
b- Los Programas se ejecutan con prioridad rotatoria que se incrementa con la
espera y disminuye después de concedido el servicio.
c- Evitan monopolización del sistema asignando tiempos de procesador (time slot).
d- Gestión de memoria proporciona protección a programas residentes.
e- Gestión de archivo debe proporcionar protección y control de acceso debido a
que pueden existir múltiples usuarios accesando un mismo archivo.
f- Dan la ilusión de que cada usuario tiene una máquina para sí.

8
g- La mayoría utilizan algoritmo de reparto circular.
Tiempo compartido actualmente
Básicamente el tiempo compartido tiene una idea principal el cual era poder
reutilizar todo tipo de computadores que no tenían requisitos necesarios para
otro tipo de sistemas operativos. La manera en la que harían esto es haciendo
que todo este tipo de computadores pudiesen conectase a una terminal central
donde estarán las aplicaciones y comparte los recursos
Seguridad
En los tiempos de antes la seguridad no era algo por lo que se preocupaban los
Sistemas operativos, solo bastaba con un nombre de usuarios. Fueron los
propios usuarios quienes pidieron más seguridad. No fue hasta 1971 cuando se
dio la primera conferencia internacional sobre seguridad de computadora, en
Londres, la cual fue dirigida sobre todo hacia la industria del tiempo compartido y
sus clientes.
Hay que tener en cuenta que otras de las seguridades que tiene el SO es con
respecto a los procesos y tiempos de uso por lo cual a veces hacen algunos
cambios en su planificación para solucionarlo.
Ventajas y desventajas
Ventajas
 Proporcionar una ventaja de respuesta rápida.
 Evita la duplicación de software.
 Reduce el tiempo de inactividad de la CPU.
Las desventajas
 Problema de fiabilidad.
 Cuestión de la seguridad y la integridad de los programas de usuario y los datos.
 Problema de comunicación de datos.
LTSP
Los LTSP son como mencionado antes, una manera en la cual se ayuda a
solucionar el problema con la reutilización en los SO, Prácticamente estas son

9
aplicaciones que utilizan los servidores que dan la capacidad de ejecutar Linux
en un pc.
El funcionamiento está en que comparten por la red el núcleo de Linux, el cual
cada computadora conectada es capaz de ejecutarlo y luego podrían hacer
scripts. Todos los clientes pueden acceder a la consola o servidor grafico el cual
está conectado por el protocolo XDMCP.
Proceso de carga del LTSP
En el servidor LTSP, un ambiente chroot es iniciado con un sistema operativo
Linux y un ambiente X mínimos. Hay que tener en cuenta que el chroot en Linux
es el que se encarga de ejecutar un proceso, cambiando para este y sus hijos el
directorio raíz del sistema.
En el momento que un cliente se conecta a el servidor se inicializa lo que es el
núcleo de Linux desde ese dispositivo que inicializa el sistema y todos los
periféricos que reconozca.
Si está activo el uso de network booting (carga por red), con los mecanismos
Etherboot, Preboot Execution Environment (PXE) o NetBoot, el cliente primero
solicita su propia dirección IP y la dirección IP para el servidor LTSP por medio
de DHCP y carga el núcleo Linux de una imagen Linux preconfigurada en el
servidor LTSP vía el servicio Trivial File Transfer Protocol (TFTP).

10
Unix
Es un sistema operativo de tiempo compartido este reparte y gestiona los
recursos del pc. Los usuarios pueden ejecutar sus programas.
Historia
• Comenzó con el abandono de multics en 1968-1969, y se comenzó de
búsquedas alternativa para multics.
• Se usó en la PDP-7
• 1970 que Brian Kernighan sugirió el nombre "Unix“.
• Hoy en día, el único programa importante de Unix aún escrito en assembler es el
assembler mismo.

Características
o multiusuario, multiprocesamiento y procesamiento no interactivo.
o lenguaje de control programable: SHELL.
o Manejo dinámico de memoria por intercambio o paginación.
o Interconexión y comunicación de procesos.
o Sistema jerárquico de archivos, con protección de archivos, cuentas y
procesos.
o Tiene facilidad para redireccionamiento de Entradas/Salidas.
o Garantiza un alto grado de portabilidad.
o Está escrito en C de alto nivel.

11
Kernel
Es quien hace las llamadas del sistema, gestiona el acceso a los archivos y el
inicio o la suspensión de las tareas de los usuarios. Es de tipo monolítico, en el
hay dos partes principales el núcleo dependiente de la máquina y el núcleo
independiente.
El núcleo dependiente se encarga de:
 interrupciones
 los manejadores de dispositivos de bajo nivel (lower half)
 parte del manejo de la memoria.

El núcleo independiente incluye:


 el manejo de llamadas del sistema
 la planificación de procesos
 el entubamiento
 el manejo de centinelas
 la paginación e intercambio
 el manejo de discos y del sistema de archivos.

12
Arquitectura

Gestor de procesos

13
El manejo de procesos en UNIX es por prioridad y round robin. A veces se da un
cambio en las prioridades con respecto al tiempo que lleva el proceso en la CPU.
En muy pocos escasos casos se da el uso de FIFO
El sistema tiene la opción de crear pipes en las creaciones de los procesos en el
cual estos hacen la misión de establecer la comunicación entre procesos.
También incluye la llamada ‘fork’ el cual permite que un proceso haga una copia
de sí mismo, lo cual es muy útil cuando se realizan trabajos paralelos o
concurrentes.
El proceso hijo usa exec para llamar el comando desde un archivo.

Estado de los procesos


 Preparado (R) Proceso que está listo para ejecutarse. En espera del tiempo
asignado por el SO.
 Ejecutando (O) Proceso que está actualmente activo en el CPU.
 S u s p e n d i d o (
en la
cola
del

CPU.

14
 Parado (T) Proceso en espera de una señal para poder incluirse en la cola del
CPU.
 Zombie (Z) Cuando el proceso padre no termina su tabla de procesos, pero si a
él, el hijo queda consumiendo recursos, pero no CPU.

 Tablas de procesos

Entradas de la Tabla de Procesos en UNIX


Estado del Estado actual del proceso.
Proceso
Punteros Al área U y a la zona de memoria del proceso
(texto, datos, pila).
Tamaño del Permite que el sistema operativo sepa cuánto
proceso espacio asignar al proceso.
Identificadores ID real de usuario/ID efectivo de usuario
de usuario
Identificadores ID del proceso; ID del proceso padre.
de proceso
Descriptor de Identificador de lo que pasa con el proceso. Valido
suceso para cuando está dormido
Prioridad Prioridad dada en la planificación
Señal Enumera las señales enviadas a un proceso y que
aún no se han tratado.
Temporizadore tiempo de ejecución del proceso, el uso de los
s recursos del núcleo y un temporizador de usuario
empleado para enviar señales de alarma al
proceso.
Enlace-P Puntero al siguiente enlace en la cola de listos
Estado de la Indica si la imagen del proceso está en memoria

15
memoria principal o se ha descargado al disco. Indica si
puede ser descargado o si está temporalmente
bloqueado en memoria principal.

Estado de los Hilos

 Listo: Hilo en espera para su ejecución.


 Standby: Hilo que será siguiente en ejecutarse.
 Ejecución: Hilo activo en el procesador.
 Espera: Hilo bloqueado por un proceso.
 (E/S): En sincronización o alguien suspendió el hilo.
 Transición: Está listo para ejecutar, pero no hay recursos suficientes.
 Terminado: Entra al estado cuando el padre termina o cuando termina
normal.

Gestor de archivos

Unix tiene protección de archivos en los cual los muestra de manera de nueve
caracteres. Los nueve caracteres se dividen en tres grupos de tres caracteres
cada uno.

El cual el 1 significa el dueño del archivo, el 2 significa el grupo del dueño y 3


significa otros. Básicamente los permisos se manejan por números. La R=4,
W=2, X=1, y los permisos se dan por sumas de todos, por ejemplo: 755 significa
que el 1 tiene RWX, el 2 tiene R_X y el 3 tiene R_X.

16
Gestor de Entrada y salida

La entrada y salida se maneja de las 2 siguientes maneras: el estructurado por


bloques y el estructurado por caracteres. El primero es usado para las cintas y
los discos magnéticos, y usa bloques de tamaño fijo para la lectura o escritura. El
segundo se usa para las terminales, líneas de comunicación e impresoras, y
funciona byte por byte. Para el uso de dispositivos el sistema tiene unos
programas en C llamados drivers que son lo que les hacen las llamadas a estos.

Gestor de memoria
Actualmente todos los sistemas Unix usan memoria virtual es el esquema más popular
para la paginación y combinación de segmentos paginados, ambos casos páginas de
tamaño fijo. Hay que tener en cuenta que es necesario y recomendado que el tamaño
de la memoria virtual debe ser por lo menos el doble de la principal.
También se usa el swapping el cual utiliza parte de la memoria del disco duro asignada
al tiempo de instalación del sistema operativo.
Sistemas operativos en la nube o sistemas operativos online
Sabemos que en la web hay juegos, aplicaciones y muchas cosas más que antes
estaban en nuestro sistema de escritorio. Pues la tecnología ha avanzado tanto por que
no incluir entonces un sistema operativo también.
Estos sistemas se les llama Sistemas operativos online o en la nube, la característica
principal de estos sistemas es que actúan como un sistema totalmente funcional, pero
no actúan directamente en una máquina concreta, sino desde el navegador web.
El objetivo de estos sistemas es reunir aplicaciones online en un único lugar para que
puedas trabajar o realizar cualquier tarea con independencia del ordenador que utilices.
Básicamente el procesamiento es completamente ejercido desde el lado del servidor,
por ende, este no tira peso sobre los recursos del usuario. Así estos servidores le
mandan los resultados a la terminal de cada usuario.

17
El potencial de este tipo de sistemas puede llegar a ser enorme, tanto en compatibilidad
como en potencia de cálculo. Aunque el desarrollo de estos sistemas no está definido ni
completo, aún están en observación.
Estos sistemas operativos nos ofrecen una amplia gama de aplicaciones que van desde
utilidades básicas como lo que es la calculadora hasta el uso de las redes sociales o
base de datos. Estos sistemas nos proveen de gestores de archivos, aunque algunos
no poseen la posibilidad de carga, si tienen la de descarga.
Un sistema operativo en la nube es complejo de implementar. Hay dos razones para
esta complejidad. En primer lugar, la gran escala de la infraestructura de la nube
empuja el límite tecnológico. Pocas empresas han tenido la experiencia de administrar
una infraestructura tan grande, y los proveedores de nube se ven obligados a construir
nuevas soluciones desde el principio

Ejemplos de Sistema operativo online:


• SilveOS:
• ZeroP
• iCloud
• ChromeOS
• Oodesk
• EyeOS

Hay que tener en cuenta que también se llaman escritorios virtuales.


Algunos de las ventajas son:
 Ahorro en costes de Hardware: al procesarse la información en un servidor
remoto.
 Alternativa ecológica: en el ahorro de materiales y energía.
 Seguridad de datos: al estar los datos en la nube si se estropea el disco duro, se
pierde o es robado un ordenador portátil u otro dispositivo no se pierden los
datos.
 Sin tiempos de inactividad por reparaciones o fallos de hardware/software.
 El ciclo de actualización de los dispositivos es más lento.

18
 Acceso multiplataforma: desde móviles, tabletas u otros ordenadores.
 Coste inferior para empresas: al no tener que cambiar de equipos tan a menudo,
y reduciendo los costes de éstas.
 Múltiples funciones: múltiples monitores, audio/video bidireccional, streaming de
video, soporte a los puertos USB, etc
 Está en continuo crecimiento: sobre todo en empresas debido al ahorro que
supone esta técnica.

Arquitectura de los SO Online

19
Como observamos la arquitectura está en que la infraestructura que tiene las
máquinas virtuales se conecta con el servicio que son las colas, de ahí pasa a la
plataforma que es la página web y ahí se conecta con la base de datos.

20
Historia

Desarrollado por IBM en 1964, este sistema operativo OS/360 fue desarrollado para
apoyar la nuevas generación y arquitectura del mainframe System/360 que ofrecía un
hardware capaz de apoyar usos comerciales y científicos. Según el presidente de IBM
por aquel entonces, Thomas J. Watson Jr., citó que era el producto más importante que
la compañía había lanzado hasta el momento.

21
Esta nueva generación de computadores que inauguró, el IBM S/360 se caracterizaba
por cubrir un amplio espectro de nichos objetivo; no eran computadoras diseñadas para
centros de investigación o las empresas, el objetivo era crear productos polivalentes y
modulares que pudiesen encajar en una oficina como en un centro de tecnología
avanzada como los de la NASA (que también fueron usuarios de este mainframe de
IBM); una arquitectura que fue desarrollada por Gene Amdahl y que fue la base del
proyecto que dirigió Fred Brooks (Premio Turing en 1999).
La familia IBM S/360 estuvo en el mercado entre los años 1965 y 1978 con el objetivo
de satisfacer las necesidades de gobiernos, centros de investigación y empresas; por
tanto, no nos encontramos ante un computador sino ante una familia de computadoras
cuya arquitectura era común pero que, sin embargo, variaban sus especificaciones y
prestaciones para adaptarse a las necesidades del cliente (el hecho de llamar a esta
familia 360 buscaba poner el énfasis en su "polivalencia").
IBM desarrolló 6 modelos de computadora que usaban el mismo software y también
podían usar los mismos periféricos y, además, supuso toda una revolución para el
sector porque fue uno de los primeros computadores en construirse mediante circuitos
integrados (lo cual supuso un importante abaratamiento de los costes de producción y
una reducción del precio de venta al público).
Empezaron con 6 modelos en la familia y hasta 20 periféricos (unidades de disco
externa, un escáner con reconocimiento de caracteres, lectores de tarjetas perforadas,
impresoras de papel continuo, unidades de cinta magnética o, incluso, un robot de
cintas que permitía almacenar hasta 400 millones de bytes de información) pero, con el
paso de los años, IBM terminaría desarrollando 14 modelos de computador de la serie
360 (incluyendo algunos modelos específicos para la NASA).
IBM originalmente había pensado que el System/360 debería tener un sistema
operativo solo orientado a lotes. Pero hubo al menos dos razones a considerar por la
que IBM decidió finalmente producir otros sistemas operativos:
• Se podía lograr aproximadamente 1,5 millones de instrucciones que permitían
que el sistema trabaje con prácticamente ninguna intervención manual, pero en los
modelos con menos memoria no era posible lograr esto. O

22
• Porque se dieron cuenta de que el desarrollo de un OS/360 más completo
tomaría mucho más tiempo de lo esperado.
Debido a esto IBM introdujo una serie de recursos provisionales para evitar que las
ventas de hardware del System/360 se colapsaran, primero BOS/360 (Sistema
operativo básico, para las máquinas más pequeñas con 8K bytes de memoria),
después, TOS/360 (cinta de sistema operativo, para máquinas con al menos 16K bytes
de memoria y sólo las unidades de cinta), y finalmente dos/360 (Sistema Operativo de
Disco), que se convirtió en un sistema operativo de uso general.
IBM publicó tres variantes de OS/360 primero fue PCP (Primary Control Program), que
podría ejecutar sólo un trabajo a la vez, en 1966; después MFT (Multiprogramming with
Fixed number of Tasks) para las máquinas de la gama media, y luego MVT
(Multiprogramming with Variable number of Tasks) para las de gama alta. La MFT y el
MVT fueron utilizados al menos hasta 1981, Una década después sus sucesores
habían sido lanzados. La división entre la MFT y el MVT surgió debido a las limitaciones
de almacenamiento y limitaciones de planificación. Inicialmente, IBM mantiene que la
MFT y el MVT eran simplemente "Dos configuraciones del OS/360 PCP", aunque más
tarde IBM las describió como "las distintas versiones de OS/360.
Variantes del Sistema Operativo 360
Oficialmente, PCP, MFT y el MVT no son sistemas operativos separados de OS/360,
son sólo las opciones de configuración de tiempo de la instalación, en otras palabras,
se podría decir que hay tres variantes de kernel del sistema operativo. Sin embargo,
debido al distinto comportamiento y requisitos de memoria, los usuarios comúnmente
los consideran de hecho como sistemas operativos separados y se refieren a ellos
como "principios OS/360", "OS/MFT", "OS/MVT", respectivamente. MFT difiere de MVT
principalmente en la forma en que administra memoria: cuando se instala el MFT, los
clientes especifican un número fijo de "particiones", áreas de memoria con límites fijos.

PCP (Programa de Control Primario)


Fue pensado para los usuarios con menor memoria. Es similar al MFT con una
partición. IBM abandono la opción de PCP en las versiones finales del OS/360.
MFT (Multiprogramación con un número fijo de tareas)

23
Estaba destinado a servir como un punto de parada para MVT, hasta que la
configuración objetivo prevista de OS/360, llegara a estar disponible en 1967. Las
primeras versiones de MVT tenían muchos problemas, por lo que la más simple MFT se
siguió utilizando durante muchos años. Tras la introducción de nuevas máquinas de
system/370 con memoria virtual, fue desarrollado en 1972 MFT en OS/VS1, el último
sistema de esta línea.
La primera versión de MFT comparte gran parte del código y la arquitectura con el PCP,
y se limitó a cuatro particiones. Era muy incómodo ejecutar múltiples particiones.
Muchas instalaciones utilizan Houston Automatic Spooling Priority (PSS) para mitigar la
complejidad.
MFT Versión II (MFT-II) compartió mucho más del programa de control y el Planificador
de código con MVT, y es mucho más flexible para funcionar. El número máximo de
particiones aumentó a 52.
Modificaciones posteriores de MFT-II añadió sub-tareas, de modo que el número fijo de
tareas ya no era fijo, aunque el número de particiones no siguen siendo una limitación.
La experiencia indicaba que no era aconsejable instalar MFT en sistemas con menos
de 256 KB de memoria.
MVT (Multiprogramación con un número variable de tareas)
Fue el más sofisticado de las tres configuraciones disponibles de OS/360's, y una de
dos configuraciones disponibles en la versión final. MVT estaba destinada para las
máquinas más grandes en la familia System/360. Introducido en 1964, no estaban
disponibles hasta 1967. Las primeras versiones tenían muchos problemas y la sencillez
de la MFT se siguió utilizando durante muchos años.
MVT trató toda la memoria no utilizada por el sistema operativo como un único grupo
desde el cual se podrían asignar "regiones" contiguas como lo requiera un número
ilimitado de aplicaciones y programas de sistemas simultáneos. Este esquema era más
flexible que el MFT y en principio usaba la memoria de manera más eficiente, pero
estaba expuesto a la fragmentación. Al cabo de un tiempo se pudo comprobar que,
aunque había suficiente memoria de reserva para ejecutar un programa, se dividía en
bloques separados. Que era lo suficientemente grande. System / 360 carecía de
hardware de reubicación de memoria por lo que la compactación de la memoria no se

24
podía utilizar para reducir la fragmentación. Una instalación llamada Rollout / Rollin
podría intercambiar un trabajo en ejecución en el almacenamiento secundario para
hacer que su memoria esté disponible para otro trabajo. Sin embargo, el trabajo
desplegado tendría que ser "incorporado" a las ubicaciones originales de la memoria
cuando volvieran a estar disponibles.
En 1971 se añadió la opción Time Sharing Option (TSO) para uso con MVT como parte
de la revisión 20.1. TSO se utilizó ampliamente para el desarrollo del programa porque
proporcionó un editor, la posibilidad de enviar trabajos por lotes, ser notificado de su
finalización y ver los resultados sin esperar a que se imprimieran informes y
depuradores para algunos de los lenguajes de programación usados en System / 360.
TSO en OS / 360 se comunica con los terminales utilizando el Método de Acceso a las
Telecomunicaciones (TCAM). El nombre de TCAM sugiere que IBM esperaba que se
convirtiera en el método de acceso estándar para las comunicaciones de datos, pero de
hecho TCAM en OS / VS2 fue utilizado casi en su totalidad para TSO y fue
reemplazado en gran medida por Virtual Telecommunications Access Method (VTAM) a
mediados de los años 70.

IBM 360

25
Descripción
Con los progresos de la electrónica y los avances en comunicación con las
computadoras en la década de 1960, surge la tercera generación de las computadoras.
Se inaugura con la IBM 360 en abril de 1964. Las principales características son:

 Circuito integrado. Miniaturización y reunión de centenares de elementos en una placa


de silicio o “Chip”.
 Menor consumo de energía.
 Apreciable reducción de espacio.
 Aumento de la fiabilidad.
 Teleprocesos. Se instalan terminales remotos que acceden a la computadora central
para realizar operaciones, extraer o introducir información en bancos de datos, etc.
 Trabajo a tiempo compartido: uso de las computadoras por varios clientes a tiempo
compartido, pues el aparato puede discernir entre diversos procesos que realiza
simultáneamente.
 Multiprogramación.
 Renovación de periféricos.
 Generalización de los lenguajes de alto nivel
 Instrumentalización del sistema.
 Compatibilidad.
 Ampliación de aplicaciones: en procesos industriales, en la educación, en el hogar,
agricultura, etc.
 La miniaturización de los sistemas lógicos conduce a la fabricación de la mini
computadora, que agiliza y descentraliza los procesos.
Características
CPU: Los modelos S/360 anunciados en 1964 variaban en velocidad de 0,034 MIPS a
1,700 MIPS (50 veces la velocidad).
RAM: entre 8 KB y 8 MB de memoria principal.

26
Sistema Operativo: DOS/360, OS/360-PCP (Principal Control Program), OS/360-MFT
(Multi-programming with a Fixed number of Tasks), OS/360-MVT (Multi-Programming
with a Variable number of Tasks), TSS/360 (Time-Sharing System).
Entrada / Salida: No tenía ninguna unidad de almacenamiento, sin embargo, se
introducían los programas o instrucciones mediante tarjetas perforadas.
Periféricos: Existía periféricos compatibles con este modelo, desde unidades de
almacenamiento masivo, salida por impresión de los datos calculados.
Software: Los clientes de IBM tenían una gran inversión en software que lograron
ejecutar en la segunda generación de ordenadores. Muchos modelos ofrecieron la
opción de emulación de micro código del ordenador anterior del cliente (ejemplo IBM
1400 series en un 360/30 o IBM 7094 en un 360/65) de modo que los viejos programas
podían funcionar en la nueva máquina, pero esta debía ser reiniciada en modo
emulación.

Arquitectura del Sistema Operativo 360


OS / 360 incluye rutinas de cola, llamadas lector / intérpretes y escritores de salida.
Cada lector / intérprete era "responsable de leer un flujo de trabajo de entrada", es
decir, un dispositivo de entrada. Del mismo modo cada escritor de salida era
responsable de controlar una impresora o una tarjeta perforada. Los datos en cola se
almacenaron en conjuntos de datos temporales del sistema operativo controlados por
servicios estándar de SO. Cada lector / intérprete o escritor de salida era una tarea
separada del sistema operativo en su propia partición o región. Un sistema con un gran
número de lectores, impresoras y tarjetas perforadas puede tener un gran número de
tareas de cola.

OS/360 Kernel
OS/360 posee un kernel de tipo monolítico que es una arquitectura de sistema
operativo donde todo el sistema operativo está trabajando en el espacio del kernel y
está solo en modo supervisor. El modelo monolítico difiere de otras arquitecturas de

27
sistemas operativos (como la arquitectura de microkernel) en que solo define una
interfaz virtual de alto nivel sobre el hardware de la computadora. Un conjunto de
primitivas o llamadas de sistema implementan todos los servicios del sistema operativo,
como gestión de procesos, concurrencia y administración de memoria. Los
controladores de dispositivo se pueden agregar al kernel como módulos.

Memoria
La memoria en System / 360 se trata en términos de bytes de 8 bits. Varias
instrucciones operan en unidades más grandes llamadas halfword (2 bytes), fullword (4
bytes), doubleword (8 bytes), quadword (16 bytes) y 2048 byte, especificando la más
baja de las unidades de memoria. Dentro de un halfword, fullword, doubleword o
quadword, los bytes numerados bajos son más significativos que los bytes numerados
altos; Esto a veces se denomina big-endian. Muchos usos para estas unidades
requieren alinearlos en los límites correspondientes. La arquitectura de System / 360
proporcionaba hasta 224 = 16.777.216 bytes de memoria; Sin embargo, el Modelo 67
extendió la arquitectura y permitió 232 = 4.294.967.296 bytes de memoria virtual.

Direccionamiento
System / 360 utiliza el direccionamiento truncado. Esto significa que las instrucciones
no contienen direcciones completas, sino que especifican un registro base y un
desplazamiento positivo de las direcciones en los registros base. En el caso de
System / 360 la dirección base está contenida en uno de los 15 registros generales. En
algunas instrucciones, se realizan los mismos cálculos para cantidades de 32 bits que
no son direcciones.

28
Formato de Datos
La arquitectura S / 360 define formatos para caracteres, enteros, enteros decimales y
números de punto flotante hexadecimal. Las instrucciones de carácter e integer son
obligatorias, pero las instrucciones decimales y de coma flotante forman parte de la
aritmética decimal y de las entidades aritméticas de punto flotante.
 Los caracteres se almacenan como bytes de 8 bits.
 Los números enteros se almacenan como dos vías complementarias binarias de
halfword o fullword.
 Los números decimales empaquetados se almacenan como 1-16 bytes de 8 bits que
contienen un número impar de dígitos decimales seguido de un signo de 4 bits. Los
valores de signo hexadecimal A, C, E y F son positivos y los valores de los signos
hexadecimales B y D son negativos. Los valores de dígitos de A-F hexadecimal y
valores de signo de 0-9 no son válidos, pero las instrucciones PACK y UNPK no
prueban la validez.
 Los números decimales zonificados se almacenan como 1-16 bytes de 8 bits, cada
uno contiene una zona en los bits 0-3 y un dígito en los bits 4-7. La zona del byte más a
la derecha se interpreta como un signo.
 Los números de punto flotante sólo se almacenan como valores de palabra completa
o doble en los modelos antiguos. En los 360/85 y 360/195 también hay números de
punto flotante de precisión extendida almacenados como cuádruples. Para los tres
formatos, el bit 0 es un signo y los bits 0-7 son una característica (exponente, sesgada
por 64). Los bits 8-31 (8-63) son una fracción hexadecimal. Para la precisión extendida,
la palabra doble de orden bajo tiene su propio signo y característica, que se ignoran en
la entrada y se generan en la salida.
Palabra de estado del programa (PSW)
La palabra de estado de programa (PSW) contiene una variedad de controles para el
programa en funcionamiento.

Bits Contenido Explicación


0-7 Mascara del Sistema Bits 0-5: activar canales 0-5, bit 6: habilitar
todos los canales restantes, bit 7: activar

29
Interrupciones externas (temporizador, tecla
de interrupción y señal externa).
8-11 Llave de Protección Clave de protección de la CPU para
comparar con las claves de protección de
almacenamiento.
12 Modo ASCII Habilite el modo ASCII para las instrucciones
empíricas decimales, nunca utilizadas por el
software de IBM.
13 Controles de Maquina Activar interrupciones de comprobación de la
máquina.
14 Estado de espera Procesador se detiene si una interrupción
esta activa, luego hará que el procesador
reanude las instrucciones de ejecución.
15 Estado del Problema Permitir evitar el uso de instrucciones
reservadas para el estado supervisor.
16-31 Código de Interrupción Código para indicar el tipo de interrupción,
insertado cuando el PSW se almacena,
durante UPLoad, ésta es la dirección del
dispositivo desde el cual se cargó el
programa.
32-33 Código de Longitud de Longitud en halfwords o 0 si no está
la instrucción disponible.
34-35 Código de Condición Consulte instrucciones individuales para la
codificación.
36-39 Mascara de Programa Bit 36: habilitar el desbordamiento de punto
fijo, bit 37: desbordamiento decimal, bit 38:
desbordamiento del exponente, bit 39:
significado.
40-63 Dirección de la Dirección de la instrucción siguiente, excepto
instrucción para interrupciones del programa con ILC 0.

30
Load Program Status Word (LPSW) es una instrucción privilegiada que carga el PSW
(Program Status Word), incluyendo el modo de programa, la clave de protección y la
dirección de la siguiente instrucción a ejecutar. LPSW se usa con mayor frecuencia
para "devolver" una interrupción cargando el PSW "antiguo" que está asociado con la
clase de interrupción. Otras instrucciones privilegiadas (por ejemplo, SSM, STNSM,
STOSM, SPKA, etcétera) están disponibles para manipular subconjuntos del PSW sin
causar una interrupción o cargar un PSW; Y una instrucción no privilegiada (SPM) está
disponible para manipular la máscara de programa.
Sistema de interrupción
Una interrupción es un mecanismo para cambiar automáticamente el estado del
programa; Se utiliza tanto para eventos síncronos como asíncronos. La arquitectura
define 5 clases de interrupción. Hay dos campos de almacenamiento asignados a cada
clase de interrupción en el S / 360; Una vieja PSW doubleword y una nueva PSW
doubleword. El procesador almacena el PSW, con un código de interrupción insertado,
en la antigua ubicación PSW y luego carga el PSW desde la nueva ubicación PSW.
Esto reemplaza generalmente la dirección de instrucción, efectuando así una rama, y
(opcionalmente) establece y / o restablece otros campos dentro de la PSW, efectuando
de este modo un cambio de modo.
La arquitectura S / 360 define una prioridad para cada clase de interrupción, pero sólo
es relevante cuando dos interrupciones ocurren simultáneamente; Una rutina de
interrupción puede ser interrumpida por cualquier otra interrupción activada, incluyendo
otra aparición de la interrupción inicial. Por esta razón, es una práctica normal
especificar todos los bits de máscara, con la excepción del bit de máscara de
comprobación de máquina, como 0 para los manejadores de interrupción de "primer
nivel". Los manejadores de interrupción de "segundo nivel" generalmente están
diseñados para interrupciones apiladas (múltiples ocurrencias de interrupciones de la
misma clase de interrupción).

Clase de interrupción PSW antiguo Nuevo PSW Prioridad


Hex dec Hex dec
De entrada y salida 38    56 78 120 4

31
Programa 28 40 68 104 2
Llamada de 20 32 60 96 2
Supervisor
Externo 18 24 58 88 3
Comprobación de la 30 48 70 112 1
máquina

Interrupción de entrada / salida


Una interrupción de E / S ocurre al completar un programa de canal, después de buscar
un CCW con el bit de bit PCI y también para eventos asincrónicos detectados por el
dispositivo, unidad de control o canal, por ejemplo, finalización de un movimiento
mecánico. El sistema almacena la dirección del dispositivo en el código de interrupción
y almacena el estado del canal en el CSW en la posición 64 ('40'X).
Interrupción del programa
Una interrupción del programa ocurre cuando una instrucción encuentra una de 15
excepciones; Sin embargo, si el bit de máscara de programa correspondiente a una
excepción es 0, entonces no hay interrupción para esa excepción. En 360/65, 360/67 y
360/85 las interrupciones de Excepción de Protección y Excepción de Direccionamiento
pueden ser imprecisas, en cuyo caso almacenan un Código de Longitud de Instrucción
de 0. El código de Interrupción puede ser:
1. Una excepción de operación se reconoce cuando un programa intenta ejecutar una
instrucción con un opcode que el equipo no implementa. En particular, se reconoce una
excepción de operación cuando se escribe un programa para una característica
opcional, por ejemplo, punto flotante, que no está instalada.
2. Una excepción de operación privilegiada se reconoce cuando un programa intenta
ejecutar una instrucción privilegiada cuando el bit de estado problemático en el PSW es
1.
3. Una excepción de ejecución se reconoce cuando el operando de una instrucción
EXECUTE es otra instrucción EXECUTE.

32
4. Una excepción de protección se reconoce cuando un programa intenta almacenar en
una ubicación cuya clave de protección de almacenamiento no coincide con la clave
PSW o para buscar desde una ubicación protegida de recuperación cuya clave de
protección de almacenamiento no coincide con la clave PSW.
5. Una excepción de direccionamiento se reconoce cuando un programa intenta
acceder a una ubicación de almacenamiento que no está disponible actualmente. Esto
ocurre normalmente con una dirección más allá de la capacidad de la máquina, pero
también puede ocurrir en máquinas que permiten que bloques de almacenamiento se
tomen fuera de línea.
6. Se reconoce una excepción de especificación cuando una instrucción tiene un
campo de longitud o de registro con valores no permitidos por la operación o cuando
tiene una dirección de operando que no satisface los requisitos de alineación del código
de operación, por ejemplo, una instrucción LH con una dirección de operando impar En
una máquina sin la función de alineación de bytes.
7. Una excepción de datos se reconoce cuando una instrucción decimal especifica
operandos no válidos, por ejemplo, datos inválidos, superposición no válida.
8. Una excepción de desbordamiento de punto fijo se reconoce cuando se pierden bits
significativos en una instrucción aritmética o de cambio de punto fijo, distinta de la
división.
9. Una excepción de división de punto fijo se reconoce cuando se pierden bits
significativos en una división de punto fijo o en la instrucción Convertir en binario.
10. Una excepción de desbordamiento decimal se reconoce cuando se pierden dígitos
significativos en una instrucción decimal aritmética, aparte de dividir.
11. Una excepción de división decimal se reconoce cuando se pierden bits significativos
en una instrucción de división decimal. El destino no se altera.
12. Una excepción de desbordamiento del exponente se reconoce cuando la
característica en una operación aritmética de punto flotante excede 127 y la fracción no
es cero.
13. Una excepción de subflujo de exponentes se reconoce cuando la característica en
una operación aritmética de punto flotante es negativa y la fracción no es cero.

33
14. Una excepción de significación se reconoce cuando la fracción en una operación de
suma o resta de punto flotante es cero.
15. Una excepción de división de punto flotante se reconoce cuando la fracción en el
divisor de una operación de división de punto flotante es cero.
Interrupción de llamada del supervisor
Se produce una interrupción de llamada de supervisor como resultado de una
instrucción de llamada de supervisor; El sistema almacena los bits 8-15 de la
instrucción SVC como el Código de Interrupción.
Interrupción externa
Una interrupción externa se produce como el resultado de ciertos eventos asíncronos.
Los bits 16-24 del PSW externo antiguo se ponen a 0 y uno o más bits 24-31 se ponen
a 1.

Códigos de interrupción para interrupciones externas


Bit PSW Tipo de interrupción externa
24 Minutero
25 Tecla de interrupción
26 Señal externa 2
Alerta de fallo en 360/65 en modo Multi-sistema
27 Señal externa 3
Llamada del sistema en 360/65 en modo Multi-sistema
28 Señal externa 4
29 Señal externa 5
30 Señal externa 6
31 Señal externa 7

Interrupción de chequeo de la máquina


Se produce una interrupción de comprobación de la máquina para informar las
condiciones inusuales asociadas con el canal o la CPU que no pueden ser reportadas

34
por otra clase de interrupción. La clase más importante de condiciones que causan un
chequeo de la máquina es un error de hardware como un error de paridad que se
encuentra en los registros o el almacenamiento, pero algunos modelos pueden utilizarlo
para informar condiciones menos graves. Tanto el código de interrupción como los
datos almacenados en el área de exploración en '80' x (128 decimales) dependen del
modelo.
Gestión de E/S
La E / S es llevada a cabo por un procesador conceptualmente separado llamado canal.
Los canales tienen su propio conjunto de instrucciones y acceden a la memoria
independientemente del programa que se ejecuta en la CPU. En los modelos más
pequeños (a través de 360/50), un solo motor de micro código ejecuta tanto el
programa de CPU como el programa de canal. En los modelos más grandes los
canales están en gabinetes separados y tienen sus propias interfaces a la memoria. Un
canal puede contener varios subcanales, cada uno de los cuales contiene el estado de
un programa de canal individual. Un subcanal asociado con varios dispositivos que no
pueden tener simultáneamente programas de canal se conoce como compartido; Un
subcanal que representa un solo dispositivo se denomina no compartido.
Hay tres tipos de canales en el S / 360:
 Un canal de multiplexor de bytes es capaz de ejecutar múltiples CCW
simultáneamente; Se utiliza normalmente para conectar dispositivos lentos como
lectores de tarjetas y líneas de telecomunicaciones. Un canal de multiplexor de bytes
podría tener un número de subcanales selectores, cada uno con sólo un solo subcanal,
que se comportan como canales selectores de baja velocidad.
 Un canal selector tiene sólo un subcanal único y, por tanto, sólo es capaz de ejecutar
un comando de canal a la vez. Normalmente se utiliza para conectar dispositivos
rápidos que no son capaces de explotar un canal de multiplexor de bloque para
suspender la conexión, como unidades de cinta magnética.
 Un canal de multiplexor de bloques es capaz de ejecutar simultáneamente varios
programas de canal, pero sólo uno a la vez puede estar activo. La unidad de control
puede solicitar la suspensión al final de una orden de canal y, posteriormente, puede
solicitar la reanudación. Esto está previsto para dispositivos en los que hay un retraso

35
mecánico después de la finalización de la transferencia de datos, por ejemplo, para
buscar en el DASD de cabezal móvil. El canal de multiplexor de bloques fue una adición
tardía a la arquitectura System / 360; Las primeras máquinas sólo tenían canales
multiplexores de bytes y canales selectores. El canal de multiplexor de bloques era una
característica opcional solamente en los modelos 85 y 195. El canal de multiplexor de
bloques estaba también disponible en los ordenadores posteriores del Sistema / 370.

36
Sistema Operativo MULTICS

Historia del SO
Este sistema operativo fue desarrollado específicamente para la computadora central
de la empresa General Electric GE-645. Fue denominado un sistema operativo de 36
bits. Este Sistema Operativo fue creado en 1964.

Luego de cinco años, el personal de los laboratorios de desarrollo y mantenimiento


BELL, que eran los creadores de este Sistema Operativo, abandonaron el proyecto en
el año 1969.

37
Algunos de estos personales del laboratorio de BELL, que abandonaron el proyecto. Se
dedicaron a la creación de un nuevo Sistema Operativo, el cual hoy en día lo
conocemos como el Sistema Operativo de UNIX. Tenemos que recalcar que el Sistema
Operativo de MULTICS ha sido denominado como el predecesor o el padre del Sistema
Operativo UNIX. Por cierto, modo tiene ciertas similitudes como lo son los nombres de
los comandos que realizan las operaciones y consultas en este sistema operativo. Pero
tampoco es muy similar debido a que los que crearon UNIX se basaron en crear un
nuevo sistema que sea por lo menos más pequeño al momento de usar las memorias
del sistema y que sea mucho más simple, debido a que los creadores de UNIX fueron
los que trabajaron en el desarrollo del Sistema Operativo MULTICS entonces conocían
los errores que tenía y afectaban el Sistema, así que se basaron en corregir todos los
errores que tenían MULTICS

Una información importante con respecto al nombre de ambos sistemas operativos, es


dividida en sus siglas. El sistema operativo MULTICS en sus iniciales significa
“Multiplexed Computer and Service”, y el Sistema Operativo UNIX debido a que a sus
inicios fue llamado UNICS que en sus siglas significa “Uniplexed Information and
Computer Service”. El sistema Uniplexado fue creado para la oposición al concepto
Multiplexado de MULTICS, resaltando todas las partes complejas que tiene MULTICS al
momento de trabajar en y con esta nueva actualización fue denominado como una
forma de trabajar más directamente.

Con el pasar del tiempo y el trabajo de este sistema, debido a que el proyecto fue
abandonado en 1969, la empresa estado anídense la adquirió en 1970. Esta empresa

38
se basó en lanzar una nueva base de hardware y continúo el desarrollo de este sistema
hasta el año de 1985. Luego de este año Honeywell dejo de soportar este sistema
operativo, fue donde entonces los usuarios de toda la empresa empezaron e irse a
otros nuevos sistemas que fueron saliendo, incluso aun a las otras distribuciones del
mismo UNIX.

“La ultima maquina en usar MULTICS fue apagada el 31 de Octubre del año 2000,
que fue realizada en el Ministerio de Defensa de Canadá”

En su parte importante de la historia, MULTICS también se puede decir que tiene su


predecesor. En este caso, todo comenzó con la creación de un sistema llamado
proyecto MAC que en sus respectivas siglas significan “Multiple Acces Computers”, este
proyecto fue creado en el año de 1962. Luego de la creación de este proyecto la
Agencia de Proyectos Avanzados de Investigación que sus siglas fueron denominadas
como “ARPA”, esta agencia contribuía con 2 millones anual mente al proyecto MAC,
para así realizar una creación de un sistema nuevo y denominado ambicioso, que sería
denominado sucesor del CTSS que en sus respectivas siglas significa “Sistema de
Tiempo Compartido Compatible”. EL sucesor de estos proyectos fue el sistema
MULTICS.

También debemos recalcar que el Instituto Tecnológico de Massachusetts que sus


siglas serian la MIT, con el profesor Jack Dennis que él fue contribuyendo con
diferentes ideas para realizar la creación de la arquitectura jerárquica del sistema
MULTICS, el profesor se basó más en realizar y reforzar la idea de segmentación de
este nuevo sistema.

Este sistema de Multics fue creado para un sistema de bancos de procesadores


denominados de alta, con un equipamiento en esa época fuerte y superiores en tipos de
memorias. Este Sistema Operativo fue basado ms en la parte del área de seguridad
militar ya que este sistema fue desarrollado para ser muy eficiente y resistente a los
ataques externos de todo tipo de información y también poder proteger a los mismos

39
usuarios del sistema. Fue basado para soportar conceptos de diferentes tipos de
seguridad con el almacenamiento de seguridad ultra secreta y muy confidencial.

Algo importante con respecto a este sistema operativo, al momento de elegir un


fabricante para que soporte este nuevo sistema operativo, los creadores de una vez
pensaron que deberían ser la empresa IBM para poder implementar en sus sistemas de
diferentes tipos tales como son el 360/65, debido a que fue denominado un modelo de
la novedosa familia de computadoras del sistema /360. Pero este nuevo sistema tuvo
un gran percance, debido a que la IBM no estaba interesado en las ideas con la cual
fue realizado el proyecto MAC con respecto a la paginación y la segmentación de
memorias.

Multics también fue demasiado notable al momento de su lanzamiento por su respectiva


característica de un diseño de súper seguridad informática. Multics fue posiblemente el
primer sistema operativo diseñado como un sistema seguro desde sus inicios. A pesar
de que Multics fue un sistema seguro fue muy vulnerable con respecto a la seguridad.

Debido a que Multics a pesar de que era un sistema de seguridad para nuestra
información, tuvo incidentes con sus vulnerabilidades de accesos, y esto llevo a los
desarrolladores reforzar y mejorar la seguridad, donde el sistema empezó a ser mucho
más seguro, realizando y repartiendo la información y también los procesos con una
estructura de anillo de seguridad.

Un dato curioso de este sistema es que fue uno de los primeros sistemas escritos en
lenguajes de alto nivel, el cual fue denominado PL/I que en sus respectivas siglas
significa “Programming Language 1”

La estructura mecánica que tenía el sistema en ese entonces era que los procesadores
estaban cerca de un millón de instrucción por cada segundo con respecto a cada uno
de los procesos del sistema. Tenía también un sistema de CPU con una capacidad de
memoria de 768KB, y con un simple volumen de almacenamiento de 8MB, con una
característica y capacidad de disco de 1.6GB.

Aportes Importantes de MULTICS

40
 MULTICS fue uno de los primeros sistemas en el cual fue implementado un
único nivel de almacenamiento para lo que es el acceso de los respectivos datos,
desechando la distinción con respecto a lo que la acumulación de archivos y
segmentaciones de memorias.
 La memoria de este sistema operativo se implementó más en los procesos, en el
cual consistía solamente en segmentos que estaban siendo asignados en un en
un espacio de dirección especifico, donde cada proceso estaba siendo específico
para poder leer o escribir en los archivos por el cual el proceso es asignado.
 Toda la memoria de este sistema formaba parte de algún segmento que
aparecía en el sistema de archivos, incluida también la memoria temporal de
procesos.
 El segmento de memoria de este sistema está muy limitado debido a que la
capacidad que soportaba era de 256K palabras. Con respecto a este problema
de capacidad de memoria al momento de código de programas para la ejecución
de los procesos, se debían realizar códigos extras para poder trabajar con
diferentes tipos de archivos y esto fue denominado también un multisegmento de
memoria.
 MULTICS propuso el concepto de enlace dinámico, basándose en que un
proceso en ejecución puede solicitar que otros segmentos puedan ser añadidos
a un respectivo espacio de dirección de memoria.
 Debido a esta principal característica, los diferentes tipos de aplicaciones
utilizaban rutinas de llamados, donde estas diferentes rutinas estaban en
diferentes segmentos que podían ser enlazados dinámicamente únicamente
cuando un proceso de la aplicación intentaba ejecutarlos.
 Se denominó que como realizaban diferentes procesos, los diferentes tipos de
usuarios, entonces podían utilizar diferentes tipos de búsqueda de reglas.
 Utilizando la configuración adecuada para el uso de este sistema, podías
seleccionar que usuarios o que dispositivos podía conectarse a la red de trabajo.
Primer Sistema Operativo que proporciono un sistema de archivos jerárquicos, con una
característica importante donde los nombres pueden tener una longitud y sintaxis
diferente y aleatorio.

41
Sistema de Archivos Jerárquicos.
Existe un directorio raíz, donde dentro de ese archivo existen diferentes directorios de
tipo usuario, y dentro de cada directorio usuario se encuentran subdirectorios de cada
uno de los usuarios y dentro de cualquier subdirectorio encontramos los archivos a
buscar de diferentes tipos de usuarios.

Segmentación de Memoria
En este concepto debemos tener en cuenta que tanto la memoria física como la
memoria virtual están dividas y subdividas en diferentes bloques, siendo por general de
varios y distintos tamaños que estos bloques son denominados segmentos. Donde
estos segmentos son los que se dirigen al disco a medida que se va llenando el espacio
de la memoria física. Debido a este concepto permite al programador contemplar la
memoria de una forma que pareciera de que tuviera diferentes espacios y direcciones
de memoria.
 Segmentación de memoria permite que varios y diferentes procesos haga una
referencia a un mismo segmento, donde es denominado un proceso en el cual
nos ayuda a ahorrar gran cantidad de espacio de nuestra memoria física.
 Un aporte importante es denominado de que al tener cada segmento en un
proceso que contiene ciertos niveles de privilegios, debido a esto tenemos
protección al momento que deseamos querer acceder nuestra memoria física.

42
Una vista clara de la memoria física de nuestro sistema, con los diferentes tipos de
segmentos y como están posicionados en los espacios de memorias, debemos tener en
cuenta que para poder acceder a los espacios de memoria debemos tener una
dirección lógica donde para hacer el direccionamiento entonces debemos tener dos
puntos en cuenta que son el Selector de segmentos y el offset “desplazamiento”.
Características Importantes de Multics
 Estructura Modular:
o Debemos tener en cuenta que tanto como el hardware como el mismo sistema
podrían crecer sin ningún problema debido a que se podía añadir más memoria
principal, más almacenamiento de disco entre otros.
o Cada uno de diferentes tipos de procesos pueden también hacer el llamado a otro
proceso cuando dicho proceso primario lo necesite. Esto ha sido denominado
como interfaz y comunicación entre diferentes tipos de procesos.
o Multics es el encargado de determinar por medio de una tabla, que se encarga de
hacer un llamado donde se va a efectuar o identificar el proceso que se desea
realizar. Luego que termina el proceso asignado regresa al programa usuario.

Pasos que realizan para el llamado al Kernel


1. El programa del usuario es atraído hacia el núcleo Kernel.
2. El SO determina el número de servicio solicitado
3. Localiza y llama el proceso correspondiente al servicio
4. El control regresa al programa usuario.

43
 Listado de Control de Acceso:
o Esta característica fue muy importante con respecto a este sistema operativo, ya
que se basaron en la lista de control de acceso sobre cada archivo que nos
proporciona métodos factibles para poder así compartir información con más
facilidad y con su respectiva seguridad requerida.
o Este concepto se basó completamente en la seguridad informática usando para
así colocar una separación exacta de privilegios en nuestro sistema. Así podemos
determinar los diferentes tipos de permisos y sus accesos según sea el pedido de
los procesos.
o En modo de privilegios de archivos, es un concepto importante debido a que
podemos administrar con el mismo sistema operativo quienes son los que pueden
acceder a nuestra información y que es lo que pueden ver los que acceden a la
información.
o Como este método nació en sus tiempos para un sistema de multiprogramación,
entonces MULTICS se basó en administrar el proceso de los procesos de igual
manera con sus respectivos privilegios, así un proceso no puede usar los
privilegios que utiliza otro tipo de proceso.

44
Estructura de Privilegios
Fue denominado como dominios de protección jerárquicos, donde también son
denominados “Anillos de Protección”. Este mecanismo se basó para proteger todos
nuestros datos e información privada que sea utilizada en nuestro sistema, donde
también tenemos un control preciso del comportamiento malicioso que se realiza en
MULTICS. Estos anillos se
basaron en tener uno, dos o más niveles jerárquicos o también denominados capas de
privilegios dentro de la misma arquitectura del sistema operativo MULTICS. Estos
anillos de privilegios que son soportados por el hardware, fueron un concepto base que
revoluciono la seguridad y fue introducido por MULTICS.

Una forma gráfica del anillo de privilegios del sistema operativo MULTICS.
Donde está dividido por diferentes capas, donde el “Anillo 0” es denominado el
espacio más privilegiado ya que tiene el control y acceso total de los recursos del
sistema operativo. “Anillo 1, 2” Son los diferentes drivers que contienen diferentes
tipos de privilegios ya que pueden tener control del sistema verificado. “Anillo 3” Este
espacio del anillo de privilegios es denominado el espacio de usuario que tiene el más
mínimo de privilegios del sistema.

Información: MULTICS, fue un Sistema Operativo con una pantalla de rayos catódicos
y una máquina de escribir eléctrica junto a la pantalla. Pero a pesar de permitir a los
usuarios por primera vez trabajar y escribir. Mostrándose de una vez en pantalla, este
sistema no tuvo gran éxito para trabajar. MULTICS SO, cayó del mercado debido a que
la empresa que al final fue la encargada del proyecto dejo de actualizarlo, administrarlo
y soportarlo y los usuarios prefirieron irse a otros sistemas operativos que estaban en el
mercado en ese entonces.

45
Conclusión

Gracias a este trabajo investigativo logramos recopilar una serie de características muy
importantes en cuanto a la evolución de los sistemas operativos en general, lo que se
dio gracias al proceso evolutivo de los tiempos compartidos, así como también pudimos
conocer muchas de sus limitaciones, ventajas y desventajas.

Se pudo conocer también a fondo el tipo de manejadores de eventos de procesos, el


tratamiento de archivos, las entradas y salidas como flujos de datos, la segmentación
de memoria y los tipos de planificadores de procesos que conforman la base
arquitectónica de los sistemas operativos de tiempo compartido.

Cabe recalcar que a pesar de las limitaciones tecnológicas de la época en que empezó
el desarrollo de los tiempos compartidos, se pudo hacer mucho más de lo que se
esperaba ya que múltiples usuarios conectados a una sola máquina marcó un hito
histórico en cuanto a la evolución de la computación, ya que por primera vez apareció el
termino multiprogramación y multitarea ya que un gran número de operarios de una
maquina eran mas eficientes que uno solo realizando una determinada tarea.

El sistema operativo MULTICS, fue una de las primeras propuestas en cuanto a los
sistemas de tiempos compartidos, dado que este sistema operativo era un poco más
eficiente que su antecesor CTSS y por ende logró un buen alcance dentro del mercado
de la computación. Este sistema permitió la conexión de múltiples usuarios en un
sistema de una única tarea, permitiendo cumplir con esta en un tiempo mucho más
rápido. Gracias a este sistema, se dejaron atrás a todas las maquinas monousuarios y
el procesamiento por lotes de tarjetas perforadas ya que estos eran muy tediosos y
demasiado largos e ineficientes.

Los sistemas propuestos por IBM también forman parte importante de esta evolución ya
que estos aportaron al desarrollo de nuevas ideas y nuevos modelos de programación
de sistemas operativos. A pesar de tantos fracasos los desarrolladores de IBM

46
alcanzaron grandes logros, al poder implementar un sistema de tiempo compartido en
una máquina diseñada para ser monotarea y monousuario, dando así inicio a la
modificación de hardware para implementar los sistemas multiusuarios, logrando así
que los costos de tiempos máquina disminuyeran drásticamente, y esto último ayudó a
que el desarrollo de los sistemas operativos en general se diera un poco más rápido.

Principalmente vemos que aun los sistemas operativos de tiempo compartido siguen en
funcionamiento de una forma u otra, y siguen creciendo.

Las metodologías que se usa para rescatar este tipo de sistemas están bastante
interesantes y consideramos que es una forma óptima para poder seguir utilizando este
tipo de sistema.

Hay que tener en cuenta que a pesar que antes no se consideraba completamente
importante lo que es la seguridad en el sistema, pero los propios usuarios comenzaron
a exigir todo de esto.

Hay muchas ventajas que nos ofrece este Sistema operativo y consideramos que son
muy útiles en la práctica.

Con la llegada de los LTSP se nos hace muy útil y fácil el uso del sistema operativo, y
mucho más como vemos en la universidad la manera que damos la materia entornos de
programación, usamos un proceso similar o igual a este.

Sabemos que Unix es uno de los SO más importantes en la historia de todos los SO, de
hecho, es bastante completo y muy útil a los programadores, nos gusta la manera la
cual se puede utilizar UNIX, de hecho, hasta más sencillo es comparándola con
Windows.

47
Bibliografía

Andrew S. Tanenbaum - Sistemas Operativos, Diseño e implementación 2º Efdición.pdf

https://es.wikipedia.org/wiki/Tiempo_compartido_(informática)

https://es.slideshare.net/ruberush/sistemas-de-tiempo-compartido-6851265

ecomputernotes.com/...operating-system/time-sharing-operating

http://www.itrelease.com/2014/08/advantages-disadvantages-time-sharing-operating-system/

https://www.quora.com/What-is-time-sharing-operating-system-with-example

48
Tabla de participación

Nombre Participacion Firma


Leonardo 100%
Ortega
Victor 100%
Alfonso
Ricardo 100%
Vargas
Andres 100%
Morales

49

También podría gustarte