SISTEMAS OPERATIVOS. Problemas escogidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "SISTEMAS OPERATIVOS. Problemas escogidos"

Transcripción

1 SISTEMAS OPERATIVOS Problemas escogidos Febrero 2007

2

3 A continuación se presenta una selección de problemas que han sido objeto de examen de Sistemas Operativos en cursos anteriores. La tabla siguiente refleja, agrupados por temas, los problemas seleccionados, la convocatoria en la que se pusieron, así como un breve comentario de los aspectos sobre los que se pregunta y referencia a la página de este documento donde aparece el enunciado. Tema Ejer. Fecha Comentario Página Procesos Memoria E/S Ficheros 2 31/01/95 Seguimiento sencillo de RR, SJF y prioridades /01/97 Cálculo de tiempo de retorno, rendimiento y eficiencia /09/03 Threads en nivel de usuario y de S.O. (aptdos. 1, 2c, 3) /09/99 Implementar dormirse (segundos) /09/04 Seguimiento de política de planificación tipo tiempo real /12/04 Programación de rutinas de planificación tipo tiempo real /12/01 Planificación tipo Linux /12/05 Políticas de planificación para sistemas interactivos /06/04 Cálculos sobre particiones variables y paginación /09/01 Organización general de la paginación /07/01 Paginación y organizar área swap con lista encadenada /12/01 Tabla de Páginas de dos niveles /06/03 Tabla de Páginas Invertida /12/04 Introducción a la segmentación (cap.5 Tanen.) Tiempos de transferencia en una red xx 14 (cap.5 Tanen.) Estructura de un disco: cilindros, pistas y sectores xx 20 (cap.5 Tanen.) Tiempos de lectura en disco flexible xx 24 (cap.5 Tanen.) Algoritmos de planificación de disco (1) xx 25 (cap.5 Tanen.) Algoritmos de planificación de disco (2) xx 3 17/06/05 Accesos a disco /09/96 Sistema de tipo UNIX y creación de estructura /06/97 Similar al anterior mezclando MS/DOS y UNIX /12/03 UNIX tratando caché de bloques /12/05 Accesos a bloques de disco correspondientes a un fichero 29 i

4

5 Examen Final de I 31 de Enero de 1995 EJERCICIO 2 (4 puntos) Tiempo estimado: 60m. Disponemos de un sistema con multiprogramación implementado con un solo procesador en el cual se ejecutan los tres procesos descritos a continuación: Proceso P1 Instante de llegada: 0 Prioridad: Baja Estructura del proceso: 27 mseg de utilización de U.C.P., seguidos de 10 mseg de acceso a E/S y finalizando con 5 mseg de U.C.P. Proceso P2 Instante de llegada: 5 Prioridad: Media Estructura del proceso: 25 mseg de utilización de U.C.P., seguidos de 20 mseg de acceso a E/S y finalizando con 5 mseg de U.C.P. Proceso P3 Instante de llegada: 8 Prioridad: Alta Estructura del proceso: 8 mseg de utilización de U.C.P., seguidos de 10 mseg de acceso a E/S y finalizando con 5 mseg de U.C.P. No se debe olvidar que además de estos procesos, existe un proceso ocioso cuyo fin es utilizar la U.C.P. mientras no la necesite ningún otro proceso. Además, vamos a considerar que el tiempo necesario para efectuar el cambio de contexto es nulo. El objeto de este ejercicio es analizar el comportamiento de los distintos procesos en función de diferentes políticas de planificación de U.C.P. Para la respuesta se utilizarán los gráficos proporcionados en la hoja de respuestas. Teniendo en cuenta todo lo anterior, se pide completar los gráficos (sombreando los instantes en que cada proceso está utilizando el procesador) correspondientes a cada una de las siguientes políticas de planificación: 1.- Round-Robin (expulsora) con rodajas de tiempo de 10 mseg. 2.- Más-Corto-Primero (no expulsora). Considerando el tiempo total de U.C.P. 3.- Prioridades (no expulsora). 4.- Prioridades (expulsora). 1

6 SISTEMAS OPERATIVOS I 31 de enero de 1995 Hoja de Respuestas del EJERCICIO 2 APARTADO 1 OCIOSO P3 P2 P tiempo (mseg.) APARTADO 2 OCIOSO P3 P2 P tiempo (mseg.) APARTADO 3 OCIOSO P3 P2 P tiempo (mseg.) APARTADO 4 OCIOSO P3 P2 P tiempo (mseg.) 2

7 Examen Final de I 18 de enero de 1997 EJERCICIO 3 (3,5 puntos) Tiempo estimado: 1h 30 m. Un entorno monoprocesador soporta un sistema operativo multiproceso que solo está ejecutando procesos con código y datos idénticos. Cada proceso requiere N periodos de tiempo T para completar su ejecución. En cada periodo de tiempo T, emplea la primera mitad en realizar E/S y la segunda mitad en ejecutarse en el procesador. El algoritmo de planificación empleado es Round-Robin con una rodaja de tiempo de T/2. Sean las siguientes definiciones: SE PIDE: TIEMPO DE RETORNO ( completamente. TIEMPO MEDIO DE RETORNO ( t R ): tiempo total necesario para que un proceso se ejecute T R ): media aritmética de los tiempos de retorno de cada proceso. RENDIMIENTO ( R ): número de procesos terminados por periodo de tiempo T. EFICIENCIA ( E ): porcentaje de tiempo en el que la cpu está activa. 1. Suponiendo que todos los procesos pueden realizar simultáneamente operaciones de E/S se considera que el tiempo empleado en cambio de contexto en despreciable el valor de N puede tomar valores pequeños. Indicar el tiempo medio de retorno T, el rendimiento R por periodo de tiempo T y la eficiencia E, R en función de N y T, cuando en el sistema se están ejecutando: a) 1 proceso b) 2 procesos c) 4 procesos 2. Calcular el valor de la eficiencia para los tres casos anteriores si: a) N= 4 b) N=16 3. Analice los resultados obtenidos con respecto a la eficiencia. 3

8 Examen Final de I 10 de Septiembre de 2003 EJERCICIO 2 (puntuación 3 5 puntos) Tiempo Estimado: 60 m Se cuenta con un sistema operativo multiproceso tradicional, en el que cada proceso cuenta con un único hilo de ejecución o thread. Sin embargo, se pretende que los procesos de usuario puedan ser multihilo, es decir, cuenten con varios threads de ejecución. Para conseguirlo, se proporciona una biblioteca, por encima del sistema operativo, que ofrece funciones para crear y destruir threads, así como para establecer la política de planificación de dichos threads dentro del proceso, como se puede ver en la siguiente figura: Proceso de usuario P 1 Sistema Operativo Thread 1 BCT s T 1 T 2 Thread 2 FIFO P n P 1 Cola de preparados BCP s P1 Pn cpu Round Robin En este modelo, cuando el sistema operativo asigna al proceso de usuario una porción de procesador mediante la política planificación Round Robin, dentro del proceso se reparte dicho tiempo entre los threads creados, según la política de planificación local establecida en la biblioteca, en este caso es FIFO. Además, todas las estructuras necesarias para mantener los threads de un proceso se crean dentro del espacio del proceso, incluida una tabla de bloques de control de threads (Tabla de BCT`s). Hay que destacar que, al crear los threads en el nivel de usuario, estos threads no existen para el sistema operativo: para el núcleo la unidad de planificación es el proceso. Suponiendo que el sistema operativo utiliza Round Robin con una porción de tiempo de 100 ms y que se crean simultáneamente dos procesos P1 y P2 (estando P1 el primero en la cola de preparados) cuyo código es el siguiente: P1 P2 (1) Usa cpu (50 ms) Usa cpu (30 ms) (2) Hace una llamada al sistema bloqueante (100 ms) (3) Usa cpu (10 ms) (4) Usa cpu (30 ms) Se pide: 1) Dibuje el cronograma relativo a los procesos P1, P2 y el proceso ocioso para los casos siguientes: a) El proceso P1 es monohilo. b) El proceso P1 tiene dos hilos: el hilo P1 A ejecuta las tres primeras instrucciones (1, 2 y 3) y el hilo P1 B ejecuta la última (4). Se supone que P1 A está antes que P1 B en la cola de preparados. 4

9 2) Ahora se desea que la gestión de threads se haga desde dentro del sistema operativo, para que la unidad mínima de planificación sea el thread y no el proceso, por lo que es necesario modificar el núcleo, tal como se ve en la figura: Proceso de usuario P 1 T 1 T 2 Sistema Operativo T n T 2 T 1 Cola de preparados BCP s P1? Pn cpu Round Robin a) Indique todos los campos de las estructuras que introduciría o modificaría para que el núcleo pueda soportar threads. b) Proponga las especificaciones de las llamadas al sistema que permitan crear y destruir threads. c) Repita el cronograma para el proceso P1 multihilo y P2, siendo el orden inicial en la cola de preparados P1 A, P1 B y P2. 3) Explique razonadamente qué ventajas e inconvenientes ve en el uso de los threads: a) Implementados en el espacio de usuario. b) Implementados dentro del sistema operativo. 5

10 Examen Final de I 2 de Septiembre de 1999 EJERCICIO 3 (4 puntos) Tiempo: 60 min. En un sistema monoprocesador, se desea implementar la parte del Sistema Operativo que permite que los procesos se duerman durante un cierto tiempo. En concreto, dar soporte a la llamada al sistema cuyo perfil es el siguiente: PROCEDURE dormirse (segundos: in POSITIVE); Cuando un proceso ejecute esta llamada, el Sistema Operativo debe garantizar que el proceso en cuestión se duerme (deja la posesión de la UCP) durante al menos los segundos indicados, tomando control lo antes posible una vez transcurrido dicho tiempo y respetando siempre la política de planificación del sistema. Se dispone de una interrupción periódica que sucede cada 100 milisegundos, cuya rutina de tratamiento asociada denominaremos rutinareloj. Para la gestión de procesos, el Sistema Operativo tiene, entre otras, las estructuras de datos siguientes: maxprocesos : constant := 50; type idproceso is INTEGER range 0..maxProcesos; type descriptorproceso is record pid : idproceso; -- El identificador del proceso siguiente: idproceso; end record; type colaprocesos is record primero: idproceso := 0; ultimo : idproceso := 0; end record; procesos enejecucion: idproceso; preparados : colaprocesos; Se pide: -- Para encadenar descriptores en colas -- Resto de campos : array [1..maxProcesos] of descriptorproceso; -- Identificador del proceso en ejecucion 1. Indica qué nuevas estructuras de datos y/o modificaciones a las ya existentes, introducirías para dar soporte a este servicio que permite dormirse a los procesos. 2. Describe las acciones que ejecutará el Sistema Operativo desde que toma control debido a que un proceso llama a dormirse, hasta que devuelve el control al siguiente proceso a ejecutar. Se puede mezclar lenguaje formal tipo Ada con expresiones informales del tipo: se salva el estado del proceso en ejecución, se mete al proceso en ejecución en la cola de preparados, etc. 3. Describe, con el mismo nivel de detalle que en el punto anterior (2), las acciones que ejecutará la rutina del Sistema Operativo rutinareloj, supuesto que la misma sólo se utiliza para poder dar soporte a dormirse. 4. Supuesta planificación mediante Round-Robin con rodajas de tiempo de 500 milisegundos y que un proceso ejecuta dormirse (5), indica (lo más aproximado que puedas) cuál es el tiempo máximo que dicho proceso estará bloqueado y cuál es el tiempo máximo que puede transcurrir desde que el proceso se duerme hasta que dicho proceso vuelve a tener la UCP. Razónalo. 5. Responde a lo mismo que en (4) pero suponiendo ahora planificación por prioridades. Nota: En los apartados 1, 2 y 3 no se trata de implementar la solución más eficaz, basta con una que funcione de forma razonable. 6

11 Examen Final de I 8 de septiembre de 2004 EJERCICIO 2 (3,5 puntos) Tiempo estimado: 50 min. Sea un sistema de planificación de procesos por prioridades expulsor. A cada proceso se le asigna una prioridad fija cuando se crea que consiste en un número entero positivo; a mayor valor, mayor prioridad. Sean tres procesos A, B y C con prioridades 33, 25 y 20 respectivamente. Estos procesos tienen que ejecutarse periódicamente cada 30, 40 y 50 ms. respectivamente. Esto quiere decir que, por ejemplo, el proceso A debe ejecutarse una vez entre los instantes 0 y 30 ms.; otra vez entre los instantes 30 y 60 ms; y así sucesivamente. En cada activación el proceso A consume 10 ms. de CPU, el proceso B consume 15 ms. y el proceso C consume 5 ms. Nota: En el instante t = 0, los tres procesos A, B y C están preparados y ninguno de ellos realizará operaciones de E/S. SE PIDE:. 1) Dibuje un diagrama de tiempos (hasta el instante t=110) donde se aprecie los periodos de tiempo (para cada proceso) en los que se está ejecutando. Qué proceso se está ejecutando en el intervalo ? Y en el intervalo ? Y en el intervalo ? 2) Suponga ahora que el tiempo de ejecución para el proceso A es de 15 ms. en lugar de 10 ms. (manteniéndose igual el resto de los datos). Dibuje un diagrama de tiempos (hasta el instante t=60) donde se aprecie los periodos de tiempo (para cada proceso) en los que se está ejecutando. Qué proceso se está ejecutando en el intervalo ? Y en el intervalo ? Y en el intervalo ? 3) En las condiciones del apartado 2, suponga ahora que cambiamos el planificador tal que el nuevo planificador (con política expulsora) selecciona al proceso cuyo fin de periodo está más próximo a vencer. Dibuje un diagrama de tiempos (hasta el instante t=85) donde se aprecie los periodos de tiempo (para cada proceso) en los que se está ejecutando. Qué proceso se está ejecutando en el intervalo ? Y en el intervalo ? Y en el intervalo ? 7

12 Examen Final de I 15 de diciembre de 2004 EJERCICIO 2 (3.5 puntos) Tiempo estimado: 60 m Queremos diseñar el planificador de procesos de un sistema operativo que se va a utilizar para soportar específicamente procesos multimedia. En este tipo de sistemas las aplicaciones se caracterizan por tener que ejecutarse dentro de unos rangos de velocidad determinados, por ejemplo, un proceso encargado de visualizar un vídeo deberá ejecutarse de una forma más o menos continua, sin parones ni acelerones. Para ello, al crear un proceso se realiza una reserva de CPU al sistema operativo. En esta reserva se especifican dos parámetros: Tiempo de Cómputo (C) y Periodo (P). El sistema operativo deberá encargarse de ejecutar este proceso durante P u.t. P u.t. P u.t. C unidades de tiempo (u.t.) cada P u.t. La ejecución de las C u.t. puede hacerse en cualquier punto del C Ejecución u.t. C intervalo, pero siempre dentro de las P u.t. Además, u.t. C u.t. del proceso la ejecución de las C u.t. no tiene por qué ser consecutiva. Las C u.t. de un proceso tendrán como plazo máximo para finalizar el siguiente instante de activación del proceso. No obstante, para evitar sobrecargas, el sistema tiene que controlar que la necesidad de CPU de todos los procesos existentes cumpla la condición: N Ci 1 Pi i=1 donde Ci y Pi son los parámetros de reserva de cómputo de los procesos y N es el número de procesos existentes en el sistema. Si no se va a cumplir esta condición, al intentar hacer la reserva el sistema operativo devolverá el valor 1 como código de error. El sistema operativo va a seguir una planificación expulsora EDF (Earlest Deadline First). En esta planificación el sistema operativo elige como siguiente proceso a ejecutar aquel que tenga más próximo el siguiente plazo de ejecución, es decir, aquel cuya siguiente activación esté más próxima. Se pide: 1) A continuación se especifica una lista de acciones (desordenadas) que tiene que realizar en algún momento el sistema operativo y que están relacionadas con la gestión de procesos: Seleccionar al siguiente proceso en ejecutar Desbloquear a los procesos que les toca activarse Crear un descriptor de proceso Comprobar si se han cumplido las C u.t. del proceso que está en ejecución Actualizar la variable del sistema Instante_Actual, que contiene la hora actual del sistema Comprobar la necesidad de CPU de los procesos Estas acciones se llevarán a cabo dentro de diversas rutinas del sistema operativo. Especifique cuáles serán dichas rutinas, indicando para cada una de ellas: Nombre de la rutina Motivo de activación de dicha rutina Acciones (ordenadas) de la lista anterior que tiene que llevar a cabo Completar la rutina con otras acciones que considere necesarias y que no están incluidas en la lista (con un nivel de detalle similar) 8

13 2) Dadas las siguientes estructuras de datos. maxprocesos : constant := 50; type idprocesos is INTEGER range 0..maxProcesos; type descriptorproceso is record pid : idproceso; -- Identificador de proceso siguiente : idproceso; -- Apunta al siguiente elemento, para formar una lista tiempocomputo : integer; -- Tiempo de computo reservado periodo : integer; -- Periodo indicado en la reserva siguienteactivacion : integer; -- Instante de la siguiente activación para el proceso credito : integer; -- Unidades de tiempo que le queda al proceso por ejecutar durante su activación actual end record; type colaprocesos is record primero : id Proceso := 0; ultimo : idproceso := 0; end record; procesos : array [0..maxProcesos] of descriptorproceso: enejecucion : idproceso; -- Identificador del proceso en ejecución preparados : colaprocesos; dormidos : colaprocesos; instanteactual : integer; -- Reloj creciente que marca el instante actual Detalle de forma algorítmica las siguientes acciones: Comprobar que se han cumplido las C u.t. del proceso que está en ejecución Desbloquear a los procesos que les toca activarse Crear un descriptor de proceso Comprobar la necesidad de CPU de los procesos Seleccionar al siguiente proceso en ejecutar NOTA: Para especificar operaciones de insertar/sacar elementos de listas no hará falta detallar a nivel de punteros. Bastará con indicar en seudocódigo qué operación se realiza, con qué elemento y en qué lista. 9

14 Examen Final de I 12 de diciembre de 2001 EJERCICIO 3 (3 5 puntos) Tiempo estimado: 75 m Tenemos un sistema operativo con un algoritmo de planificación similar al de linux, tal y como se describe a continuación. El sistema dispone de dos algoritmos de planificación, uno para procesos de tiempo compartido y otro para procesos de tiempo real. Cada proceso puede acogerse a cualquiera de estas dos políticas de planificación. Para los procesos de tiempo compartido se utiliza un algoritmo basado en créditos. Cada proceso dispone de un número de créditos, de tal manera que para seleccionar el siguiente proceso a ejecutarse, se elige al que tiene más créditos acumulados. Cada vez que se produce una interrupción de reloj, el proceso en ejecución pierde un crédito; cuando su número de créditos llega a cero, pierde la CPU y se selecciona otro proceso. Cuando no queda ningún proceso preparado con créditos, el sistema vuelve a asignar créditos a todos los procesos del sistema en función de su prioridad según la regla siguiente: Créditos = (Créditos_Restantes / 2) + Prioridad. Para los procesos de tiempo real, el sistema siempre concede la CPU al proceso de mayor prioridad, implementando dos algoritmos por prioridad expulsores: FIFO y Round Robin. Cada proceso de tiempo real debe indicar a cual de los dos se acoge. En el algoritmo FIFO no se le quita la CPU a no ser que pase a preparado un proceso de mayor prioridad. En el algoritmo Round Robin, la CPU se reparte en idénticas rodajas de tiempo entre los procesos que tengan la misma prioridad. El sistema solo ejecutará un proceso de tiempo compartido si no hay ningún proceso de tiempo real preparado para ejecutar. 1.- (0.7 ptos.) Dadas las siguientes estructuras de datos, indica qué nuevas estructuras de datos y/o modificaciones a las ya existentes introducirías para dar soporte al algoritmo de planificación descrito, teniendo en cuenta que las estructuras de datos deben permitir accesos eficientes a la información. const maxprocesos = 50; type idproceso = 0..maxProcesos; descriptorproceso = record pid : idproceso; siguiente : idproceso; end; colaprocesos = record primero : id Proceso := 0; ultimo : idproceso := 0; end; var procesos : array [1..maxProcesos] of descriptorproceso: enejecucion : idproceso; (* Id. del proceso en ejecución *) preparados : colaprocesos; 10

15 2.- (0.5 ptos.) El efecto de la ejecución de algunas rutinas puede (no siempre) provocar la realización de un cambio de contexto. Rellena la siguiente tabla indicando, para cada una de las rutinas de la primera columna y para los dos algoritmos de planificación indicados en la primera fila: SÍ: si en algunas circunstancias puede provocar un cambio de contexto NO: si nunca provocarán cambio de contexto Subir (Semaforo) Bajar (Semaforo) Rutina Tratam. Interrup. por finalización de E/S Crear_Proceso Dormir (Lapso_Tiempo) Round Robin (puro) Algoritmo descrito similar a linux 3.- (0.8 ptos.) Supongamos que las rodajas de tiempo del sistema son de 2 unidades de tiempo (u.t.). En el sistema existen, en un momento dado, los procesos indicados en la siguiente tabla, para los cuales se indica las unidades de tiempo de CPU que necesitan y entre paréntesis el número de unidades de tiempo que están bloqueados en espera de E/S. Por ejemplo, P1 necesita inicialmente 4 u.t de CPU, a continuación se bloquea durante 10 u.t y finalmente necesita 4 u.t. más de CPU. Además, se especifica el tipo de proceso que es cada uno. Tiempos Tipo de Proceso P1 4 (10) 4 Tiempo Real FIFO con prioridad 20 P2 3 (3) 3 Tiempo Real Round Robin con prioridad 10 P3 3 (3) 3 Tiempo Real Round Robin con prioridad 10 P4 4 (2) 2 Tiempo Compartido (prioridad 20 > prioridad 10) Dibuja un cronograma que indique el orden en que se ejecutarán los procesos, suponiendo que todos están preparados en el instante cero y que el orden de llegada ha sido P1, P2, P3 y P (0.7 ptos.) Supongamos que en el sistema existen los procesos indicados en la siguiente tabla. Tiempos Tipo de Proceso P1 5 (7) 5 (7) 5 Tiempo Real con prioridad 20 y FIFO P2 4 (3) 2 Tiempo Real con prioridad 10 y Round Robin P3 Tcpu-P3 Tiempo Real con prioridad 10 y Round Robin P4 3 Tiempo Compartido Sabemos que: el tiempo de retorno de P2 es MENOR que el tiempo de retorno de P1 el tiempo de retorno de P3 es MENOR que el tiempo de retorno de P1 entendiendo por tiempo de retorno el tiempo que un proceso tarda en ejecutarse completamente. Calcula el tiempo máximo de CPU que puede llegar a tener el proceso P3 (máximo Tcpu-P3) para que se cumplan las dos condiciones anteriores. Razona la respuesta. 11

16 5.- (0.8 ptos.) Sabemos que en el sistema se produce una interrupción de reloj cada 2 u.t. Con cada interrupción de reloj se finaliza una rodaja de tiempo para los procesos de tiempo compartido. Supongamos que en el sistema existen los procesos indicados en la siguiente tabla, donde Créditos (Pn) indica el número de créditos que tiene el proceso Pn. Tiempos Tipo de Proceso P1 5 (20) 8 Tiempo Real con prioridad 20 y FIFO P2 3 (6) 2 Tiempo Real con prioridad 10 y Round Robin P3 22 Tiempo Compartido con Créditos(P3) P4 5 Tiempo Compartido con Créditos(P4) Considerando la siguiente situación: Créditos (P3) es MAYOR que los Créditos (P4) el proceso P4 tiene suficientes créditos para acabar su ejecución antes de que se le agoten el tiempo de retorno de P4 es menor que el tiempo de retorno de P1 indica el número máximo de Créditos(P3) para que se cumpla la situación descrita. Razona la respuesta. 12

17 Examen Final de I 14 de diciembre de 2005 EJERCICIO 2 (3,5 PUNTOS) Tiempo estimado: 60 Minutos Queremos tener un sistema operativo que soporte la gestión de procesos convencionales (pesados) y procesos ligeros (threads) en un sistema monoprocesador. Para ello debemos disponer de las siguientes llamadas, todas ellas ejecutadas por el núcleo del sistema operativo: Crear_Thread (Nombre_Procedimiento: Puntero_a_Procedimiento, P: Prioridad) return Identificador_de_thread Crea un nuevo thread que ejecuta el código contenido en el procedimiento que se indica como parámetro. A dicho thread se le asigna la prioridad del proceso padre incrementada con el valor de P. Crear_Proceso (Nombre_Fichero: Tira_Caracteres, P: Prioridad) return Identificador_de_Proceso Crea un nuevo proceso que ejecuta el código contenido en el fichero que se indica como parámetro. A dicho proceso se le asigna la prioridad del proceso padre incrementada con el valor de P. Además, se crea un thread que corresponderá a la ejecución del programa principal del proceso. Además disponemos de las siguientes llamadas al sistema Esperar_Fin_Thread (IdThread: Identificador_de_Thread) Esperar_Fin_Proceso (IdProceso: Identificador_de_Proceso) En cualquier caso, a mayor número P mayor será la prioridad del proceso. El tiempo consumido por las cuatro llamadas al sistema anteriormente descritas no es significativo. Tenemos los procesos de las figuras 1 y 2, compuestos por los fragmentos de código desde A1 hasta C6 y las operaciones de E/S que tardan en realizarse el tiempo especificado entre paréntesis. Sabemos que cada uno de estos fragmentos de código tiene un tiempo de CPU de 100 unidades de tiempo y no realizan llamadas al sistema. Inicialmente se crea el proceso A. 1.- Supongamos que se trata de un sistema interactivo, por lo que desechamos los algoritmos propios de los sistemas Batch y decidimos considerar sólo los algoritmos de planificación propios de los sistemas interactivos. En el conjunto de procesos de la figura 1: a.- Indique dos de estos algoritmos que hagan que comience a ejecutarse A3 antes que B1 y C1. b.- Indique dos de estos algoritmos que hagan que comience a ejecutarse B1 antes que C1. c.- Indique uno de estos algoritmos que haga que comience a ejecutarse C1 antes que B1. Para todos los casos justifique la respuesta. 2.- Supongamos que queremos dar mayor ventaja a los procesos más interactivos. a.- Proponga un algoritmo basado en prioridades que permita que el proceso B finalice su ejecución antes que el proceso C en el conjunto de procesos de la figura 1. Explique de forma clara y concisa el funcionamiento de dicho algoritmo. b.- Dibuje un cronograma que muestre el orden en que se ejecutarían los procesos siguiendo dicho algoritmo. 3.- Explique la ventaja que tiene la implementación de threads a nivel de sistema operativo (kernel) en vez de hacerlo a nivel de biblioteca de usuario. Dibuje un cronograma a partir del conjunto de procesos de la figura 2, donde se vea un caso concreto que demuestre dicha ventaja. El cronograma se deberá completar hasta la finalización de todos los threads contenidos en los procesos B y C. Además se deberá indicar la política de planificación que se ha elegido para realizar dicho cronograma. 13

18 Proceso A (* Programa principal *) A1 IdB := CrearProceso (B, 1) A2 IdC := CrearProceso (C, 2) A3 Esperar_FinProceso (IdB) Esperar_Fin_Proceso (IdC) Figura 1 Proceso B (* Programa principal *) B1 E/S (200) B2 E/S (200) B3 Proceso C (* Programa principal *) C1 C2 C3 E/S (100) C4 C5 C6 Proceso A (* Programa principal *) A1 IdB := CrearProceso (B, 1) A2 IdC := CrearProceso (C, 2) A3 Esperar_FinProceso (IdB) Esperar_Fin_Proceso (IdC) Figura 2 Proceso B Procedure x1 B1 Procedure x2 B2 (* Programa principal *) Idx1 := CrearThread (x1, 0) Idx2 := Crearthread (x2, 1) B0 Esperar_Fin_Thread (Idx1) Esperar_Fin_Thread (Idx2) B4 Proceso C Procedure y1 C1 E/S (250) C2 Procedure y2 C3 (* Programa principal *) Idy1 := CrearThread (y1, 2) Idy2 := Crearthread (y2, 1) C0 Esperar_Fin_Thread (Idy1) Esperar_Fin_Thread (Idy2) C4 14

19 Examen Final de I 8 de Junio de 2004 EJERCICIO 2 (3,5 puntos) Tiempo: 60 min. Un ordenador tiene una memoria de 64MB. El sistema operativo gestiona la memoria por intercambio (swapping) con particiones variables. El tamaño medio de los procesos es de 3MB y el tamaño medio de los huecos es de 2MB. Por término medio, existen la mitad de huecos que de procesos. Este ordenador dispone de un disco que tiene 2048 cilindros, 24 pistas por cilindro, 256 sectores por pista y 512 bytes por sector. El tiempo medio de posicionamiento es de 6 9 ms. y el tiempo de rotación es de 8 33 ms. Este ordenador es capaz de copiar 4 bytes en 40 nanosegundos (de memoria a memoria). (NOTA: cada respuesta debe incluir el desarrollo que ha llevado a la misma. No se aceptan respuestas en las que sólo figure el resultado final). Responder, de forma razonada, a las cuestiones siguientes: 1. [0 7] Calcule cuál será, por término medio, el grado de multiprogramación. 2. [0 2] Si por término medio un proceso pasa el 80% de su vida esperando por una entrada/salida, calcule la utilización de la CPU si el grado de multiprogramación es el calculado en el apartado 1. (No considere el tiempo que un proceso está esperando en el estado de preparado). 3. [0 7] Suponga que existen 8 huecos (no adyacentes) de 2MB cada uno. Uno de tales huecos se encuentra en el extremo superior de la memoria disponible para los procesos de usuario mientras que otro de esos huecos se encuentra en el extremo inferior de dicha memoria. Ahora es necesario cargar (desde disco) un nuevo proceso (de 3MB) en memoria y no se debe expulsar a ninguno de los ya cargados. Calcule el tiempo total para ubicar en memoria a este nuevo proceso supuesto que el proceso se encuentra en sectores distribuidos aleatoriamente por todo el disco. (Cuando se compacta se debe generar un único hueco a partir de todos los huecos existentes. En los cálculos trabaje con una precisión de 3 decimales). 4. [0 2] Si la unidad de asignación es de 4KB, calcule el tamaño (en bytes) del mapa de bits que mantiene la información sobre memoria libre/ocupada. Suponga ahora que sobre el ordenador anterior el sistema operativo gestiona una memoria virtual por paginación con un tamaño de página de 8KB. La CPU genera direcciones virtuales de 32 bits. Indique: 5. [0 2] Longitud (en bytes) de una entrada a la tabla de páginas. Cada entrada mantendrá un número de marco, un bit de presencia/ausencia, un bit de ensuciado y un bit de referencia. 6. [0 2] Tamaño de la tabla de páginas (en bytes). 7. [0 3] Tamaño de la tabla invertida de páginas (en bytes). 8. [0,3] Si las páginas virtuales 0, 1 y 2 están cargadas en los marcos de página 4, 6 y 7 respectivamente, cuál es la dirección física correspondiente a la dirección virtual 8193 (decimal)? 9. [0,7] Suponga que la MMU utiliza una TLB. El tiempo de acceso a la TLB es de 0 1 microsegundo, el tiempo de acceso a la tabla de páginas es de 10 microsegundos y el tiempo de acceso a una palabra en RAM es de 1 microsegundo. Cuánto tiempo se tarda en, dada una dirección virtual, acceder a la dirección física correspondiente si: a) la búsqueda se resuelve en la TLB; b) la búsqueda se resuelve en la tabla de páginas? (Suponga que la TLB no está llena). 15

20 Examen Final de I 17 de Septiembre 2001 EJERCICIO 3 ( 3,5 puntos) Tiempo estimado: 60m. Se desea implementar una gestión de memoria virtual mediante paginación en un equipo informático. El bus de direcciones es de 32 bits. La unidad mínima direccionable es un byte. La cantidad de memoria RAM (real) instalada en el equipo puede ser variable. La cantidad mínima de memoria es de 4 MB y se puede incrementar en potencias de 2 (es decir 4 MB, 8 MB, 16MB, 32MB,etc..., hasta un máximo). El tamaño de la página es de 4KB y el del descriptor de página de 3 bytes. Se desea poder controlar si se ha accedido a una página, si se ha modificado, así como también poder protegerla de lectura, escritura y ejecución. Con estos datos en principio, supuesto que se dispone de suficiente memoria secundaria para dar soporte a la memoria virtual y para un espacio de direccionamiento único se pide: 1) Especifique los formatos de dirección lógica (virtual) y de descriptor de página. 2) Escriba el tamaño de la tabla de páginas (en bytes) 3) Escriba la cantidad máxima de memoria real que puede manejar este Sistema (en bytes). Para dar soporte a la memoria virtual se dispone de un dispositivo de almacenamiento secundario de 8GB, pero que sólo tiene disponibles 2GB para memoria virtual. Estos 2GB están asignados a un fichero que se usará para guardar las páginas. Los bloques de datos de este fichero no tienen por qué ser contiguos. Cuando una página no se encuentra en memoria real, el campo Número de marco del descriptor de página guarda el número de bloque del dispositivo de almacenamiento secundario donde reside la página. La numeración de bloques del disco comienza en 1, así que se reserva el numero 0 para indicar que la página no tiene ningún bloque asignado. Con esta nueva información se pide: 4) Escriba la cantidad de memoria virtual máxima de la que se podría disponer (en bytes). 5) Escriba el tamaño que debería tener el bloque de almacenamiento secundario para dar soporte a la misma (en bytes). 6) Describa un posible esquema de asignación de páginas a bloques, es decir, qué páginas se guardarían en los bloques. En principio se pensó en guardar la tabla de páginas completa en memoria y que las páginas que ocupase esta tabla no pudieran ser seleccionables por el algoritmo de sustitución de páginas; de este modo la MMU podría resolver fácilmente la traducción de páginas, yendo directamente con cada dirección a la tabla de páginas en memoria. Debido al gran gasto de memoria se opta finalmente por que la tabla de paginas no tenga que estar completamente en memoria principal, sino que pueda estar también paginada. Se pide: 7) Indique si modificaría o no la MMU para dar soporte a esta opción y en su caso en qué consistiría esta modificación. 8) Describa en líneas generales cómo funcionaría la traducción de una dirección con esta opción. 16

21 Examen Final de I 2 de julio de 2001 EJERCICIO 3 (3,5 puntos) Tiempo: 75 min. Se desea implementar un sistema operativo con multiprogramación (gestionando un máximo de 128 procesos) y memoria virtual paginada. Se debe tener en cuenta lo siguiente: CPU con 32 bits para su conexión al bus de direcciones y un Registro de Reubicación. Un disco de 2GB y sectores de 1KB, para usarlo en exclusiva como soporte de la memoria virtual. Páginas de 4KB y Tabla de Páginas completa residiendo en Memoria Principal. Un único espacio de direcciones virtuales para todos los procesos y lo más grande que se pueda. La memoria virtual, en un momento dado, tiene el aspecto de la figura siguiente: H1 Pi H2 Pk H3 Puede observarse que las tres primeras páginas están vacías (primer hueco H1), las tres páginas siguientes están ocupadas por el proceso Pi, las cuatro siguientes están libres y las cinco siguientes están ocupadas por el proceso Pk, y el resto de páginas se supone que están libres. Se trata, entre otras cuestiones, de analizar si es más eficiente en ocupación de memoria el gestionar la memoria virtual libre y ocupada mediante un mapa de bits o una única lista doblemente encadenada tal que: Los elementos de la lista (que incluye tanto la descripción de zonas de memoria libre huecos como las ocupadas por procesos), están ordenados por dirección Se usa el algoritmo NEXT FIT (siguiente que sirva) para asignar memoria a un proceso. Una representación lógica de la lista doblemente encadenada sería la siguiente: primero H1 Pi H2 Pk H3 Donde el elemento H1 describe el primer trozo de la memoria (primer hueco que abarca las páginas 0, 1 y 2), el elemento Pi describe el trozo de memoria virtual ocupado por un proceso (el Pi que abarca las páginas 3, 4 y 5) y así sucesivamente. Como no se desea trabajar con memoria dinámica, se decide implementar la lista anterior con un array de un tamaño predeterminado (en principio el de la máxima fragmentación número de trozos en que puede estar dividida la memoria virtual). Para completar la implementación, se dispondrá de la variable primero que indicará cuál es el primer elemento de la lista, de forma que la representación del estado de la memoria virtual de la figura mediante el array podría ser la siguiente: primero Pk H1 Pi H2 H3 N Donde sólo se indica el puntero al siguiente para no complicar el dibujo. Las posiciones del array no utilizadas para describir los trozos actuales en que está fragmentada la memoria, se han expresado con rectángulos sombreados. 17

22 Se pide: 1. Razonar sobre la eficiencia de memoria del mapa de bits frente a la lista encadenada: a. Indicar razonadamente cuál sería el tamaño del mapa de bits expresado en bytes. b. Recordando que el sistema puede gestionar un máximo de 128 procesos concurrentemente, razonar si el número máximo de trozos en que puede estar dividida la memoria virtual es 256 ó 257. c. Indicar los campos (con su significado) que tendría cada elemento del array de la lista. d. Supuesto que los campos anteriores tienen que ocupar cada uno de ellos un número de bytes entero (1, 2, 3, etc.) y eligiendo siempre el valor menor para poder representar cada campo, indicar el tamaño total (en bytes) que ocuparía el array donde se implementaría la lista encadenada. 2. Indicar qué información debería guardarse en el descriptor de cada proceso (tanto para el caso del mapa de bits como el de lista encadenada) para que cuando un proceso termine, pueda liberarse la zona de memoria virtual ocupada por el proceso. Poner como ejemplo el caso del proceso Pk de la figura. 3. Cuando un proceso termina, en el caso de gestión con mapa de bits, básicamente habría que hacer: Poner a 1 los bits del mapa de bits que se correspondan con las páginas ocupadas por el proceso Poner en la Tabla de Páginas, P=0 en todos los descriptores de las páginas ocupadas por el proceso Invalidar las entradas de la caché de la MMU que tengan descriptores de páginas del proceso Liberar el descriptor utilizado para gestionar el proceso Indicar de forma parecida (solo que para el caso de gestión mediante lista encadenada), qué deberá hacer el sistema operativo cuando se desee crear un proceso cuyo ejecutable resida en el Sistema de Ficheros (por ejemplo en /ejemplos/ejecutable.exe). En el caso de utilizar una expresión del estilo: se inicializa tal variable, deberá concretarse a qué valor se inicializa. NO CONSIDERAR LOS CASOS DE ERROR. 4. Indicar (también para lista encadenada) qué deberá hacer el sistema operativo si decide compactar la Memoria Virtual. Poner como ejemplo el caso de la figura en la que tan sólo existen el proceso Pi y Pk. 18

23 E.U. de Informática Departamento de Informática Aplicada Examen final de I 12 de diciembre de 2001 EJERCICIO 2. (puntuación 3 5 puntos) Tiempo Estimado 60 m Un sistema operativo usa un sistema de memoria virtual paginada con direcciones virtuales de 32 bits y con páginas de 4KB. La tabla de páginas reside completamente en memoria principal, siendo el tamaño del descriptor de cada entrada de la tabla de páginas de 32 bits. El espacio virtual es único por proceso, aunque ningún proceso llega a necesitar más de 16 MB. De este espacio, 12 MB se utilizan para almacenar el área de código más el área de datos a partir de la dirección virtual 0. Los 4 MB restantes se destinan al espacio de pila, que se almacena comenzando en la dirección virtual más alta y creciendo hacia direcciones bajas. 1. Cuánto ocupa la tabla de páginas? (0,25 puntos) 2. Cuál es la ocupación útil (entradas ocupadas) en % de la tabla de páginas? (0,25 puntos) Posteriormente, se decide usar un sistema de tablas de dos niveles, como se muestra a continuación. Tablas de páginas de segundo nivel Marcos de página Tabla de páginas de primer nivel marco Entrada de 1 er nivel Entrada de 2º nivel Desplazamiento 10 bits 10 bits 12 bits Una dirección virtual se interpreta de la siguiente manera: Los 10 bits de mayor peso sirven para seleccionar la entrada de la tabla de primer nivel. Esta entrada contiene el número del marco donde reside la tabla de páginas de segundo nivel. Los 10 bits siguientes se usan para seleccionar una entrada de la tabla de segundo nivel. Esta entrada contiene el número del marco donde está cargada la página. Una vez localizado el marco, solo hace falta sumarle los 12 bits del desplazamiento de la dirección virtual. 19

24 Supuesto un proceso de este sistema, que ocupa como máximo 16 MB, y sabiendo que la tabla de primer nivel siempre está cargada en memoria durante la ejecución del proceso, mientras que las tablas de segundo nivel se cargan bajo demanda, responda razonadamente a las siguientes preguntas: 3. Qué tamaño tiene cada una de las tablas? (0,25 puntos) 4. Cuántas tablas de segundo nivel utiliza el proceso? Qué índices se ocupan de la tabla de primer nivel? (0,5 puntos) 5. Cuánto espacio de memoria se necesita para almacenar simultáneamente todas las tablas necesarias? (0,25 puntos) 6. Qué ventaja tiene este sistema con respecto al de una sola tabla de páginas? (0,25 puntos) 7. Qué inconveniente presenta este modelo si la MMU no dispone de TLB? (0,25 puntos) El registro base de la tabla de páginas del proceso (RBTP) indica que la tabla de primer nivel está cargada a partir de la dirección física $F2000. La dirección física tiene un tamaño de 24 bits. El formato de descriptor, que ocupa 32 bits, tanto de la tabla de primer nivel como de las de segundo nivel, es el siguiente: Nº de marco (12 bits) Reservado (19 bits) Bit de presencia En un momento dado, el contenido de ciertas direcciones de memoria principal, en hexadecimal, es el siguiente: Dir. Física 4 BYTES $0F F...1 $0F2100 1F $0F2FFC 0F $0F3000 0C8F...0 $0F30C $0F3FFC $0F4000 0F $0F4C78 1F $0F4FFC 0F $1F5000 A Dada la dirección virtual $FFF1E703, describa detalladamente los pasos que hay que seguir y las direcciones involucradas, para traducir la anterior dirección virtual en una dirección física. Qué dirección física ha obtenido? (1,5 puntos). 20

25 Examen Final de I 14 de junio de 2003 EJERCICIO 3 (3,5 puntos) Tiempo: 60 min. Se desea implementar un sistema operativo con multiprogramación y memoria virtual paginada con las características siguientes: Un único espacio de memoria virtual de 4GB a compartir por todos los procesos que se creen. El bus de datos es de 32 bits. MMU con caché interna (TLB) de 64 entradas que incluyen los bits R (Referenciada) y M (Modificada). Una memoria principal de 512MB. Páginas de 8KB. Tabla de Páginas Invertida cargada completamente en memoria principal. Mapa de Bits para llevar el control de la memoria virtual libre y ocupada. Algoritmo LRU (aproximado) como política de sustitución de páginas. Una Tabla de Páginas Invertida tiene una entrada por cada marco de memoria. Cada entrada indica, entre otras cosas, la página que está cargada en el marco correspondiente. Responder, de forma razonada, a las cuestiones siguientes: 1. Indicar el formato (campos con su significado y tamaño en bits) de un descriptor de la Tabla de Páginas Invertida (supuesto que cada descriptor debe ocupar un número entero de bytes) y calcular el tamaño en bytes de dicha tabla. 2. Indicar el tamaño en bytes que ocupa el Mapa de Bits que lleva el control de la memoria virtual libre y ocupada. 3. Indicar el tipo de estructura de datos que se crea más aconsejable para llevar el control de la memoria principal libre y ocupada (marcos de página) de forma que se agilice la búsqueda de un marco libre cuando se produzca falta de página. Calcular el tamaño en bytes de esta estructura supuesto que una variable o campo de una estructura debe ocupar un número entero de bytes. 4. Cuando se utiliza únicamente una Tabla de Páginas clásica (no invertida y no multinivel) que está cargada en memoria principal y una MMU que cuenta con RBTP (Registro Base de la Tabla de Páginas) así como su correspondiente TLB, el número máximo de accesos a memoria principal cuando se intenta acceder a una dirección virtual que pertenece a una página presente en memoria principal es de tres. Indicar cuándo se produce esta situación y a qué se deben los tres accesos. 5. Cuando se utiliza una Tabla de Páginas Invertida, como en nuestro caso, la situación descrita en el punto anterior (4), en general, no puede resolverse con tan sólo tres accesos a memoria principal. Indicar por qué y cuál podría ser (con los datos del enunciado) el número máximo de accesos a memoria principal. 6. Para poder implementar, de forma aproximada, el algoritmo de sustitución de páginas LRU, se dispone de una interrupción periódica (sea intlru ) que hace que tome control el Sistema Operativo (a través de la rutina de tratamiento de dicha interrupción). Se supone que cuando sucede intlru, la MMU vuelca el contenido de la TLB en una zona de memoria conocida por el Sistema Operativo (sea tablatlb definido como un array de 64 descriptores con el formato del apartado 1). a. Indicar someramente en qué podría consistir la aproximación al algoritmo LRU. b. Indicar qué estructuras de datos podrían modificarse o añadirse para soportar la aproximación al algoritmo LRU descrita en 6.a. c. Indicar en pseudocódigo el contenido de la rutina de tratamiento de la interrupción intlru. 21

26 E.U. de Informática-U.P.M. Examen Final de I 15 de Diciembre de 2004 EJERCICIO 3 (3,5 puntos) Tiempo Estimado: 60 m Un sistema operativo ofrece a los usuarios un esquema de gestión de memoria en donde el espacio lógico de un proceso consiste en una colección de bloques de tamaño variable, denominados segmentos, repartidos por la memoria física. Ahora, la imagen de un proceso se divide en segmentos (por ejemplo: de código, de datos y de pila). Cada segmento ocupa un bloque en memoria principal de tal forma que las direcciones lógicas que genera la cpu son del tipo <Número de segmento, desplazamiento>. Como se puede ver en la figura, la traducción de la dirección lógica (s,d) a una dirección física df se realiza con la ayuda de una tabla de segmentos por proceso, que reside en memoria principal. El número de segmento s es el índice en la tabla de segmentos para obtener la entrada que contiene la dirección física b donde comienza el segmento, a la cual se le suma el desplazamiento d para obtener df. Tabla de segmentos Base Memoria física b cpu s d + df b Se pide: 1. Explique por qué es posible el acceso a direcciones fuera de un segmento. 2. Indique qué modificaciones propone al modelo anterior para que se controlen los accesos indebidos. Dibuje de nuevo la figura con las modificaciones propuestas. 3. Si el mapa (en decimal) de segmentos de un proceso en la memoria física es el mostrado a continuación, indique qué valores tendrían los elementos de la tabla de segmentos supuesto el punto 2. s0 s3 s2 s4 s1 4. Escriba las tablas de segmentos de dos procesos en donde se vea que comparten el bloque contenido en el segmento 2. Tienen que llamarse con igual número de segmento en los dos procesos? 5. Justifique si este modelo de gestión de memoria sufre de fragmentación externa y/o interna. Se modifica el esquema de la figura de tal manera que los segmentos están paginados en disco, por lo que ahora la memoria principal está dividida en marcos. Cada segmento cuenta con una tabla de páginas. El contenido de la tabla de segmentos se modifica ya que la entrada de un segmento s, no contiene la dirección de inicio del segmento b, sino la dirección de comienzo de la tabla de páginas tp del segmento. 6. Explique y dibuje un esquema parecido al de la primera figura en donde se vea la traducción de una dirección <s,d> en una dirección física. 7. Justifique si este modelo sufre de fragmentación externa y/o interna. 8. En el caso de que no existiera TLB, cuántos accesos a memoria como mínimo hay que realizar con este esquema? Justifique la respuesta. 22

27 Examen Final de I 17 de Junio de 2005 EJERCICIO 3 (3,5 puntos) Tiempo Estimado: 60 m Sea un disco que tiene 1200 cilindros, 16 pistas por cilindro, 56 sectores por pista, 512 bytes por sector y una velocidad de 6000 rpm (revoluciones por minuto). Está formateado con interleaving=1. Entre dos sectores adyacentes hay un espacio de relleno (gap) de 1/8 el tamaño del sector; es decir, después del último byte de un sector y antes del primer byte del siguiente, hay 64 bytes de relleno (ver figura). sector 1 sector 29 sector 2 sector 30.. sector 28 sector 56 gap El tiempo de posicionamiento del brazo viene dado por la expresión t = 1 + (0,5 * d) (expresado en milisegundos) siendo d la distancia en cilindros desde el origen al destino. Notas: Para todos los apartados, inicialmente la cabeza lectora/grabadora se supone situada en el cilindro 0 y al principio del sector 1. La numeración de cilindros y pistas empieza por 0 y la de sectores por 1. El cylinder skew (sesgo) es de 0 SE PIDE: 1) [1 punto] Calcule la mínima velocidad de transferencia (del controlador a memoria) que requiere este disco. Es decir (y en relación con la figura anterior) en el tiempo que tardan en pasar por debajo de la cabeza lectora/grabadora: el gap del sector 1, el sector 29 y el gap del sector 29, se ha tenido que transferir el sector 1 desde el buffer de la controladora hasta memoria. Suponga que el bus está siempre disponible para realizar la transferencia y que el tiempo de comprobación del checksum es despreciable. Exprese el resultado en bits por segundo. En los cálculos opere con la mayor precisión decimal posible. 2) [1 punto] En un momento dado, en la cola de peticiones de disco existen las siguientes dos peticiones (por orden de llegada): 1. Cilindro 49, pista 0, sector Cilindro 49, pista 10, sector 44 Calcule el tiempo total invertido en completarlas siguiendo el algoritmo FCFS. Tenga en cuenta los tiempos de posicionamiento, espera de rotación y transferencia (suponga la misma velocidad de transferencia que la calculada en el apartado anterior). La distribución de sectores en una pista de 56 sectores con interleaving=1 es: 1, 29, 2, 30, 3, 31, 4, 32, 5, 33, 6, 34, 7, 35, 8, 36, 9, 37, 10, 38, 11, 39, 12, 40, 13, 41, 14, 42, 15, 43, 16, 44, 17, 45, 18, 46, 19, 47, 20, 48, 21, 49, 22, 50, 23, 51, 24, 52, 25, 53, 26, 54, 27, 55, 28, 56. 3) [1,5 puntos] Se cambia el disco por otro similar en el que la función de tiempo de posicionamiento viene dada por la expresión t = 0,8*d (expresado en milisegundos) y el número de sectores ha cambiado a 50 por pista (manteniéndose igual el resto de datos). La distribución de sectores en una pista de 50 sectores con interleaving=1 es: 1, 26, 2, 27, 3, 28, 4, 29, 5, 30, 6, 31, 7, 32, 8, 33, 9, 34, 10, 35, 11, 36, 12, 37, 13, 38, 14, 39, 15, 40, 16, 41, 17, 42, 18, 43, 19, 44, 20, 45, 21, 4 6, 22, 47, 23, 48, 24, 49, 25, 50. Se pide: 1. Determinar el orden en el que se atenderán las siguientes dos peticiones de disco pendientes aplicando el siguiente algoritmo de planificación del brazo de disco: la siguiente petición a atender es aquella que se encuentre más cerca: se tarde menos en llegar al cilindro y sector solicitado. Petición 1: cilindro 0, pista 6, sector 21; Petición 2: cilindro 5, pista 3, sector Para cada petición, indique el tiempo necesario para posicionarse sobre el cilindro, pista y sector solicitados. 23

Ejercicios sobre gestión de memoria

Ejercicios sobre gestión de memoria Boletín 6 Ejercicios sobre gestión de memoria July 15, 2016 1. Sea un sistema que emplea un mecanismo de paginación para gestionar la memoria. Las páginas son de 2 KB y una entrada de la tabla de páginas

Más detalles

GESTION DE LA MEMORIA

GESTION DE LA MEMORIA GESTION DE LA MEMORIA SISTEMAS OPERATIVOS Generalidades La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección Tanto el tamaño de la tabla (memoria), como el de los datos

Más detalles

Sistemas Operativos II Junio 2006 Nombre:

Sistemas Operativos II Junio 2006 Nombre: Sistemas Operativos II Junio 2006 Nombre: ITIS Castellano Ejercicio 1 [1 punto] 1. Por qué es más eficiente el cambio de contexto entre threads (hilos) que entre procesos? 2. Describe brevemente la diferencia

Más detalles

4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb.

4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb. . Explique la diferencia entre direccionamiento lógico y físico. 2. Explique la diferencia entre fragmentación interna y externa. 3. Cuánta memoria puede direccionar con una palabra de 6 bits.? Respuesta:

Más detalles

Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones

Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones Problemas Resueltos Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones 1.- Notas y criterios para los problemas 2.- NOTA GENERAL: Tema 1 Introducción a la gestión de memoria. 3.- Problemas

Más detalles

Administración de Memoria

Administración de Memoria Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 30 de abril de 2015 MMU Unidad de Gestión de Memoria (MMU): Componente del sistema operativo

Más detalles

1. Para qué sirve un Descriptor de Dispositivo? Qué funciones del sistema operativo acceden a ellos y para qué?

1. Para qué sirve un Descriptor de Dispositivo? Qué funciones del sistema operativo acceden a ellos y para qué? 1 2 3 4 5 6 7 8 Sistemas Operativos II Junio 2008 Nombre: Problema 1 [1,5 puntos] ITIS Castellano 1. Para qué sirve un Descriptor de Dispositivo? Qué funciones del sistema operativo acceden a ellos y para

Más detalles

Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion.

Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion. Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion. Fecha de entrega: 10 de Mayo de 2013. Campus: Villahermosa. Carrera:

Más detalles

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas: ADMINISTRACION DE LA MEMORIA Función del Administrador de Memoria Registra qué parte de memoria está libre y ocupada Asigna y libera espacio en memoria a los procesos Administra el intercambio entre la

Más detalles

Capítulo 2. Sistemas de Asignación Dispersa de

Capítulo 2. Sistemas de Asignación Dispersa de Problemas Resueltos Capítulo 2. Sistemas de Asignación Dispersa de memoria. 1.- Notas y criterios para los problemas: -En las soluciones de los problemas se ha representado el resto de la división entera

Más detalles

Convivencia Gestión de Procesos

Convivencia Gestión de Procesos Convivencia Gestión de Procesos Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Índice: Procesos Introducción a los procesos Estados de los procesos Listas de procesos El planificador de procesos

Más detalles

EJERCICIOS DE MEMORIA:

EJERCICIOS DE MEMORIA: EJERCICIOS DE MEMORIA: 1) Un sistema realiza una gestión de memoria virtual mediante paginación por demanda, con la memoria dividida en cinco marcos de 512 posiciones cada uno. En un momento determinado,

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

Conceptos de Planificación

Conceptos de Planificación Conceptos de Planificación Conceptos de Planificación Planificación Planificación de Procesos de Procesos Algoritmos Algoritmos Estructura Estructura Propiedades Propiedades Tipos Tipos Evaluación Evaluación

Más detalles

1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:

1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones: Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Convocatoria de Junio, 26 de Junio de 2003 SOLUCIONES Calificación 1 2 3 4 Nombre

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U MEMORIA VIRTUAL

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U MEMORIA VIRTUAL MEMORIA VIRTUAL Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Para un aprovechamiento eficiente del CPU y los recursos de E/S se requiere mantener en el sistema operativo la mayor

Más detalles

Hilos Secciones Stallings:

Hilos Secciones Stallings: Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los

Más detalles

Gestión de la Memoria y Memoria Virtual

Gestión de la Memoria y Memoria Virtual Universidad de Concepci ón Facultad de Ingeniería Departamento de Ingenier ía Informática y Ciencias de la Computación Magíster en Ciencias de la Computaci ón Gestión de la Memoria y Memoria Virtual Andrés

Más detalles

Planificación de Monoprocesadores.

Planificación de Monoprocesadores. Planificación de Monoprocesadores.. escriba brevemente los tres tipos de planificación de procesador. Planificación a Largo Plazo. La planificación a largo plazo determina cuáles son los programas admitidos

Más detalles

Tema 12: El sistema operativo y los procesos

Tema 12: El sistema operativo y los procesos Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx

Más detalles

Administración de memoria

Administración de memoria DC - FCEyN - UBA Sistemas Operativos, 2c-2013 Responsabilidades de la unidad de gestión de memoria (MMU) Tipos de direcciones Problemas que debe manejar Capacidad de direccionamiento vs. capacidad de memoria

Más detalles

Tema 3. Gestión de la memoria

Tema 3. Gestión de la memoria Tema 3. Gestión de la memoria Competencias: Comprender las funciones que debe desempeñar todo mecanismo que gestiona la memoria, identificando las ventajas e inconvenientes de los distintos esquemas de

Más detalles

Proceso Prioridad inicial Duración CPU (M) Duración E/S (N) A 0 10 mseg 1 mseg. B 5 5 mseg 5 mseg. C 10 1 mseg 10 mseg

Proceso Prioridad inicial Duración CPU (M) Duración E/S (N) A 0 10 mseg 1 mseg. B 5 5 mseg 5 mseg. C 10 1 mseg 10 mseg Calificación [GII] Fundamentos de los Sistemas Operativos Convocatoria especial 10 de diciembre de 2013 Nombre y apellidos SOLUCIONES 1 2 3 4 DNI/NIE DURACIÓN: Dispone de tres horas para realizar el examen.

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos SISTEMAS OPERATIVOS: PROCESOS Planificación de procesos ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza

Más detalles

Tema 20 Gestión de memoria

Tema 20 Gestión de memoria Tema 20 Gestión de memoria Índice INTRODUCCIÓN 1 REQUISITOS DE LA GESTIÓN DE MEMORIA 2 ESTRUCTURA DE LA MEMORIA EN SO SIN MEMORIA VIRTUAL 2 Recubrimiento 3 MEMORIA VIRTUAL 4 Funcionamiento 4 Soporte del

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 5 Jerarquía de memoria Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Tipos de memoria

Más detalles

Tema 6. Administración de memoria

Tema 6. Administración de memoria Tema 6. Administración de memoria 1. Gestión de memoria real 2. Gestión de memoria virtual 1 1. Gestión de memoria real Ordenadores cada vez con más memoria Programas que cada vez ocupan más Gestor de

Más detalles

Cuestiones y Problemas de Gestión de Memoria

Cuestiones y Problemas de Gestión de Memoria y Problemas de Gestión de Memoria Primera Parte .- Introducción a la gestión de memoria 1. Cite tres ventajas ofrecidas por las bibliotecas de enlace dinámico cuando se las compara con las bibliotecas

Más detalles

Tema III: Componentes de un Sistema Operativo

Tema III: Componentes de un Sistema Operativo Tema III: Componentes de un Sistema Operativo Concepto de proceso Jerarquía de memoria: Concepto de memoria cache Memoria virtual Partición Sistema de ficheros Sistema de entrada/salida: Driver y controladora

Más detalles

Administración de memoria.

Administración de memoria. Administración de memoria. Alumno: Rubén Cruz Aldecua. Profesor: Carlos Francisco Paz Cuevas. Carrera: Ing. Telemática. Sin abstracción de memoria. La abstracción más simple de memoria es ninguna abstracción.

Más detalles

Dispones de dos horas y media para completar el examen

Dispones de dos horas y media para completar el examen Calificación 1 Fundamentos de los Sistemas Operativos (Grado en Ing. Inf.) Convocatoria extraordinaria 11 de Julio de 2012 Nombre SOLUCIONES Dispones de dos horas y media para completar el examen 2 3 Grupo

Más detalles

Administración de la memoria

Administración de la memoria Administración de la memoria 1 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos - proveer mecanismos que eviten la interferencia

Más detalles

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador.

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador. Objetivos PRÁCTICO 3 Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador. Ejercicio 1 (básico) Defina que es un proceso a nivel

Más detalles

SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria

SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria Calificación 1 2 3 SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria Nombre Titulación Dispone de dos horas para realizar el examen 1 (6 puntos) Test. En cada uno de los

Más detalles

Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual

Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Memoria Virtual Curso 20/202 / 43 Índice Introducción

Más detalles

Procesos y Memoria. Administración de Memoria 26/10/2010 SISTEMAS OPERATIVOS

Procesos y Memoria. Administración de Memoria 26/10/2010 SISTEMAS OPERATIVOS SISTEMAS OPERATIVOS Administración de Memoria Organización Lógica de la Memoria La memoria principal es un arreglo de palabras o bytes, cada uno de los cuales tiene una dirección (espacio de direcciones).

Más detalles

Memoria Virtual. Departamento de Arquitectura de Computadores

Memoria Virtual. Departamento de Arquitectura de Computadores Memoria Virtual Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. 1. Concepto de Sistema Operativo. 2. Evolución histórica. 3. Tipos de Sistemas Operativos. 4. Estructura de un Sistema Operativo.

Más detalles

Administración de memoria

Administración de memoria DC - FCEyN - UBA Sistemas Operativos, 1c-2012 Saber qué partes de la memoria están en uso y cuáles no Saber qué partes de la memoria están en uso y cuáles no Asignar memoria a los procesos cuando la necesitan

Más detalles

Administración de Memoria

Administración de Memoria Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 22 de septiembre de 2016 Administración de memoria Administrador de Memoria (Memory

Más detalles

Ejercicios del tema 5. Jerarquía de de Memoria

Ejercicios del tema 5. Jerarquía de de Memoria Ejercicios del tema 5. Jerarquía de de Memoria Ejercicio 1. Considere un computador de 32 bits con una caché de 64 KB asociativa por conjuntos de 4 vías y un tiempo de acceso de 4 ns. El tamaño de la línea

Más detalles

Gestión de Memoria. Gestión de Memoria. Requisitos de Gestión de Memoria

Gestión de Memoria. Gestión de Memoria. Requisitos de Gestión de Memoria Gestión de Memoria Gestión de Memoria Dividir la memoria para alojar múltiples procesos La memoria necesita ser asignada eficientemente para alojar tantos procesos como sea posible Capítulo 7 Requisitos

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U GESTION DE MEMORIA

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U GESTION DE MEMORIA GESTION DE MEMORIA Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen La memoria es el lugar donde residen procesos y datos de los programas del usuario y del sistema operativo; se debe

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

SOLUCIONES. DURACIÓN: Dispone de 120 minutos para realizar el examen.

SOLUCIONES. DURACIÓN: Dispone de 120 minutos para realizar el examen. 1 2 3 test extra NOTA Fundamentos de los Sistemas Operativos Examen de convocatoria extraordinaria 27 de junio de 2014 SEGUNDA PARTE Nombre y apellidos SOLUCIONES DURACIÓN: Dispone de 120 minutos para

Más detalles

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas Tema 5. Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 28-29 Tema 5 Hoja: 2 / 36 Tema 5 Hoja: 3 / 36 Base teórica La memoria es el lugar en

Más detalles

Ejercicios Jerarquía de Memoria

Ejercicios Jerarquía de Memoria Ejercicios Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Memoria caché CPU cache Memoria principal 2. Memoria

Más detalles

Ejercicios de Arquitectura de Computadoras

Ejercicios de Arquitectura de Computadoras Ejercicios Arquitectura Computadoras José Garzía 9 En este tipo ejercicios bemos tener siempre presentes estas tres ecuaciones: MP ( en Memoria Principal ) Cantidad en la Memoria Principal por Cantidad

Más detalles

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

PROBLEMAS TEMA 3: Unidad de Entrada/Salida PROBLEMAS TEMA 3: Unidad de Entrada/Salida Problemas propuestos en examen 3.1 Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 2 unidades de cinta. Las unidades de disco

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005 Práctica 9 Organización del Computador 1 2do. Cuatrimestre de 2005 Aclaración: Tiempo bus es el tiempo de bus requerido para transferir un buer (de un dispositivo) desde o hacia memoria principal según

Más detalles

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura de Computadores. Apellidos, Nombre: No se considerarán como válidas las respuestas en las que no se justifiquen los cálculos realizados No se permite el uso de ningún tipo de documentación, ni de calculadora Sólo existe una única opción

Más detalles

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional I.

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional   I. Sistemas Operativos Clase # 26 Administración de Memoria Martes, 22 de Octubre de 2002 Agenda Administración de Memoria: Paginación Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec

Más detalles

Procesos Definición y Estados

Procesos Definición y Estados Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix . Sistema Operativo Unix. Introducción al S.O. Unix y su entorno.2 Subsistema de Archivos.3 Subsistema de Procesos.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos Universidad del País Vasco Facultad de Informática Departamento de Arquitectura y Tecnología de Computadores Arquitectura de Computadores I Sistema de memoria 3 (Solución): Segmentación + Bancos En un

Más detalles

Sistemas de Computación Memoria. 2º Semestre, 2008 José Miguel Rubio L.

Sistemas de Computación Memoria. 2º Semestre, 2008 José Miguel Rubio L. Sistemas de Computación Memoria 2º Semestre, 2008 José Miguel Rubio L. jose.rubio.l@ucv.cl http://www.inf.ucv.cl/~jrubio Técnicas de Administración de Memoria 2 Al administrar la memoria física, ocurren

Más detalles

Tema 1: Introducción a los Sistemas Operativos

Tema 1: Introducción a los Sistemas Operativos Tema 1: Introducción a los Sistemas Operativos Yolanda Blanco Fernández yolanda@det.uvigo.es Qué es un Sistema Operativo (SO)? Un programa que actúa como intermediario entre el usuario y el hardware del

Más detalles

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato María Gregoria

Más detalles

Tema 4. Organización y Gestión de Memoria

Tema 4. Organización y Gestión de Memoria Tema 4. Organización y Gestión de Memoria Conceptos generales Esquemas de memoria basados en la asignación contigua Recubrimientos (overlay) Intercambio (swapping) Organización de la Memoria Virtual Gestión

Más detalles

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador PROBLEMAS TEMA 1: Estructuras de interconexión de un computador Problemas propuestos en examen 1.1 Una CPU que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con un formato

Más detalles

Sistemas Operativos. Curso 2016 Administración de memoria II

Sistemas Operativos. Curso 2016 Administración de memoria II Sistemas Operativos Curso 2016 Administración de memoria II Agenda Memoria Virtual. Paginación. Segmentación. Segmentación con paginación. Sistemas Operativos Curso 2016 Administración de memoria II 2/35

Más detalles

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. MEMORIAS CACHE Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. Tiempo ciclo memoria > tiempo de ciclo del procesador la CPU debe esperar a la memoria

Más detalles

Memoria Virtual. Ing. Jorge Castro-Godínez

Memoria Virtual. Ing. Jorge Castro-Godínez Memoria Virtual Lección 7 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014 Jorge Castro-Godínez

Más detalles

Memoria Virtual. Memoria Virtual

Memoria Virtual. Memoria Virtual Memoria Virtual DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 Memoria Virtual Define la relación entre memoria principal y memoria secundaria Permite crear la ilusión de una memoria principal de

Más detalles

Sistemas Operativos. Daniel Rúa Madrid

Sistemas Operativos. Daniel Rúa Madrid Sistemas Operativos Daniel Rúa Madrid Qué es? Es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como intermediario entre

Más detalles

Memoria Virtual. Operating System Concepts 8th Edition

Memoria Virtual. Operating System Concepts 8th Edition Memoria Virtual Silberschatz, Galvin and Gagne 2009 Memoria Virtual Antecedentes Demanda de paginación Copy-on-Write Algoritmos de reemplazo de páginas 9.2 Objetivos Describir los beneficios del sistema

Más detalles

Capítulo 3 Gestión de Memoria

Capítulo 3 Gestión de Memoria Capítulo Gestión de Memoria. Gestión básica de memoria. Intercambio (swapping). Memoria virtual.4 Algoritmos de sustitución de páginas.5 Modelando algoritmos de sustitución de páginas.6 Cuestiones de diseño

Más detalles

Administración del Procesador

Administración del Procesador Administración del Procesador 1 Temario Concepto Métricas: Throughput y Turnaround En qué se consumen los tiempos del S.O.? Monoprogramación? Multiprogramación? Nombrando las rutinas: Planificador de Procesos,

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

FSO - ejercicios de gestión de memoria

FSO - ejercicios de gestión de memoria FSO - ejercicios de gestión de memoria Esta es una lista de escenarios de uso de memoria no contigua (segmentada o paginada), en la que te planteamos algunos ejercicios que manejan los espacios de direcciones

Más detalles

Memoria. Organización de memorias estáticas.

Memoria. Organización de memorias estáticas. Memoria 1 Memoria Organización de memorias estáticas. 2 Memoria En memoria físicas con bus de datos sea bidireccional. 3 Memoria Decodificación en dos niveles. 4 Necesidad de cantidades ilimitadas de memoria

Más detalles

Capítulo 1 Conceptos arquitectónicos

Capítulo 1 Conceptos arquitectónicos Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos Contenido Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida

Más detalles

ARQUITECTURA DE SISTEMAS PARALELOS. 3º ITIS. PROBLEMA DE MEMORIA VIRTUAL.

ARQUITECTURA DE SISTEMAS PARALELOS. 3º ITIS. PROBLEMA DE MEMORIA VIRTUAL. Enunciado ARQUITECTURA DE SISTEMAS PARALELOS 3º ITIS PROBLEMA DE MEMORIA VIRTUAL Se supone un sistema basado en microprocesador cuya jerarquía de memoria tiene los siguientes parámetros: Memoria Virtual:

Más detalles

*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010

*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010 Calificación SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010 1 2 3 4 Nombre *** SOLUCIONES *** Titulación Dispone de tres horas para realizar el examen 1 (5 puntos) Test. En cada uno de los siguientes

Más detalles

Práctica 7 Dispositivos de Entrada/Salida

Práctica 7 Dispositivos de Entrada/Salida Organización del computador I - 2 o Cuatrimestre 2007 Objetivos: Reconocer y comprender el funcionamiento de los diferentes dispositivos de Entrada/Salida Nota: En todos los ejercicios, si no se especifica

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique

Más detalles

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1 Arquitectura I Sistema de memoria 1 1. En un espacio de direcciones de 64 Kbytes deben colocarse los s de memoria que se indican. Suponer que el direccionamiento de la memoria se hace al byte. Dibujar

Más detalles

Sistemas Operativos Administración de la Memoria

Sistemas Operativos Administración de la Memoria UNIVERSIDAD INTERNACIONAL SAN ISIDRO LABARDOR Escuela de Ingeniería en Sistemas Sistemas Operativos Administración de la Memoria Cuatrimestre II-2006 Recopilado por Ing. Fernely Artavia Fallas INTRODUCCIÓN

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual Recordemos: Jerarquía de Memoria Nivel Superior Registros

Más detalles

Objetivos de la Planificación. Planificación Monoprocesador. Tipos de Planificación. Tiempo de respuesta Productividad Eficiencia del procesador

Objetivos de la Planificación. Planificación Monoprocesador. Tipos de Planificación. Tiempo de respuesta Productividad Eficiencia del procesador Objetivos de la Planificación Planificación Monoprocesador Tiempo de respuesta Productividad Eficiencia del procesador Capítulo 9 Tipos de Planificación Planificación a Largo Plazo Determina qué programas

Más detalles

MEMORIA EJERCICIO 1 EJERCICIO 2

MEMORIA EJERCICIO 1 EJERCICIO 2 MEMORIA EJERCICIO 1 Determinar el mapa de memoria de un procesador con 16 señales de bus de direcciones, una señal de asentimiento de bus de direcciones AS, una señal de lectura R, otra de escritura W

Más detalles

Sistemas Operativos. ADM. UMC. Ing. Informática FTI - UB MEMORIA VIRTUAL:

Sistemas Operativos. ADM. UMC. Ing. Informática FTI - UB MEMORIA VIRTUAL: MEMORIA VIRTUAL: 1. Tipos: (No son excluyentes, pueden convivir en la misma UMC) a. Paginación b. Segmentación c. Segmentación/Paginada (Dar conceptos generales) 1.1. Tamaño Pagina. 1.2. Localización de

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología

Más detalles

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Introducción. Universidad de Sonora Arquitectura de Computadoras 2 Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.

Más detalles

Capítulo 4. Entrada/Salida

Capítulo 4. Entrada/Salida Capítulo 4 Entrada/Salida 4.1 Principios hardware de E/S 4.2 Principios software de E/S 4.3 Niveles software de E/S 4.4 Discos 4.5 Relojes 4.6 Terminales orientados a caracteres 4.7 Interfaces gráficas

Más detalles

Tema 2: Gestión de la CPU

Tema 2: Gestión de la CPU Tema 2: Gestión de la CPU Yolanda Blanco Fernández yolanda@det.uvigo.es Programas vs Procesos Programa: datos e instrucciones. Un proceso es un programa en ejecución: datos, instrucciones, recursos y estado.

Más detalles

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos

Más detalles

PLANIFICACION DE LA CPU

PLANIFICACION DE LA CPU PLANIFICACION DE LA CPU PREGUNTA 5.2 En la Planificación Expropiativa se puede observar que un proceso puede ser expropiado de la CPU, es decir, es desalojado del mismo para asignárselo a otro proceso

Más detalles

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red 53.- Cuál de las siguientes intrucciones consideras que son privilegiadas? Razónalo Leer una posición de memoria

Más detalles

Introducción a los Sistemas Operativos S.O.

Introducción a los Sistemas Operativos S.O. Introducción a los Sistemas Operativos S.O. Contenido 1. Conceptos 2. Evolución de los Sistemas Operativos 3. Administración del Entorno de Hardware 1. CONCEPTOS 1.1. Definición de Sistema Operativo Es

Más detalles

Sistemas Operativos. Procesos

Sistemas Operativos. Procesos Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U PLANIFICACION DE PROCESOS

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U PLANIFICACION DE PROCESOS PLANIFICACION DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Se denomina planificador a aquella parte del sistema operativo encargada de asignar los recursos del sistema

Más detalles

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? 1.1.1. El sistema operativo como máquina extendida 1.1.2. El sistema operativo como gestor de

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? 1.1.1. El sistema operativo como máquina extendida 1.1.2. El sistema operativo como gestor de 1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? 1.1.1. El sistema operativo como máquina extendida 1.1.2. El sistema operativo como gestor de recursos 1.2. Historia de los sistemas operativos /* solo

Más detalles

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red 53.- Cuál de las siguientes intrucciones consideras que son privilegiadas? Razónalo Leer una posición de memoria

Más detalles

Clase Práctica: Entrada Salida

Clase Práctica: Entrada Salida Clase Práctica: Entrada Salida Docente: Javier R. de Acha Campos Direct Memory Address Ejercicio 1 Sea una computadora capaz de ejecutar 1 millón de instrucciónes por segundo (MIPS). Se desea conectar

Más detalles

Diagrama temporal de un programa simple. Multi-Programación con dos programas

Diagrama temporal de un programa simple. Multi-Programación con dos programas Diagrama temporal de un programa simple Multi-Programación con dos programas Multi-Programación con tres programas Gestión de la Memoria Mono-programación La memoria se divide en dos partes: Una para el

Más detalles