T2 gestion del procesador Flashcards
que es un proceso
es una abstraccion de un programa en ejecucion. Esta cargado en memoria y se cargara en la cpu en ciertos momentos
que compone un proceso
codigo
datos
pila
pbc
un ejecutable solo tiene codigo, y para ejecutarse hay que cargarlo en memoria. Al guardarlo en memoria, debe guardar espacio para datos, codigo y pila
que ciclo sigue un proceso
alterna entre la CPU y los procesos de entrada y salida
cuales son los dos tipos de procesos que existen
- procesos interactivos: son intensivos en E/S y tienen rafagas muy cortas de CPU. el programa está mucho tiempo esperando a que el usuario utilice alguna entrada
- procesos de calculo: Son intensivos en CPU, con rafasgas de uso largas. en estos procesos no se utiliza la E/S
en un sistema operativo multitarea existen dos tipos de planificaciones, como se definen?
- no expulsora: el proceso no deja utilizar la CPU hasta que tiene una operacion E/S
- expulsora: el SO puede expulsar un proceso de la CPU por oren de preferencia
el tiempo de ejecucion es menor en las planificaciones expulsoras
cuales son los estados básicos de un proceso
ejecucion
bloqueado
preparado
en que consiste la operación de cambio de contexto
operación en la que se guarda el estado de la cpu del proceso actual para pasar a ejecutar otra tarea y en el futuro poder reanudar la ejecucion del proceso actual donde se quedo
para que se utiliza el cambio de contexto
- implementar la multiprogramacion
- atender a interrupciones
donde está el código de la isr cuando la atendemos
esta en la memoria del núcleo, no del proceso. A pesar de que pertenece a la memoria del núcleo, hacemos que pertenezca a la memoria del proceso y asi hacemos el cambio de contexto de manera más facil
que es la memoria cache y que almacena
es una memoria ultra rapida que guarda instrucciones y los datos que mas se estan utilizando para que cuando la CPU acceda a memoria sea una ejecucion más rapida
Con que proposito se utilizan las aplicaciones multihilo
para agilizar el proceso de compartir memoria en las aplicaciones multiproceso
que es un hilo
un hilo es un proceso ligero con acceso a memoria de todo el proceso. tienen un cierto ciclo de vida y estado independiente de los demas. todos los hilos comparten memoria.
cuales son las ventajas de las aplicaciones multihilo
- los hilos comparten información de manera rapida y facil mediante variables globales y memoria dinamica
- la creación y desctruccion de hilos y el cambio de contexto entre ellos es más rapido
cuales son los inconvenientes del multihilo
- no hay proteccion de memoria, un hilo puede usar de manera inadecuada la zona de memoria de otros hilos del mismo proceso
- aumenta la necesidad de aplicar mecanismos de sincronización entre hilos.
de que se encarga la planificacion de la CPU
cuando hay varios procesos listos para ejecutarse, el nucleo, segun el planificador, debe decidir a cual de ellos el asigna la cpu
hay planificador a corto plazo, a medio plazo y a largo plazo
que hace el planificador a medio plazo cuando hay mucha carga de procesos
hace una copia de los procesos suspendidos en la memoria del sistema para dar prioridad a los procesos que se estan ejecutando actualmente
cuales son los objetivos de la planificación
- imparcialidad: todos los procesos deben ser tratados por igual y deben tener acceso a la cpu
- eficiencia
- minimizar el tiempo de respuesta para los procesos interactivos
- favorecer a los procesos importantes
que hace un planificador expulsor
obliga a los procesos a dejar la cpu a pesar de que no haya teminado su rafaga. se usa en los sistemas donde los procesos importantes deben ejecutarse antes de los menos importantes
que hace un planificador no expulsor
los procesos solo abandonan la CPU al finalizar su rafaga
proceso FIFO
los primeros que llegan son los primeros atendidos, no sueltan la CPU hasta terminar su rafaga (algoritmo no expulsor que perjudica muchos procesos de E/S)
proceso RR (round robin)
es un FIFO con planificador expulsora, puede expulsar a los procesos
los que esten listos, ocuparan la cpu durante un tiempo definido denominado quanto
en que influye un quanto pequeño
cada poco tiempo se expulsa un proceso y se añade otro, esto leva un alto coste de tiempo y de gestion de memoria, por tanto es menos eficiente
en que influye un quanto grande
tiene mayor tiempo en la cpu, por tanto accede menos a la memoria, lo que resulta en mayor eficacia y un tiempo de respuesta grande
que tipos de prioridades tienen los procesos y cual es más eficiente
las prioridades pueden ser estadísticas o dinámicas. Las prioridad estadística es ms eficiente porque la CU no tiene que calcular el nivel de prioridad es más conveniente
como asignamos la prioridad de los distintos procesos
a un proceso que utiliza muchos recursos de CPU le bajamos la prioridad mientras que a otro que use pocos se la disminuiremos
en que consisten las colas multinivel con retroalimentación
un proceso que sale de la CPU , entra en una cola o otra dependiendo del tiempo de procesamiento. Si tarda mucho o ha sido expulsado (comprtamiento malo) lo añadiremos en una cola de menor prioridad de la que ha salido hacia la CPU. Si salio rapido de la CPU se le meterá en una cola con mayor prioridad de la que ha salido
un algoritmo round robin no genera problemas de..
inanicion. Al expulsar los procesos periodicament no tendra este problema dado que ningun proceso aparará toda la cpu
¿Cuál de los algoritmos de planificación es, en general, el más apropiado para sistemas de tiempo compartido?
colas multinivel con retroalimentación
en que consiste la tecnica del envejecimiento
Consiste en ir subiendo paulatinamente la prioridad de los procesos preparados que llevan mucho tiempo en ese estado, de forma que en algún momento acaban por ser lo suficientemente prioritarios como para acceder a la CPU. Esta técnica se usa en la planificación de colas multinivel con realimentación.
cual de las transiciones de estados de los procesos, es la única que es iniciada por un proceso de usuario.
de ejecutandose a bloqueado
como funcionan los procesos de un navegador web
hay un proceso principal y otro para cada pestaña. Esto se hace para que si se cuelga una pestaña, no se caiga el navegador entero y mejora la seguridad, al aislar cada proceso con una zona de memoria diferente
cuales son los elementos propios de cada hilo
- contador de programa
- registros de la CPU
- pila
- variables locales
- estado
cuales son los elementos compartidos entre hilos
- codigo del programa
- variables globales
- memoria dinamica
- ficheros abiertos
- herramientas de sincronizacion
- procesos hijos
puede comunicarse un hilo con otro hilo
si y con procesos de otras máquinas
donde se almacenan los cambios de contexto
en el pcb
el cambio de contexto es más rapido entre
ente hilos que entre procesos, dado que los hilos comparten informacion que no es necesaria cambiar
¿Por qué no tiene sentido que un proceso preparado pase a bloqueado?
No tiene sentido porque si no está en ejecución no puede ejecutar instrucciones ni ha pedido ningun recurso
cada proceso tiene su propio espacio de direccionamiento?
si
Cuando un proceso lleva mucho tiempo en el estado preparado
Seguro que no es el único proceso del sistema
que pasa cuando se agota el cuanto en un algoritmo Round Robin
se produce un cambio de contexto y el proceso ejecutandose se pone el ultimo en la cola de procesos
en que se beneficiaria un procesador al tener un cuanto excesivamente grande (casi infinito)
- el proceso en ejecución beneficiaria pq no los expulsarían sin terminar su rafaga. Sin embargo, los procesos en cola estarian perjudicados al no poder acceder a la cpu hasta que acaben todos los anteriores a el
- el rendimiento es más alto al no tener que invertir tanto tiempo en el cambio de contexto
en que se beneficiaria un proceso al terner un cuanto muy pequeño (ligeramente superior a cero)
- beneficia a los procesos intensivos en E/S, al conseguir que se llegue rapido al estado de ejecucion aunque hayan otros procesos delante
- rendimiento muy bajo al tener una sobrecarga por los tiempos de cambio de contexo
que politica de planificacion de disco puede provocar inanicion
SFF
cabe la posibilidad de que un proceso nunca entre en memoria si tiene prioridades fijas?
si
cual de los siguientes atributos es heredado por un hijo de su padre en un sistema Unix
el PGID
en un sistema MONOPROCESO, que otro proceso no ejecutandose haga una llamada al sistema puede hacer que abandone la CPU el que se ejecuta actualmente?
NO, el proceso deja de ejecutarse
se almacena la pila del proceso en el PCB?
NO
que almacena la pcb
el valor de los registros de la CPU al cambiar de contexto
Puede un proceso en estado preparado hacer llamadas al sistema
no, hasta que entre en ejecucion
tiene en cuenta el numero total de procesos que hay en el sistema el planificador del procesador a corto plazo de los sistemas Unix a la hora de determinar la prioridad de un proceso
no
es necesario salvar el contexto cuando se ejecuta la funcion biblioteca del SO
SI
Indique qué elemento NO se almacena en el PCB (Process Control Block).
Seleccione una:
El valor que tenían los registros de la CPU en el momento en el que el proceso la abandonó por última vez.
Información de planificación (prioridad del proceso, etc.).
La tabla de punteros a las rutinas de servicio de las llamadas al sistema
La lista de ficheros abiertos por el proceso.
La tabla de punteros a las rutinas de servicio de las llamadas al sistema
Correcto, pues este elemento no se almacena en el PCB,. Esta tabla se almacena dentro del núcleo y es común para todos los procesos.
Se ha diseñado un programa para navegar por páginas web como aplicación multiproceso, donde cada pestaña estará gestionada por un proceso. Indique cuál de las siguientes afirmaciones es incorrecta:
Seleccione una:
Se puede mejorar el tiempo de respuesta en general de las pestañas.
Consume menos memoria.
Se mejora la estabilidad de la aplicación.
Se mejora la seguridad.
Consume menos memoria.
Correcta, pues esta afirmación es incorrecta. Cada proceso ocupa una zona de memoria distinta, con lo cual, la aplicación multiproceso ocupará más memoria que si es monoproceso. Existen sistemas de gestión de memoria que permiten a los procesos compartir memoria, por ejemplo el código, pero los datos y pila serán diferentes para cada proceso.
De las siguientes transiciones de estados de los procesos, indicar cuál es la única que es iniciada por un proceso de usuario.
Seleccione una:
Ejecutándose a Bloqueado.
Bloqueado a Preparado.
Ejecutándose a Preparado.
Preparado a Ejecutándose.
Ejecutándose a Bloqueado.
Correcto. Esta transición se produce cuando el proceso invoca alguna llamada al sistema que le hace bloquearse, como una petición de E/S.
¿Por qué no tiene sentido que un proceso preparado pase a bloqueado?
Seleccione una:
Pues claro que puede pasar, por ejemplo si otro proceso de mayor prioridad necesita la CPU.
No puede ser, porque el paso a bloqueado se produce cuando el proceso recibe una interrupción y éstas sólo se pueden recibir cuando el proceso está en ejecución.
Pues claro que puede pasar, pero solamente si el proceso estaba suspendido (en disco) en ese momento.
No tiene sentido porque si no está en ejecución no puede ejecutar instrucciones.
No tiene sentido porque si no está en ejecución no puede ejecutar instrucciones.
Correcto. Para pasar a bloqueado, el proceso tendría que haber realizado una llamada al sistema que fuera bloqueante. Si el proceso estaba preparado, no estaba en ejecución, por lo que no puede ejecutar instrucciones.
Cuando un proceso lleva mucho tiempo en el estado preparado:
Seleccione una:
Puede solicitar al núcleo, mediante una llamada al sistema, que le reevalúe su prioridad.
Seguro que el sistema operativo utiliza un algoritmo de planificación del procesador no expulsor.
Seguro que no es el único proceso del sistema.
Puede pasar a bloqueado si transcurre mucho tiempo sin conseguir la CPU.
Seguro que no es el único proceso del sistema.
Correcto. Si está en estado preparado, es porque al menos debe haber otro proceso usando la CPU.
¿Cuál de los siguientes elementos es compartido por todos los hilos de un proceso?
Seleccione una:
El contador de programa.
La pila.
El estado (ejecutando, preparado o bloqueado).
Las variables globales.
Las variables globales.
Correcto. Las variables globales se pueden utilizar desde cualquier hilo del proceso.
¿Cuál de las siguientes afirmaciones acerca de hilos y procesos es cierta?
Seleccione una:
Un hilo sólo puede comunicarse con otros hilos del mismo proceso, mientras que un proceso puede comunicarse con cualquier otro proceso del sistema.
Una aplicación que desee hacer varias cosas a la vez tiene que escribirse con hilos, puesto que con procesos solo puede hacer una única cosa en cada momento.
El cambio de contexto entre procesos es más rápido que entre hilos.
Cada proceso tiene su propio espacio de direccionamiento, mientras que los hilos de un proceso comparten el mismo espacio de direccionamiento.
Cada proceso tiene su propio espacio de direccionamiento, mientras que los hilos de un proceso comparten el mismo espacio de direccionamiento.
Correcto. Todos los hilos de un proceso comparten el espacio de direccionamiento del proceso al que pertenecen, si bien algunas zonas se supone que son exclusivas de cada hilo (por ejemplo, su pila). Se dice “se supone”, porque la CPU no puede implantar restricciones a nivel de hilo y un hilo podría acceder o machacar posiciones de memoria que se supone que no debería usar.
Con respecto a los algoritmos de planificación del procesador, indique cuál de las siguientes afirmaciones es falsa:
Seleccione una:
Para dificultar la inanición suele usarse la técnica del envejecimiento.
Cuando se usa Round Robin, los procesos siempre consumen completamente su cuanto de tiempo antes de ceder la CPU a otro proceso.
En la planificación a corto plazo interesa utilizar un algoritmo expulsor para evitar que un proceso pueda monopolizar el procesador.
La planificación del procesador a largo plazo no se aplica, en general, a las tareas interactivas.
Cuando se usa Round Robin, los procesos siempre consumen completamente su cuanto de tiempo antes de ceder la CPU a otro proceso.
Correcto, pues esta afirmación es falsa. Un proceso usará completamente su cuanto si su ráfaga de CPU actual es mayor o igual que el tamaño del cuanto. Si es más pequeña (por ejemplo, porque efectúa alguna llamada al sistema bloqueante a mitad del cuanto), entonces el sistema hará inmediatamente un cambio de contexto a otro proceso preparado, sin esperarse a que transcurra el resto del cuanto. No tendría sentido esperar a acabar el cuanto, porque sería perder el tiempo de la CPU que puede ser usada para otro proceso.
¿Cuál de los siguientes algoritmos de planificación es, en general, el más apropiado para sistemas de tiempo compartido?
Seleccione una:
Round-Robin
Prioridades estáticas
Colas multinivel con realimentación
FIFO/FCFS
Colas multinivel con realimentación
Correcto. Con este algoritmo se puede repartir la CPU entre muchos procesos con necesidades diversas. Permite ejecutar procesos intensivos en CPU a la vez que logra un tiempo de respuesta rápido para procesos interactivos gracias a que va promocionando a las colas de mayor prioridad a los procesos que más tiempo llevan en la cola de preparados.
En relación con la planificación de procesos es cierto que:
Seleccione una:
En el algoritmo de planificación “colas multinivel con realimentación”, cuando un proceso es expulsado por agotar su cuanto se le devuelve a la cola de la que salió.
Con una planificación expulsora la CPU no puede quedar inactiva.
El algoritmo de planificación “Round-Robin” no genera problemas de inanición.
Un algoritmo de planificación a corto plazo expulsor es aquel que expulsa al proceso en ejecución en cuanto llega un proceso a la cola de preparados.
El algoritmo de planificación “Round-Robin” no genera problemas de inanición.
Correcta. Este algoritmo selecciona al siguiente proceso al que se le concede la CPU de una cola FIFO, con lo cual, el último proceso de la cola llegará alguna vez al principio. Y como además expulsa al proceso que está en la CPU cuando pasa un tiempo, se asegura que la CPU no puede ser acaparada por ningún proceso.
cual de las siguientes politicas puede hacer que un proceso nunca alcance la cpu:
- round robin
- prioridades dinamicas
- prioridades fijas
- ninguna
-prioridades fijas
cual es cierta?
- un hilo solo puede comunicarse con hilos de la misma tarea, mientras que un proceso puede comunicarse con cualquier proceso del sist
- el mismo codigo puede ser ejecutado por varios hilos pero no por varios procesos
- cada proceso tiene su propio espacio de direccionamiento mientras que los hilos de una tarea comparten el mismo espacio de direccionamiento
- todas son falsas
-cada proceso tiene su propio espacio de direccionamiento mientras que los hilos de una tarea comparten el mismo espacio de direccionamiento
cuantos procesos nuevos crea la sentencia for(i=0; i<3; i++) fork()?
7
cuantos procesos nuevos crea la sentencia for(i=0; i<3; i++) i=fork()?
infinitos
puede invocar una llamada al sistema un proceso preparado?
no hasta que no se encuentre en estado de ejecucion
cual de las siguientes puede provocar inanicion?
SCAN
FIFO
Shortest seek first
Shortest seek first
cual de los siguientes factores no se tiene encuenta por el planificador del procesador a corto plazo de los sistemas Unix a la hora de determinar la prioridad dinamica?
- el valor nice del proces
- el numero total de procesos en el sist
- el tiempo que lleva esperando un proceso preparado
- el tiempo que lleva consumido de cpu
el numero total de procesos que hay en el sistema no se tiene en cuenta para determinar la prioridad
es necesario salvar el contexto de un proceso cuando… (CUAL ES FALSA)
- realiza una llamada al sist
- se produce una interrupcion
- se ejecuta una funcion de la biblioteca del so
- se realiza un cambio de contexto
cuando se ejecuta una funcion de biblioteca del SO no es necesario almacenar el contexto del proceso
cual de los siguientes elementos es compartido por todos los hilos de un proceso: -contador de proceso -la pila -los procesos hijos ninguno
los procesos hijos