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:
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
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)
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