Tareas en Linux · TASK_RUNNING (0): Indica que el proceso en cuestión se está ejecutando o listo para ejecutarse. En este segundo caso, el proceso dispone.

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
22 3 ¿Qué creen que es? Les doy pistas: Se devora y no se gasta No necesita luz eléctrica Se puede compartir Se lleva a todas partes, facilito Si no.
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
“Planificación de Aplicaciones Web”
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
TEMA 2 MÚLTIPLOS Y DIVISORES
Aranda Fernández, Miguel Ángel García Redondo, Luis Miguel
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Cuestiones y problemas
Los números.
Uno 1.
Planificador de Procesos
Los números.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
Planificación con Prioridades Fijas
APLICAWEB SERVICIOS LEGALES DE PUERTO RICO
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
EL OSO APRENDIZ Y SUS AMIGOS
Proyecto ProMéxico Plasmas abril SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto ProMéxico Plasmas mayo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto ProMéxico Plasmas marzo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
RETIRO DE COMALCALCO DIC. 2012
Proyecto para Centros que trabajan una vez por semana.
Informática II Prof. Dr. Gustavo Patiño MJ
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
INFORME PIPADI HOSPITAL VALL DHEBRON JUNIO 2012 – JUNIO
Plan de Desarrollo “TODOS SOMOS FACATATIVA 2012 – 2015”
Aqui está Señoras y Señores !!!!!
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
IMPLEMENTACIÓN DEL ALGORITMO DE PRIORIDADES DUALES EN RT-LINUX
CULENDARIO 2007 Para los Patanes.
Números enteros.
BEATRIZ LAFONT VILLODRE
SI QUIERES VERLO DALE AL CLICK
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
* Fuente: Sondeo del Consumidor de la Comisión de la UE, GfK. Expectativas sobre la situación.
Uno 1.
Cero.
Llamadas al Sistema EXIT y WAIT
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
ISAIAS 5:1-2.
EL RETO DE UN GRANDE Y PROFUNDO LEGADO
Los números De 0 (cero) a 30 (treinta).
Cero 0 Uno 1 Dos 2 Tres 3 Cuatro 4 Cinco 5 Seis 6.
Vocabulario Los números
Numbers.
0 cero. 0 cero quince 1 1 uno catorce.
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Multiprogramación Procesos Cecilia Hernández
© 2004 ACNielsen 1 Población Infantil de la Comunidad de Madrid (de 3 a 10 años) 13%12%13%12%13%12%13%12% Fuente: INE. Padrón Municipal 2004 Total población.
Administración del Procesador
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Signal, kill, sigaction y máscara de señales
M.C. Juan Carlos Olivares Rojas
Gestión de procesos Sistemas Operativos Edwin Morales
TEMA: PROCESOS y PLANIFICACIÓN
Transcripción de la presentación:

Tareas en Linux · TASK_RUNNING (0): Indica que el proceso en cuestión se está ejecutando o listo para ejecutarse. En este segundo caso, el proceso dispone de todos los recursos necesarios excepto el procesador. · TASK_ INTERRUPTIBLE (1) : el proceso está suspendido a la espera de alguna señal para pasar a listo para ejecutarse. Generalmente se debe a que el proceso está esperando a que otro proceso del sistema le preste algún servicio solicitado. · TASK_UNINTERRUPTIBLE (2): el proceso está bloqueado esperando a que se le conceda algún recurso de hardware que ha solicitado (cuando una señal no es capaz de “despertarlo”). · TASK_ZOMBIE (4): el proceso ha finalizado pero aún no se ha eliminado todo rastro del mismo del sistema. Esto es habitualmente causado ha terminado pero el padre no lo espera con un wait(). · TASK_STOPPED (8): el proceso ha sido detenido por una señal o bien mediante el uso de ptrace() para ser trazado.

Colas de procesamiento Cola de Ejecución o runqueue: procesos en estado TASK_RUNNING . Colas de Espera o wait queues: procesos en estado TASK_ INTERRUPTIBLE ó TASK_ ININTERRUPTIBLE. Los procesos en estado TASK_ZOMBIE ó TASK_STOPPED no necesitan colas para ser gestionados.

Identificadores de proceso Cada proceso posee un identificador único (PID) Si un proceso es “hijo” de otro, podemos conocer a su “padre” PPID. Podemos ver tanto PID, como PPID con el comando ps. Otro comando es pstree, que permite ver el árbol de procesos

Credenciales del proceso

Planificación en linux Combinación de prioridades estáticas y dinámicas (“task’s goodness” o “bondad”) El planificador analiza y calcula la “bondad” de cada una de las tareas. La tarea con mayor “bondad” será la próxima que se ejecute.

Funcionamiento del Planificador Contador que genera una interrupción cada 10 milisegundos. Decremento de prioridad dinámica de la tarea en ejecución. Al llegar a cero, se llama a la función schedule( ) Máxima prioridad es 40. Maximo intervalo sin ser interrumpida por el planificador 0.4 segundos.

Task_struct volatile long states: informa del estado de la tarea,indicando si la tarea es ejecutable o si es interrumpible (puede recibir señales) o no. long counter: representa la parte dinámica de la “bondad” de una tarea. Inicialmente se fija al valor de la prioridad estática de la tarea. long priority: representa la parte estática de la “bondad” de la tarea. long need_resched : se analiza antes de volver a la tarea en curso después de haber llamado a una syscall, con el objeto de comprobar si es necesario volver a llamar a schedule( ) para planificar de nuevo la ejecución de las tareas. unsigned long policy: inidica la política de planificación empleada: FIFO, ROUND ROBIN, etc. unsigned rt _priority: se utiliza para determinar la “bondad” de una tarea al utilizar tiempo real por software. struct mm_struct *mm: apunta a la información de gestión de memoria de la tarea. Algunas tareas comparten memoria por lo que pueden compartir una única estructura mm_struct.

Señales SIGHUP SIGINT SIGQUIT SIGILL SIGTRAP SIGABRT SIGBUS SIGFPE SIGKILL SIGUSR1 SIGSEGV SIGUSR2 SIGPIPE SIGALRM SIGTERM SIGCHLD SIGCONT SIGSTOP SIGTSTP SIGTTIN SIGTTOU SIGURG SIGXCPU SIGXFSZ SIGVTALRM SIGPROF SIGWINCH SIGIO SIGPWR SIGSYS

Proceso de señales

Manejo de señales (Recepción) Definición de tipo typedef void (*sighandler_t)(int); Función signal sighandler_t signal(int signum, sighandler_t handler); Función de manejo de señal Void handler(int);

Ejemplo #include <signal.h> #include <unistd.h> void trapper(int); int main(int argc, char *argv[]) { int i; for(i=1;i<=64;i++) signal(i, trapper); printf("Identificativo de proceso: %d\n", getpid() ); pause(); printf("Continuando...\n"); return 0; } void trapper(int sig) signal(sig, trapper); printf("Recibida la señal: %d\n", sig);

Manejo de Señales (envío) Desde la Shell: comando kill bash$ kill –Sig Pid Sig son los nombres vistos sin el SIG o bien los números correspondientes Desde un programa: función Kill int kill(pid_t pid, int sig);

Ejemplo #include <sys/types.h> #include <signal.h> #include <unistd.h> int main(int argc, char *argv[]) { pid_t pid; int sig; if(argc==3) pid=(pid_t)atoi(argv[1]); sig=atoi(argv[2]); kill(pid, sig); } else printf("%s: %s pid signal\n", argv[0], argv[0]); return -1; return 0;