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