Está en la página 1de 63

Presentacion

Jennifer Lisbet de la Cruz Ureña


15-MISM-1-072

GENESIS
MARIA
GUERRERO
• 15-MISM-1-080

CAONABO MENA
Yoleni Margarita Mendez
• 15-MISM-1-072
15-MISM-1-107
GENERACIONES DE LOS SISTEMAS
OPERATIVOS
PRIMERA GENERACION
REVISION DEL
HARDWARE DE LA
COMPUTADORA
A REVISIÓN FÍSICA DEL EQUIPO DE CÓMPUTO
CONSISTE EN:
·

REALIZAR UN MONITOREO DEL ESTADO DEL


EQUIPO DE COMPUTO
REVISAR QUE EL SISTEMA OPERATIVO FUNCIONE
ADECUADAMENTE.
CHECAR QUE LOS VENTILADORES NO ESTÉN
ATASCADOS.
OBSERVAR QUE TODOS LOS COMPONENTES ESTÉN
CONECTADOS CORRECTAMENTE.
REVISAR QUE LA FUENTE DE PODER ESTE BIEN
CONECTADA
EL INTERRUPTOR ASOCIADO A UN ENCHUFE DE
PARED ESTA PRENDIDO.
UN DISQUETE U OTRO DISPOSITIVO EXTERNO NO
PERMITEN EL INICIO CORRECTO DE LA PC.
EL REGULADOR O CORRIENTE ELÉCTRICA NO
FUNCIONAN BIEN A O ESTÁN MAL CONECTADOS AL
PC.
LOS PROCESADORES
• El procesador es en los sistemas
informáticos el complejo de circuitos que
configura la unidad central de
procesamiento o CPU.

• Típicamente, un procesador o
microprocesador es parte de cualquier
computadora o de equipos electrónicos
digitales y es la unidad que hace las veces
de “motor” de todos los procesos
informáticos desde los más sencillos hasta
los más complejos.

• En una computadora se reconocen el


procesador como dispositivo de hardware
que puede tener diversas calidades y tipos,
y por otra parte el concepto lógico en
términos de unidad central de
procesamiento o CPU, entendido como
“cerebro” del sistema.
LA MEMORIA Y TIPOS
En informática, la memoria es el dispositivo que retiene, memoriza o almacena
datos informáticos durante algún intervalo de tiempo.
LA MEMORIA RAM es la memoria principal de un
dispositivo donde se almacena programas y datos
informativos. Las siglas RAM significan “Random Access
Memory” traducido al español es “Memoria de Acceso
Aleatorio”.

La memoria RAM es conocida como memoria volátil lo cual


quiere decir que los datos no se guardan de manera
permanente, es por ello, que cuando deja de existir una
fuente de energía en el dispositivo la información se pierde.
Asimismo, la memoria RAM puede ser reescrita y leída
constantemente.
TIPOS DE MEMORIA RAM

• Hay dos tipos básicos de memoria RAM

• RAM dinámica (DRAM)


• RAM estática (SRAM)
• Los dos tipos de memoria RAM se diferencian en la tecnología que
utilizan para guardar los datos, la meoria RAM dinámica es la más común.

• La meoria RAM dinámica necesita actualizarse miles de veces por


segundo, mientras que la memoria RAM estática no necesita actualizarse,
por lo que es más rápida, aunque también más cara. Ambos tipos de
memoria RAM son volátiles, es decir, que pierden su contenido cuando se
apaga el equipo.
RAM Y TIPOS
MEMORIA ROM

• Una memoria ROM es


aquella memoria de
almacenamiento que permite
sólo la lectura de la
información y no su
destrucción,
independientemente de la
presencia o no de una fuente
de energía que la alimente.
MEMORIA CACHE
• Cuando en informática se habla de
memoria caché o cache se está
hablando de aquella cantidad de
información que permanece de
manera temporal en la computadora y
que ayuda a la adquisición de
velocidad y eficiencia cuando es
necesario recurrir a determinado tipo
de datos. El nombre de memoria
cache proviene del francés, que
significa “escondido” u “oculto”.

• El sistema de memoria cache está


diseñado especialmente para servir al
apropiado y organizado
almacenamiento de información en
una computadora.
MEMORIA VIRTUAL

• La memoria virtual es una


técnica de gestión de la
memoria que permite que el
sistema operativo disponga,
tanto para el software de
usuario como para sí mismo,
de mayor cantidad de
memoria que esté disponible
físicamente.
EL DISCO DURO
• En informática, la unidad de disco
duro o unidad de disco rígido (en
inglés: Hard Disk Drive, HDD) es el
dispositivo de almacenamiento de
datos que emplea un sistema de
grabación magnética para almacenar
archivos 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.
Es memoria no volátil.
TIPOS DE DISCOS DUROS
• LAS CARACTERISTICAS DE UN
DISCO SDD son muy parecidas a un
pendrive. No tienen partes mecánicas.
En lugar de contener en su interior un
plato y un cabezal, igual que si fuera
un tocadiscos, la estructura de los
discos ssd es una placa de circuitos
con chips de memoria y componentes
fijos.

• En la imagen puedes ver cómo es un


disco ssd por dentro y por fuera.

DISCOS DUROS SAS

• Estos tipos de discos duros son los


más usados en entornos profesionales
y normalmente vas a encontrar discos
duros sas en sistemas de
almacenamiento tipo IBM System
Storage, Disk Storage Systems de HP,
etc.
DISCOS DURO SATA III

• Discos duros SATA III


• Estos tipos de discos duros
son los que seguramente
tienes instalados en tu
ordenador. Los discos duros
SATA III son discos
mecánicos que a diferencia
de los discos SDD tienen
plato y cabezal, similar a un
tocadiscos.
DISPOSITIVOS DE ENTRADA Y SALIDA

• Los dispositivos de salida son


aquellos que reciben información de
la computadora, su función es
eminentemente receptora y por ende
están imposibilitados para enviar
información. Entre los dispositivos de
salida más conocidos están: la
impresora (matriz, cadena, margarita,
láser o de chorro de tinta), el
delineador (plotter), la grabadora de
cinta magnética o de discos
magnéticos y la pantalla o monitor.
DISPOSITIVOS DE ENTRADA
• Son aquellos que sirven para
introducir datos a la computadora
para su proceso. Los datos se leen de
los dispositivos de entrada y se
almacenan en la memoria central o
interna. Los dispositivos de entrada
convierten la información en señales
eléctricas que se almacenan en la
memoria central.

LAS CINTAS MAGNETICAS
• La cinta magnética es un tipo de
medio o soporte de almacenamiento
de datos que se graba en pistas sobre
una banda plástica con un material
magnetizado, generalmente óxido de
hierro o algún cromato. El tipo de
información que se puede almacenar
en las cintas magnéticas es variado,
como vídeo, audio y datos.
LOS BUSES
 En arquitectura de computadores, el bus (o canal) es un sistema digital que transfiere
datos entre los componentes de una computadora o entre varias computadoras. Está
formado por cables o pistas en un circuito impreso, dispositivos como resistores y
condensadores además de circuitos integrados.
BUS DE DIRECCION

• El bus de direcciones es un
canal del microprocesador
totalmente independiente del
bus de datos donde se
establece la dirección de
memoria del dato en
tránsito. El bus de dirección
consiste en el conjunto de
líneas eléctricas necesarias
para establecer una
dirección.
• BUS DE DATOS
Un bus de datos es un dispositivo
mediante el cual al interior de una
computadora se transportan datos e
información relevante.
BUS DE CONTROL
• BUS DE CONTROL

• El bus de control gobierna el


uso y acceso a las líneas de
datos y de direcciones. Como
éstas líneas están compartidas
por todos los componentes,
tiene que proveerse de
determinados mecanismos que
controlen su utilización. Las
señales de control transmiten
tanto órdenes como información
de temporización entre los
módulos. Mejor dicho, es el que
permite que no haya colisión de
información en el sistema.
• Cuando se acciona el botón de encendido o se presiona el botón de re-inicio (Reset) la carga
eléctrica inicial .hace que arranque la unidad central proceso y pide instrucciones al BIOS
(instrucciones permanentes que no se borran al apagar la computadora).

El CPU empieza a ejecutar las instrucciones, en particular la Auto prueba de arranque


(Power On Self Test, POST) la cual verifica la integridad de la memoria, controladores, y
dispositivos del sistema.

Actualmente el sistema de Conectar y Funcionar (Plug and Play) es muy común, por lo que
hay que evaluar la memoria de acceso aleatorio (Random Access Memory, RAM),
configurar los adaptadores de Conectar y Funcionar, el sonido y el video.

Si el BIOS no es de Conectar y Funcionar, el arranque del sistema pase a la siguiente fase.

El BIOS busca un disco de arranque con las instrucciones para cargar el sistema operativo.
Típicamente el BIOS busca primero en la unidad A: y luego en la unidad C: hasta que halla
el disco de arranque y lee el primer sector o bloque de información. Este es el sector de
arranque que contiene las instrucciones para cargar la PC.

El BIOS le pasa el control, contiene un archivo del sistema llamado Io.sys que ahora toma
la iniciativa. Como su nombre lo dice Io.sys tiene que ver con Entrada y Salida (Input
Output). Hasta aquí todas las PC´s arrancan de la misma manera. Una vez que se inicia el
sistema operativo el proceso empieza a variar
Tipos de sistema
operativos.
 Los sistemas operativos han
estado en funcionamiento
durante más de medio
siglo. Durante este
 tiempo se ha desarrollado
una variedad bastante
extensa de ellos, no todos
se conocen ampliamente.
 En esta sección
describiremos de manera
breve nueve.
Sistema operativo mainframe

• En el extremo superior están los


sistemas operativos para las
mainframes, las computadoras del
tamaño de un cuarto completo que
aún se encuentran en los principales
centros de datos corporativos. La
• diferencia entre estas computadoras
y las personales está en su capacidad
de E/S. Una mainframe con
• 1000 discos y millones de gigabytes
de datos no es poco común; una
computadora personal con estas
• especificaciones sería la envidia de
los amigos del propietario
Sistema operativo de servidores.

• los sistemas operativos de


servidores. Se ejecutan
• en servidores, que son computadoras
personales muy grandes, estaciones
de trabajo o incluso mainframes. Dan
servicio a varios usuarios a la vez a
través de una red y les permiten
compartir los recursos de hardware y
de software. Los servidores pueden
proporcionar servicio de impresión,
de
• archivos o Web. Algunos sistemas
operativos de servidores comunes
son Solaris, FreeBSD,
• Linux y Windows Server 200x
Sistema operativo
multiprocesadores
• Una manera cada vez más
común de obtener poder de
cómputo de las grandes ligas
es conectar varias
• CPU en un solo sistema.
Dependiendo de la exactitud
con la que se conecten y de
lo que se comparta,
• estos sistemas se conocen
como computadoras en
paralelo, multicomputadoras
o multiprocesadores
Sistema operativo de computadora
personales
• Su trabajo es proporcionar buen
soporte para un solo usuario. Se
• utilizan ampliamente para el
procesamiento de texto, las hojas
de cálculo y el acceso a Internet.
Algunos ejemplos comunes son
Linux, FreeBSD, Windows Vista
y el sistema operativo Macintosh.
• Los sistemas operativos de
computadora personal son tan
conocidos que tal vez no sea
necesario
• presentarlos con mucho detalle.
Sistema operativo de computadora
de bolsillo.
• Una computadora de bolsillo o
PDA(Personal Digital Assitant,
Asistente personal digital) es una
computadora que cabe en los bolsillos
y realiza una pequeña variedad de
funciones,
• como libreta de direcciones
electrónica y bloc de notas. Los
sistemas operativos que operan en
estos dispositivos de bolsillo son cada
vez más sofisticados, con la habilidad
de proporcionar telefonía, fotografía
digital y otras funciones. Muchos de
• ellos también ejecutan aplicaciones
desarrolladas por terceros.
Sistema operativo integrado.

• Los sistemas integrados (embudad), que


también se conocen como incrustados o
embebidos, operan
• en las computadoras que controlan
dispositivos que no se consideran
generalmente como computadoras, ya que no
aceptan software instalado por el usuario.
Algunos ejemplos comunes son los hornos. de
microondas, las televisiones, los autos, los
grabadores de DVDs, los teléfonos celulares y
los reproductores de MP3. La propiedad
principal que diferencia a los sistemas
integrados de los dispositivos de bolsillo es la
certeza de que nunca se podrá ejecutar
software que no sea confiable. No se
• pueden descargar nuevas aplicaciones en el
horno de microondas; todo el software se
encuentra en
• ROM
Sistema operativo de nodos
sensores.
• Las redes de pequeños nodos
sensores se están implementando para
varios fines. Estos nodos son
• pequeñas computadoras que se
comunican entre sí con una estación
base, mediante el uso de
comunicación inalámbrica. Estas
redes de sensores se utilizan para
proteger los perímetros de los
edificios, resguardar las fronteras
nacionales, detectar incendios en
bosques, medir la temperatura y la
• precipitación para el pronóstico del
tiempo. Los sensores son pequeñas
computadoras con radios integrados y
alimentadas con baterías
Sistema operativo en tiempo real.

• sistema operativo es el sistema en tiempo


real. Estos sistemas se caracterizan por tener
• el tiempo como un parámetro clave. Por
ejemplo, en los sistemas de control de
procesos industriales, las computadoras en
tiempo real tienen que recolectar datos
acerca del proceso de producción
• y utilizarlos para controlar las máquinas en
la fábrica. Muchos
• de estos sistemas se encuentran en el control
de procesos industriales, en aeronáutica, en
la milicia
• y en áreas de aplicación similares. Estos
sistemas deben proveer garantías absolutas
de que cierta
• acción ocurrirá en un instante determinado.
Sistema operativo de tarjeta
inteligente.
 Los sistemas operativos más
pequeños operan en las
tarjetas inteligentes, que son
dispositivos del
 tamaño de una tarjeta de
crédito que contienen un
chip de CPU.
Conceptos de los sistemas
operativos
La mayoría de los sistemas
operativos proporcionan
ciertos conceptos bá sicos
y abstracciones tales
Como procesos, espacios
de direcciones y archivos,
discos . que son la base
para comprender su
funcionamiento.
proceso
Un concepto clave en todos
los sistemas operativos es el
proceso. Un proceso es en
esencia un programa en
ejecució n. Es decir un
proceso es un recipiente que
guarda toda la informació n
necesaria para ejecutar un
programa.
Archivo

Otro concepto clave de casi


todos los sistemas operativos
es el sistema de archivos. una
de las funciones principales
del sistema operativo es
ocultar las peculiaridades de
los discos y demá s
dispositivos de E/S,
presentando al programador
un modelo abstracto limpio y
agradable de archivos
independientes del
dispositivo.
protección
Las computadoras contienen
grandes cantidades de
informació n que los usuarios
comú nmente desean
proteger y mantener de
manera confidencial. Esta
informació n puede incluir
mensajes de correo
electró nico, planes de
negocios, declaraciones
fiscales y mucho má s.
Llamada al sistemas

Una llamada al sistema es un


método o función que puede
invocar un proceso para solicitar
un cierto servicio al sistema
operativo. Las llamadas al sistema
disponibles en la interfaz varían de
u sistema operativo a otro (aunque
los conceptos subyacentes tienden
a ser similares).
ESTRUCTURA DEL SISTEMA
OPERATIVO
en las siguientes secciones analizaremos seis estructuras distintas que se han
probado, para poder darnos una idea del espectro de posibilidades. De alguna
manera quiere esto decir que sean exhaustivas, pero nos dan una idea de
algunos diseños que se han probado en la práctica. Los seis diseños son:
sistemas monolíticos, sistemas de capas, microkernels, sistemas clientes-
servidor, máquinas virtuales y exokernels.
SISTEMAS MONOLITICOS
En este diseño, que hasta ahora se considera como la organización más
común, todo el sistema operativo se ejecuta como un solo programa en
modo kernel. el sistema operativo se escribe como una colección de
procedimientos, enlazados entre sí por un solo programa binario
ejecutable extenso. Cuando se utiliza esta técnica, cada procedimiento
en el sistema tiene la libertad de llamar a cualquier otro.
Para construir el programa objeto actual de este sistema
operativo se utiliza este diseño, primero se compilan todos
los procedimientos individuales (o archivos que contengan
estos procedimientos) y luego se vinculan en un conjunto
para formar un solo archivo ejecutable, usando el enlazador
del sistema. Este procedimiento no se oculta, ya que todos
los procedimientos son visibles para cualquier otro
procedimiento (en contraste a una estructura que contengan
módulos o paquetes, en donde la mayor parte de la
información se oculta a dentro de módulos y solo los
puntos de entrada designados de manera oficial se pueden
llamar desde el exterior del módulo).
Sin embargo, hasta en los
sistemas monolíticos es posible
tener cierta estructura. Para
solicitar los servicios (llama al
sistema) que proporciona el
sistema operativo, los parámetros
se colocan en un lugar bien
definido (ejemplo, en la pila) y
luego se ejecuta una función trap.
Esta instrucción cambia la
maquina al modo kernel y
transfiere el control al sistema
operativo Después el sistema
operativo obtiene los parámetros
y determina cual es la llamada al
sistema que se va a llevar a cabo.
Después la indiza en la tabla que
contiene en la ranura k un
apuntador al procedimiento que
lleva a cabo la llamada al sistema
k
Esta organización sugiere una estructura básica para el sistema
operativo:
1. Un programa principal invoca el procedimiento de servicio
solicitado.
2. Un conjunto de procedimiento de servicio que llevan a cabo las
llamadas al sistema.
3. Un conjunto de procedimientos utilitarios que ayudan a los
procedimientos de servicio.
En este modelo, para cada llamada al sistema hay un procedimiento de
servicio que se encarga de la llamada y la ejecuta. Los procedimientos
utilitarios hacen cosas que necesitan varios procedimientos de servicio,
como obtener datos de los programas de usuario. Esta división de los
procedimientos en tres niveles Además del núcleo de sistema
operativos que se encarga al arrancar la computadora, muchos sistemas
operativos soportan extensiones que se puedan cargar, como los drivers
de dispositivos E/S y sistemas de archivos.
Haga clic en el icono para agregar una imagen

Modelo de estructuracion simple para un


Sistema monolitico
Sistemas de capas
Es organizar el sistema operativo como una jerarquía de capas, cada una
construida encima de la que tiene abajo. El primer sistema operativo de
esta forma fue el sistema THE, construido en Techinische Hogeschool
Eindhoven en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El
sistema THE era un sistema simple de procesamiento por lotes para una
computadora holandesa, la electrológica X8, que tenía 32k de palabras
de 27 bit.
El sistema tenía 6 capas.
EL nivel 0 se encargaba de la asignación del
procesador, de cambiar entre un proceso y otro
cuando ocurrían interrupciones o expiraban los
temporizadores. Por encima del nivel 0, el sistema
consistía en procesos secuenciales, cada uno de
los cuales se podían programar sin necesidad de
preocuparse por el hecho de que había varios
procesos de ejecución en un solo procesador. En
otras palabras, el nivel 0 proporciona
multiprogramación básica de la CPU.
La capa 1 se encargaba de la administración de la
memoria. Esta asignaba espacio para los
procesadores en la memoria principal y en un
tambor de palabras de 512 K que se utilizaba para
contener partes de procesos (paginas), para los
que no había espacios en la memoria principal. En
resumen, esta capa se encargaba de asegurar que
las paginas se llevaran a la memoria cuando se
requerían.
Capa 2 se encargaba de la comunicación entre
cada proceso y la consola del operador (el
usuario). Encima de esta capa, cada proceso tenía
en efecto su propia consola de operador.
La capa 3 se encargaba de administrar los
dispositivos de E/S, y guardar en búferes los
flujos de información dirigidos para y desde ellos.
Capa 4 era donde se encontraban los programas
de usuario. No tenían que preocuparse por la
administración de procesos, la memoria, la
consola, o la E/S, ya que estos los controlaba el
nivel 5 (administrador de procesos)
Microkernels
Con el diseño de capas, los diseñadores podían elegir en donde dibujar
el límite entre el kernel y el usuario. Tradicionalmente todas las capas
iban al kernel, pero eso no es necesario. De hecho, puede tener mucho
sentido poner lo menos que sea posible en modo kernel, debido a que
los errores en el kernel pueden paralizar el sistema de inmediato. Los
procesos del usuario se pueden configurar para que tengan menos
poder, así que un error en ellos tal vez no sería fatal. Varios
investigadores han estudiado el número de errores por cada 1000
líneas de código. La densidad de los errores depende del tamaño del
módulo, su tiempo de vida y más. Pero una cifra aproximada para los
sistemas industriales formales es de 10 errores por cada mil líneas de
código. Esto significa que es probable que un sistema operativo
monolítico de 5 millones de line de código contenga cerca de 50 mil
errores de kernel. Desde luego que no todos son fatales ya que algunos
pueden emitir un mensaje de error incorrecto en una situación que
• La idea básica detrás del diseño de
microkernel es lograr una alta
confiabilidad al dividir el sistema
operativo en módulos pequeños y bien
definidos, solo uno de los cuales (el
microkernel) se ejecuta en modo kernel y
el resto se ejecuta como procesos de
usuarios ordinarios. En especial, al
ejecutar cada driver de dispositivo y
sistema de archivos como un proceso
usuario separado, un error en alguno de
estos procesos puede hacer que falle ese
componente, pero no puede hacer que falle
todo el sistema. Un ejemplo, seria si el
driver del dispositivo de audio fallara, el
sonido seria confuso o puede ser que se
detenga, pero la computadora no fallara.
Se han implementado y desplegado muchos microkernels. Pero les
mencionare los más conocidos. Y estos son:
Integrity, K52, L4, PikeOS, QNX, SYMBIAN Y MINIX. ahora
veremos una breve reseña de las generalidades acerca de MINIX3.
MINIX 3 es un sistema de código abierto en conformidad con POSIX,
disponible sin consto en www.minix3.org.
 
EL microkernel MINIX 3 solo tiene cerca de 3200 líneas de C y 800
líneas de ensamblador para las funciones de muy bajo nivel, como las
que se usan para atrapar interrupciones y conmutar proceso. El código
de C administra y planifica los procesos, este se encarga de la
comunicación entre procesos (al pasar mensajes entre procesos) y
ofrece un conjunto de aproximadamente 35 llamadas al kernel para
permitir que el resto del sistema operativo realice su trabajo. Estas
llamadas realizan funciones tales como asociar drivers a las
interrupciones, desplazar datos entre espacios de direcciones e instalar
nuevos mapas de memoria para los procesos recién creados.
Fuera del kernel, el sistema se estructura como
tres capas de procesos, todos se ejecutan en modo
usuario. La más inferior contiene los drivers de
dispositivos. Como todos se ejecutan en modo
usuario, no tienen acceso físico al espacio de
puertos E/S y hace una llamada al kernel para que
realice la estructura.
Encima de los drivers hay otra capa en modo
usuario que contiene los servidores, estos realizan
la mayor parte del trabajo del sistema operativo.
Uno o más servidores de archivos administran el
o los sistemas de archivo, el administrador de
procesos crea destruye y administra los procesos
y así sucesivamente. Los programas de usuario
obtienen servicios del S.O mediante el envío de
mensajes cortos a los servidores, pidiéndole
llamadas al POSIX. Ejemplo, un proceso que
necesite realizar una llamada read envía un
mensaje a uno de los servidores de archivos para
indicarle que debe leer.
Modelo cliente-servidor
Una ligera variación de la idea del
microkernel es diferenciar dos clases de
procesos: los servidores, en los cuales
cada uno proporciona cierto servicio, y
los clientes, que utilizan estos servicios.
La comunicación entre clientes y
servidores se lleva a cabo comúnmente
mediante el paso de mensajes. Para
obtener un servicio, un proceso cliente
construye un mensaje indicando lo que
desea y lo envía al servicio apropiado.
Después el servicio lo hace el trabajo y
envía devuelta la respuesta.
Una generalización obvia de esta idea
es hacer que los clientes y los
servidores se ejecuten en distintas
computadoras, conectadas mediante
una red de área local o amplia, como se
escribe en la figura
MAQUINAS VIRTUALES
 una máquina virtual es un
software que simula a una computadora
y puede ejecutar programas como si
fuese una computadora real.
 Una característica esencial de las
máquinas virtuales es que los procesos
que ejecutan están limitados por los
recursos y abstracciones
proporcionados por ellas. Estos
procesos no pueden escaparse de esta
"computadora virtual".
 Las versiones iniciales del OS/360 eran, sistemas de
procesamiento por lotes. Sin embargo, muchos
usuarios del 360 eran, en sentido estricto, sistemas de
procesamiento por lotes. Sin embargo, muchos
usuarios del 360 querían la capacidad de trabajar de
maneta interactiva en una terminal, por lo que varios
grupos, tanto dentro como fuera de IBM, decidieron
escribir sistemas de tiempo compartido. El sistema de
tiempo compartido oficial de IBM, conocido como
TSS/360, se liberó después de tiempo y cuando por
fin llego era tan grande y lento que pocos sitios
cambiaron a este sistema. En cierto momento fue
abandonado, una vez que su desarrollo había
consumido cerda de 50 millones de dólares (Graham,
1970). Pero un grupo en el Scientific Center de IBM
en Cambridge, Massachusetts, produjo un sistema
radicalmente distinto de IBM, conocido como z/VM,
VM/360
 Este sistema, que en un principio se llamó CP/CMS y
posteriormente cambio su nombre a VM/370, estaba basado en
una astuta observación: un sistema de tiempo compartido
proporciona (1) multiprogramación y (2) una maquina extendida
con una interfaz más conveniente que el hardware por sí. La
esencia de VM/370 es separar por completo estas dos funciones.
 El corazón del sistema, que se conoce monitor de máquina virtual,
se ejecuta en el hardware solamente y realiza la
multiprogramación, proporcionando no una, sino varias máquinas
virtuales. Figura (1-28). Sin embargo, a diferencia de otros
sistemas operativos, estas máquinas virtuales no son máquinas
extendidas, con archivos y otras características. En vez de ello,
son copias exactas del hardware, incluyendo el modo kernel,
usuario, la E/S, las interrupciones y los demás que tiene la
maquina real.
EXOKERNELS

 En vez de clonar la maquina actual, como se


hace con las máquinas virtuales, otra
estrategia es particionarla; en otras palabras, a
cada usuario se le proporciona un
subconjunto de los recursos. Asa, una
máquina virtual podría obtener los bloques
del disco del 0 al 1023, la siguiente podría
obtener los bloques de disco de 1024 al 1207
y así sucesivamente.
 El exokernel (localizado en la capa inferior
del modo kernel) tiene como función asignar
recursos a las máquinas virtuales y después
comprobar los intentos de utilizarlos, para
asegurar que ninguna maquina trate de usar
los recursos de otra. Cada máquina virtual
puede ejecutar su propio sistema operativo, al
igual que en la Vm/370 y las Pentium 8086
virtuales, con excepción de que cada una está
restringida a utilizar solo los recursos que se
han pedido y que le han asignado.
VENTAJA DEL EXOKERNEL
 La ventaja del exokernel es que ahorra una capa de
asignación a diferencia de otros diseños, cada máquina
virtual piensa que tiene su propio disco con bloques
que van desde 0 hasta cierto valor máximo. Por lo que
el monitor de la máquina virtual debe mantener tablas
para reasignar las direcciones del disco y todos los
demás recursos. Con el exokernel, no es necesaria, ya
que este solo necesita llevar el registro para saber a
cuál máquina virtual se le ha asignado cierto recurso.
Este método sigue teniendo la ventaja de separar la
multiprogramación (exokernel) del código del sistema
operativo (espacio usuario), pero con menos
sobrecarga, ya que todo lo que tiene que hacer el
exokernel es mantener las máquinas virtuales
separadas.

También podría gustarte