Está en la página 1de 6

Sistemas Operativos I Procesos Cuestionario #2 1. Que es un proceso y en que consiste su entorno.

el proceso se puede definir como un programa en ejecucin y, de una forma un poco ms precisa, como la unidad de procesamiento gestionada por el sistema operativo El entorno del proceso consiste en un conjunto de variables que se le pasan al proceso en el momento de su creacin. El entorno est formado por una tabla NOMBRE-VALOR que se incluye en la pila del proceso. El NOMBRE especifica el nombre de la variable y el VALOR su valor

2.

Indique las tres caracteristicas en la que se basa la mutitarea.

La multitarea se basa en las tres caractersticas siguientes Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S y de procesamiento. Memoria principal capaz de almacenar varios procesos.

3.

Cual es la funcion de un palnificador y un activador en un sistema operativo.

El planificador (scheduler) forma parte del ncleo del sistema operativo. Entra en ejecucin cada vez que se activa el sistema operativo y su misin es seleccionar el proceso que se ha de ejecutar a continuacin. El activador (dispatcher) tambin forma parte del sistema operativo y su funcin es poner en ejecucin el proceso seleccionado por el planificador.

4.

En que consiste la hiperpaginacion?

Se denomina hiperpaginacin (trashing) a la situacin de alta paginacin producida cuando los conjuntos residentes de los procesos son demasiado pequeos. Cuando la memoria principal disponible es pequea, se llega a la situacin de hiperpaginacin antes de alcanzar una cota alta de utilizacin del procesador. Para aumentar el rendimiento de un sistema que est en esta situacin es necesario aadir ms memoria principal. Cuando la memoria es grande se llega a saturar el procesador con menos procesos de los que caben en memoria. En este caso se puede aumentar el rendimiento del sistema manteniendo la memoria pero aumentando la potencia del procesador o aadiendo otro procesador.

5.

Cuales son los elementos de informacin asociados a un proceso?

el proceso tiene asociado una serie de elementos de informacin, que se analizan seguidamente. Estos elementos se organizan en tres grupos: estado del procesador, imagen de memoria y tablas del sistema operativo.

6.

Por que esta formado el estado del procesador y la imagen de memoria del proceso.

El estado del procesador (Aclaracin 3.1) est formado por el contenido de todos sus registros, que se enumeran seguidamente: Registros generales. De existir registros especficos de coma flotante tambin se incluyen aqu. Contador de programa. Puntero de pila. Registro o registros de estado. Registros especiales. Como puede ser el RIED (registro identificador de espacio de direccionamiento). La imagen de memoria del proceso est formada por los espacios de memoria que est autorizado a utilizar.

7.

Liste la informacion que se encuentra en el bloque de control de proceso.

El BCP contiene la informacin bsica del proceso, entre la que cabe destacar la siguiente: Informacin de identificacin Estado del procesador Informacin de control del proceso

8. Describa los estados basicos por las que pasa un proceso, adem[as, describa el estado suspendido y en espera.
Ejecucin. En este estado est el proceso que est siendo ejecutado por el procesador, es decir, que est en fase de procesamiento. En esta fase el estado del proceso reside en los registros del procesador. Bloqueado. Un proceso bloqueado est esperando a que ocurra un evento y no puede seguir ejecutando hasta que suceda el evento. Una situacin tpica de proceso bloqueado se produce cuando el proceso solicita una operacin de E/S. Hasta que no termina esta operacin, el proceso queda bloqueado. En esta fase, el estado del proceso reside en el BCP. Listo. Un proceso est listo para ejecutar cuando puede entrar en fase de procesamiento. Dado que puede haber varios procesos en este estado, una de las tareas del sistema operativo ser seleccionar aquel que debe pasar a ejecucin. El mdulo del sistema operativo que toma esta decisin se denomina planificador. En esta fase, el estado del proceso reside en el BCP. Estados suspendidos Adems de los tres estados bsicos de ejecucin, listo y bloqueado, los procesos pueden estar en los estados de espera y de suspendido. El diagrama de estados completo de un proceso se representa en la Figura 3.15. Los procesos entran en el sistema porque lo solicita un proceso de usuario o porque est prevista su ejecucin hatch. Es frecuente tener una lista de procesos batch en espera para ser ejecutados cuando se pueda. El sistema operativo ha de ir analizando dicha lista para lanzar la ejecucin de los procesos a medida que disponga de los recursos necesarios. Los procesos salen del sistema cuando mueren, es decir, al ejecutar el servicio correspondiente o al producir algn error irrecuperable.

9.

Que entiende usted por cambio de contexto.

3.5.1. Cambio de contexto Como se vio en el Captulo 2, la activacin del sistema operativo se realiza mediante el mecanismo de las interrupciones. Cuando se produce una interrupcin se realizan las dos operaciones siguientes: Se salva el estado del procesador en el correspondiente BCP. Se pasa a ejecutar la rutina de tratamiento de interrupcin del sistema operativo. Llamaremos cambio de contexto al conjunto de estas operaciones. Como resultado del cambio de contexto se puede producir un cambio en el estado de algunos procesos, pero no necesariamente.

10.

Que es un proceso ligero y que informacion es generada de cada una.

Un proceso ligero, o thread, es un programa en ejecucin (flujo de ejecucin) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Como muestra la Figura 3.17, un proceso puede contener un solo flujo de ejecucin, como ocurre en los procesos clsicos, o ms de un flujo de ejecucin (procesos ligeros). Desde el punto de vista de la programacin, un proceso ligero se define corno una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main. Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros

procesos ligeros. Las informaciones propias se refieren fundamentalmente al contexto de ejecucin, pudindose destacar las siguientes: Contador de programa. Pila. Registros. Estado del proceso ligero (ejecutando, listo o bloqueado).

11.

Lista las ventajas que presenta el uso de procesos ligeros.

procesos. Las ventajas de diseo que se pueden atribuir a los procesos ligeros son las siguientes: Permite separacin de tareas. Cada tarea se puede encapsular en un proceso ligero independiente. Facilita la modularidad, al dividir trabajos complejos en tareas. Aumenta la velocidad de ejecucin del trabajo, puesto que aprovecha los tiempos de bloqueo de unos procesos ligeros para ejecutar otros.

12.

Cual es el objetivo de la planificacion en el manejo de los procesos?

El objetivo de la planificacin de procesos y procesos ligeros es el reparto del tiempo de procesador entre los procesos que pueden ejecutar

13. Indique los objetivos o funciones de: el planificador a largo plazo, a corto plazo, a medio plazo.
La planificacin a largo plazo tiene por objetivo aadir nuevos procesos al sistema, tomndolos de la lista de espera. Estos procesos son procesos de tipo batch, en los que no importa el instante preciso en el que se ejecuten (siempre que se cumplan ciertos lmites de espera). La planificacin a medio plazo trata la suspensin de procesos. Es la que decide qu procesos pasan a suspendido y cules dejan de estar suspendidos. Aade o elimina procesos de memoria principal modificando, por tanto, el grado de multiprogramacin. La planificacin a corto plazo se encarga de seleccionar el proceso en estado de listo que pasa a estado de ejecucin. Es, por tanto, la que asigna el procesador. Tambin es importante la planificacin de entrada/salida. Esta planificacin decide el orden en que se ejecutan las operaciones de entrada/salida que estn encoladas para cada perifrico.

14.

Explique la diferencia entre el planificador con expulsion o sin expulsion.

La planificacin puede ser con expulsin o sin ella. En un sistema sin expulsin un proceso conserva el procesador mientras lo desee, es decir, mientras no solicite del sistema operativo un servicio que lo bloquee. Esta solucin minimiza el tiempo que gasta el sistema operativo en planificar y activar procesos, pero tiene como inconveniente que un proceso puede monopolizar el procesador (imagnese lo que ocurre si el proceso, por error, entra en un bucle infinito). En los sistemas con expulsin, el sistema operativo puede quitar a un proceso del estado de ejecucin aunque ste no lo solicite. Esta solucin permite controlar el tiempo que est en ejecucin un proceso, pero requiere que el sistema operativo entre de forma sistemtica a ejecutar para as poder comprobar si el proceso ha superado su lmite de tiempo de ejecucin. Como sabemos, las interrupciones sistemticas del re]oj garantizan que el sistema operativo entre a ejecutar cada pocos milisegundos, pudiendo determinar en estos Instantes si ha de producirse un cambio dc proceso o no.

15. Describa los siguientes algoritmos: el de planificacion ciclica, el del primero el trabajo mas corto, FIFO, con prioridades,
Cclica o Round-robin El algoritmo cclico est diseado para hacer un reparto equitativo del tiempo del procesador, por lo que est especialmente destinado a los sistemas de tiempo compartido. El algoritmo se basa en el concepto de rodaja (slot) de tiempo. Los procesos estn organizados en forma de cola circular, eligindose para su ejecucin el proceso cabecera de la cola. Un proceso permanecer en ejecucin hasta que ocurra una de las dos condiciones siguientes: El proceso pasa a estado de bloqueado, porque solicita un servicio del sistema

operativo. El proceso consume su rodaja de tiempo, es decir, lleva ejecutando el tiempo estipulado de rodaja. Un proceso que ha consumido su rodaja de tiempo es expulsado y pasa a ocupar el ltimo lugar en la cola. De esta forma, se consigue que todos los procesos pasen a ejecutar, repartiendo el tiempo del procesador de forma homognea entre ellos. La Figura 3.25 muestra cmo el proceso 5, al consumir su rodaja de tiempo, pasa al final de la cola. Segn se construya el planificador, los procesos que pasan de bloqueados a listos se pueden incluir como primero o como ltimo de la cola. FIFO En este caso, la cola de procesos en estado de listo est ordenada de acuerdo al instante en que los procesos pasan al estado de listo. Los que llevan ms tiempo esperando estn ms cerca de la cabecera. El algoritmo es sencillo, puesto que consiste en tomar para ejecutar al proceso de la cabecera de la cola. No se plantea expulsin, por lo que el proceso ejecuta hasta que realiza una llamada bloqueante al sistema operativo. Es aplicable a los sistemas batch, pero no a los interactivos. Prioridades En el algoritmo de prioridades se selecciona para ejecutar el proceso en estado de listo que tenga la mxima prioridad. Cuando las prioridades son fijas puede surgir el problema de la inanicin, que implica que un proceso puede estar esperando indefinidamente sin llegar a ejecutar. Esto ocurrir si van apareciendo siempre procesos de mayor prioridad que estn en estado de listo. Para evitar este problema, se puede aadir un mecanismo de envejecimiento, que se encargue dc aumentar la prioridad a los procesos que lleven un determinado tiempo esperando a ser ejecutados. Por ejemplo, suponiendo que la mayor prioridad es la 0, un proceso de prioridad 22 que lleve ms de X ms esperando en estado de listo pasara a prioridad 21, si pasados otros X ms siguiese sin ejecutar pasara a prioridad 20 y as sucesivamente. Una vez que haya ejecutado volver a tomar su prioridad normal de 22. Dado que puede haber varios procesos listos con el mismo nivel de prioridad, es necesario utilizar otro algoritmo para decidir entre ellos. Se podra utilizar, por ejemplo, un cclico, si el sistema es interactivo o un FIFO si es hatch. Los algoritmos basados en prioridades suelen ser con expulsin. Primero el trabajo ms corto Este algoritmo exige conocer a priori el tiempo de ejecucin de los procesos, por lo que es aplicable a trabajos batch repetitivos cuyo comportamiento se tenga analizado. El algoritmo consiste en seleccionar para ejecucin al proceso listo con menor tiempo de ejecucin. No se plantea expulsin, por lo que el proceso sigue ejecutndose mientras lo desee. La ventaja de este algoritmo es que produce el menor tiempo de respuesta, pero a costa de penalizar los trabajos de mayor tiempo de ejecucin. Tambin puede sufrir de inanicin, puesto que, en el caso de que estn continuamente apareciendo procesos con tiempo de ejecucin pequeo, un proceso largo puede no llegar a ejecutar.

16. Indique las politicas que debe implementar un sistema operativo conforme a la norma POSIX.
Las polticas de planificacin disponibles en POSIX son las siguientes: FIFO: Los procesos que se planifican segn esta poltica se introducen al final de la cola de su prioridad asociada. Un proceso con esta poltica de planificacin slo se expulsar de la UCP cuando ejecute una llamada al sistema bloqueante o cuando

aparezca en el sistema un proceso con mayor prioridad. El comportamiento del planificador para este tipo de planilicacin viene dado por las siguientes reglas: __ Si un proceso es expulsado de la UCP por otro de mayor prioridad, el proceso expulsado pasa a ser el primero de la cola asociada a su prioridad Cuando un proceso bloqueado pasa a listo para ejecutar, el proceso se introduce al final de la cola asociada a su prioridad. Cuando un proceso cambia su prioridad o su poltica de planificacin, utilizando para ello los servicios adecuados, se realiza una replanificacin. Si como resultado de sta el proceso resulta expulsado, ste se introduce al final de la cola de procesos de su prioridad. Cclica: En este caso, los procesos de cada nivel de prioridad se planifican segn una poltica de planificacin cclica con una determinada rodaja de tiempo. El comportamiento del planificador para los procesos con este tipo de planificacin es el siguiente: Cuando un proceso acaba su rodaja de tiempo, se introduce al final de la cola de procesos de su prioridad. Cuando un proceso es expulsado por otro de mayor prioridad, se introduce al principio de su cola sin restaurar su rodaja de tiempo. De esta forma, cuando el proceso contine la ejecucin, lo har hasta que consuma el resto de la rodaja de tiempo. Otra: Hace referencia a una poltica de planificacin cuyo comportamiento depende de cada implementacin. De acuerdo a esto, todo sistema operativo que siga la norma POSIX debe ofrecer al menos dos polticas de planificacin: FIFO y cclica, pudiendo, adems, ofrecer otra poltica de planificacin. Observe que la poltica de planificacin se realiza por proceso y, por tanto, las tres polticas conviven en el planificador. Observe, adems, que la planificacin en POSIX es con expulsin.

17.

Que algoritmo de planificacion y que seales y excepciones utiliza Windows NT.

Windows NT implementa una planificacin cclica con prioridades y con expulsin. En Windows NT existen 32 niveles de prioridad, de 0 a 31, siendo 31 el nivel de prioridad mximo Tipos de seales Dado que las seales se utilizan para indicarle al proceso muchas cosas diferentes, existen una gran variedad de ellas. A ttulo de ejemplo, se incluyen aqu tres categoras de seales: Excepciones hardware. Comunicacin. FIS asncrona. El manejo de excepciones necesita el soporte del lenguaje de programacin para que el programador pueda especificar el manejador a ejecutar cuando se produzca una excepcin. Un esquema habitual es el que se presenta a continuacin: try{ Bloque donde puede producirse una excepcin } except{ Bloque que se ejecutar si se produce una excepcin en el bloque anterior } En el esquema anterior, el programador encierra dentro del bloque try el fragmento de cdigo que quiere proteger de la generacin de excepciones. En el bloque except sita el manejador de excepciones. En caso de generarse una excepcin en el bloque try, el sistema operativo transfiere el control al bloque except que se encargar de manejar la correspondiente excepcin. Windows NT utiliza el mecanismo de excepciones, similar al anterior, para

notificar a los procesos los eventos o errores que surgen como consecuencia del programa que estn ejecutando

18. 19.

Que es un servidor y que es un cliente. Que servicios ofrece WIN32.

Un servidor es un proceso que est pendiente de recibir rdenes de trabajo que provienen de otros procesos, que se denominan clientes.

Los servicios que ofrece Win32 se han agrupado, al igual que en POSIX, en las siguientes categoras: Identificacin de procesos. El entorno de un proceso. Creacin de procesos. Terminacin de procesos.

20. Puede degradarse el rendimiento de la utilizacion del procesador en un sistema sin memoria virtual siempre que aumenta el grado de multiprogramacion? 21. Siempre se produce un cambio de proceso cuando se produce un cambio de contexto? Razone su respuesta. 22. Cul es la informacin que no comparten los procesos ligeros de un mismo proceso? 23. Puede producirse un cambio de contexto en un sistema con un planificador basado en el algoritmo primero el trabjo mas corto ademas de cuando se bloquea o termina el proceso? Razone su respuesta. 24. Que algoritmo de planificacion sera mas conveniente para optimizar el rendimiento de la UCP en un sistema que solo tiene procesos en los cuales no hay E/S? 25. Cual de las siguientas politicas de planificacion es mas adecuada para un sistema de tiempo compartido? Primero el trabajo mas corto, Round Robin, Prioridades, FIFO. 26. Indique las caracteristicas en las que se basa la multitarea. 27. Lista las ventajas de la multitarea 28. Liste las operaciones que debe realizar el sistema operativo cuando se forma un proceso. Problemas Desarrolle los problemas indicados al final del capitulo 3. 3.11, 3.12, 3.13, 3.14, 3.15, 3.16.