Anda di halaman 1dari 5

2do Parcial de Sistemas Operativos

PROCESO: cuando un programa es ledo del disco duro por el nucleo y es cargado a la memoria para ejecutarse y asi se convierte en proceso. CARACTERISTICAS: -Es una copia del programa -Ademas posee infromacion adicional para poder ser manejado por el nucleo. SE COMPONE POR 3 BLOQUES FUNDAMENTALES: -SEGMENTO DE TEXTO: es la copia del texto del programa -SEGMENTO DE DATOS: aqu se encuentran las variables estaticas y globales -SEGMENTO DE PILA: creado por el nucelo y de tamao dinamico, aqu se localiza la informacin necesaria de las funciones programadas. EN UNIX LOS PROCESOS SE PUEDEN EJECUTAR DE 2 FORMAS: -Usuario y Supervisor(modo kernel) Por lo tanto hay una pila para cada modo de ejecucin EL PLANIFICADOR: es la parte del nucleo encargada de gestionar el cambio de contexto o cambio de estado(Usuario y Supervisor) JERARQUIA DE PROCESOS: -Todos los procesos en unix es la entidad que se crea tras la llamada a FORK -Todos los procesos excepto el primero (Proceso 0 )son creados mediante la llamada a FORK -El proceso que llama a FORK es llamado proceso padre y el proceso que se crea es el proceso HIJO. -Todos los procesos solo tienen un nico padre pero pueden tener varios procesos hijos -El nucleo identifica cada proceso mediante su PID (Proces identification)

MP:memoria principal MS:memoria secundaria

Hilos(Threads) Es una caracteristica que permite a una aplicacin realizar varias tareas a la vez (concurrencia) Los hilos comparten una seria de recursos tales como MEMORIA,ARCHIVOS ABIERTOS , METODOS DE AUTENTICACION,ETC Un proceso sigue en ejecucion mientras uno de sus hilos este activo Los principales estados de ejecucion de los hilos son EJECUCION, LISTO Y BLOQUEADO Si un proceso esta expulsado de la memoria pincipal todos deberan estarlo ya que todos conparten el espacio de direcciones del proceso CONDICION DE COMPETENCIA Uno o varios procesos compiten por uno o varios procesos REGLA DE ORO PARA EVITAR LA COMPETENCIA: es garantixar un acceso seguro a recursos compartidos es decir debe de haber coordinacion y sincronizacion de procesos. REGLAS: -2 o mas procesos no pueden estar en su seccin critica o pueden ocasionar el bloqueo del s.o -No debe de suponerse nada acerca de la velocidad -Orden de ejecucin de los procesos -Ningun proceso deber tener que esperar indeterminadamente para entrar en su seccin critica

SECCION CRITICA: es la porcin de cdigo de un programa de computadora que accede a un recurso compartido que no debe de ser accedido por mas de un hilo de ejecucin EXCLUSION MUTUA: se refiere a que una actividad impide que otras puedan tener acceso a un dato, mientras se encuentra realizando una operacin sobre el mismo EXCLUSION ACTIVA: establecen la espera para entrar a la seccin critica con iteracin que ser rota al cumplir una condicin VENTAJA: los procesos no quedan bloqueados DESVENTAJA: los algoritmos sobrecargan el sistema y se vuelven engorrosos TECNICAS: -Espera con mutex: uso de switch(programacion)

-Alternancia: utiliza una variable de turno -De dekker: utiliza 2 switch es igual a una tabla unidimensional 2 elementos logicos EXCLUSION MUTUA CON ESPERA ACTIVA: 2 estados Dormir y Despertar DESVENTAJA: seales enviadas para despetar se pierden o se llegan a perder si el proceso al que se enva no se encuentra dormido(PAUSADO/REANUDADO) SEMAFOROS: variable de tipo entero que se inicializa n accesos simultaneos permitidos y se utilizan para 2 cosas: -Delimitar una regin critica para que se vuelva con acceso exclusivo -Contador de recursos cuando los recursos se agotan el contador llega a 0 y se duerme el proceso OPERACIN ATOMICA: Down() si el semforo es mayor que 0 la decrementan y continua si no se duermen y deja la operacin pendiente Up()Incrementan el semforo y si hay procesos durmiendo en el despierta a 1 (cualquiera) MONITORES Un monitor encapsula el cdigo relativo a un recurso compartido en un solo modulo del programa

DESPERTAR Y DORMIR Sleep() Wake up()

SEMAFOROS Down() Up()

MONITOR JAVA Wait() Notify() Notify all()

MONITOR C++ Wait() Wake up() Wake up all()

MONITORES JAVA: son monitores de muy alto nivel lo que evita bloqueos mutuos. TRANSFERENCIA DE MENSAJES Para pasar datos de un proceso a otro y evitar la interferencia INTERFERENCIA: cuando 2 procesos quieren ocupar el mismo dato PLANEACION ROUND ROBIN O TORNEO

Asigna quantos de tiempo pequeos(son ineficientes ya que el planificador necesita tiempos grandes) se asignan quantos de tiempo grandes(son aburridos y crean sistemas inactivos).Por lo tanto ae tienen que encontrar la medida de los quantos pequeos y los cuantos grandes que se asigne. PLANIFICACION POR PRIORIDAD En un CPU se basa en la planificacin -Equitatividad para todos los procesos -Eficiencia (% de tiempo de CPU ocupada) -Tiempo de respuesta (para procesos inactivos) -Tiempo de retorno o servicio(para procesos por lotes) PLANIFICACION POR PRIORIDAD Por prioridad (no es lo mismo que importancia). Colas multiples con round robin interno. Se les aade envejecimientop a la prioridad para evitar bloqueos indefinidos de tareas de baja prioridad( jerarquia) COLAS MULTIPLES Las colas multiples estn basadas en una pila que sirve como ndice de una lista de procesos que se tienen que ejecutar. EL PRIMER TRABAJO MAS CORTO SJF(primero el trabajo mas corto): disminuye el tiempo promedio de respuesta PLANIFICACION GARANTIZADA A cada uno de los n procesos garantizarle 1/n de tiempo de cpu (para ello hay que llevar la cuenta de quantos asignados) PLANIFICACION POR LOTERIA Se asignan boletos a los procesos que necesitan recursos y se hace una lotera 50 veces por segundo ganara mas frecuentemente quie tenga mas boletos PLANIFICACION DE TIEMPO REAL Garantas de tiempo de sevicio para cada tarea -Sistemas hardware y softeare -Tareas peridicas y aperiodicas

-Parametros de cada tarea: A= tiempo de llegada, C-WCET= tiempo de ejecucin de caso por T= periodo, D= deadline PLANIFICADOR DE TIEMPO REAL -Conjunto de tareas planificable o no Planificadores optimos: -RR(rate monothonic)lio-laidand (todas sus tareas son peridicas e independientes unas de otras) -EDF(earlist deadline first):plazo de ejecucion maximo absoluto -LLF(least laxity= holgura first): se asignan las prioridades dando preferencia a last areas con menor holgura PLANIFICADOR DE ALTO NIVEL Se encarga de llevar procesos de disco a memoria y viceversa PLANIFICADOR DE BAJO NIVEL Se encarga de pasar un proceso a otro en memoria principal VARIOS CRITERIOS -Tiempo en memoria -Tiempo de procesador -Prioridad -Tamao

Tuberias(fifos) TUBERIAS CON NOMBRE: nos permiten comunicar procesos sin ningn parentesco, la tubera con nombre tiene una semntica parecida a las tuberas sin nombre. La diferencia es un fichero que utiliza una entrada a un directorio y accede a travez de una ruta o direccin. TUBERIAS SIN NOMBRE: se crean con la llamada a PIPE y solo el proceso que la llama y sus descendientes pueden utilizarla.No sirven para comunicar procesos sin parentesco

Anda mungkin juga menyukai