modulo de sistemas operativos_2(1)(1)(1)(1)

90
Edita: Tecnológico Edupraxis (centro de estudios) Ponente: Ing. Mg. Carmen Robayo Esta documentación tiene el respaldo de: Reconocidos por el Consejo Nacional de Educación Superior CONESUP registro No 18- 015 del 03-01-2002 Modalidad Presencial y a Distancia Ceina centros de formación, empresa Europea líder desde 1988 en el sector de la formación en tecnologías con más de catorce homologaciones de los fabricantes de software del mundo. Centro de exámenes Oficiales Universidad Estatal de Bolívar, convenio aprobado por el Consejo Nacional de Educación Superior CONESUP.

Upload: anareinoso

Post on 26-Dec-2015

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: modulo de sistemas operativos_2(1)(1)(1)(1)

Edita: Tecnológico Edupraxis (centro de estudios)

Ponente: Ing. Mg. Carmen Robayo

Esta documentación tiene el respaldo de:

Reconocidos por el Consejo Nacional de

Educación Superior CONESUP registro No 18-

015 del 03-01-2002 Modalidad Presencial y a

Distancia

Ceina centros de formación, empresa Europea líder

desde 1988 en el sector de la formación en

tecnologías con más de catorce homologaciones de

los fabricantes de software del mundo. Centro de

exámenes Oficiales

PROMETRIC - MOUS – VUE

Universidad Estatal de Bolívar, convenio

aprobado por el Consejo Nacional de

Educación Superior CONESUP.

Page 2: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

2 Ing. Mg. Carmen E. Robayo V.

OBJETIVO GENERAL

Aplicar los paradigmas de diseño de los sistemas operativos actuales y

emergentes, para el manejo de los recursos del sistema.

OBJETIVOS ESPECÍFICOS

Diseñar e implementar objetos de programación que permitan resolver

situaciones reales y de ingeniería.

Seleccionar, diseñar, 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 tecnología de la computación a través de las arquitecturas de

diferentes modelos y desarrollar habilidades que le permitan sugerir

soluciones óptimas utilizando los sistemas de cómputo.

Page 3: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

3 Ing. Mg. Carmen E. Robayo V.

UNIDAD I

INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

1.1. INTRODUCCIÓN

S. O. como conjunto de programas cuya misión es ofrecer al usuario final de la

computadora la imagen de que ésta es una máquina sencilla de manejar, por muy

difícil y complicado que sea el hardware con el que se haya construido.

Gobierno

• No desempeña ninguna función por sí sólo.

• 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 programación (comodidad).

• Administrar eficientemente los recursos de la máquina.

Propósito: creación de un entorno cómodo y eficiente para poder ejecutar

programas.

Desarrollo: evolución desde los primeros sistemas manuales hasta los sistemas

multiprogramados y de tiempo compartido actuales.

Un sistema de computación se divide en cuatro componentes principales:

• Hardware: CPU, memoria y dispositivos de E/S

• Sistema Operativo (software).

• Programas de aplicación, o de usuario: compiladores, DB, juegos (software).

• Usuarios: usuarios, programadores, máquinas.

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.

Page 4: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

4 Ing. Mg. Carmen E. Robayo V.

• Actúa: árbitro que decide qué solicitudes atender cuando no pueden satisfacerse

todas simultáneamente, asignando recursos de forma eficiente.

Como programa de control:

• Controla: ejecución de programas de usuarios para evitar errores o usos

incorrectos.

TIPOS DE USUARIOS:

Usuario de órdenes / aplicaciones.

Usuario programador.

Usuario diseñador / implementador.

Administrador del sistema.

1.3. CONCEPTOS RELACIONADOS CON EL USUARIO DE ÓRDENES

Usuario: elemento (persona, máquina) identificable por el sistema.

Sesión: 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.

Intérprete de órdenes: programa del sistema que recoge y manda ejecutar las

órdenes del usuario.

Llamadas al sistema: Mecanismo que utilizan los programas de aplicación para

solicitar que el sistema operativo haga algo.

Niveles de ejecución: Distintos modos de ejecución del procesador, que

determinan que instrucciones se pueden ejecutar en cada momento. Los

programas de usuario se ejecutan en modo normal, mientras que el código del

sistema operativo lo hace en modo privilegiado.

Sistema de gestión de procesos: encargado de crear, eliminar, suspender,

reanudar, comunicar y sincronizar procesos.

Sistema de gestión de memoria: encargado de la memoria.

• Controla particiones libres/ocupadas.

• Asigna/libera espacios.

• Llama a la memoria principal.

Page 5: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

5 Ing. Mg. Carmen E. Robayo V.

Sistema de gestión de E/S: encargado de los dispositivos de E/S. Permite su

compartición ordenada, minimiza efectos de diferencia de velocidad, uniformiza

distintos dispositivos.

Sistema de gestión de ficheros: encargado de los ficheros.

Define:

• Concepto y tipos de ficheros.

• Gestiona almacenamiento y operaciones.

Núcleo (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 ejecución que compiten por el uso de recursos.

• Recursos: (escasos) reales o virtuales, físicos o lógicos.

Conocerá

• Estado en que se encuentran los recursos.

• Quién, cuándo y durante cuánto tiempo tiene el control.

• Asociar y desasociar recursos.

Capa entre usuario y hardware, que ofrece una máquina extendida que es una

abstracción de la realidad y contra la que van los procesos.

Ventajas:

Comodidad: Mejor usabilidad para usuario y programador.

Portabilidad: Independencia con el hardware.

Page 6: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

6 Ing. Mg. Carmen E. Robayo V.

1.4. EVOLUCIÓN HISTÓRICA

1ª Generación (1945 -1955):

• Sistema operativo: Al principio es inexistente, hacia el final se constituye como

un conjunto de funciones de uso general.

• Tecnología: Tubos de vacío.

• Introducción de trabajo: A través de panel de control.

• Lenguaje: Lenguaje máquina.

2ª Generación (1955 – 1965):

• Sistema operativo: Monitor para cargar trabajos, ejecutarlos, ... (procesamiento

en serie). Posteriormente procesamiento por lotes.

• Tecnología: Transistores.

• Introducción de trabajo: Tarjetas perforadas.

• Lenguaje: Cobol, Fortran

3ª Generación (1965 – 1975):

• Sistema operativo: Multiprogramación, tiempo compartido, sistemas en tiempo

real (OS/360,Multics, UNIX, ...).

• Tecnología: Circuitos integrados, máquinas multipropósito, miniordenadores.

• Introducción de trabajo: Tarjetas perforadas, terminales.

• Lenguaje: Cobol, Fortran, ...

4ª Generación (1975 – 1990):

• Sistema operativo: En red, cliente-servidor, seguridad (criptografía), (MacOS,

MS-DOS, Novell, ...)

• Tecnología: Circuitos integrados, ordenadores personales, redes de

ordenadores.

• Introducción de trabajo: Terminal

5ª Generación (1990 – actualidad):

• Sistema Operativo: Distribuido, modelo cliente – servidor en la construcción del

sistema.

• Tecnología: Circuitos integrados a gran escala (VLSI), ordenadores personales

potentes, estaciones de trabajo.

Page 7: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

7 Ing. Mg. Carmen E. Robayo V.

ORIENTACIÓN DE LA EVOLUCIÓN

• Aumentar: Potencia, multipropósito, fiabilidad, nº de usuarios, comodidad y

amigabilidad.

• Disminuir: Precio, tamaño, requisitos de instalación, dificultad de uso, tiempo de

respuesta.

TIPOS DE SISTEMAS

Primeros sistemas.

Sistemas por lotes.

Multiprogramación.

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

Caracterización: Gran tamaño y ejecución desde panel de control.

Organización del trabajo

• Programador = Operador del sistema.

• Un solo usuario en cada momento (tiempo asignado, reserva).

• Operaciones: Carga manual del programa en la memoria (instrucción tras

instrucción), establecer inicio, activar ejecución, vigilar ejecución.

Mejoras

• Físicas: lectores de tarjetas, impresoras y cintas magnéticas.

• Reutilización de código: Bibliotecas de funciones comunes.

• Desarrollo de ensambladores, compiladores y cargadores para facilitar las

tareas de programación.

• Drivers o subrutinas especiales para cada dispositivo de E/S.

Desventajas

• Máquina parada mucho tiempo por el modo de trabajo.

• Error podía implicar comenzar de nuevo.

Page 8: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

8 Ing. Mg. Carmen E. Robayo V.

SISTEMAS POR LOTES

Organización del trabajo:

• Operador especialista, minimiza tiempos de preparación.

• Reducción de tiempos por agrupamiento en lotes que se pueden ejecutar a la

vez.

• Secuenciado automático de trabajos: Transferencia automática de control

entre un trabajo y el siguiente => Monitor Residente.

Monitor residente:

• Realiza automáticamente las acciones:

• Control de la finalización de tareas.

• Tratamiento de errores.

• Carga y ejecución automática de la siguiente tarea.

Tarjetas de control:

• Para que el monitor residente sepa qué programa ejecutar (se distinguen por $

de las tarjetas de instrucciones).

Organización de la memoria para un monitor residente:

• Cargador, secuenciado de trabajos, intérprete de tarjetas.

• Drivers para cargador e intérprete.

• Ventaja: Eliminación del tiempo de preparación y del secuenciado “manual” de

trabajos.

El problema de la E/S:

• E/S muy lenta en comparación con la CPU, lo que implica que la CPU queda

ociosa mucho tiempo esperando la terminación de las operaciones de E/S.

• Solución: Introducción de tecnología de discos, lo que posibilita,

Operaciones fuera de línea (off-line): independencia con el dispositivo, la

CPU “dialoga” sólo con dispositivos rápidos.

Uso de búferes: las transferencias de E/S se realizan a través de una zona

intermedia de memoria y sólo cuando el dispositivo está preparado.

Spooling: Uso del disco como búfer de gran tamaño, leyendo por

adelantado de los dispositivos de entrada, guardando la información y

enviándola a los dispositivos de salida cuando éstos estén disponibles.

Page 9: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

9 Ing. Mg. Carmen E. Robayo V.

MULTIPROGRAMACIÓN

• Gracias al spooling (reserva de trabajos en el disco), el sistema operativo

escoge qué trabajo ejecutar a continuación con el criterio de mejorar el

aprovechamiento de la CPU, planificación de trabajos.

• El aspecto más importante de la planificación es la multiprogramación,

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 ejecución.

Características de la multiprogramación:

• Si un proceso se bloquea, esperando por la E/S, en la CPU ejecutamos

instrucciones de otro proceso.

• Ejecución entrelazada de procesos: concurrencia.

• Mayor rendimiento, finalización de más trabajos en menos tiempo.

Mayor complejidad de los sistemasmultiprogramados:

• Planificación de la CPU: Qué proceso elegimos al quedar libre la CPU.

• Planificación de dispositivos: Conflictos por acceso simultáneo a la E/S.

• Gestión de memoria: Decisiones de carga en memoria entre varios trabajos que

están listos para subirse.

• Situaciones de interbloqueo: Entre procesos por los recursos.

• Protección.

SISTEMAS DE TIEMPO COMPARTIDO

• ¿Por qué surgen?: Con la multiprogramación los recursos del sistema se

aprovechan eficientemente, sin embargo, para el usuario,

• No puede interactuar con el trabajo durante su ejecución.

• Depuración de programas estática.

• Solución: sistemas multitarea (o inetractivos), más apropiados para trabajos de

muchas acciones cortas, donde el usuario introduce una orden y espera, por tanto,

interesa un tiempo de respuesta corto.

Page 10: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

10 Ing. Mg. Carmen E. Robayo V.

• Desventaja: Perdemos productividad de la CPU.

• Ventajas: Interacción usuario-sistema e ilusión de que cada usuario tiene su

ordenador particular.

Mayor complejidad de los sistemas de tiempo compartido:

• Gestión y protección de memoria: Mantenimiento simultáneo de varios

trabajos en la memoria.

• Memoria virtual: Tiempo de respuesta razonable intercambiando trabajos entre

memoria y disco.

• Sistema de archivos en línea: Colección de discos, sistema de gestión de

discos.

• Planificación de CPU: Mecanismos de ejecución concurrente.

• Mecanismos de sincronización y comunicación: Evitando interbloqueos.

ORDENADORES PERSONALES:

• Aparición a finales de los 70 debido a:

Abaratamiento de coste.

Microprocesadores, reducción de tamaño.

• Destinados al uso individual y no experto.

• Interfaces de usuario amigables: ventanas, iconos, menús,...

• Prescinden de ciertas funciones, como protección 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 comunicación (acoplados), compartiendo el bus del

computador, el reloj, la memoria y los periféricos.

Ventajas:

• Pueden ejecutar varias instrucciones simultaneamente (en paralelo).

• Aumento del rendimiento (más trabajos en menos tiempo).

• Compartición de periféricos y fuentes de potencia.

• Tolerancia a fallos (degradación gradual).

Desventaja: Sincronización entre procesos.

• Tipos de multiprocesamiento:

Simétrico: Cada prodesador ejecuta una copia idéntica del sistema.

Asimétrico: A cada procesador se le asigna una tarea específica.

Page 11: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

11 Ing. Mg. Carmen E. Robayo V.

1.5. SISTEMAS DISTRIBUIDOS

Características:

• El cómputo se reparte entre varios procesadores conectados mediante una red.

• Cada procesador tiene su propia memoria local, “débilmente acoplados”, ahora

no comparten memoria ni reloj.

• Comunicación entre procesadores a través de líneas de comunicación, buses de

alta velocidad o líneas telefónicas.

• Procesadores de distintos tamaños y funciones.

• Escalable hasta millones de procesadores (internet).

Ventajas:

• Recursos compartidos: accesos remotos, compartición de archivos, información

de DB distribuidas,...

• Computación más rápida: carga de trabajo compartida.

• Fiabilidad: tolerancia a fallos por redundancia.

• Comunicación: redes de comunicación.

Desventajas:

• Comunicación compleja al no compartir memoria.

• Redes de comunicaciónes no fiable.

• Heterogeneidad de los nodos.

SISTEMAS DE TIEMPO REAL

• Para ejecución de tareas que han de completarse en un plazo prefijado

(sistemas de control industrial, multimedia, científicos, médicos, ...)

• Pueden ser de dos tipos:

• Críticos: Tareas que exigen el cumplimento de plazos de finalización,

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 robótica.

• No críticos: Ejecución por prioridades. No cumplimiento estricto de

plazos. Adecuados en multimedia, realidad virtual y proyectos científicos

avanzados de exploración submarina y planetaria.

Page 12: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

12 Ing. Mg. Carmen E. Robayo V.

TENDENCIAS ACTUALES Y FUTURAS EN SISTEMAS OPERATIVOS:

Paralelismo

• Incremento de multiprocesadores.

• Extensión de lenguajes paralelos.

• Computación distribuida: Incremento de redes de ordenadores conectados.

• Sistemas tolerantes a fallos.

• Interfaces de usuario más amigables:

• Desarrollo de interfaces gráficas.

• Incorporación de multimedia a las interfaces.

• Reconocimiento del habla.

• Inmersión en el entorno: realidad virtual 3D

• Sistemas abiertos: estandarización 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: aplicación de técnicas de orientación a objetos a

los sistemas operativos.

• Personalidades múltiples: en una misma máquina y un sistema operativo

básico pueden existir diferentes SO.

• Micronúcleos

Verdadero/Falso

1. Los Sistemas Operativos son un conjunto de programas cuya misión es ofrecer al usuario final de la computadora la imagen de que ésta es una máquina sencilla de manejar. ( )

2. El Desarrollo de un Sistemas Operativo desde los primeros sistemas automáticos hasta los sistemas

multiprogramados y de tiempo compartido actuales. ( )

3. Los Sistemas operativos controlan la ejecución de programas de usuarios para evitar errores o usos incorrectos. ( )

4. Los Sistema de gestión de procesos se encargan de crear, eliminar, suspender, reanudar, comunicar y sincronizar procesos ( )

5. El Núcleo (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 programación es el aspecto más importante de la planificación de los sistemas operativos, aumentando el aprovechamiento de la CPU. ( )

Page 13: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

13 Ing. Mg. Carmen E. Robayo V.

DE COMPLETACIÓN

7. Escriba tres objetivos de los Sistemas Operativos:

___________________________________________________________________

___________________________________________________________________

___________________________________________________________________

8. Escriba 2 ventajas de los Sistemas Operativas

___________________________________________________________________

___________________________________________________________________

___________________________________________________________________

DE SELECCIÓN MÚLTIPLE

UNA CON LÍNEAS

9. Un sistema de computación se divide en cuatro componentes principales:

Hardware programadores, máquinas

Sistema Operativo compiladores, DB, juegos

Programas de aplicación CPU, memoria y dispositivos de E/S

Usuarios Software

10. Los conceptos:

Usuario conjunto de datos relacionados almacenados en almacenamiento no pedecedero

Sesión 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

Page 14: modulo de sistemas operativos_2(1)(1)(1)(1)

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

Page 15: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

15 Ing. Mg. Carmen E. Robayo V.

UNIDAD II

PROCESOS Y ADMINISTRACIÓN DEL PROCESADOR

2.1. INTRODUCCIÓN

El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea.

Se define como:

Un programa que se está ejecutando. Una actividad asincrónica. 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 multiprogramación 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 rápidamente entre uno y otro.

El paralelismo real de hardware se da en las siguientes situaciones:

En ejecución de instrucciones de programa con más de un procesador de instrucciones en uso simultáneamente.

Con la superposición de ejecución de instrucciones de programa con la ejecución de una o más operaciones de entrada / salida.

El objetivo es aumentar el paralelismo en la ejecución.

El modelo de procesos posee las siguientes características:

Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos.

Un proceso incluye al programa en ejecución 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.

Page 16: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

16 Ing. Mg. Carmen E. Robayo V.

Un solo procesador puede ser compartido entre varios procesos con cierto “algoritmo de planificación”, el cual determina cuándo detener el trabajo en un proceso y dar servicio a otro distinto.

En cuanto a las jerarquías de procesos es necesario señalar que los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operación, teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecución 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 están 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”.

Page 17: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

17 Ing. Mg. Carmen E. Robayo V.

La asignación 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 transición de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso.

La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control de Proceso” (PCB) con información que incluye:

Estado actual del proceso. Identificación ú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 atención de la cpu entre los procesos, utiliza las áreas de preservación del PCB para mantener la información 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 “creación” 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 jerárquica de procesos”.

La “destrucción” 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.

Page 18: modulo de sistemas operativos_2(1)(1)(1)(1)

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 “destrucción” de un proceso puede o no significar la destrucción de los procesos hijos, según el Sistema Operativo.

Generalmente se denomina “Tabla de Procesos” al conjunto de información de control sobre los distintos procesos.

2.3. PROCESAMIENTO DE INTERRUPCIONES

Una “interrupción” 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 interrupción, el Sistema Operativo:

Obtiene el control. Salva el estado del proceso interrumpido, generalmente en su bloque de

control de procesos. Analiza la interrupción. Transfiere el control a la rutina apropiada para la manipulación de la

interrupción.

Una interrupción puede ser iniciada por un proceso en estado de ejecución o por un evento que puede o no estar relacionado con un proceso en ejecución.

Generalmente las interrupciones se pueden clasificar por tipos según el siguiente detalle:

“SVC (llamada al supervisor)”: es una petición generada por el usuario para un servicio particular del sistema, por ejemplo, realización de Entrada / Salida u obtención de más 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, finalización de Entrada / Salida u ocurrencia de un error.

“Externas”: son causadas por distintos eventos, por ejemplo, expiración de un cuanto en un reloj de interrupción o recepción de una señal de otro procesador en un sistema multiprocesador.

“De reinicio”: ocurren al presionar la “tecla de reinicio” o cuando llega una instrucción de reinicio de otro procesador en un sistema multiprocesador.

“De verificación de programa”: son causadas por errores producidos durante la ejecución de procesos, por ejemplo:

Page 19: modulo de sistemas operativos_2(1)(1)(1)(1)

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 instrucción

privilegiada. o Un intento de ejecutar un código de operación inválido.

“De verificación de máquina”: son ocasionadas por un mal funcionamiento del hardware.

El Sistema Operativo incluye rutinas llamadas “Manipuladores de Interrupciones (IH)” para procesar cada tipo diferente de interrupción.

Cuando se produce una interrupción el Sistema Operativo efectúa las siguientes acciones:

Salva el estado del proceso interrumpido. Dirige el control al manipulador de interrupciones adecuado. Se aplica la técnica de “Cambio de Contexto” .

Los Sistemas Operativos instrumentan información de control que puede aparecer como las “Palabras de Estado de Programa (PSW)”, las cuales controlan el orden de ejecución de las instrucciones y contienen información sobre el estado del proceso.

Existen tres tipos de PSW, que son la “actual”, la “nueva” y la “vieja”.

La “PSW Actual” almacena la dirección de la próxima instrucción 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 interrupción). Seis PSW viejas (una para cada tipo de interrupción).

La PSW nueva para un tipo de interrupción dado contiene la dirección en el hardware donde reside el manipulador de interrupciones para este tipo específico.

Page 20: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

20 Ing. Mg. Carmen E. Robayo V.

Cuando ocurre una interrupción 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

interrupción. o Al almacenar la PSW nueva en la PSW actual, para este tipo de

interrupción. Luego de este “intercambio de PSW”:

o La PSW actual contiene la dirección del manipulador de interrupción adecuado.

o El manipulador de interrupciones procesa la interrupción. o Luego de procesar la interrupción, la cpu es enviada al:

Proceso que estaba en ejecución en el momento de la interrupción, o al

Proceso de listo de más alta prioridad. o La acción precedente depende de si el proceso de interrupción es:

“Apropiativo”: obtiene la cpu solo si no hay procesos de listos.

“No apropiativo”: obtiene de nuevo la cpu.

2.4. EL NÚCLEO DEL SISTEMA OPERATIVO

El “núcleo” del Sistema Operativo controla todas las operaciones que implican procesos y representa solo una pequeña porción del código de todo el Sistema Operativo pero es de amplio uso.

Generalmente permanece en el almacenamiento primario.

El proceso de interrupciones se incluye en el núcleo ya que debe ser rápido (especialmente en sistemas multiusuario), para optimizar el uso de los recursos del sistema y proveer tiempos de respuesta aceptables a los usuarios interactivos.

El núcleo inhabilita las interrupciones mientras responde a una interrupción. Las interrupciones son habilitadas de nuevo después de completar el proceso de una interrupción.

El núcleo del Sistema Operativo generalmente realiza las siguientes funciones:

Manipulación de interrupciones. Creación y destrucción de procesos. Cambio de estados de procesos. Despacho. Suspensión y reanudación de procesos. Sincronización de procesos. Comunicación entre procesos.

Page 21: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

21 Ing. Mg. Carmen E. Robayo V.

Manipulación de bloques de control de proceso. Soporte de las actividades de Entrada / Salida. Soporte de la asignación y desasignación de almacenamiento. Soporte del sistema de archivos. Soporte de un mecanismo de llamada / regreso al procedimiento. Soporte de ciertas funciones contables (estadísticas) del sistema.

2.5. PLANIFICACIÓN DE PROCESOS

Cuando más de un proceso es ejecutable desde el punto de vista lógico, el Sistema Operativo debe decidir cuál de ellos debe ejecutarse en primer término.

El Planificador es la porción del Sistema Operativo que decide y el Algoritmo de Planificación es el utilizado.

Los principales “criterios” respecto de un buen algoritmo de planificación son la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.

Criterio Descripción

Equidad Garantizar que cada proceso obtiene su

proporción 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 número de tareas procesadas

por hora

Algunas de estas metas son contradictorias, por ejemplo, minimizar el tiempo de respuesta para los usuarios interactivos significaría 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

Page 22: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

22 Ing. Mg. Carmen E. Robayo V.

planificador del Sistema Operativo no tiene la certeza de cuánto tiempo transcurrirá hasta que un proceso se bloquee, ya sea por una operación de Entrada / Salida o por otra razón.

Para evitar que un proceso se apropie de la cpu un tiempo excesivo, los equipos poseen un dispositivo que provoca una interrupción en forma periódica, por ejemplo 60 hz, o sea sesenta veces por segundo.

En cada interrupción del reloj el Sistema Operativo decide si el proceso que se está ejecutando continúa o si el proceso agotó su tiempo de cpu y debe suspenderse y ceder la cpu a otro proceso.

Los principales conceptos relacionados con Planificación del Procesador son los siguientes:

Planificación apropiativa: es la estrategia de permitir que procesos ejecutables (desde el punto de vista lógico) sean suspendidos temporalmente.

Planificación no apropiativa: es la estrategia de permitir la ejecución de un proceso hasta terminar.

Planificación del procesador: determinar cuándo deben asignarse los procesadores y a qué procesos, lo cual es responsabilidad del Sistema Operativo.

2.6. NIVELES DE PLANIFICACIÓN DEL PROCESADOR

Se consideran tres niveles importantes de planificación, los que se detallan a continuación:

Planificación de alto nivel: o También se denomina Planificación de trabajos. o Determina a qué trabajos se les va a permitir competir activamente

por los recursos del sistema, lo cual se denomina Planificación de admisión.

Planificación 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

efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos.

o Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.

Planificación 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.

Page 23: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

23 Ing. Mg. Carmen E. Robayo V.

o La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.

Objetivos de la Planificación

Los objetivos de la planificación del procesador son los siguientes e involucran a los conceptos detallados seguidamente:

Ser justa: o Todos los procesos son tratados de igual manera. o Ningún proceso es postergado indefinidamente.

Maximizar la capacidad de ejecución: o Maximizar el número de procesos servidos por unidad de tiempo.

Maximizar el número de usuarios interactivos que reciban unos tiempos de respuesta aceptables:

o En un máximo 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:

Page 24: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

24 Ing. Mg. Carmen E. Robayo V.

o Favorecer a los procesos que utilizarán recursos infrautilizados.

Equilibrar respuesta y utilización: o La mejor manera de garantizar buenos tiempos de respuesta es

disponer de los recursos suficientes cuando se necesitan, pero la utilización total de recursos podrá ser pobre.

Evitar la postergación 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 planificación deben favorecer a los procesos con

prioridades más altas. Dar preferencia a los procesos que mantienen recursos claves:

o Un proceso de baja prioridad podría mantener un recurso clave, que puede ser requerido por un proceso de más alta prioridad.

o Si el recurso es no apropiativo, el mecanismo de planificación debe otorgar al proceso un tratamiento mejor del que le correspondería normalmente, puesto que es necesario liberar rápidamente 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 paginación.

Degradarse suavemente con cargas pesadas: o Un mecanismo de planificación 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 más 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 planificación se convierte en un problema complejo.

Temporizador de Intervalos o Reloj de Interrupción

El proceso al cual está asignada la cpu se dice que está en ejecución 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.

Page 25: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

25 Ing. Mg. Carmen E. Robayo V.

El Sistema Operativo posee un “reloj de interrupción” o “temporizador de intervalos” para generar una interrupción, en algún tiempo futuro específico o después 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 interrupción atrae la atención de la cpu.

Si el reloj interrumpe un proceso de usuario, la interrupción causa la ejecución del

Sistema Operativo, el que decide cuál será el proceso que obtendrá la cpu.

El reloj de interrupción 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 ejecución periódica dependen del reloj de interrupción

2.7. RENDIMIENTO DEL SISTEMA DE MULTIPROCESAMIENTO

Aún con multiprocesamiento completamente simétrico, la adición de un nuevo procesador no hará que la capacidad de ejecución del sistema aumente según la capacidad del nuevo procesador, siendo las causas las siguientes:

Hay sobrecarga adicional del Sistema Operativo. Se incrementa la contención por recursos del sistema. Hay retrasos del hardware en el intercambio y en el encaminamiento de las

transmisiones entre un número mayor de componentes.

Al incrementar el número de procesadores “n” similares en un multiprocesador, el

incremento de la productividad no es lineal y tiende a disminuir cuando “n” crece.

Recuperación de Errores

Una de las capacidades más importantes de los Sistemas Operativos de multiprocesadores es la de soportar fallas de hardware en procesadores individuales y continuar su operación.

Debe existir el soporte correspondiente en el Sistema Operativo.

Las técnicas de recuperación de errores incluyen los siguientes aspectos:

Page 26: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

26 Ing. Mg. Carmen E. Robayo V.

Los datos críticos (del sistema y de usuario) deben mantenerse en copias múltiples y en bancos de almacenamiento separados.

El Sistema Operativo debe ejecutar efectivamente con la configuración máxima y con subconjuntos ante fallas.

Debe haber capacidad de detección y corrección 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 Simétrico (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.

Page 27: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

27 Ing. Mg. Carmen E. Robayo V.

Si un programa en ejecución en un procesador pide una operación 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 iniciación 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 más eficiente que la organización maestro / satélite, ya que los requerimientos de Entrada / Salida se encolan y no sobrecargan con intercambio de contexto y a que en la organización maestro / satélite las peticiones de Entrada / Salida en el satélite 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; además, 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 contención 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 reducción de costos consecuencia de los avances en microelectrónica. El previsible desarrollo de lenguajes que permitan a los usuarios expresar el

paralelismo explícitamente. El progreso en la detección automática del paralelismo . El hecho de que se estaría llegando a los límites del uniprocesador debido

a la compactación de componentes, es decir que se estaría próximo a los límites de longitud y de proximidad de los “caminos electromagnéticos” (longitud del recorrido de la señal electromagnética); alcanzados los límites mencionados, la única posibilidad de incrementar capacidad de cómputo es mediante multiprocesamiento.

Page 28: modulo de sistemas operativos_2(1)(1)(1)(1)

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, simétrico y asimétrico, para crear una jerarquía de procesadores dentro de un sistema.

Verdadero/Falso

1. En sistemas de multiprogramación 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 rápidamente 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 “interrupción” 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 dirección de la próxima instrucción que será ejecutada e indica los tipos de instrucciones actualmente “habilitadas”.

( )

5. El “núcleo” del Sistema Operativo controla todas las operaciones que implican procesos y representa solo una pequeña porción del código de todo el Sistema Operativo pero es de amplio uso. ( )

6. El núcleo habilita las interrupciones mientras responde a una interrupción. Las interrupciones son habilitadas de nuevo después de completar el proceso de una interrupción. ( )

COMPLETACIÓN:

7. Escriba 3 características del modelo de procesos:

a. …………………………………………………………………………………

b. ……………………………………………………………………………………

c. ……………………………………………………………………………………

8. Escriba 3 objetivos de la planificación:

a. …………………………………………………………………………………

b. ……………………………………………………………………………………

c. ……………………………………………………………………………………

9. Escriba 3 tendencias de los multiprocesadores:

a. …………………………………………………………………………………

Page 29: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

29 Ing. Mg. Carmen E. Robayo V.

b. ……………………………………………………………………………………

c. ……………………………………………………………………………………

SELECCIÓN

10. Una con líneas:

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 planificación:

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

Eficiencia Maximizar el número 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 proporción justa de la cpu

Rendimiento Minimizar el tiempo de respuesta para los usuarios interactivos

Page 30: modulo de sistemas operativos_2(1)(1)(1)(1)

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 interactúan con la Memoria. Así también 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 multiprogramación, y permitir además 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 también tiene otras funciones. Los métodos de administración de memoria han ido evolucionando, lógicamente desde el más sencillo creciendo en complejidad. 3.2. ADMINISTRACIÓN DE MEMORIA SIMPLE CONTIGUA En este sistema de administración la memoria aparece al programa como una única extensión contigua de direcciones, compartida solo por él y por el sistema operativo. Se hace necesario lograr en este tipo de administración algún mecanismo de protección para el sistema operativo que es residente. Existen dos alternativas:

1) la utilización de un límite dado por un registro fijo por hardware o registro de protección cargado por el sistema operativo que sirve como punto de comienzo de carga del programa. Su desventaja es que requiere la recompilación de los programas al modificarse el valor de tal registro.

2) otra opción consiste en un registro Límite o registro Base (o de Reubicación)

Page 31: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

31 Ing. Mg. Carmen E. Robayo V.

Mediante alguno de estos dos sistemas el sistema operativo intercepta aquellas direcciones inválidas generándose entonces una interrupción por error de direccionamiento. Por tanto esta administración 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 atención de interrupciones por invasión al sistema operativo. Sus desventajas son: - el desperdicio de recursos tanto de la memoria no utilizada, como también el desperdicio respecto de los periféricos no usados durante la ejecución del programa. - la imposibilidad de ejecutar programas que requieran el uso de más memoria que la disponible, por más 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 más. Pero si la memoria disponible en este sistema es de 3 Mbytes, el tamaño máximo de programa que pueda residir en este sistema será de 3 Mbytes (descontando el espacio correspondiente al Sistema Operativo) y no más, aunque la capacidad de direccionamiento sea de 16 Mbytes. Este tipo de inconvenientes se encontrará en todo sistema de Administración de Memoria que requiera que la totalidad del programa resida en memoria para poder ser ejecutado.

Soluciones a la monoprogramación Para resolver el problema de la residencia de un único programa en memoria que conlleva monoprogramación, y la limitación de memoria, tanto sea por su escasez como por su limitación de direccionamiento, se han utilizado algunos artilugios, de los cuales veremos un par. Simulación de multiprogramación ó Swapping Esta técnica 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 operación de E/S sobre un periférico lento) para desalojarlo completamente de la memoria, sobre un periférico rápido, y

Page 32: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

32 Ing. Mg. Carmen E. Robayo V.

cargar desde un periférico similar otro programa que estuviese pronto para su ejecución. Obviamente esta técnica 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. Además la mezcla de procesos debe ser tal que ninguno sea de alto uso de procesador, pues, sino esta técnica no resultaría útil. Son necesarios además, elementos que controlen las operaciones de E/S, para permitir que el procesador pueda dedicarse a la ejecución de programas. Esta técnica fue utilizada por el Bull 61 con cierto éxito, mientras el número de procesos fuese pequeño (4) y ninguno de alto consumo de procesador. Actualmente esta técnica es utilizada también en sistemas operativos que manejan multiprogramación, inclusive en Arquitecturas de tipo MIMD cuando, por algoritmo, se decide castigar a un proceso por haber excedido la utilización de algún recurso (en particular el procesador, por ejemplo en la IBM OS/MVS).

Simulación de mayor direccionamiento a memoria ó Técnica de Overlay Esta técnica consiste en aprovechar la modularidad de los programas y en particular en la capacidad de detectar conjuntos de módulos o subrutinas que serán ejecutados en forma disjunta. Normalmente se confecciona y vincula un programa y sus subrutinas en forma lineal, o sea dándole a cada uno de ellos su propia dirección, como por ejemplo puede verse en la figura, programa que no podrá ser ejecutado en una memoria de capacidad 400.

Page 33: modulo de sistemas operativos_2(1)(1)(1)(1)

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, podría pensarse y vincularse a este programa reutilizando direcciones, o sea que podría guardarse en una biblioteca con el direccionamiento en la forma que se muestra en la Figura anterior lo que permitiría que en algún 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 estática, o sea previa a la carga del programa se determinará qué rama se ejecutará, y durante toda esa sesión se ejecutará esa sola; o en forma dinámica, en la cual la lógica 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.

Page 34: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

34 Ing. Mg. Carmen E. Robayo V.

3.4. ADMINISTRACIÓN PARTICIONADA

Administración 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 tamaño mientras no haya trabajos ejecutándose (normalmente esta tarea la realizará el operador desde consola). La protección aquí se logra mediante un registro Base (también de reubicación) y un registro Límite o Longitud asociados a cada uno de los trabajos que se están ejecutando.

En este método aparece una fragmentación de la memoria debido a que parte de la partición no es utilizada por el programa. Los mecanismos de protección y reubicación mediante los registros Base y Longitud son mecanismos hardware que surgen en este método de administración. Se agregan las interrupciones por direccionamiento (intento de acceder fuera de la partición). En cuanto a software tenemos las rutinas de atención de interrupciones, las rutinas que se encargan de manejar las tablas de dicha administración, rutinas para asignación de archivos y dispositivos y los programas de canal. Las tablas necesarias para manejar este tipo de administración son las siguientes: - Una tabla de tamaños (una sola en el sistema) que es de la siguiente forma:

Page 35: modulo de sistemas operativos_2(1)(1)(1)(1)

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 Administración de Memoria es el que comienza a permitir la ejecución en multiprogramación. Uno de los primeros existentes fue el IBM OS/360 MFT. Administración PARTICIONADA VARIABLE SIN COMPACTACION. En este esquema las particiones se establecen según la longitud de los programas iniciales. Al cabo de un tiempo se produce mucha fragmentación, por tanto existen diversas políticas para asignar una partición de memoria libre. En principio sea cual fuere el mecanismo de asignación de una partición libre se hace necesario contar con la información de cuáles son esas particiones libres de memoria lo cual nos lleva a la aparición en este tipo de administración de una lista de zonas disponibles. Existen tres grandes políticas de asignación: 1) La primera zona libre: aquí se recorre la tabla de espacios libres y la primer partición que se encuentre en donde quepa el programa es asignada. 2) La mejor zona: se recorre la tabla buscando aquella partición que mejor se ajuste al programa que se desea ingresar. 3) La peor zona: se recorre la tabla buscando la mayor partición libre existente, la que será asignada al nuevo proceso. El hardware necesitado en esta administración coincide con el de particionada fija, en tanto que desde el punto de vista del software nuevo se agregan aquí las

Page 36: modulo de sistemas operativos_2(1)(1)(1)(1)

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 asignación. Uno de los primeros sistemas operativos que utilizó este esquema fue el IBM OS/360 MVT. Administración 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 podría ingresar al sistema) se "compactan" los trabajos que se encuentran en memoria. Para realizar esta compactación es necesario contar con el registro de reubicación ya que de otra forma al mover un programa de su posición original en memoria deberían alterarse las instrucciones de tal programa. Se puede realizar una compactación directamente sobre memoria (Memoria-a- Memoria) o utilizando dispositivos periféricos (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 ejecución de alguno de los procesos que no se encuentran involucrados en la compactación. En el caso de la compactación Memoria- Memoria la CPU se encuentra dedicada a full a la tarea de compactación, por lo tanto se detienen las ejecuciones de todos los procesos. Existen diversas técnicas de compactación pero ya que el mecanismo de compactación es sumamente costoso se trata de disminuir lo más posible la cantidad de veces que se compacta como así también se intenta compactar en aquellos casos en que la cantidad de bytes involucrados sea mínima. Nuevamente aparecen aquí los mecanismos hardware de protección y reubicación, y se agregan como mecanismos de software las rutinas de compactación y reubicación y desde ya tenemos las mismas tablas que indican la ubicación de los trabajos y las zonas libres. Administración de memoria PAGINADA En este esquema la memoria física se divide en Bloques de igual tamaño, cada uno de los cuales contendrá una Página de programa. Las páginas de los programas estarán ubicadas en los bloques de memoria los cuales no tienen por qué ser contiguos. (Nótese esta fundamental diferencia frente a las otras Administraciones de Memoria). Al ser cargado en proceso a memoria se crea una Tabla de Distribución de Páginas (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 páginas del programa.

Page 37: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

37 Ing. Mg. Carmen E. Robayo V.

Cálculo de la dirección Las direcciones lógicas están compuestas de dos partes:

El número de página es tomado por el DAT (Direct Address Translator) el cual accede a la TDP y obtiene el número de bloque que corresponde a esa página para ese proceso y obtiene:

Las tablas están en memoria, luego para obtener una dirección efectiva a cualquier posición de un programa se torna necesario acceder dos veces a memoria: la primera para llegar a la TDP y obtener la dirección del bloque correspondiente y la segunda para llegar efectivamente a la dirección deseada. Una de las soluciones posibles a este doble acceso es cargar la TDP en el procesador en registros (se cargarían juntamente con la PC y los registros en el momento de cambio de contexto), pero esto limita mucho la cantidad de páginas que puede tener un programa y es además muy costoso. Una solución más económica es el uso en memoria CACHE que contiene todas o una porción de las entradas de la tabla. Por el mismo algoritmo de actualización

Page 38: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

38 Ing. Mg. Carmen E. Robayo V.

de la cache nos aseguraríamos que con el transcurrir del tiempo las entradas que permanecerán en cache serán las más usadas. Como mecanismos hardware nuevos se agregan el Traductor de Direcciones (DAT), los registros de páginas o la memoria Cache y como mecanismo de protección se suele utilizar un bit (o clave) de protección asociado a cada bloque. La clave de protección será usado para todos los accesos a memoria que no se realicen por medio del DAT. Como rutinas de software se agregan en esta administración las tablas de páginas 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 dirección 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 más chica, e inclusive puede ser menor que el espacio de direccionamiento requerido por un proceso. Muchas veces es necesario escribir programas cuyo tamaño supere el tamaño de la memoria real existente en la instalación. A raíz de esta necesidad surge lo que denominaremos MEMORIA VIRTUAL que simula poseer una cantidad de memoria mayor que la existente, y a continuación se tratan los métodos de administración 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 método de administración que se encarga de poner a disposición del procesador los fragmentos (tanto páginas 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 ejecución (lo que comunmente se llama Espacio único de direcciones).

Page 39: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

39 Ing. Mg. Carmen E. Robayo V.

Ahora bien, si se puede simular, en las técnicas que se verán más adelante, la posibilidad de poseer mayor memoria real que la que existe, por qué no es posible simular también que existen más espacios de direcciones ? (lo que comunmente se llama Espacio múltiple 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 conclusión casi trivial cuando se observa la construcción de las Tablas de Distribución de Páginas. 3.6. ADMINISTRACIÓN PAGINADA

Administración PAGINADA POR DEMANDA Para ver el funcionamiento de este tipo de administración debemos contar primero como llega un programa al sistema. Originalmente el programa se encuentra en una biblioteca (usualmente en algún periférico tipo disco magnético) desde la cual es invocado para su ejecución. El programa se carga entonces en otro periférico (aquí también usualmente discos magnéticos) en donde es preparado para la ejecución (se arma su BCP, se completa su TDP, se le agrega información 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 administración es que en la TDP se agrega un bit que indica si la página que se está referenciando existe en memoria real o no y además se agrega un campo que indica la dirección de tal página 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 páginas que van siendo solicitadas para su ejecución. Para su administración se necesitan un par de tablas cuyos contenidos iremos analizando. Tabla de Distribución de Páginas (una para cada proceso)

Page 40: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

40 Ing. Mg. Carmen E. Robayo V.

Tabla de Distribución de Bloques (una en todo el sistema)

Cuando se encuentra encendido el bit que indica que la página no se encuentra en memoria real se produce una interrupción por falta de página. La rutina que atiende esa interrupción necesita la dirección de memoria virtual en donde se encuentra almacenada dicha página para poder traerla a memoria real. Supongamos que la dirección del lugar en donde se encuentra la página en memoria virtual se encuentra a nivel del BCP en lugar de figurar en la TDP para cada una de las páginas que componen ese programa, es decir que existe una única dirección que apunta a donde se encuentran almacenadas en memoria virtual las páginas de este programa. La conclusión inmediata es que esta forma nos acarreará un problema de administración respecto de la contigüidad del programa en memoria virtual y además hará sumamente engorroso el ubicar una página determinada ya que llevaría a la lectura secuencial de todas sus páginas (comenzando desde la dirección 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 página buscada. El bit de cambio que se encuentra en la TDB es necesario para toda vez que sea imprescindible remover una página de memoria real con el objeto de traer otra, ya que si la página que se va a remover sufrió modificaciones debe ser regrabada en memoria virtual para preservar la integridad de la aplicación.

Page 41: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

41 Ing. Mg. Carmen E. Robayo V.

El bit de Fijo por canal se utiliza para fijar páginas en memoria real; esto es, cuando una página contiene información que está siendo dirigida o está recibiendo información de un canal de E/S, debido a que los canales deben utilizar direcciones absolutas se torna imprescindible fijar tales páginas en memoria real. Es decir no pueden ser removidas. Nótese que también se encuentran en esta situación aquellos bloques de memoria real sobre los cuales se está cargando una página o de los cuales se está descargando una página en memoria virtual. Normalmente a éstas últimos bloques suele denominarselos "en tránsito". Interrupción por PAGE FAULT El mecanismo de direccionamiento opera igual que en el método de administración de memoria paginada simple. Si el procesador intenta direccionar a una página que no se encuentra cargada en memoria real se produce lo que se denomina una Interrupción por falla de página (Page-Fault). Podemos graficar el mecanismo completo de direccionamiento incluyendo el procesamiento de la interrupción de la falla de página como se puede visualizar en la figura siguiente. Desde la generación de la dirección hasta la interrupción inclusive, todos los pasos se realizan por hardware. En cambio desde el momento en que se comienza a ejecutar la rutina que atiende esa interrupción hasta la restauración final del estado del estado previo antes de la interrupción se realiza por software. Si la interrupción se produce a causa de una dirección generada por el RPI no hay mayor problema, pues no se había comenzado la ejecución de la instrucción. En cambio, si la interrupción se produce como consecuencia de una dirección generada por los operandos de una instrucción que está ejecutándose se nos plantea un problema ya que nos encontramos en medio de la ejecución. Existen dos caminos posibles: - Recomenzar (restart): Al producirse la interrupción se restaura la instrucción al estado inicial (previo a su ejecución). Hay que volver también los registros y posiciones de memoria cambiados a su estado anterior, por lo tanto esto nos obliga a llevar una historia de la instrucción. Una implementación sencilla que nos ahorraría el mantener esta historia sería hacer antes que nada la verificación de las direcciones de los operandos (o sea antes de modificar nada) (Esta técnica acompaña muy frecuentemente a un Pipeline).

Page 42: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

42 Ing. Mg. Carmen E. Robayo V.

- Continuación: Se salva el estado de la instrucción y luego de satisfecha la interrupción se continúa la instrucción en el punto en donde se había abandonado. Esto implica salvar la información a nivel de micro-instrucción (salvar registros temporarios, estado de la instrucción, etc). No todo tipo de instrucción puede soportar esto (pensemos por ejemplo en la instrucción 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 según el tipo de instrucción.

Traza Definiremos como traza de un programa a la enumeración de las páginas que ese programa referencia a medida que se ejecuta. Definiremos también la siguiente relación: f = número de páginas traídas / número de referencias de la traza siendo f el Indice de Fracasos y si calculamos s = 1 - f

Page 43: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

43 Ing. Mg. Carmen E. Robayo V.

llamamos a s el Indice de Hallazgos. Lógicamente estos valores sufren una sustancial modificación dependiendo de los bloques libres que existen en memoria real sobre los cuales se pueden cargar páginas 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 página de la traza implica también un fracaso ya que tanto si es invocada por el programa al ejecutar su primera instrucción o por que el Planificador de Trabajos le carga la primera página al proceso a ejecutar ambas situaciones implican una falla de página. Algoritmos de Remoción. Llegado el momento que la tabla de distribución de bloques indica que no existe ningún bloque libre para asignar a una página que se está solicitando se hace necesario por tanto eliminar una página de memoria real. Denominamos a esto Remoción, y existen diversas políticas de selección de la víctima. El mecanismo óptimo sería seleccionar aquella página que se tardará más 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 página que se selecciona para remoción es aquella más antigua en el sistema. El método FIFO produce en determinados casos lo que se denomina "Anomalía de Belady". Supongamos un trazado del siguiente tipo: 1 2 3 4 1 2 5 1 2 3 4 5 si se realiza el cálculo de los índices de hallazgos y de fracasos para un tamaño 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.

Page 44: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

44 Ing. Mg. Carmen E. Robayo V.

Como conclusión 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 página es referenciada una segunda vez se pone a cero un bit que la acompaña. Por tanto esa página tiene otra oportunidad para permanecer en memoria y no ser seleccionada para remoción. Otro método de remoción es el LRU (Least Recently Used). En este método aquella página que ha sido menos recientemente utilizada es la que se selecciona para remoción. Lógicamente para lograr este fin el sistema debe llevar la información necesaria para poder determinar quién es la víctima. Esto se logra mediante bits que se colocan a cero o a uno dependiendo de cuanto tiempo hace que la página fue referenciada. Otro algoritmo es el LFU (Least Frequently Used), en este caso la página menos usada es la elegida para remoción. Para poder lograr esto el sistema lleva una cuenta sobre cuantas veces la página fue referenciada. Otro método consiste en no solo llevar información respecto a las referencias realizadas a la página, sino también utilizar la información del bit de cambio, ya que en aquellos casos en que la página que se selecciona para remoción ha sido alterada es absolutamente imprescindible su regrabación en memoria virtual.

Verdadero/Falso

1. Administración de Memoria simple contigua aparece al

programa como una única extensión contigua de direcciones, compartida solo por él y por el sistema operativo. ( v)

2. La técnica Overlay en aprovechar la modularidad de los programas y en particular en la capacidad de detectar conjuntos de módulos o subrutinas que serán ejecutados en

forma conjunta. ( f) 3. La administración 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 tamaño. ( v)

4. La administración de memoria Particionada variable sin compartición donde las particiones se establecen según la longitud de los programas iniciales. ( v)

Page 45: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

45 Ing. Mg. Carmen E. Robayo V.

5. La administración particionada variable con compactación 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 administración de memoria paginada donde la memoria física se divide en Bloques de igual tamaño, cada uno de los cuales contendrá una Página de programa. ( v)

7. Espacio de Direccionamiento de un Sistema (computadora) a la capacidad de direccionamiento de la misma, o sea la dirección a la que puede llegar con todos los bits de direccionamiento en OFF ( f)

8. Administración paginada por demanda donde el programa se carga entonces en otro periférico en donde es preparado para la ejecución (v )

Completación 9. Escriba dos ventajas de la administración de memoria simple contigua.

a. ……………………………………………………………… b. ………………………………………………………………

10. Escriba el significado de BCP

………………………………………………………………………………………..

11. Escriba el significado de TDP ………………………………………………………………………………………..

12. Una con Líneas

La primera zona libre Se recorre la tabla buscando la mayor partición libre existente, la que será asignada al nuevo proceso

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

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

Page 46: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

46 Ing. Mg. Carmen E. Robayo V.

UNIDAD IV

SISTEMAS DISTRIBUIDOS

4.1. INTRODUCCIÓN

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 tecnología de comunicaciones.

– Ventaja de la compartición de recursos

Ventajas de S.D.

– Compartición de recursos y equilibrado de cargas: mejora la relación

coste/rendimiento

– Comunicación y compartición de información entre usuarios/procesos

– Crecimiento incremental

• Fácil la ampliación modular de nuevos recursos

• Modificaciones software sin afectar a aplicaciones existentes

- Rendimiento

- Fiabilidad, disponibilidad y tolerancia a fallos

• Duplicación de equipos y replicación de datos: aumenta la fiabilidad

• Múltiples copias de recursos: aumenta la disponibilidad y es un soporte para

la tolerancia a fallos

Heterogeneidad

Hardware, Sistema Operativo, lenguajes, Redes.

Razones:

Ingeniería – Diferentes personas eligen diferentes soluciones

Coste – Se compran recursos que se adapten a las necesidades

Aplicaciones antiguas – Imaginemos una aplicación de reserva de billetes

en COBOL. Se tienen que amortizar las inversiones

Hardware antiguo – El hardware nuevo que se compra es necesariamente

diferente.

Page 47: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

47 Ing. Mg. Carmen E. Robayo V.

Herramientas:

- Protocolos de comunicación

- APIs estándar

- Sistemas Abiertos (Internet, etc.)

- Especificaciones públicas

- Mecanismos de comunicación estandarizados

- Utilizando hardware y software

Extensibilidad

Característica de un sistema que permite añadirle nuevas características y

servicios de forma dinámica

Herramientas:

- Sistemas Abiertos

- Loose Coupling

Seguridad

Elemento más importante y más complejo (conexiones y equipos físicamente

distribuidos)

Necesidad de:

Autenticar a usuarios y recursos

Definir roles y patrones de acceso

Encriptar las comunicaciones

Seguridad física

Escalabilidad

Un sistema es escalable si el aumento de demanda de servicios se puede suplir

con una aportación de recursos

También: Un sistema puede ofrecer servicio a un número 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

Page 48: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

48 Ing. Mg. Carmen E. Robayo V.

Soluciones:

Uso de software eficiente en tiempo y espacio

Patrones de diseño y de código (idiomas) para manejar eficientemente

conexiones, etc.

Uso de cachés, consistencia eventual, etc.

Uso de algoritmos altamente paralelizables (programación funcional, lógica,

algoritmos Map/Reduce), etc.

Fallos

El rango de fallos en sistemas distribuidos es mayor que en cualquier otro sistema

Además, es interesante que los sistemas distribuidos «toleren» fallos. ¿Por qué?

Cuestiones:

- Detección de fallos (unos detectables, otros no)

- Enmascaramiento de fallos (p. ej. patrón Proxy)

- Redundancia y votado

- Disponibilidad

Concurrencia

- Normalmente los datos se comparten

- Hay que establecer órdenes de acceso y procesos atómicos:

Transacciones

Cuello de botella si los datos están 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 programación de estos procesos puede hacer el sistema muy ineficiente

Transparencia

El tópico más importante y el más difícil 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 localización

- Transparencia de concurrencia

Page 49: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

49 Ing. Mg. Carmen E. Robayo V.

- Transparencia de replicación

- 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 sistémico, implicando

duplicidades e incoherencia).

No escalables

¿Cómo añadir más recursos?

Primeros sistemas distribuidos

Page 50: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

50 Ing. Mg. Carmen E. Robayo V.

Primeros programas distribuidos

Conexiones explícitas, protocolos explícitos, herramientas básicas

P. ej. Demonios remotos UNIX

Servicios básicos por parte del Sistema Operativo

Direccionamiento

Sockets

Normalmente sólo implicaban a dos programas (Cliente/Servidor)

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

Sockets

API (Application Programming Interface) de bajo nivel

¿Gestión de errores?

No hay tipos de datos... ¿comprobación?

Protocolo CGI

Stateless (salvo con otros hacks como los cookies)

El servidor no da soporte para persistencia (bases de datos), transacciones,

seguridad, gestión de usuarios, etc.

Las aplicaciones tienen que implementar TODO, o usar frameworks etc.

Page 51: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

51 Ing. Mg. Carmen E. Robayo V.

4.3. ARQUITECTURA

TPMs, Clusters, etc.

En la práctica, se utilizan sistemas de n capas

La distribución: múltiples clientes por Web (thin clients) y un sistema de BBDD que

está basado en clúster

Page 52: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

52 Ing. Mg. Carmen E. Robayo V.

Clústers de bases de datos/procedimientos proporcionados por paquetes

comerciales (Oracle, DB/2, etc.)

Gestión de MUCHOS clientes: Transaction-Processing Monitors

Sistemas de más alto nivel: RPC (Remote Procedure Call)

Primer sistema en diferenciar interfaz/implementación

Más alto nivel (comprobación 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 más importancia

Page 53: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

53 Ing. Mg. Carmen E. Robayo V.

Message-Oriented Middleware

Síncrono/asíncrono

Normalmente Suscripción/Respuesta

Documentos XML ) Mensajes

Loose Coupling

JMS, AMQP, ActiveMQ, ØMQ, MSMQ, D-Bus, etc.

ESBs: Mensajería + Servicios de dominio

Peer to Peer

Page 54: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

54 Ing. Mg. Carmen E. Robayo V.

Modelo más descentralizado: todos aportan por igual o en la medida de sus

posibilidades

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

Informática

Todo se hace accesible a través de servicios (web)

Protocolos «estándar»: HTTP, XML, SOAP, WSDL

¿Qué pasa con los callbacks?

Page 55: modulo de sistemas operativos_2(1)(1)(1)(1)

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

Introducción a los Patrones y Herramientas

Patrones

Solución dada reiteradamente a un problema común

«Best practices»

Suben el nivel de abstracción, tratan problemas en abstracto

En programación distribuida (poca experiencia)

Los utilizaremos para aprender sobre cómo construir mejores aplicaciones

distribuidas

Elementos:

Nombre, Contexto, Problema, Cuestiones relevantes, Solución

Lenguaje de Patrones: Conjunto de patrones relacionados que sirven para un fin

común

Page 56: modulo de sistemas operativos_2(1)(1)(1)(1)

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 )

Completación

3. Escriba dos ventajas de los Sistemas Distribuidos

a. …………………………………………………………………………………….

b. ……………………………………………………………………………………

Una con líneas

4. Los Sistemas Distribuidos tienen:

Heterogeneidad Elemento más importante y más complejo (conexiones y equipos físicamente distribuidos)

Seguridad Permite añadirle nuevas características y servicios de forma dinámica

Extensibilidad Hardware, Sistema Operativo, lenguajes, Redes

Fallos Si el aumento de demanda de servicios se puede suplir con una aportación de recursos

Escalabilidad Cuello de botella si los datos están 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

Page 57: modulo de sistemas operativos_2(1)(1)(1)(1)

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 sería una aplicación de gran éxito comercial, vendió la idea a Bill Gates (propietario actual de Microsoft).

Más tarde IBM compró los derechos de DOS.

Bill Gates y Paul Allen, Microsoft, desarrollaron una versión de Basic para Altair (el primer ordenador

“de verdad”). Gates desarrolló una versión que trabajaba con discos flexibles. Esta tarea obligaba a la

creación de un sistema de administración de archivos basado en el empleo de tablas de asignación de archivos

(FAT, File Allocation Table), residente en memoria y que se convertiría 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 versión sólo requería 6 Kbs. de memoria. IBM pidió a Microsoft que

desarrollará un Basic en ROM para un diseño de microordenadores de 8 bits, Microsoft sugirió utilizar una

máquina de 16 bits, y entonces IBM estudio los microprocesadores 8086 y 8088, ofrecidos por Intel. IBM

eligió el microprocesador Intel 8088, en vez del más potente 8086 porque su precio era más bajo y la mayor

parte de los periféricos 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 más recientes tienen mucha más potencia que las anteriores y todas son compatibles. Los

principales cambios entre las diferentes versiones son los siguientes:

- versión 1.1 (1982), tenía como principal ventaja sobre su predecesor, el MS-DOS 1.0, que soportaba

disquetes de dos caras

- versión 2.0 (1983), soportaba la estructura de directorios y subdirectorios

- versión 2.1 (1983), incluía nuevas características para mejorar el rendimiento en un IBM PC

- versión 3.0, soportaba ya diskettes de alta densidad de 1.2 Mb

- versión 3.1, añadió un soporte para redes locales

- versión 3.2, admitía unidades de 3 ½ pulgadas

- versión 3.3, soportaba caracteres internacionales y nos permitía crear particiones múltiples

- versión 4.0 (nov. 1988), soportaba particiones de más de 32 Mb, tenía un nuevo interfaz gráfico y añadía un

soporte de memoria expandida

- versión 5.0, nos ofrecía ayuda en pantalla, incluyó un nuevo editor de textos y nos permitía gestionar de

forma avanzada la memoria

- versión 6.0, incluía ya nuevas utilidades prácticas, como un compresor de disco (Doublespace), un antivirus,

un defragmentador de disco para acelerar los accesos, y diferentes utilidades para portátiles

- versión 6.2 (nov. 1993), incorporaba ligeras mejoras como una mayor seguridad en la compresión de discos

y algunos comandos que fueron mejorados.

- última versión que apareció en el mercado fue la 6.22, que sustituía DoubleSpace por DriveSpace y algunas

pequeñas mejoras.

Page 58: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

58 Ing. Mg. Carmen E. Robayo V.

Al margen de este desarrollo tecnológico 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.

INSTALACIÓN

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 líneas de sistemas operativos para consumidores y de negocio, uniéndolos en torno al código base de Windows NT y Windows 2000. Con Windows XP, los consumidores y usuarios del hogar tenían ahora el rendimiento, estabilidad y seguridad de las que los usuarios de negocio se habían beneficiado en Windows 2000. Windows XP está disponible en dos versiones, Windows XP Professional y

Page 59: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

59 Ing. Mg. Carmen E. Robayo V.

Windows XP Home Edition, así como una edición de 64-bits, XP 64-Bit Edition para los usuarios que utilizan el procesador Intel Itanium de 64-bit. INSTALACIÓN

Page 60: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

60 Ing. Mg. Carmen E. Robayo V.

Page 61: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

61 Ing. Mg. Carmen E. Robayo V.

Page 62: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

62 Ing. Mg. Carmen E. Robayo V.

Page 63: modulo de sistemas operativos_2(1)(1)(1)(1)

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 después del lanzamiento de Windows Vista. Su nombre fue

anunciado el 13 de octubre de 2008.

El 7 de enero de 2009 fue publicada la versión beta para suscriptores de Technet y MSDN, y el 9 de enero se

habilitó una descarga para el público general por un tiempo con un límite de 2,5 millones de descargas.

El 5 de mayo de ese año se liberó la versión Release Candidate en 5 idiomas.

El 2 de junio la empresa anunció que el lanzamiento mundial de Windows 7 sería el 22 de octubre de 2009.

El 24 de julio, los directivos de Microsoft, Steve Ballmer y Steven Sinofsky, anunciaron la finalización del proceso de

desarrollo de Windows 7.

Características de Windows 7

* Se eliminó uno de las mayores molestias de Windows Vista: la cartelería de seguridad de permiso, controlado por

la herramienta Control de Cuentas de Usuario.

* Incluye mejoras en el reconocimiento de voz, soporte para pantalla táctil, discos virtuales, mejor desempeño en

procesadores multi-núcleo.

* Es más rápido 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

comercialización sólo se centrará en las ediciones Home Premium, Professional y Ultimate. Añadidas a estas tres,

se suman las versiones Home Basic y Starter, además de la versión 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

Page 64: modulo de sistemas operativos_2(1)(1)(1)(1)

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 versión 32 bits, y 2 GB para la versión 64 bits.

* 16 GB de espacio libre (32 bits) y 20 GB libres (64 bits).

* Dispositivo de gráficos DirectX 9 con soporte de controladores WDDM 1.0 (para Windows Aero)

INSTALACIÓN

Page 65: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

65 Ing. Mg. Carmen E. Robayo V.

Page 66: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

66 Ing. Mg. Carmen E. Robayo V.

Page 67: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

67 Ing. Mg. Carmen E. Robayo V.

Page 68: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

68 Ing. Mg. Carmen E. Robayo V.

Page 69: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

69 Ing. Mg. Carmen E. Robayo V.

Page 70: modulo de sistemas operativos_2(1)(1)(1)(1)

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 año 1969 en los laboratorios de la empresa AT&T desarrollado por Ken Thompson. En aquellos momentos no existía 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 años 90, Linus Benedict Torvald, un estudiante finlandés desarrolló, a partir de una versión educativa de Unix, llamada Minix, un sistema operativo totalmente nuevo llamado Linux. Este sistema era totalmente compatible con los estándares de Unix y el día 5 de octubre de 1991 se publicó la primera versión 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 científico y como tal, debe transmitirse libre y ser útil para el progreso de la humanidad. Con esta intención crean la Fundación para el Software Libre (FSF) y el proyecto GNU, con el objetivo de producir aplicaciones de libre distribución 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 código y a compartirlo a través de la red Internet hasta conseguir los niveles de desarrollo actuales.

Características de Linux Linux posee todas las características de los sistemas comerciales usados en los entornos de trabajo más exigentes y se encuentra actualmente en unas cotas de eficacia que le hacen dominar el mercado de los grandes servidores y, estar cada vez más presente en los equipos de los usuarios domésticos. Este nivel de prestaciones ha sido posible gracias a la disponibilidad de su código fuente, que permite a cualquier programador del mundo un acceso total a su corrección y mejora. Algunas de sus principales características son: ✔ Multiproceso. Permite la ejecución de varias aplicaciones simultáneamente. ✔ Multiusuario. Distintos usuarios pueden acceder a los recursos del sistema simultáneamente aunque se trate de una instalación en una sola máquina. ✔ Multiplataforma. Funciona con la mayoría de plataformas del mercado: Intel 386/486/Pentium, Motorola 680, Sun Sparc,... ✔ Shells programables que lo convierten el el sistema más flexible que existe. ✔ Soporte para cualquier cantidad y tipo de dispositivos directamente en el núcleo. ✔ Soporte para la mayoría de sistemas de ficheros. También podríamos citar su arquitectura modular que evita los sistemas monolíticos y permite prácticamente que el usuario se fabrique un núcleo a la

Page 71: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

71 Ing. Mg. Carmen E. Robayo V.

carta. Estas características lo convierten, probablemente, en uno de los sistemas más avanzados que existen. CENTOS El Community ENTerprise Operating System es un sistema operativo de Linux distribuidor por un vendedor de América del Norte. Es un programa de fuente abierta, basado en la distribución Red Hat Enterprise Linux. Destinado a ser un sistema de programa de "clase empresarial" gratuito, CentOS es robusto, estable y fácil de instalar y utilizar. Sorprendentemente, CentOS soporta cada edición, o lanzamiento, por siete años. Luce y se opera de forma similar al RHEL (Red Hat Enterprise Linux). CentOS instalará GNOME o KDE para tu escritorio. Tú eliges cuál durante la instalación. Las aplicaciones son típicas en cada uno. Una instalación GNOME te ofrece GIMP, MPlayer, Sound Juicer, RhythmBox, OpenOffice, Ekiga (Video chat) y Firefox; una instalación KDE agrega K3B y Amarok, pero de cualquier modo mantiene la mayoría de las mismas aplicaciones. Puedes utilizar YUM para agregar el programa que necesites.

Page 72: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

72 Ing. Mg. Carmen E. Robayo V.

Page 73: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

73 Ing. Mg. Carmen E. Robayo V.

Page 74: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

74 Ing. Mg. Carmen E. Robayo V.

Page 75: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

75 Ing. Mg. Carmen E. Robayo V.

Page 76: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

76 Ing. Mg. Carmen E. Robayo V.

Page 77: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

77 Ing. Mg. Carmen E. Robayo V.

Page 78: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

78 Ing. Mg. Carmen E. Robayo V.

5.5. WINDOWS 8

Windows 8 es la versión 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 portátiles, tabletas, servidores y centros multimedia. Añade soporte para microprocesadores ARM, además de los microprocesadores tradicionales x86 de Intel y AMD. Su interfaz de usuario ha sido modificada para hacerla más adecuada para su uso con pantallas táctiles, además de los tradicionales ratón y teclado. Microsoft también anunció que Aero Glass no estará presente en la versión final de Windows 8. Windows 8 está enfocado para ser usado en dispositivos portables como teléfonos Smartphone y tabletas, un mercado en el que las versiones anteriores de Windows no eran funcionales. Estos equipos no poseen ratón ni muchas veces teclados físicos, por lo que se introduce una interface llamada Modern UI, que rompe con todo lo que estábamos acostumbrados desde los primeros Windows.

Los requerimientos mínimos 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 gráfica con soporte DirectX 9 y con driver WDDM 1.0 o superior

Además, si queremos ejecutar aplicaciones Metro, se requiere una resolución mínima de pantalla de 1024×768 píxeles, y 1366×768 píxeles para utilizar la funcionalidad de captura.

Page 79: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

79 Ing. Mg. Carmen E. Robayo V.

Page 80: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

80 Ing. Mg. Carmen E. Robayo V.

Page 81: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

81 Ing. Mg. Carmen E. Robayo V.

Page 82: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

82 Ing. Mg. Carmen E. Robayo V.

Page 83: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

83 Ing. Mg. Carmen E. Robayo V.

Page 84: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

84 Ing. Mg. Carmen E. Robayo V.

Page 85: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

85 Ing. Mg. Carmen E. Robayo V.

Page 86: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

86 Ing. Mg. Carmen E. Robayo V.

Page 87: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

87 Ing. Mg. Carmen E. Robayo V.

Page 88: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

88 Ing. Mg. Carmen E. Robayo V.

Page 89: modulo de sistemas operativos_2(1)(1)(1)(1)

MODULO DE SISTEMAS OPERATIVOS

89 Ing. Mg. Carmen E. Robayo V.

SOFTWARE CARACTERÍSTICAS

MS-DOS

WINDOWS XP

WINDOWS 7

WINDOWS 8

CENTOS

Page 90: modulo de sistemas operativos_2(1)(1)(1)(1)

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