Você está na página 1de 90

Edita: Tecnolgico Edupraxis (centro de estudios)

Ponente: Ing. Mg. Carmen Robayo



Esta documentacin tiene el respaldo de:

















Reconocidos por el Consejo Nacional de
Educacin Superior CONESUP registro No 18-
015 del 03-01-2002 Modalidad Presencial y a
Distancia

Ceina centros de formacin, empresa Europea lder
desde 1988 en el sector de la formacin en
tecnologas con ms de catorce homologaciones de
los fabricantes de software del mundo. Centro de
exmenes Oficiales

PROMETRIC - MOUS VUE

Universidad Estatal de Bolvar, convenio
aprobado por el Consejo Nacional de
Educacin Superior CONESUP.
MODULO DE SISTEMAS OPERATIVOS

2
Ing. Mg. Carmen E. Robayo V.
OBJETIVO GENERAL

Aplicar los paradigmas de diseo de los sistemas operativos actuales y
emergentes, para el manejo de los recursos del sistema.

OBJETIVOS ESPECFICOS
Disear e implementar objetos de programacin que permitan resolver
situaciones reales y de ingeniera.
Seleccionar, disear, implementar y manipular estructuras de datos que
optimicen el rendimiento de aplicaciones de software, con un enfoque
orientado a objetos y considerando la complejidad de los algoritmos
utilizados.
Identificar la tecnologa de la computacin a travs de las arquitecturas de
diferentes modelos y desarrollar habilidades que le permitan sugerir
soluciones ptimas utilizando los sistemas de cmputo.


MODULO DE SISTEMAS OPERATIVOS

3
Ing. Mg. Carmen E. Robayo V.
UNIDAD I
INTRODUCCIN A LOS SISTEMAS OPERATIVOS
1.1. INTRODUCCIN
S. O. como conjunto de programas cuya misin es ofrecer al usuario final de la
computadora la imagen de que sta es una mquina sencilla de manejar, por muy
difcil y complicado que sea el hardware con el que se haya construido.

Gobierno
No desempea ninguna funcin por s slo.
Crea un entorno dentro del que otros programas pueden realizar un trabajo til.

Objetivos
Actuar de intermediario entre usuario y hardware.
Garantizar el funcionamiento correcto del computador.
Facilitar la tarea de programacin (comodidad).
Administrar eficientemente los recursos de la mquina.

Propsito: creacin de un entorno cmodo y eficiente para poder ejecutar
programas.
Desarrollo: evolucin desde los primeros sistemas manuales hasta los sistemas
multiprogramados y de tiempo compartido actuales.

Un sistema de computacin se divide en cuatro componentes principales:

Hardware: CPU, memoria y dispositivos de E/S
Sistema Operativo (software).
Programas de aplicacin, o de usuario: compiladores, DB, juegos (software).
Usuarios: usuarios, programadores, mquinas.



1.2. FUNCIONES DEL SISTEMA OPERATIVO

Como gestor de recursos:

Gestiona: tiempo de CPU, espacio de memoria, espacio de almacenamiento de
archivos y dispositivos de E/S.
MODULO DE SISTEMAS OPERATIVOS

4
Ing. Mg. Carmen E. Robayo V.
Acta: rbitro que decide qu solicitudes atender cuando no pueden satisfacerse
todas simultneamente, asignando recursos de forma eficiente.

Como programa de control:
Controla: ejecucin de programas de usuarios para evitar errores o usos
incorrectos.

TIPOS DE USUARIOS:
Usuario de rdenes / aplicaciones.
Usuario programador.
Usuario diseador / implementador.
Administrador del sistema.

1.3. CONCEPTOS RELACIONADOS CON EL USUARIO DE RDENES

Usuario: elemento (persona, mquina) identificable por el sistema.
Sesin: conjunto de acciones desarrolladas por el usuario desde que entra (login)
hasta que sale (logout).
Programa: conjunto de instrucciones destinadas a resolver un problema.
Fichero: (o archivo), conjunto de datos relacionados almacenados en
almacenamiento no pedecedero.
Programa del sistema: acciones relacionadas con el SO.
Intrprete de rdenes: programa del sistema que recoge y manda ejecutar las
rdenes del usuario.

Llamadas al sistema: Mecanismo que utilizan los programas de aplicacin para
solicitar que el sistema operativo haga algo.

Niveles de ejecucin: Distintos modos de ejecucin del procesador, que
determinan que instrucciones se pueden ejecutar en cada momento. Los
programas de usuario se ejecutan en modo normal, mientras que el cdigo del
sistema operativo lo hace en modo privilegiado.

Sistema de gestin de procesos: encargado de crear, eliminar, suspender,
reanudar, comunicar y sincronizar procesos.

Sistema de gestin de memoria: encargado de la memoria.
Controla particiones libres/ocupadas.
Asigna/libera espacios.
Llama a la memoria principal.
MODULO DE SISTEMAS OPERATIVOS

5
Ing. Mg. Carmen E. Robayo V.

Sistema de gestin de E/S: encargado de los dispositivos de E/S. Permite su
comparticin ordenada, minimiza efectos de diferencia de velocidad, uniformiza
distintos dispositivos.

Sistema de gestin de ficheros: encargado de los ficheros.
Define:
Concepto y tipos de ficheros.
Gestiona almacenamiento y operaciones.

Ncleo (kernel) del sistema operativo: programa individual que siempre est
cargado en memoria principal y que se est ejecutando permanentemente en el
computador.

rbitro eficiente que asigne recursos a los procesos
Procesos: programas en ejecucin que compiten por el uso de recursos.
Recursos: (escasos) reales o virtuales, fsicos o lgicos.

Conocer
Estado en que se encuentran los recursos.
Quin, cundo y durante cunto tiempo tiene el control.
Asociar y desasociar recursos.

Capa entre usuario y hardware, que ofrece una mquina extendida que es una
abstraccin de la realidad y contra la que van los procesos.

Ventajas:

Comodidad: Mejor usabilidad para usuario y programador.
Portabilidad: Independencia con el hardware.


MODULO DE SISTEMAS OPERATIVOS

6
Ing. Mg. Carmen E. Robayo V.
1.4. EVOLUCIN HISTRICA
1 Generacin (1945 -1955):

Sistema operativo: Al principio es inexistente, hacia el final se constituye como
un conjunto de funciones de uso general.
Tecnologa: Tubos de vaco.
Introduccin de trabajo: A travs de panel de control.
Lenguaje: Lenguaje mquina.

2 Generacin (1955 1965):

Sistema operativo: Monitor para cargar trabajos, ejecutarlos, ... (procesamiento
en serie). Posteriormente procesamiento por lotes.
Tecnologa: Transistores.
Introduccin de trabajo: Tarjetas perforadas.
Lenguaje: Cobol, Fortran

3 Generacin (1965 1975):

Sistema operativo: Multiprogramacin, tiempo compartido, sistemas en tiempo
real (OS/360,Multics, UNIX, ...).
Tecnologa: Circuitos integrados, mquinas multipropsito, miniordenadores.
Introduccin de trabajo: Tarjetas perforadas, terminales.
Lenguaje: Cobol, Fortran, ...

4 Generacin (1975 1990):

Sistema operativo: En red, cliente-servidor, seguridad (criptografa), (MacOS,
MS-DOS, Novell, ...)
Tecnologa: Circuitos integrados, ordenadores personales, redes de
ordenadores.
Introduccin de trabajo: Terminal

5 Generacin (1990 actualidad):

Sistema Operativo: Distribuido, modelo cliente servidor en la construccin del
sistema.
Tecnologa: Circuitos integrados a gran escala (VLSI), ordenadores personales
potentes, estaciones de trabajo.

MODULO DE SISTEMAS OPERATIVOS

7
Ing. Mg. Carmen E. Robayo V.

ORIENTACIN DE LA EVOLUCIN

Aumentar: Potencia, multipropsito, fiabilidad, n de usuarios, comodidad y
amigabilidad.
Disminuir: Precio, tamao, requisitos de instalacin, dificultad de uso, tiempo de
respuesta.

TIPOS DE SISTEMAS

Primeros sistemas.
Sistemas por lotes.
Multiprogramacin.
Sistemas de tiempo compartido.
Sistemas de ordenadores personales.
Sistemas paralelos-multiprocesadores.
Sistemas distribuidos.
Sistemas de tiempo real.
Tendencias actuales y futuras en sistemas operativos.

PRIMEROS SISTEMAS
Caracterizacin: Gran tamao y ejecucin desde panel de control.
Organizacin del trabajo
Programador = Operador del sistema.
Un solo usuario en cada momento (tiempo asignado, reserva).
Operaciones: Carga manual del programa en la memoria (instruccin tras
instruccin), establecer inicio, activar ejecucin, vigilar ejecucin.

Mejoras
Fsicas: lectores de tarjetas, impresoras y cintas magnticas.
Reutilizacin de cdigo: Bibliotecas de funciones comunes.
Desarrollo de ensambladores, compiladores y cargadores para facilitar las
tareas de programacin.
Drivers o subrutinas especiales para cada dispositivo de E/S.

Desventajas
Mquina parada mucho tiempo por el modo de trabajo.
Error poda implicar comenzar de nuevo.


MODULO DE SISTEMAS OPERATIVOS

8
Ing. Mg. Carmen E. Robayo V.
SISTEMAS POR LOTES

Organizacin del trabajo:
Operador especialista, minimiza tiempos de preparacin.
Reduccin de tiempos por agrupamiento en lotes que se pueden ejecutar a la
vez.
Secuenciado automtico de trabajos: Transferencia automtica de control
entre un trabajo y el siguiente => Monitor Residente.

Monitor residente:
Realiza automticamente las acciones:
Control de la finalizacin de tareas.
Tratamiento de errores.
Carga y ejecucin automtica de la siguiente tarea.

Tarjetas de control:
Para que el monitor residente sepa qu programa ejecutar (se distinguen por $
de las tarjetas de instrucciones).

Organizacin de la memoria para un monitor residente:
Cargador, secuenciado de trabajos, intrprete de tarjetas.
Drivers para cargador e intrprete.
Ventaja: Eliminacin del tiempo de preparacin y del secuenciado manual de
trabajos.

El problema de la E/S:
E/S muy lenta en comparacin con la CPU, lo que implica que la CPU queda
ociosa mucho tiempo esperando la terminacin de las operaciones de E/S.
Solucin: Introduccin de tecnologa de discos, lo que posibilita,

Operaciones fuera de lnea (off-line): independencia con el dispositivo, la
CPU dialoga slo con dispositivos rpidos.
Uso de bferes: las transferencias de E/S se realizan a travs de una zona
intermedia de memoria y slo cuando el dispositivo est preparado.
Spooling: Uso del disco como bfer de gran tamao, leyendo por
adelantado de los dispositivos de entrada, guardando la informacin y
envindola a los dispositivos de salida cuando stos estn disponibles.


MODULO DE SISTEMAS OPERATIVOS

9
Ing. Mg. Carmen E. Robayo V.
MULTIPROGRAMACIN

Gracias al spooling (reserva de trabajos en el disco), el sistema operativo
escoge qu trabajo ejecutar a continuacin con el criterio de mejorar el
aprovechamiento de la CPU, planificacin de trabajos.
El aspecto ms importante de la planificacin es la multiprogramacin,
aumentando el aprovechamiento de la CPU.
Siempre habr varios trabajos en memoria, el sistema operativo escoger de
entre ellos y lo ejecutar, de tal forma que siempre haya un trabajo en ejecucin.
Caractersticas de la multiprogramacin:
Si un proceso se bloquea, esperando por la E/S, en la CPU ejecutamos
instrucciones de otro proceso.
Ejecucin entrelazada de procesos: concurrencia.
Mayor rendimiento, finalizacin de ms trabajos en menos tiempo.



Mayor complejidad de los sistemasmultiprogramados:

Planificacin de la CPU: Qu proceso elegimos al quedar libre la CPU.
Planificacin de dispositivos: Conflictos por acceso simultneo a la E/S.
Gestin de memoria: Decisiones de carga en memoria entre varios trabajos que
estn listos para subirse.
Situaciones de interbloqueo: Entre procesos por los recursos.
Proteccin.

SISTEMAS DE TIEMPO COMPARTIDO

Por qu surgen?: Con la multiprogramacin los recursos del sistema se
aprovechan eficientemente, sin embargo, para el usuario,
No puede interactuar con el trabajo durante su ejecucin.
Depuracin de programas esttica.
Solucin: sistemas multitarea (o inetractivos), ms apropiados para trabajos de
muchas acciones cortas, donde el usuario introduce una orden y espera, por tanto,
interesa un tiempo de respuesta corto.
MODULO DE SISTEMAS OPERATIVOS

10
Ing. Mg. Carmen E. Robayo V.
Desventaja: Perdemos productividad de la CPU.
Ventajas: Interaccin usuario-sistema e ilusin de que cada usuario tiene su
ordenador particular.

Mayor complejidad de los sistemas de tiempo compartido:

Gestin y proteccin de memoria: Mantenimiento simultneo de varios
trabajos en la memoria.
Memoria virtual: Tiempo de respuesta razonable intercambiando trabajos entre
memoria y disco.
Sistema de archivos en lnea: Coleccin de discos, sistema de gestin de
discos.
Planificacin de CPU: Mecanismos de ejecucin concurrente.
Mecanismos de sincronizacin y comunicacin: Evitando interbloqueos.

ORDENADORES PERSONALES:
Aparicin a finales de los 70 debido a:
Abaratamiento de coste.
Microprocesadores, reduccin de tamao.
Destinados al uso individual y no experto.
Interfaces de usuario amigables: ventanas, iconos, mens,...
Prescinden de ciertas funciones, como proteccin de la CPU (sistemas no
multiusuario y no multitarea).
Objetivos: Facilidad y comodidad de uso y rapidez de respuesta.

SISTEMAS PARALELOS MULTIPROCESADORES

Varios procesadores en comunicacin (acoplados), compartiendo el bus del
computador, el reloj, la memoria y los perifricos.
Ventajas:
Pueden ejecutar varias instrucciones simultaneamente (en paralelo).
Aumento del rendimiento (ms trabajos en menos tiempo).
Comparticin de perifricos y fuentes de potencia.
Tolerancia a fallos (degradacin gradual).
Desventaja: Sincronizacin entre procesos.
Tipos de multiprocesamiento:
Simtrico: Cada prodesador ejecuta una copia idntica del sistema.

Asimtrico: A cada procesador se le asigna una tarea especfica.


MODULO DE SISTEMAS OPERATIVOS

11
Ing. Mg. Carmen E. Robayo V.
1.5. SISTEMAS DISTRIBUIDOS

Caractersticas:

El cmputo se reparte entre varios procesadores conectados mediante una red.
Cada procesador tiene su propia memoria local, dbilmente acoplados, ahora
no comparten memoria ni reloj.
Comunicacin entre procesadores a travs de lneas de comunicacin, buses de
alta velocidad o lneas telefnicas.
Procesadores de distintos tamaos y funciones.
Escalable hasta millones de procesadores (internet).

Ventajas:
Recursos compartidos: accesos remotos, comparticin de archivos, informacin
de DB distribuidas,...
Computacin ms rpida: carga de trabajo compartida.
Fiabilidad: tolerancia a fallos por redundancia.
Comunicacin: redes de comunicacin.

Desventajas:
Comunicacin compleja al no compartir memoria.
Redes de comunicacines no fiable.
Heterogeneidad de los nodos.

SISTEMAS DE TIEMPO REAL
Para ejecucin de tareas que han de completarse en un plazo prefijado
(sistemas de control industrial, multimedia, cientficos, mdicos, ...)
Pueden ser de dos tipos:
Crticos: Tareas que exigen el cumplimento de plazos de finalizacin,
tienen pocos recursos disponibles los datos se almacenan en memoria de
corto plazo o ROM. Incompatibles con los sistemas de tiempo compartido.
Adecuados para la industria y la robtica.

No crticos: Ejecucin por prioridades. No cumplimiento estricto de
plazos. Adecuados en multimedia, realidad virtual y proyectos cientficos
avanzados de exploracin submarina y planetaria.


MODULO DE SISTEMAS OPERATIVOS

12
Ing. Mg. Carmen E. Robayo V.
TENDENCIAS ACTUALES Y FUTURAS EN SISTEMAS OPERATIVOS:

Paralelismo
Incremento de multiprocesadores.
Extensin de lenguajes paralelos.
Computacin distribuida: Incremento de redes de ordenadores conectados.
Sistemas tolerantes a fallos.
Interfaces de usuario ms amigables:
Desarrollo de interfaces grficas.
Incorporacin de multimedia a las interfaces.
Reconocimiento del habla.
Inmersin en el entorno: realidad virtual 3D

Sistemas abiertos: estandarizacin de sistemas para compatibilizar los distintos
fabricantes a nivel de:
Comunicaciones de red.
Interfaces de usuario abiertas.
Aplicaciones abiertas (varias plataformas).
Sistemas orientados a objeto: aplicacin de tcnicas de orientacin a objetos a
los sistemas operativos.
Personalidades mltiples: en una misma mquina y un sistema operativo
bsico pueden existir diferentes SO.
Microncleos
Verdadero/Falso

1. Los Sistemas Operativos son un conjunto de
programas cuya misin es ofrecer al usuario final de la
computadora la imagen de que sta es una mquina sencilla
de manejar. ( )
2. El Desarrollo de un Sistemas Operativo desde los
primeros sistemas automticos hasta los sistemas
multiprogramados y de tiempo compartido actuales. ( )
3. Los Sistemas operativos controlan la ejecucin de programas de usuarios para
evitar errores o usos incorrectos. ( )
4. Los Sistema de gestin de procesos se encargan de crear, eliminar,
suspender, reanudar, comunicar y sincronizar procesos ( )
5. El Ncleo (kernel) del sistema operativo es un programa individual que no
siempre est cargado en memoria principal y que se est ejecutando
permanentemente en el computador ( )
6. La programacin es el aspecto ms importante de la planificacin de los
sistemas operativos, aumentando el aprovechamiento de la CPU. ( )


MODULO DE SISTEMAS OPERATIVOS

13
Ing. Mg. Carmen E. Robayo V.
DE COMPLETACIN

7. Escriba tres objetivos de los Sistemas Operativos:

___________________________________________________________________
___________________________________________________________________
___________________________________________________________________

8. Escriba 2 ventajas de los Sistemas Operativas

___________________________________________________________________
___________________________________________________________________
___________________________________________________________________

DE SELECCIN MLTIPLE

UNA CON LNEAS
9. Un sistema de computacin se divide en cuatro componentes principales:

Hardware programadores, mquinas

Sistema Operativo compiladores, DB, juegos

Programas de aplicacin CPU, memoria y dispositivos de E/S

Usuarios Software


10. Los conceptos:
Usuario conjunto de datos relacionados
almacenados en almacenamiento no
pedecedero

Sesin elemento identificable por el sistema

Programa conjunto de acciones desarrolladas
por el usuario desde que entra hasta
que sale.

Fichero conjunto de instrucciones
destinadas a resolver un problema


MODULO DE SISTEMAS OPERATIVOS

14
Ing. Mg. Carmen E. Robayo V.

11. Llene el cuadro de los tipos de sistemas:
Sistemas por lotes Ventajas Desventajas









Sistemas de tiempo
compartido
Ventajas Desventajas








Sistemas de tiempo real Ventajas Desventajas







Sistemas paralelos Ventajas Desventajas









MODULO DE SISTEMAS OPERATIVOS

15
Ing. Mg. Carmen E. Robayo V.
UNIDAD II
PROCESOS Y ADMINISTRACIN DEL PROCESADOR

2.1. INTRODUCCIN
El concepto central de cualquier Sistema Operativo es el de proceso: una
abstraccin de un programa en ejecucin tambin llamada tarea.
Se define como:
Un programa que se est ejecutando.
Una actividad asincrnica.
El emplazamiento del control de un procedimiento que est siendo
ejecutado.
Aquello que se manifiesta por la existencia en el Sistema Operativo de un
bloque de control de proceso.
Aquella entidad a la cual son asignados los procesadores.
La unidad despachable.
En sistemas de multiprogramacin la cpu alterna de programa en programa, en
un esquema de seudo paralelismo , es decir que la cpu ejecuta en cierto instante
un solo programa, intercambiando muy rpidamente entre uno y otro.
El paralelismo real de hardware se da en las siguientes situaciones:
En ejecucin de instrucciones de programa con ms de un procesador de
instrucciones en uso simultneamente.
Con la superposicin de ejecucin de instrucciones de programa con la
ejecucin de una o ms operaciones de entrada / salida.
El objetivo es aumentar el paralelismo en la ejecucin.
El modelo de procesos posee las siguientes caractersticas:

Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en
varios procesos secuenciales o procesos.
Un proceso incluye al programa en ejecucin y a los valores activos del
contador, registros y variables del mismo.
Conceptualmente cada proceso tiene su propia cpu virtual.
Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un
proceso no ser uniforme
Un proceso es una actividad de un cierto tipo, que tiene un programa,
entrada, salida y estado.
MODULO DE SISTEMAS OPERATIVOS

16
Ing. Mg. Carmen E. Robayo V.
Un solo procesador puede ser compartido entre varios procesos con cierto
algoritmo de planificacin, el cual determina cundo detener el trabajo en
un proceso y dar servicio a otro distinto.


En cuanto a las jerarquas de procesos es necesario sealar que los Sistemas
Operativos deben disponer de una forma de crear y destruir procesos cuando se
requiera durante la operacin, teniendo adems presente que los procesos
pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo
darse ejecucin en paralelo.
Cada proceso es una entidad independiente pero frecuentemente debe interactuar
con otros procesos
2.2. ESTADOS DE PROCESOS
Durante su existencia un proceso pasa por una serie de estados discretos, siendo
varias las circunstancias que pueden hacer que el mismo cambie de estado.
Debido a ello se puede establecer una Lista de Listos para los procesos listos y
una Lista de Bloqueados para los bloqueados.
La Lista de Listos se mantiene en orden prioritario y la Lista de Bloqueados
est desordenada, ya que los procesos se desbloquean en el orden en que tienen
lugar los eventos que estn esperando.
Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado
en la ltima parte de la Lista de Listos.
MODULO DE SISTEMAS OPERATIVOS

17
Ing. Mg. Carmen E. Robayo V.
La asignacin de la cpu al primer proceso de la Lista de Listos se denomina
Despacho, que es ejecutado por una entidad del Sistema Operativo llamada
Despachador.
El Bloqueo es la nica transicin de estado iniciada por el propio proceso del
usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al
proceso.
La manifestacin de un proceso en un Sistema Operativo es un Bloque de Control
de Proceso (PCB) con informacin que incluye:
Estado actual del proceso.
Identificacin nica del proceso.
Prioridad del proceso.
Apuntadores para localizar la memoria del proceso.
Apuntadores para asignar recursos.
rea para preservar registros.
Cuando el Sistema Operativo cambia la atencin de la cpu entre los procesos,
utiliza las reas de preservacin del PCB para mantener la informacin que
necesita para reiniciar el proceso cuando consiga de nuevo la cpu.
Los sistemas que administran los procesos deben poder crear, destruir,
suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un
proceso.
La creacin de un proceso significa:
Dar nombre al proceso.
Insertar un proceso en la lista del sistema de procesos conocidos.
Determinar la prioridad inicial del proceso.
Crear el bloque de control del proceso.
Asignar los recursos iniciales del proceso.
Un proceso puede crear un nuevo proceso, en cuyo caso el proceso creador se
denomina proceso padre y el proceso creado proceso hijo y se obtiene una
estructura jerrquica de procesos.
La destruccin de un proceso implica:
Borrarlo del sistema.
Devolver sus recursos al sistema.
Purgarlo de todas las listas o tablas del sistema.
Borrar su bloque de control de procesos.

MODULO DE SISTEMAS OPERATIVOS

18
Ing. Mg. Carmen E. Robayo V.

Un proceso suspendido no puede proseguir hasta que otro proceso lo reanude.
Reanudar (reactivar) un proceso implica reiniciarlo en el punto donde fue
suspendido.
La destruccin de un proceso puede o no significar la destruccin de los
procesos hijos, segn el Sistema Operativo.
Generalmente se denomina Tabla de Procesos al conjunto de informacin de
control sobre los distintos procesos.
2.3. PROCESAMIENTO DE INTERRUPCIONES
Una interrupcin es un evento que altera la secuencia en que el procesador
ejecuta las instrucciones; es un hecho generado por el hardware del computador.
Cuando ocurre una interrupcin, el Sistema Operativo:
Obtiene el control.
Salva el estado del proceso interrumpido, generalmente en su bloque de
control de procesos.
Analiza la interrupcin.
Transfiere el control a la rutina apropiada para la manipulacin de la
interrupcin.
Una interrupcin puede ser iniciada por un proceso en estado de ejecucin o por
un evento que puede o no estar relacionado con un proceso en ejecucin.
Generalmente las interrupciones se pueden clasificar por tipos segn el
siguiente detalle:
SVC (llamada al supervisor): es una peticin generada por el usuario para
un servicio particular del sistema, por ejemplo, realizacin de Entrada /
Salida u obtencin de ms memoria.
Entrada / Salida: son iniciadas por el hardware de Entrada / Salida,
indicando a la cpu que ha cambiado el estado de un canal o dispositivo, por
ejemplo, finalizacin de Entrada / Salida u ocurrencia de un error.
Externas: son causadas por distintos eventos, por ejemplo, expiracin de
un cuanto en un reloj de interrupcin o recepcin de una seal de otro
procesador en un sistema multiprocesador.
De reinicio: ocurren al presionar la tecla de reinicio o cuando llega una
instruccin de reinicio de otro procesador en un sistema multiprocesador.
De verificacin de programa: son causadas por errores producidos
durante la ejecucin de procesos, por ejemplo:
MODULO DE SISTEMAS OPERATIVOS

19
Ing. Mg. Carmen E. Robayo V.
o Un intento de dividir por cero.
o Un intento de un proceso de usuario de ejecutar una instruccin
privilegiada.
o Un intento de ejecutar un cdigo de operacin invlido.
De verificacin de mquina: son ocasionadas por un mal funcionamiento
del hardware.

El Sistema Operativo incluye rutinas llamadas Manipuladores de
Interrupciones (IH) para procesar cada tipo diferente de interrupcin.

Cuando se produce una interrupcin el Sistema Operativo efecta las siguientes
acciones:
Salva el estado del proceso interrumpido.
Dirige el control al manipulador de interrupciones adecuado.
Se aplica la tcnica de Cambio de Contexto .
Los Sistemas Operativos instrumentan informacin de control que puede aparecer
como las Palabras de Estado de Programa (PSW), las cuales controlan el orden
de ejecucin de las instrucciones y contienen informacin sobre el estado del
proceso.
Existen tres tipos de PSW, que son la actual, la nueva y la vieja.
La PSW Actual almacena la direccin de la prxima instruccin que ser
ejecutada e indica los tipos de instrucciones actualmente habilitadas e
inhabilitadas.
En un sistema uniprocesador existe:
Solo una PSW actual.
Seis PSW nuevas (una para cada tipo de interrupcin).
Seis PSW viejas (una para cada tipo de interrupcin).
La PSW nueva para un tipo de interrupcin dado contiene la direccin en el
hardware donde reside el manipulador de interrupciones para este tipo especfico.
MODULO DE SISTEMAS OPERATIVOS

20
Ing. Mg. Carmen E. Robayo V.
Cuando ocurre una interrupcin para la cual el procesador no est inhabilitado,
ocurren las siguientes acciones:
El hardware cambia las PSW en los casos siguientes:
o Al almacenar la PSW actual en la PSW vieja, para este tipo de
interrupcin.
o Al almacenar la PSW nueva en la PSW actual, para este tipo de
interrupcin.
Luego de este intercambio de PSW:
o La PSW actual contiene la direccin del manipulador de interrupcin
adecuado.
o El manipulador de interrupciones procesa la interrupcin.
o Luego de procesar la interrupcin, la cpu es enviada al:
Proceso que estaba en ejecucin en el momento de la
interrupcin, o al
Proceso de listo de ms alta prioridad.
o La accin precedente depende de si el proceso de interrupcin es:
Apropiativo: obtiene la cpu solo si no hay procesos de
listos.
No apropiativo: obtiene de nuevo la cpu.
2.4. EL NCLEO DEL SISTEMA OPERATIVO
El ncleo del Sistema Operativo controla todas las operaciones que implican
procesos y representa solo una pequea porcin del cdigo de todo el Sistema
Operativo pero es de amplio uso.
Generalmente permanece en el almacenamiento primario.
El proceso de interrupciones se incluye en el ncleo ya que debe ser rpido
(especialmente en sistemas multiusuario), para optimizar el uso de los recursos
del sistema y proveer tiempos de respuesta aceptables a los usuarios interactivos.
El ncleo inhabilita las interrupciones mientras responde a una interrupcin. Las
interrupciones son habilitadas de nuevo despus de completar el proceso de una
interrupcin.
El ncleo del Sistema Operativo generalmente realiza las siguientes funciones:
Manipulacin de interrupciones.
Creacin y destruccin de procesos.
Cambio de estados de procesos.
Despacho.
Suspensin y reanudacin de procesos.
Sincronizacin de procesos.
Comunicacin entre procesos.
MODULO DE SISTEMAS OPERATIVOS

21
Ing. Mg. Carmen E. Robayo V.
Manipulacin de bloques de control de proceso.
Soporte de las actividades de Entrada / Salida.
Soporte de la asignacin y desasignacin de almacenamiento.
Soporte del sistema de archivos.
Soporte de un mecanismo de llamada / regreso al procedimiento.
Soporte de ciertas funciones contables (estadsticas) del sistema.
2.5. PLANIFICACIN DE PROCESOS
Cuando ms de un proceso es ejecutable desde el punto de vista lgico, el
Sistema Operativo debe decidir cul de ellos debe ejecutarse en primer trmino.
El Planificador es la porcin del Sistema Operativo que decide y el Algoritmo de
Planificacin es el utilizado.
Los principales criterios respecto de un buen algoritmo de planificacin son la
equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.

Criterio Descripcin
Equidad
Garantizar que cada proceso obtiene su
proporcin justa de la cpu
Eficacia
Mantener ocupada la cpu el ciento por
ciento del tiempo
Tiempo de
respuesta
Minimizar el tiempo de respuesta para los
usuarios interactivos
Tiempo de
regreso
Minimizar el tiempo que deben esperar los
usuarios por lotes (batch) para obtener sus
resultados
Rendimiento
Maximizar el nmero de tareas procesadas
por hora
Algunas de estas metas son contradictorias, por ejemplo, minimizar el tiempo de
respuesta para los usuarios interactivos significara no ejecutar las tareas batch.
Cada proceso es nico e impredecible, es decir que pueden requerir
intensivamente operaciones de Entrada / Salida o intensivamente cpu; el
MODULO DE SISTEMAS OPERATIVOS

22
Ing. Mg. Carmen E. Robayo V.
planificador del Sistema Operativo no tiene la certeza de cunto tiempo
transcurrir hasta que un proceso se bloquee, ya sea por una operacin de
Entrada / Salida o por otra razn.
Para evitar que un proceso se apropie de la cpu un tiempo excesivo, los equipos
poseen un dispositivo que provoca una interrupcin en forma peridica, por
ejemplo 60 hz, o sea sesenta veces por segundo.
En cada interrupcin del reloj el Sistema Operativo decide si el proceso que se
est ejecutando contina o si el proceso agot su tiempo de cpu y debe
suspenderse y ceder la cpu a otro proceso.
Los principales conceptos relacionados con Planificacin del Procesador son los
siguientes:
Planificacin apropiativa: es la estrategia de permitir que procesos
ejecutables (desde el punto de vista lgico) sean suspendidos
temporalmente.
Planificacin no apropiativa: es la estrategia de permitir la ejecucin de un
proceso hasta terminar.
Planificacin del procesador: determinar cundo deben asignarse los
procesadores y a qu procesos, lo cual es responsabilidad del Sistema
Operativo.
2.6. NIVELES DE PLANIFICACIN DEL PROCESADOR
Se consideran tres niveles importantes de planificacin, los que se detallan a
continuacin:
Planificacin de alto nivel:
o Tambin se denomina Planificacin de trabajos.
o Determina a qu trabajos se les va a permitir competir activamente
por los recursos del sistema, lo cual se denomina Planificacin de
admisin.
Planificacin de nivel intermedio:
o Determina a qu procesos se les puede permitir competir por la cpu.
o Responde a fluctuaciones a corto plazo en la carga del sistema y
efecta suspensiones y activaciones (reanudaciones) de
procesos.
o Debe ayudar a alcanzar ciertas metas en el rendimiento total del
sistema.
Planificacin de bajo nivel:
o Determina a qu proceso listo se le asigna la cpu cuando esta queda
disponible y asigna la cpu al mismo, es decir que despacha la cpu
al proceso.
MODULO DE SISTEMAS OPERATIVOS

23
Ing. Mg. Carmen E. Robayo V.
o La efecta el Despachador del Sistema Operativo, el que opera
muchas veces por segundo y reside siempre en el almacenamiento
primario.


Objetivos de la Planificacin
Los objetivos de la planificacin del procesador son los siguientes e involucran a
los conceptos detallados seguidamente:
Ser justa:
o Todos los procesos son tratados de igual manera.
o Ningn proceso es postergado indefinidamente.
Maximizar la capacidad de ejecucin:
o Maximizar el nmero de procesos servidos por unidad de tiempo.
Maximizar el nmero de usuarios interactivos que reciban unos
tiempos de respuesta aceptables:
o En un mximo de unos segundos.
Ser predecible:
o Un trabajo dado debe ejecutarse aproximadamente en la misma
cantidad de tiempo independientemente de la carga del sistema.
Minimizar la sobrecarga:
o No suele considerarse un objetivo muy importante.
Equilibrar el uso de recursos:
MODULO DE SISTEMAS OPERATIVOS

24
Ing. Mg. Carmen E. Robayo V.
o Favorecer a los procesos que utilizarn recursos infrautilizados.

Equilibrar respuesta y utilizacin:
o La mejor manera de garantizar buenos tiempos de respuesta es
disponer de los recursos suficientes cuando se necesitan, pero la
utilizacin total de recursos podr ser pobre.
Evitar la postergacin indefinida:
o Se utiliza la estrategia del envejecimiento.
o Mientras un proceso espera por un recurso su prioridad debe
aumentar, as la prioridad llegar a ser tan alta que el proceso
recibir el recurso esperado.
Asegurar la prioridad:
o Los mecanismos de planificacin deben favorecer a los procesos con
prioridades ms altas.
Dar preferencia a los procesos que mantienen recursos claves:
o Un proceso de baja prioridad podra mantener un recurso clave, que
puede ser requerido por un proceso de ms alta prioridad.
o Si el recurso es no apropiativo, el mecanismo de planificacin debe
otorgar al proceso un tratamiento mejor del que le correspondera
normalmente, puesto que es necesario liberar rpidamente el
recurso clave.
Dar mejor tratamiento a los procesos que muestren un
comportamiento deseable:
o Un ejemplo de comportamiento deseable es una tasa baja de
paginacin.
Degradarse suavemente con cargas pesadas:
o Un mecanismo de planificacin no debe colapsar con el peso de una
exigente carga del sistema.
o Se debe evitar una carga excesiva mediante las siguientes acciones:
No permitiendo que se creen nuevos procesos cuando la
carga ya es pesada.
Dando servicio a la carga ms pesada al proporcionar un nivel
moderadamente reducido de servicio a todos los procesos.
Muchas de estas metas se encuentran en conflicto entre s, por lo que la
planificacin se convierte en un problema complejo.
Temporizador de Intervalos o Reloj de Interrupcin
El proceso al cual est asignada la cpu se dice que est en ejecucin y puede ser
un proceso de Sistema Operativo o de usuario.
El Sistema Operativo dispone de mecanismos para quitarle la cpu a un proceso de
usuario para evitar que monopolice el sistema.
MODULO DE SISTEMAS OPERATIVOS

25
Ing. Mg. Carmen E. Robayo V.
El Sistema Operativo posee un reloj de interrupcin o temporizador de
intervalos para generar una interrupcin, en algn tiempo futuro especfico o
despus de un transcurso de tiempo en el futuro; la cpu es entonces despachada
hacia el siguiente proceso.
Un proceso retiene el control de la cpu hasta que ocurra alguna de las siguientes
situaciones:
La libera voluntariamente.
El reloj la interrumpe.
Alguna otra interrupcin atrae la atencin de la cpu.
Si el reloj interrumpe un proceso de usuario, la interrupcin causa la ejecucin del
Sistema Operativo, el que decide cul ser el proceso que obtendr la cpu.
El reloj de interrupcin ayuda a garantizar tiempos de respuesta razonables a
usuarios interactivos, ya que evita que el sistema se cuelgue a un solo usuario
en un ciclo infinito y permite que los procesos respondan a eventos dependientes
del tiempo.
Asimismo, los procesos que necesitan una ejecucin peridica dependen del reloj
de interrupcin
2.7. RENDIMIENTO DEL SISTEMA DE MULTIPROCESAMIENTO
An con multiprocesamiento completamente simtrico, la adicin de un nuevo
procesador no har que la capacidad de ejecucin del sistema aumente segn la
capacidad del nuevo procesador, siendo las causas las siguientes:
Hay sobrecarga adicional del Sistema Operativo.
Se incrementa la contencin por recursos del sistema.
Hay retrasos del hardware en el intercambio y en el encaminamiento de las
transmisiones entre un nmero mayor de componentes.
Al incrementar el nmero de procesadores n similares en un multiprocesador, el
incremento de la productividad no es lineal y tiende a disminuir cuando n crece.
Recuperacin de Errores
Una de las capacidades ms importantes de los Sistemas Operativos de
multiprocesadores es la de soportar fallas de hardware en procesadores
individuales y continuar su operacin.
Debe existir el soporte correspondiente en el Sistema Operativo.
Las tcnicas de recuperacin de errores incluyen los siguientes aspectos:
MODULO DE SISTEMAS OPERATIVOS

26
Ing. Mg. Carmen E. Robayo V.
Los datos crticos (del sistema y de usuario) deben mantenerse en copias
mltiples y en bancos de almacenamiento separados.
El Sistema Operativo debe ejecutar efectivamente con la configuracin
mxima y con subconjuntos ante fallas.
Debe haber capacidad de deteccin y correccin de errores de hardware
sin interferir con la eficiencia operacional del sistema.
Se debe utilizar la capacidad ociosa del procesador para tratar de detectar
posibles fallos antes de que se produzcan.
El Sistema Operativo debe dirigir un procesador operativo para que tome el
control de un proceso que se estaba ejecutando en un procesador que falla.
Multiprocesamiento Simtrico (MPS)
Cada procesador posee capacidades funcionales completas.
Los dispositivos de Entrada / Salida pueden ser conectados a cada uno de los
procesadores.

Todas las llamadas al supervisor pueden ser ejecutadas en todos los
procesadores, inclusive las de Entrada / Salida.
MODULO DE SISTEMAS OPERATIVOS

27
Ing. Mg. Carmen E. Robayo V.
Si un programa en ejecucin en un procesador pide una operacin de Entrada /
Salida en un dispositivo conectado a un procesador diferente, el procesador puede
continuar ejecutando el trabajo y la Entrada / Salida se coloca en una cola para su
iniciacin por el procesador apropiado.
Se considera procesador ejecutante al que est ejecutando un proceso
determinado.
Se considera procesador propietario al que est conectado a los diferentes
dispositivos utilizados por el proceso.
Es ms eficiente que la organizacin maestro / satlite, ya que los requerimientos
de Entrada / Salida se encolan y no sobrecargan con intercambio de contexto y a
que en la organizacin maestro / satlite las peticiones de Entrada / Salida en el
satlite provocan un intercambio de contexto en el maestro.
Cada procesador puede ejecutar el planificador para buscar el siguiente trabajo a
ejecutar, de forma que un proceso determinado se ejecuta en diferentes
procesadores en distintos momentos; adems, el MPS utiliza una sola cola de
trabajos y cada procesador puede seleccionar trabajos de ella, con lo cual se
equilibra la carga entre los procesadores.
Para minimizar la contencin en el despacho de procesos, los relojes de los
procesadores tienen oblicuidad, debido a ello las interrupciones de reloj ocurren en
diferentes momentos.
Tendencias de los Multiprocesadores
Todo indica que el uso de los multiprocesadores se incrementar
considerablemente en el futuro.
Las principales razones son las siguientes:
La confiabilidad requerida es cada vez mayor.
La reduccin de costos consecuencia de los avances en microelectrnica.
El previsible desarrollo de lenguajes que permitan a los usuarios expresar el
paralelismo explcitamente.
El progreso en la deteccin automtica del paralelismo .
El hecho de que se estara llegando a los lmites del uniprocesador debido
a la compactacin de componentes, es decir que se estara prximo a los
lmites de longitud y de proximidad de los caminos electromagnticos
(longitud del recorrido de la seal electromagntica); alcanzados los lmites
mencionados, la nica posibilidad de incrementar capacidad de cmputo es
mediante multiprocesamiento.
MODULO DE SISTEMAS OPERATIVOS

28
Ing. Mg. Carmen E. Robayo V.
Existen estudios de tendencias en arquitectura de computadoras que apuntan a
los poliprocesadores, es decir, sistemas que combinan el multiprocesamiento,
simtrico y asimtrico, para crear una jerarqua de procesadores dentro de un
sistema.

Verdadero/Falso

1. En sistemas de multiprogramacin el procesador
alterna de programa en programa, en un esquema de seudo
paralelismo, es decir que el procesador ejecuta en cierto
instante un solo programa, intercambiando muy rpidamente
entre uno y otro. ( )

2. Durante su existencia un proceso pasa por una serie de estados indiscretos,
siendo varias las circunstancias que pueden hacer que el mismo cambie de
estado. ( )
3. Una interrupcin es un evento que altera la secuencia en que el procesador
ejecuta las instrucciones; es un hecho generado por el hardware del computador.
( )
4. La PSW Actual almacena la direccin de la prxima instruccin que ser
ejecutada e indica los tipos de instrucciones actualmente habilitadas.
( )
5. El ncleo del Sistema Operativo controla todas las operaciones que
implican procesos y representa solo una pequea porcin del cdigo de
todo el Sistema Operativo pero es de amplio uso. ( )
6. El ncleo habilita las interrupciones mientras responde a una interrupcin.
Las interrupciones son habilitadas de nuevo despus de completar el
proceso de una interrupcin. ( )

COMPLETACIN:
7. Escriba 3 caractersticas del modelo de procesos:
a.
b.
c.

8. Escriba 3 objetivos de la planificacin:
a.
b.
c.
9. Escriba 3 tendencias de los multiprocesadores:
a.
MODULO DE SISTEMAS OPERATIVOS

29
Ing. Mg. Carmen E. Robayo V.
b.
c.


SELECCIN
10. Una con lneas:
Tipos de interrupciones
SVC Evento externo al sistema

Entrada/Salida Reinicio del procesamiento

Externa Llamada al Sistema Operativo

De reinicio Cambio de estado de un canal

11. Un buen algoritmo de planificacin:

Equidad Minimizar el tiempo que deben
esperar los usuarios por lotes
(batch) para obtener sus resultados

Eficiencia Maximizar el nmero de tareas
procesadas por hora

Tiempo de respuesta Mantener ocupada la cpu el ciento
por ciento del tiempo

Tiempo de regreso Garantizar que cada proceso
obtiene su proporcin justa de la
cpu

Rendimiento Minimizar el tiempo de respuesta
para los usuarios interactivos


MODULO DE SISTEMAS OPERATIVOS

30
Ing. Mg. Carmen E. Robayo V.
UNIDAD III
ADMINISTRACION DE LA MEMORIA

3.1. INTRODUCCION
Es bien sabido que tanto el Procesador como los dispositivos de E/S interactan
con la Memoria. As tambin un programa debe estar en Memoria para poder ser
ejecutado ya que el procesador levanta de all las instrucciones que debe ejecutar.

Ahora bien si se quiere compartir la memoria entre varios programas, por ejemplo
en un entorno de multiprogramacin, y permitir adems el correcto funcionamiento
de los canales de E/S, se hace necesario administrar la memoria entre tales
programas.

De esto ltimo se deduce que el Administrador de Memoria es activado toda vez
que se carga un trabajo. Luego veremos que no solo se activa al cargar un trabajo
sino que tambin tiene otras funciones.

Los mtodos de administracin de memoria han ido evolucionando, lgicamente
desde el ms sencillo creciendo en complejidad.

3.2. ADMINISTRACIN DE MEMORIA SIMPLE CONTIGUA

En este sistema de administracin la memoria aparece al programa como una
nica extensin contigua de direcciones, compartida solo por l y por el sistema
operativo.

Se hace necesario lograr en este tipo de administracin algn mecanismo de
proteccin para el sistema operativo que es residente.

Existen dos alternativas:
1) la utilizacin de un lmite dado por un registro fijo por hardware o registro de
proteccin cargado por el sistema operativo que sirve como punto de
comienzo de carga del programa. Su desventaja es que requiere la
recompilacin de los programas al modificarse el valor de tal registro.
2) otra opcin consiste en un registro Lmite o registro Base (o de
Reubicacin)

MODULO DE SISTEMAS OPERATIVOS

31
Ing. Mg. Carmen E. Robayo V.
Mediante alguno de estos dos sistemas el sistema operativo intercepta aquellas
direcciones invlidas generndose entonces una interrupcin por error de
direccionamiento.

Por tanto esta administracin requiere desde el punto de vista del hardware los
elementos para proteger al sistema operativo, y desde el punto de vista del
software las facilidades al programa (E/S) y la rutina de atencin de
interrupciones por invasin al sistema operativo.

Sus desventajas son:
- el desperdicio de recursos tanto de la memoria no utilizada, como tambin el
desperdicio respecto de los perifricos no usados durante la ejecucin del
programa.
- la imposibilidad de ejecutar programas que requieran el uso de ms memoria que
la disponible, por ms que el sistema posea una capacidad de direccionamiento
mayor.

3.3. CAPACIDAD DE DIRECCIONAMIENTO VS. CAPACIDAD DE MEMORIA

Por un lado se habla de memoria disponible y por otro de la capacidad de
direccionamiento del sistema. El punto es el siguiente: si el direccionamiento de un
sistema est dado por 24 bits esto implica que es posible direccionar hasta 16
Mbytes de memoria y no ms.

Pero si la memoria disponible en este sistema es de 3 Mbytes, el tamao mximo
de programa que pueda residir en este sistema ser de 3 Mbytes (descontando el
espacio correspondiente al Sistema Operativo) y no ms, aunque la capacidad de
direccionamiento sea de 16 Mbytes.

Este tipo de inconvenientes se encontrar en todo sistema de Administracin de
Memoria que requiera que la totalidad del programa resida en memoria para poder
ser ejecutado.

Soluciones a la monoprogramacin
Para resolver el problema de la residencia de un nico programa en memoria que
conlleva monoprogramacin, y la limitacin de memoria, tanto sea por su escasez
como por su limitacin de direccionamiento, se han utilizado algunos artilugios, de
los cuales veremos un par.

Simulacin de multiprogramacin Swapping
Esta tcnica consiste en aprovechar los tiempos en los cuales un programa
(proceso) se encuentra ocioso (debido a que un operador est pensando, como en
el caso de un editor, o est realizando una operacin de E/S sobre un perifrico
lento) para desalojarlo completamente de la memoria, sobre un perifrico rpido, y
MODULO DE SISTEMAS OPERATIVOS

32
Ing. Mg. Carmen E. Robayo V.
cargar desde un perifrico similar otro programa que estuviese pronto para su
ejecucin.
Obviamente esta tcnica implica la necesidad de preservar buffers de memoria
para recibir/emitir datos de entrada/salida para cada proceso que conviva en un
determinado momento dentro del sistema. Adems la mezcla de procesos debe
ser tal que ninguno sea de alto uso de procesador, pues, sino esta tcnica no
resultara til. Son necesarios adems, elementos que controlen las operaciones
de E/S, para permitir que el procesador pueda dedicarse a la ejecucin de
programas.

Esta tcnica fue utilizada por el Bull 61 con cierto xito, mientras el nmero de
procesos fuese pequeo (4) y ninguno de alto consumo de procesador.
Actualmente esta tcnica es utilizada tambin en sistemas operativos que
manejan multiprogramacin, inclusive en Arquitecturas de tipo MIMD cuando, por
algoritmo, se decide castigar a un proceso por haber excedido la utilizacin de
algn recurso (en particular el procesador, por ejemplo en la IBM OS/MVS).



Simulacin de mayor direccionamiento a memoria Tcnica de Overlay

Esta tcnica consiste en aprovechar la modularidad de los programas y en
particular en la capacidad de detectar conjuntos de mdulos o subrutinas que
sern ejecutados en forma disjunta.

Normalmente se confecciona y vincula un programa y sus subrutinas en forma
lineal, o sea dndole a cada uno de ellos su propia direccin, como por ejemplo
puede verse en la figura, programa que no podr ser ejecutado en una memoria
de capacidad 400.


MODULO DE SISTEMAS OPERATIVOS

33
Ing. Mg. Carmen E. Robayo V.




SubA y SubB (rama A), no se utilizan las SubC y SubD (rama B), es decir, que el
uso de la rama A es excluyente con la rama B, podra pensarse y vincularse a este
programa reutilizando direcciones, o sea que podra guardarse en una biblioteca
con el direccionamiento en la forma que se muestra en la Figura anterior lo que
permitira que en algn momento se estuviese ejecutando la rama A con un mapa
de memoria como se ve en la Figura siguiente a) y en otro la rama B con un mapa
de memoria como se ve en la Figura b), con lo cual ahora s es posible ejecutar
este programa en una memoria de capacidad 400.



Esta estructura de overlay se puede pensar en forma esttica, o sea previa a la
carga del programa se determinar qu rama se ejecutar, y durante toda esa
sesin se ejecutar esa sola; o en forma dinmica, en la cual la lgica del
programa ser quien determine qu rama se carga y si est cargada la rama A y
se necesita la rama B, esta "tapar" a la rama A y ser ejecutada, y as
sucesivamente.


MODULO DE SISTEMAS OPERATIVOS

34
Ing. Mg. Carmen E. Robayo V.
3.4. ADMINISTRACIN PARTICIONADA
Administracin de memoria PARTICIONADA FIJA

En este esquema se establecen particiones fijas de la memoria de una sola vez y
para siempre (por hardware o por sistema operativo), o en caso contrario esas
particiones son cambiables en tamao mientras no haya trabajos ejecutndose
(normalmente esta tarea la realizar el operador desde consola).

La proteccin aqu se logra mediante un registro Base (tambin de reubicacin) y
un registro Lmite o Longitud asociados a cada uno de los trabajos que se estn
ejecutando.


En este mtodo aparece una fragmentacin de la memoria debido a que parte de
la particin no es utilizada por el programa.

Los mecanismos de proteccin y reubicacin mediante los registros Base y
Longitud son mecanismos hardware que surgen en este mtodo de
administracin. Se agregan las interrupciones por direccionamiento (intento de
acceder fuera de la particin).

En cuanto a software tenemos las rutinas de atencin de interrupciones, las
rutinas que se encargan de manejar las tablas de dicha administracin, rutinas
para asignacin de archivos y dispositivos y los programas de canal.

Las tablas necesarias para manejar este tipo de administracin son las siguientes:

- Una tabla de tamaos (una sola en el sistema) que es de la siguiente forma:

MODULO DE SISTEMAS OPERATIVOS

35
Ing. Mg. Carmen E. Robayo V.


Un Bloque de Control de Proceso (BCP, uno para cada proceso que se encuentre
dentro del sistema) que debe contener:




Obviamente este sistema de Administracin de Memoria es el que comienza a
permitir la ejecucin en multiprogramacin. Uno de los primeros existentes fue el
IBM OS/360 MFT.

Administracin PARTICIONADA VARIABLE SIN COMPACTACION.

En este esquema las particiones se establecen segn la longitud de los programas
iniciales.

Al cabo de un tiempo se produce mucha fragmentacin, por tanto existen diversas
polticas para asignar una particin de memoria libre.

En principio sea cual fuere el mecanismo de asignacin de una particin libre se
hace necesario contar con la informacin de cules son esas particiones libres de
memoria lo cual nos lleva a la aparicin en este tipo de administracin de una lista
de zonas disponibles.

Existen tres grandes polticas de asignacin:
1) La primera zona libre: aqu se recorre la tabla de espacios libres y la primer
particin que se encuentre en donde quepa el programa es asignada.
2) La mejor zona: se recorre la tabla buscando aquella particin que mejor se
ajuste al programa que se desea ingresar.
3) La peor zona: se recorre la tabla buscando la mayor particin libre existente, la
que ser asignada al nuevo proceso.

El hardware necesitado en esta administracin coincide con el de particionada
fija, en tanto que desde el punto de vista del software nuevo se agregan aqu las
MODULO DE SISTEMAS OPERATIVOS

36
Ing. Mg. Carmen E. Robayo V.
nuevas rutinas de manejo de las tablas de zonas libres para el mecanismo de
asignacin.

Uno de los primeros sistemas operativos que utiliz este esquema fue el IBM
OS/360 MVT.

Administracin PARTICIONADA VARIABLE CON COMPACTACION.

Cuando la cantidad de memoria fragmentada es tal que su suma permite el
ingreso de un trabajo nuevo (el cual de otra forma no podra ingresar al sistema)
se "compactan" los trabajos que se encuentran en memoria.
Para realizar esta compactacin es necesario contar con el registro de reubicacin
ya que de otra forma al mover un programa de su posicin original en memoria
deberan alterarse las instrucciones de tal programa.

Se puede realizar una compactacin directamente sobre memoria (Memoria-a-
Memoria) o utilizando dispositivos perifricos (Memoria-a-Disco-a-Memoria), en
este ltimo caso se descarga bastante trabajo de la CPU, ya que la misma puede
quedar eventualmente libre para continuar la ejecucin de alguno de los procesos
que no se encuentran involucrados en la compactacin. En el caso de la
compactacin Memoria- Memoria la CPU se encuentra dedicada a full a la tarea
de compactacin, por lo tanto se detienen las ejecuciones de todos los procesos.

Existen diversas tcnicas de compactacin pero ya que el mecanismo de
compactacin es sumamente costoso se trata de disminuir lo ms posible la
cantidad de veces que se compacta como as tambin se intenta compactar en
aquellos casos en que la cantidad de bytes involucrados sea mnima.

Nuevamente aparecen aqu los mecanismos hardware de proteccin y
reubicacin, y se agregan como mecanismos de software las rutinas de
compactacin y reubicacin y desde ya tenemos las mismas tablas que indican la
ubicacin de los trabajos y las zonas libres.

Administracin de memoria PAGINADA

En este esquema la memoria fsica se divide en Bloques de igual tamao, cada
uno de los cuales contendr una Pgina de programa. Las pginas de los
programas estarn ubicadas en los bloques de memoria los cuales no tienen por
qu ser contiguos. (Ntese esta fundamental diferencia frente a las otras
Administraciones de Memoria).

Al ser cargado en proceso a memoria se crea una Tabla de Distribucin de
Pginas (TDP) que est apuntada desde el Bloque de Control de Proceso (BCP) y
cada una de sus entradas indican en qu bloque de memoria real se encuentra
cargada cada una de las pginas del programa.
MODULO DE SISTEMAS OPERATIVOS

37
Ing. Mg. Carmen E. Robayo V.

Clculo de la direccin
Las direcciones lgicas estn compuestas de dos partes:


El nmero de pgina es tomado por el DAT (Direct Address Translator) el cual
accede a la TDP y obtiene el nmero de bloque que corresponde a esa pgina
para ese proceso y obtiene:





Las tablas estn en memoria, luego para obtener una direccin efectiva a
cualquier posicin de un programa se torna necesario acceder dos veces a
memoria: la primera para llegar a la TDP y obtener la direccin del bloque
correspondiente y la segunda para llegar efectivamente a la direccin deseada.

Una de las soluciones posibles a este doble acceso es cargar la TDP en el
procesador en registros (se cargaran juntamente con la PC y los registros en el
momento de cambio de contexto), pero esto limita mucho la cantidad de pginas
que puede tener un programa y es adems muy costoso.

Una solucin ms econmica es el uso en memoria CACHE que contiene todas o
una porcin de las entradas de la tabla. Por el mismo algoritmo de actualizacin
MODULO DE SISTEMAS OPERATIVOS

38
Ing. Mg. Carmen E. Robayo V.
de la cache nos aseguraramos que con el transcurrir del tiempo las entradas que
permanecern en cache sern las ms usadas.

Como mecanismos hardware nuevos se agregan el Traductor de Direcciones
(DAT), los registros de pginas o la memoria Cache y como mecanismo de
proteccin se suele utilizar un bit (o clave) de proteccin asociado a cada bloque.

La clave de proteccin ser usado para todos los accesos a memoria que no se
realicen por medio del DAT.

Como rutinas de software se agregan en esta administracin las tablas de
pginas por programas y las rutinas de manejo de dichas tablas.

3.5. MEMORIA VIRTUAL

Definimos como Espacio de Direccionamiento de un Sistema (computadora) a
la capacidad de direccionamiento de la misma, o sea la direccin a la que puede
llegar con todos los bits de direccionamiento en ON, por ejemplo de 0 a mm.

Definimos como Espacio de Direccionamiento de un Proceso a la capacidad de
direccionamiento del mismo, o sea que pueda generar o pedir direcciones de 0 a
nn.

Obviamente para que este proceso ejecute en este sistema debe ser nn mm.
Por otra parte ya sabemos que no necesariamente la memoria disponible en una
computadora es igual a su espacio de direcciones, sino que generalmente es ms
chica, e inclusive puede ser menor que el espacio de direccionamiento requerido
por un proceso.

Muchas veces es necesario escribir programas cuyo tamao supere el tamao de
la memoria real existente en la instalacin.

A raz de esta necesidad surge lo que denominaremos MEMORIA VIRTUAL que
simula poseer una cantidad de memoria mayor que la existente, y a continuacin
se tratan los mtodos de administracin para este tipo de memorias.

Usualmente en Memoria Virtual la memoria aparece al programador tan grande
como l la necesite, existiendo en este caso un mecanismo provisto por el mtodo
de administracin que se encarga de poner a disposicin del procesador los
fragmentos (tanto pginas como segmentos) que sean requeridos en el momento
de que sucede tal requerimiento.

Se debe tener en cuenta que si un proceso utiliza para si todo el espacio de
direcciones de un sistema, mientras l est ejecutando ser el nico proceso en
ejecucin (lo que comunmente se llama Espacio nico de direcciones).

MODULO DE SISTEMAS OPERATIVOS

39
Ing. Mg. Carmen E. Robayo V.
Ahora bien, si se puede simular, en las tcnicas que se vern ms adelante, la
posibilidad de poseer mayor memoria real que la que existe, por qu no es posible
simular tambin que existen ms espacios de direcciones ? (lo que comunmente
se llama Espacio mltiple de direcciones).

Esto se puede lograr independizando completamente las direcciones de los
procesos de las direcciones de memoria real, permitiendo que cada proceso
posea su propio juego de direcciones, o sea permitiendo que existan tantas
direcciones 00 100 como procesos existan. Esta es una conclusin casi trivial
cuando se observa la construccin de las Tablas de Distribucin de Pginas.

3.6. ADMINISTRACIN PAGINADA

Administracin PAGINADA POR DEMANDA

Para ver el funcionamiento de este tipo de administracin debemos contar primero
como llega un programa al sistema.

Originalmente el programa se encuentra en una biblioteca (usualmente en algn
perifrico tipo disco magntico) desde la cual es invocado para su ejecucin.

El programa se carga entonces en otro perifrico (aqu tambin usualmente discos
magnticos) en donde es preparado para la ejecucin (se arma su BCP, se
completa su TDP, se le agrega informacin respecto a buffers de archivos, etc).

Una vez que el programa est listo se carga su TDP en memoria real y se pasa al
proceso a estado de Listo en espera del control de la CPU.

Una peculiaridad que existe en esta administracin es que en la TDP se agrega un
bit que indica si la pgina que se est referenciando existe en memoria real o no y
adems se agrega un campo que indica la direccin de tal pgina en el dispositivo
de memoria virtual.

Los programas con el transcurrir del tiempo no se cargan en su totalidad en
memoria real, sino que se cargan aquellas pginas que van siendo solicitadas
para su ejecucin.

Para su administracin se necesitan un par de tablas cuyos contenidos iremos
analizando.

Tabla de Distribucin de Pginas (una para cada proceso)

MODULO DE SISTEMAS OPERATIVOS

40
Ing. Mg. Carmen E. Robayo V.


Tabla de Distribucin de Bloques (una en todo el sistema)


Cuando se encuentra encendido el bit que indica que la pgina no se encuentra en
memoria real se produce una interrupcin por falta de pgina. La rutina que
atiende esa interrupcin necesita la direccin de memoria virtual en donde se
encuentra almacenada dicha pgina para poder traerla a memoria real.

Supongamos que la direccin del lugar en donde se encuentra la pgina en
memoria virtual se encuentra a nivel del BCP en lugar de figurar en la TDP para
cada una de las pginas que componen ese programa, es decir que existe una
nica direccin que apunta a donde se encuentran almacenadas en memoria
virtual las pginas de este programa.

La conclusin inmediata es que esta forma nos acarrear un problema de
administracin respecto de la contigidad del programa en memoria virtual y
adems har sumamente engorroso el ubicar una pgina determinada ya que
llevara a la lectura secuencial de todas sus pginas (comenzando desde la
direccin apuntada desde el BCP).

La otra manera, o sea, cada entrada en la TDP tiene su propio apuntador a
memoria virtual, permite mantener en forma discontigua a los programas en disco
y acceder en forma directa a la pgina buscada.

El bit de cambio que se encuentra en la TDB es necesario para toda vez que sea
imprescindible remover una pgina de memoria real con el objeto de traer otra, ya
que si la pgina que se va a remover sufri modificaciones debe ser regrabada en
memoria virtual para preservar la integridad de la aplicacin.

MODULO DE SISTEMAS OPERATIVOS

41
Ing. Mg. Carmen E. Robayo V.
El bit de Fijo por canal se utiliza para fijar pginas en memoria real; esto es,
cuando una pgina contiene informacin que est siendo dirigida o est recibiendo
informacin de un canal de E/S, debido a que los canales deben utilizar
direcciones absolutas se torna imprescindible fijar tales pginas en memoria real.

Es decir no pueden ser removidas. Ntese que tambin se encuentran en esta
situacin aquellos bloques de memoria real sobre los cuales se est cargando una
pgina o de los cuales se est descargando una pgina en memoria virtual.

Normalmente a stas ltimos bloques suele denominarselos "en trnsito".

Interrupcin por PAGE FAULT

El mecanismo de direccionamiento opera igual que en el mtodo de
administracin de memoria paginada simple.

Si el procesador intenta direccionar a una pgina que no se encuentra cargada en
memoria real se produce lo que se denomina una Interrupcin por falla de
pgina (Page-Fault).

Podemos graficar el mecanismo completo de direccionamiento incluyendo el
procesamiento de la interrupcin de la falla de pgina como se puede visualizar en
la figura siguiente.

Desde la generacin de la direccin hasta la interrupcin inclusive, todos los pasos
se realizan por hardware. En cambio desde el momento en que se comienza a
ejecutar la rutina que atiende esa interrupcin hasta la restauracin final del
estado del estado previo antes de la interrupcin se realiza por software.

Si la interrupcin se produce a causa de una direccin generada por el RPI no hay
mayor problema, pues no se haba comenzado la ejecucin de la instruccin.

En cambio, si la interrupcin se produce como consecuencia de una direccin
generada por los operandos de una instruccin que est ejecutndose se nos
plantea un problema ya que nos encontramos en medio de la ejecucin.

Existen dos caminos posibles:

- Recomenzar (restart): Al producirse la interrupcin se restaura la instruccin al
estado inicial (previo a su ejecucin). Hay que volver tambin los registros y
posiciones de memoria cambiados a su estado anterior, por lo tanto esto nos
obliga a llevar una historia de la instruccin. Una implementacin sencilla que nos
ahorrara el mantener esta historia sera hacer antes que nada la verificacin de
las direcciones de los operandos (o sea antes de modificar nada) (Esta tcnica
acompaa muy frecuentemente a un Pipeline).

MODULO DE SISTEMAS OPERATIVOS

42
Ing. Mg. Carmen E. Robayo V.
- Continuacin: Se salva el estado de la instruccin y luego de satisfecha la
interrupcin se contina la instruccin en el punto en donde se haba abandonado.
Esto implica salvar la informacin a nivel de micro-instruccin (salvar registros
temporarios, estado de la instruccin, etc). No todo tipo de instruccin puede
soportar esto (pensemos por ejemplo en la instruccin Test & Set), ya que se ven
obligadas a que en caso de ser interrumpidas a Recomenzar, por lo tanto se hace
necesario el aplicar distintos mecanismos segn el tipo de instruccin.



Traza
Definiremos como traza de un programa a la enumeracin de las pginas que ese
programa referencia a medida que se ejecuta.

Definiremos tambin la siguiente relacin:

f = nmero de pginas tradas / nmero de referencias de la traza siendo f el
Indice de Fracasos y si calculamos

s = 1 - f

MODULO DE SISTEMAS OPERATIVOS

43
Ing. Mg. Carmen E. Robayo V.
llamamos a s el Indice de Hallazgos.

Lgicamente estos valores sufren una sustancial modificacin dependiendo de los
bloques libres que existen en memoria real sobre los cuales se pueden cargar
pginas desde memoria virtual.

Es por tanto necesario antes de calcular "s" o "f" conocer la cantidad de bloques
libres en memoria real.
La carga de la primer pgina de la traza implica tambin un fracaso ya que tanto si
es invocada por el programa al ejecutar su primera instruccin o por que el
Planificador de Trabajos le carga la primera pgina al proceso a ejecutar ambas
situaciones implican una falla de pgina.


Algoritmos de Remocin.

Llegado el momento que la tabla de distribucin de bloques indica que no existe
ningn bloque libre para asignar a una pgina que se est solicitando se hace
necesario por tanto eliminar una pgina de memoria real. Denominamos a esto
Remocin, y existen diversas polticas de seleccin de la vctima.

El mecanismo ptimo sera seleccionar aquella pgina que se tardar ms en
volver a usar, pero lamentablemente esto es sumamente dificil de predecir.

Es entonces a partir de aqu que se comenzar a utilizar el campo Contador de la
TDB.

Otro mecanismo es el FIFO (first-in first-out), en donde la pgina que se
selecciona para remocin es aquella ms antigua en el sistema.

El mtodo FIFO produce en determinados casos lo que se denomina "Anomala de
Belady". Supongamos un trazado del siguiente tipo:

1 2 3 4 1 2 5 1 2 3 4 5

si se realiza el clculo de los ndices de hallazgos y de fracasos para un tamao
de memoria de

M = 3 bloques y
M = 4 bloques

se obtiene que en el caso en que se tienen 4 bloques libres (es decir que se ha
incrementado la cantidad de memoria libre que se puede asignar) se obtiene un
ndice de fracasos mayor que en el caso de M = 3.

MODULO DE SISTEMAS OPERATIVOS

44
Ing. Mg. Carmen E. Robayo V.
Como conclusin se puede decir que a partir de un determinado punto el
incrementar la memoria disponible no mejora el ndice de fracasos e inclusive en
determinados casos hasta lo empeora.

Una mejora que se puede introducir al algoritmo FIFO es el de otorgar una
segunda chance, mecanismo mediante el cual si la pgina es referenciada una
segunda vez se pone a cero un bit que la acompaa. Por tanto esa pgina tiene
otra oportunidad para permanecer en memoria y no ser seleccionada para
remocin.

Otro mtodo de remocin es el LRU (Least Recently Used). En este mtodo
aquella pgina que ha sido menos recientemente utilizada es la que se selecciona
para remocin.

Lgicamente para lograr este fin el sistema debe llevar la informacin necesaria
para poder determinar quin es la vctima. Esto se logra mediante bits que se
colocan a cero o a uno dependiendo de cuanto tiempo hace que la pgina fue
referenciada.

Otro algoritmo es el LFU (Least Frequently Used), en este caso la pgina menos
usada es la elegida para remocin. Para poder lograr esto el sistema lleva una
cuenta sobre cuantas veces la pgina fue referenciada.

Otro mtodo consiste en no solo llevar informacin respecto a las referencias
realizadas a la pgina, sino tambin utilizar la informacin del bit de cambio, ya
que en aquellos casos en que la pgina que se selecciona para remocin ha sido
alterada es absolutamente imprescindible su regrabacin en memoria virtual.



Verdadero/Falso

1. Administracin de Memoria simple contigua aparece al
programa como una nica extensin contigua de direcciones,
compartida solo por l y por el sistema operativo. ( v)
2. La tcnica Overlay en aprovechar la modularidad de los
programas y en particular en la capacidad de detectar
conjuntos de mdulos o subrutinas que sern ejecutados en
forma conjunta. ( f)
3. La administracin de memoria Particionada fija establecen particiones fijas
de la memoria de una sola vez y para siempre, o en caso contrario esas
particiones son cambiables en tamao. ( v)
4. La administracin de memoria Particionada variable sin comparticin donde
las particiones se establecen segn la longitud de los programas iniciales.
( v)
MODULO DE SISTEMAS OPERATIVOS

45
Ing. Mg. Carmen E. Robayo V.
5. La administracin particionada variable con compactacin la cantidad de
memoria fragmentada es tal que su resta permite el ingreso de un trabajo
nuevo se "compactan" los trabajos que se encuentran en memoria. ( f)
6. La administracin de memoria paginada donde la memoria fsica se divide en
Bloques de igual tamao, cada uno de los cuales contendr una Pgina de
programa. ( v)
7. Espacio de Direccionamiento de un Sistema (computadora) a la capacidad de
direccionamiento de la misma, o sea la direccin a la que puede llegar con
todos los bits de direccionamiento en OFF ( f)
8. Administracin paginada por demanda donde el programa se carga entonces
en otro perifrico en donde es preparado para la ejecucin (v )
Completacin
9. Escriba dos ventajas de la administracin de memoria simple contigua.
a.
b.

10. Escriba el significado de BCP
..

11. Escriba el significado de TDP
..


12. Una con Lneas

La primera zona libre Se recorre la tabla buscando la mayor
particin libre existente, la que ser
asignada al nuevo proceso

La peor zona Se recorre la tabla buscando aquella
particin que mejor se ajuste al
programa que se desea ingresar

La mejor zona Recorre la tabla de espacios libres y la
primer particin que se encuentre en
donde quepa el programa es asignada




MODULO DE SISTEMAS OPERATIVOS

46
Ing. Mg. Carmen E. Robayo V.
UNIDAD IV
SISTEMAS DISTRIBUIDOS
4.1. INTRODUCCIN
Un sistema distribuido es aquel en el que los componentes localizados en
computadores, conectados en red, comunican y coordinan sus acciones
nicamente mediante el paso de mensajes.

Motivaciones:

Disponibilidad de microprocesadores potentes a bajo coste.
Avances en la tecnologa de comunicaciones.
Ventaja de la comparticin de recursos
Ventajas de S.D.

Comparticin de recursos y equilibrado de cargas: mejora la relacin
coste/rendimiento
Comunicacin y comparticin de informacin entre usuarios/procesos
Crecimiento incremental
Fcil la ampliacin modular de nuevos recursos
Modificaciones software sin afectar a aplicaciones existentes
- Rendimiento
- Fiabilidad, disponibilidad y tolerancia a fallos
Duplicacin de equipos y replicacin de datos: aumenta la fiabilidad
Mltiples copias de recursos: aumenta la disponibilidad y es un soporte para
la tolerancia a fallos

Heterogeneidad
Hardware, Sistema Operativo, lenguajes, Redes.

Razones:
Ingeniera Diferentes personas eligen diferentes soluciones
Coste Se compran recursos que se adapten a las necesidades
Aplicaciones antiguas Imaginemos una aplicacin de reserva de billetes
en COBOL. Se tienen que amortizar las inversiones
Hardware antiguo El hardware nuevo que se compra es necesariamente
diferente.
MODULO DE SISTEMAS OPERATIVOS

47
Ing. Mg. Carmen E. Robayo V.
Herramientas:
- Protocolos de comunicacin
- APIs estndar
- Sistemas Abiertos (Internet, etc.)
- Especificaciones pblicas
- Mecanismos de comunicacin estandarizados
- Utilizando hardware y software

Extensibilidad

Caracterstica de un sistema que permite aadirle nuevas caractersticas y
servicios de forma dinmica

Herramientas:
- Sistemas Abiertos
- Loose Coupling

Seguridad

Elemento ms importante y ms complejo (conexiones y equipos fsicamente
distribuidos)
Necesidad de:
Autenticar a usuarios y recursos
Definir roles y patrones de acceso
Encriptar las comunicaciones
Seguridad fsica

Escalabilidad

Un sistema es escalable si el aumento de demanda de servicios se puede suplir
con una aportacin de recursos

Tambin: Un sistema puede ofrecer servicio a un nmero potencialmente muy
grande de demandas: degrada el tiempo medio de respuesta, pero no se colapsa

- Prever el desbordamiento de recursos tanto software como hardware
- Evitar cuellos de botella de prestaciones


MODULO DE SISTEMAS OPERATIVOS

48
Ing. Mg. Carmen E. Robayo V.
Soluciones:

Uso de software eficiente en tiempo y espacio
Patrones de diseo y de cdigo (idiomas) para manejar eficientemente
conexiones, etc.
Uso de cachs, consistencia eventual, etc.
Uso de algoritmos altamente paralelizables (programacin funcional, lgica,
algoritmos Map/Reduce), etc.

Fallos

El rango de fallos en sistemas distribuidos es mayor que en cualquier otro sistema
Adems, es interesante que los sistemas distribuidos toleren fallos. Por qu?

Cuestiones:
- Deteccin de fallos (unos detectables, otros no)
- Enmascaramiento de fallos (p. ej. patrn Proxy)
- Redundancia y votado
- Disponibilidad
Concurrencia

- Normalmente los datos se comparten
- Hay que establecer rdenes de acceso y procesos atmicos:

Transacciones

Cuello de botella si los datos estn almacenados en un solo ordenador
Necesidad de transacciones distribuidas
Problemas de consistencia
A veces se necesitan coordinar varios procesos de varios ordenadores (barreras).
La mala programacin de estos procesos puede hacer el sistema muy ineficiente

Transparencia

El tpico ms importante y el ms difcil de conseguir
Con transparencia, el desarrollo de aplicaciones distribuidas es similar al de
aplicaciones convencionales
Delega en los niveles inferiores la complejidad y ofrece servicios fiables:

- Transparencia de localizacin
- Transparencia de concurrencia
MODULO DE SISTEMAS OPERATIVOS

49
Ing. Mg. Carmen E. Robayo V.
- Transparencia de replicacin
- Transparencia ante fallos

4.2. SISTEMAS CENTRALIZADOS

Concentran en un departamento especializado el equipamiento, el personal y las
informaciones (organizadas con un criterio departamental y no sistmico, implicando
duplicidades e incoherencia).




No escalables
Cmo aadir ms recursos?


Primeros sistemas distribuidos

MODULO DE SISTEMAS OPERATIVOS

50
Ing. Mg. Carmen E. Robayo V.

Primeros programas distribuidos
Conexiones explcitas, protocolos explcitos, herramientas bsicas
P. ej. Demonios remotos UNIX

Servicios bsicos por parte del Sistema Operativo
Direccionamiento
Sockets
Normalmente slo implicaban a dos programas (Cliente/Servidor)

Internet/World Wide Web/CGI (Common Gateway Interface)



Sockets
API (Application Programming Interface) de bajo nivel
Gestin de errores?
No hay tipos de datos... comprobacin?
Protocolo CGI
Stateless (salvo con otros hacks como los cookies)

El servidor no da soporte para persistencia (bases de datos), transacciones,
seguridad, gestin de usuarios, etc.
Las aplicaciones tienen que implementar TODO, o usar frameworks etc.


MODULO DE SISTEMAS OPERATIVOS

51
Ing. Mg. Carmen E. Robayo V.
4.3. ARQUITECTURA



TPMs, Clusters, etc.



En la prctica, se utilizan sistemas de n capas

La distribucin: mltiples clientes por Web (thin clients) y un sistema de BBDD que
est basado en clster

MODULO DE SISTEMAS OPERATIVOS

52
Ing. Mg. Carmen E. Robayo V.
Clsters de bases de datos/procedimientos proporcionados por paquetes
comerciales (Oracle, DB/2, etc.)

Gestin de MUCHOS clientes: Transaction-Processing Monitors

Sistemas de ms alto nivel: RPC (Remote Procedure Call)

Primer sistema en diferenciar interfaz/implementacin
Ms alto nivel (comprobacin de tipos)
Interfaz (lista de operaciones)
El interfaz se describe en C
El compilador de RPC genera los stubs y los skeletons (testeo de software)
El programador realiza llamadas locales
Los stubs y skeletons realizan el trabajo remoto
TRANSPARENCIA LOCAL/REMOTA
Software intermedio: MIDDLEWARE

Objetos Distribuidos: CORBA/RMI

Muy parecido a RPC, pero basado en objetos
El middleware ahora toma ms importancia



MODULO DE SISTEMAS OPERATIVOS

53
Ing. Mg. Carmen E. Robayo V.
Message-Oriented Middleware



Sncrono/asncrono
Normalmente Suscripcin/Respuesta
Documentos XML ) Mensajes
Loose Coupling
JMS, AMQP, ActiveMQ, MQ, MSMQ, D-Bus, etc.
ESBs: Mensajera + Servicios de dominio

Peer to Peer


MODULO DE SISTEMAS OPERATIVOS

54
Ing. Mg. Carmen E. Robayo V.


Modelo ms descentralizado: todos aportan por igual o en la medida de sus
posibilidades

4. 4.4. SERVIDORES WEB/SOA Diego Sevilla Ruiz (DITEC Facultad de
Informtica

Todo se hace accesible a travs de servicios (web)
Protocolos estndar: HTTP, XML, SOAP, WSDL
Qu pasa con los callbacks?
MODULO DE SISTEMAS OPERATIVOS

55
Ing. Mg. Carmen E. Robayo V.
Manejo del estado?

Modelos de Componentes Distribuidos 31

Los componentes se encuentran distribuidos
Diferentes organizaciones ofrecen componentes
- Bien para descargar
- Bien para utilizarlos remotamente bajo pago
Necesidad de un entorno seguro, autenticado
Transparencia local/remota
Paletas de componentes similares a Delphi o VB, pero distribuidas

Introduccin a los Patrones y Herramientas

Patrones
Solucin dada reiteradamente a un problema comn
Best practices
Suben el nivel de abstraccin, tratan problemas en abstracto
En programacin distribuida (poca experiencia)
Los utilizaremos para aprender sobre cmo construir mejores aplicaciones
distribuidas

Elementos:
Nombre, Contexto, Problema, Cuestiones relevantes, Solucin
Lenguaje de Patrones: Conjunto de patrones relacionados que sirven para un fin
comn


MODULO DE SISTEMAS OPERATIVOS

56
Ing. Mg. Carmen E. Robayo V.

Verdadero/Falso

1. Un sistema distribuido es aquel en el que los
componentes localizados en computadores, conectados en
red, comunican y coordinan sus acciones nicamente
mediante el paso de mensajes (v )
2. Un sistema centralizado concentran en un departamento
especializado el personal y las informaciones. (f )

Completacin

3. Escriba dos ventajas de los Sistemas Distribuidos
a. .
b.

Una con lneas
4. Los Sistemas Distribuidos tienen:

Heterogeneidad Elemento ms importante y ms
complejo (conexiones y equipos
fsicamente distribuidos)
Seguridad Permite aadirle nuevas caractersticas
y servicios de forma dinmica
Extensibilidad Hardware, Sistema Operativo,
lenguajes, Redes
Fallos Si el aumento de demanda de servicios
se puede suplir con una aportacin de
recursos
Escalabilidad Cuello de botella si los datos estn
almacenados en un solo ordenador

Transacciones Los sistemas distribuidos toleren
fallos


SUBRAYE LA RESPUESTA CORRECTA
5. Los protocolos de la Web.

Docs Xls Http Soap

MODULO DE SISTEMAS OPERATIVOS

57
Ing. Mg. Carmen E. Robayo V.
UNIDAD V

SISTEMAS OPERATIVOS

5.1. MS-DOS

Todo empez con una idea original de DIGITAL, que desarroll un sistema operativo, DOS, y pensando que
no sera una aplicacin de gran xito comercial, vendi la idea a Bill Gates (propietario actual de Microsoft).
Ms tarde IBM compr los derechos de DOS.

Bill Gates y Paul Allen, Microsoft, desarrollaron una versin de Basic para Altair (el primer ordenador
de verdad). Gates desarroll una versin que trabajaba con discos flexibles. Esta tarea obligaba a la
creacin de un sistema de administracin de archivos basado en el empleo de tablas de asignacin de archivos
(FAT, File Allocation Table), residente en memoria y que se convertira en la base de MS-DOS.

Esta poca era dominada por los sistemas operativos de 8 bits. En 1979, Tim Paterson, Seattle Computer
Products (productora de tarjetas de memoria), necesitaba un sistema operativo para probar un producto basado
en el Intel 8086. Microsoft contaba con Basic para el Intel 8086 y Paterson desarroll un sistema operativo
86-DAS.

Utiliz la idea de la FAT y la primera versin slo requera 6 Kbs. de memoria. IBM pidi a Microsoft que
desarrollar un Basic en ROM para un diseo de microordenadores de 8 bits, Microsoft sugiri utilizar una
mquina de 16 bits, y entonces IBM estudio los microprocesadores 8086 y 8088, ofrecidos por Intel. IBM
eligi el microprocesador Intel 8088, en vez del ms potente 8086 porque su precio era ms bajo y la mayor
parte de los perifricos disponibles en ese entonces se comunicaban de 8 en 8 bits, todo lo contrario que el
8086 (de 16 en 16 bits).

Se pensaba que MS-DOS llevaba todas las de perder contra CP/M-86 pero se entreg con 6 meses de atraso,
concediendo a MS-DOS una considerable ventaja. Hubo confusiones en cuanto a los nombres, entre 86- DOS,
MS-DOS, PC-Dos y otros. Microsoft insisti en que utilizara MS-DOS para ayudar a promover la norma,
pero IBM opt por llamar al sistema operativo, DOS, y la industria pronto lo bautiz PC-DOS.

Las versiones ms recientes tienen mucha ms potencia que las anteriores y todas son compatibles. Los
principales cambios entre las diferentes versiones son los siguientes:

- versin 1.1 (1982), tena como principal ventaja sobre su predecesor, el MS-DOS 1.0, que soportaba
disquetes de dos caras
- versin 2.0 (1983), soportaba la estructura de directorios y subdirectorios
- versin 2.1 (1983), inclua nuevas caractersticas para mejorar el rendimiento en un IBM PC
- versin 3.0, soportaba ya diskettes de alta densidad de 1.2 Mb
- versin 3.1, aadi un soporte para redes locales
- versin 3.2, admita unidades de 3 pulgadas
- versin 3.3, soportaba caracteres internacionales y nos permita crear particiones mltiples
- versin 4.0 (nov. 1988), soportaba particiones de ms de 32 Mb, tena un nuevo interfaz grfico y aada un
soporte de memoria expandida
- versin 5.0, nos ofreca ayuda en pantalla, incluy un nuevo editor de textos y nos permita gestionar de
forma avanzada la memoria
- versin 6.0, inclua ya nuevas utilidades prcticas, como un compresor de disco (Doublespace), un antivirus,
un defragmentador de disco para acelerar los accesos, y diferentes utilidades para porttiles
- versin 6.2 (nov. 1993), incorporaba ligeras mejoras como una mayor seguridad en la compresin de discos
y algunos comandos que fueron mejorados.
- ltima versin que apareci en el mercado fue la 6.22, que sustitua DoubleSpace por DriveSpace y algunas
pequeas mejoras.
MODULO DE SISTEMAS OPERATIVOS

58
Ing. Mg. Carmen E. Robayo V.

Al margen de este desarrollo tecnolgico de Microsoft, empresas como IBM y DIGITAL desarrollaron un
sistema operativo compatible en mayor o menor grado con el originario de Microsoft, pero contando con la
ventaja de incluir una serie de propiedades que posteriormente fue incluyendo la propia Microsoft.


INSTALACIN




5.2. WINDOWS XP

Windows XP, lanzado en 2001, supuso un salto hacia los sistemas operativos para
ordenadores de sobremesa. Con el lanzamiento del Windows XP Home Edition y
Windows XP Professional en octubre de 2001, Microsoft fusion sus dos lneas de
sistemas operativos para consumidores y de negocio, unindolos en torno al
cdigo base de Windows NT y Windows 2000.

Con Windows XP, los consumidores y usuarios del hogar tenan ahora el
rendimiento, estabilidad y seguridad de las que los usuarios de negocio se haban
beneficiado en Windows 2000.

Windows XP est disponible en dos versiones, Windows XP Professional y
MODULO DE SISTEMAS OPERATIVOS

59
Ing. Mg. Carmen E. Robayo V.
Windows XP Home Edition, as como una edicin de 64-bits, XP 64-Bit Edition para
los usuarios que utilizan el procesador Intel Itanium de 64-bit.

INSTALACIN




MODULO DE SISTEMAS OPERATIVOS

60
Ing. Mg. Carmen E. Robayo V.





MODULO DE SISTEMAS OPERATIVOS

61
Ing. Mg. Carmen E. Robayo V.




MODULO DE SISTEMAS OPERATIVOS

62
Ing. Mg. Carmen E. Robayo V.




MODULO DE SISTEMAS OPERATIVOS

63
Ing. Mg. Carmen E. Robayo V.
5.3. WINDOWS 7

Historia de Windows 7

El desarrollo de Windows 7 comenz inmediatamente despus del lanzamiento de Windows Vista. Su nombre fue
anunciado el 13 de octubre de 2008.

El 7 de enero de 2009 fue publicada la versin beta para suscriptores de Technet y MSDN, y el 9 de enero se
habilit una descarga para el pblico general por un tiempo con un lmite de 2,5 millones de descargas.


El 5 de mayo de ese ao se liber la versin Release Candidate en 5 idiomas.

El 2 de junio la empresa anunci que el lanzamiento mundial de Windows 7 sera el 22 de octubre de 2009.

El 24 de julio, los directivos de Microsoft, Steve Ballmer y Steven Sinofsky, anunciaron la finalizacin del proceso de
desarrollo de Windows 7.


Caractersticas de Windows 7


* Se elimin uno de las mayores molestias de Windows Vista: la cartelera de seguridad de permiso, controlado por
la herramienta Control de Cuentas de Usuario.

* Incluye mejoras en el reconocimiento de voz, soporte para pantalla tctil, discos virtuales, mejor desempeo en
procesadores multi-ncleo.

* Es ms rpido el arranque y el sistema en general.

* Las versiones cliente de Windows 7 son para arquitectura 32 bits y 64 bits en las ediciones Home Basic, Home
Premium, Professional y Ultimate. No obstante, las versiones servidor de este producto son exclusivamente para
arquitectura 64 bits.

Versiones/ediciones de Windows 7

Existen seis ediciones de Windows 7, que van agregando incrementalmente funcionalidades al sistema. La
comercializacin slo se centrar en las ediciones Home Premium, Professional y Ultimate. Aadidas a estas tres,
se suman las versiones Home Basic y Starter, adems de la versin Enterprise, que est destinada a grupos
empresariales que cuenten con licenciamiento Open o Select de Microsoft.

* Windows 7 Starter

* Windows 7 Home Basic

* Windows 7 Home Premium

* Windows 7 Professional

* Windows 7 Enterprise

* Windows 7 Ultimate




MODULO DE SISTEMAS OPERATIVOS

64
Ing. Mg. Carmen E. Robayo V.
Requisitos para Windows 7

* Se requiere un procesador de 1 GHz o superior.
* 1 GB de RAM para la versin 32 bits, y 2 GB para la versin 64 bits.
* 16 GB de espacio libre (32 bits) y 20 GB libres (64 bits).
* Dispositivo de grficos DirectX 9 con soporte de controladores WDDM 1.0 (para Windows Aero)

INSTALACIN



MODULO DE SISTEMAS OPERATIVOS

65
Ing. Mg. Carmen E. Robayo V.





MODULO DE SISTEMAS OPERATIVOS

66
Ing. Mg. Carmen E. Robayo V.




MODULO DE SISTEMAS OPERATIVOS

67
Ing. Mg. Carmen E. Robayo V.




MODULO DE SISTEMAS OPERATIVOS

68
Ing. Mg. Carmen E. Robayo V.




MODULO DE SISTEMAS OPERATIVOS

69
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

70
Ing. Mg. Carmen E. Robayo V.
5.4. LINUX

Unix fue el primer y, para muchos nico, sistema operativo que apareci all por el
ao 1969 en los laboratorios de la empresa AT&T desarrollado por Ken
Thompson. En aquellos momentos no exista el concepto de "ordenador personal"
sino que las computadoras de entonces se encontraban en las grandes empresas,
pues eran modelos muy voluminosos y, sobre todo, caros.

A principios de los aos 90, Linus Benedict Torvald, un estudiante finlands
desarroll, a partir de una versin educativa de Unix, llamada Minix, un sistema
operativo totalmente nuevo llamado Linux. Este sistema era totalmente compatible
con los estndares de Unix y el da 5 de octubre de 1991 se public la primera
versin oficial.

Anteriormente, en 1983 otro grupo de hackers, liderados por Richard Stallman
consideran que el software no debe ser objeto comercial pues, para ellos, se trata
de conocimiento cientfico y como tal, debe transmitirse libre y ser til para el
progreso de la humanidad. Con esta intencin crean la Fundacin para el Software
Libre (FSF) y el proyecto GNU, con el objetivo de producir aplicaciones de libre
distribucin amparadas en una licencia que las proteja de las patentes
comerciales, esta licencia se conoce con las siglas GPL (General Public License).
En 1992, Linux se integra en el proyecto GNU y a partir de ese momento, un grupo
de entusiastas comienzan a mejorar el cdigo y a compartirlo a travs de la red
Internet hasta conseguir los niveles de desarrollo actuales.

Caractersticas de Linux
Linux posee todas las caractersticas de los sistemas comerciales usados en los
entornos de trabajo ms exigentes y se encuentra actualmente en unas cotas de
eficacia que le hacen dominar el mercado de los grandes servidores y, estar cada
vez ms presente en los equipos de los usuarios domsticos. Este nivel de
prestaciones ha sido posible gracias a la disponibilidad de su cdigo fuente, que
permite a cualquier programador del mundo un acceso total a su correccin y
mejora.

Algunas de sus principales caractersticas son:
Multiproceso. Permite la ejecucin de varias aplicaciones simultneamente.
Multiusuario. Distintos usuarios pueden acceder a los recursos del sistema
simultneamente aunque se trate de una instalacin en una sola mquina.
Multiplataforma. Funciona con la mayora de plataformas del mercado: Intel
386/486/Pentium, Motorola 680, Sun Sparc,...
Shells programables que lo convierten el el sistema ms flexible que existe.
Soporte para cualquier cantidad y tipo de dispositivos directamente en el ncleo.
Soporte para la mayora de sistemas de ficheros.
Tambin podramos citar su arquitectura modular que evita los sistemas
monolticos y permite prcticamente que el usuario se fabrique un ncleo a la
MODULO DE SISTEMAS OPERATIVOS

71
Ing. Mg. Carmen E. Robayo V.
carta. Estas caractersticas lo convierten, probablemente, en uno de los sistemas
ms avanzados que existen.

CENTOS

El Community ENTerprise Operating System es un sistema operativo de Linux distribuidor por un
vendedor de Amrica del Norte. Es un programa de fuente abierta, basado en la distribucin Red
Hat Enterprise Linux. Destinado a ser un sistema de programa de "clase empresarial" gratuito,
CentOS es robusto, estable y fcil de instalar y utilizar. Sorprendentemente, CentOS soporta cada
edicin, o lanzamiento, por siete aos. Luce y se opera de forma similar al RHEL (Red Hat
Enterprise Linux).

CentOS instalar GNOME o KDE para tu escritorio. T eliges cul durante la instalacin. Las
aplicaciones son tpicas en cada uno. Una instalacin GNOME te ofrece GIMP, MPlayer, Sound
Juicer, RhythmBox, OpenOffice, Ekiga (Video chat) y Firefox; una instalacin KDE agrega K3B y
Amarok, pero de cualquier modo mantiene la mayora de las mismas aplicaciones. Puedes utilizar
YUM para agregar el programa que necesites.




MODULO DE SISTEMAS OPERATIVOS

72
Ing. Mg. Carmen E. Robayo V.





MODULO DE SISTEMAS OPERATIVOS

73
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

74
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

75
Ing. Mg. Carmen E. Robayo V.




MODULO DE SISTEMAS OPERATIVOS

76
Ing. Mg. Carmen E. Robayo V.







MODULO DE SISTEMAS OPERATIVOS

77
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

78
Ing. Mg. Carmen E. Robayo V.

5.5. WINDOWS 8

Windows 8 es la versin actual del sistema operativo de Microsoft Windows,
producido por Microsoft para su uso en computadoras personales, incluidas
computadoras de escritorio en casa y de negocios, computadoras porttiles,
tabletas, servidores y centros multimedia. Aade soporte para microprocesadores
ARM, adems de los microprocesadores tradicionales x86 de Intel y AMD. Su
interfaz de usuario ha sido modificada para hacerla ms adecuada para su uso
con pantallas tctiles, adems de los tradicionales ratn y teclado. Microsoft
tambin anunci que Aero Glass no estar presente en la versin final de
Windows 8.

Windows 8 est enfocado para ser usado en dispositivos portables como telfonos
Smartphone y tabletas, un mercado en el que las versiones anteriores de Windows
no eran funcionales. Estos equipos no poseen ratn ni muchas veces teclados
fsicos, por lo que se introduce una interface llamada Modern UI, que rompe con
todo lo que estbamos acostumbrados desde los primeros Windows.

Los requerimientos mnimos del sistema para Windows 8 son los siguientes:
Procesador de 1 GHz
1 GB de memoria RAM (para versiones de 32 bits), 2 GB de memoria
RAM (para versiones de 64 bits)
16 GB de espacio en el disco duro (para versiones de 32 bits), 20 GB de
espacio en disco (para versiones de 64 bits)
Tarjeta grfica con soporte DirectX 9 y con driver WDDM 1.0 o superior
Adems, si queremos ejecutar aplicaciones Metro, se requiere una resolucin
mnima de pantalla de 1024768 pxeles, y 1366768 pxeles para utilizar la
funcionalidad de captura.




MODULO DE SISTEMAS OPERATIVOS

79
Ing. Mg. Carmen E. Robayo V.



MODULO DE SISTEMAS OPERATIVOS

80
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

81
Ing. Mg. Carmen E. Robayo V.



MODULO DE SISTEMAS OPERATIVOS

82
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

83
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

84
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

85
Ing. Mg. Carmen E. Robayo V.

MODULO DE SISTEMAS OPERATIVOS

86
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

87
Ing. Mg. Carmen E. Robayo V.


MODULO DE SISTEMAS OPERATIVOS

88
Ing. Mg. Carmen E. Robayo V.



MODULO DE SISTEMAS OPERATIVOS

89
Ing. Mg. Carmen E. Robayo V.





SOFTWARE CARACTERSTICAS
MS-DOS




WINDOWS XP




WINDOWS 7




WINDOWS 8




CENTOS




MODULO DE SISTEMAS OPERATIVOS

90
Ing. Mg. Carmen E. Robayo V.
BIBLIOGRAFIA
http://ocw.usal.es/eduCommons/ensenanzas-tecnicas/informatica-ingeniero-tecnico-en-obras-
publicas/contenidos/course_files/Temas/Tema%206%20-%20Sistemas%20Operativos.PDF
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/computot.PDF
http://www.lcc.uma.es/~pastrana/EP/trabajos/60.pdf
http://www.sallep.net/ferrol/web/Introduccion_a_Linux.pdf

Você também pode gostar