sistemas operativos gestion de procesos

69
UNIVERSIDAD POLITÈCNICA SALESIANA Gestiòn de procesos SISTEMAS OPERATIVOS I ING. JOSE LUIS VILLAGOMEZ

Upload: chino-sosa-erazo

Post on 24-May-2015

759 views

Category:

Education


1 download

DESCRIPTION

Gestion de procesos en windows y en linux .pptx

TRANSCRIPT

Page 1: Sistemas Operativos Gestion de procesos

UNIVERSIDAD POLITÈCNICA SALESIANA

Gestiòn de procesos

SISTEMAS OPERATIVOS I

ING. JOSE LUIS VILLAGOMEZ

Page 2: Sistemas Operativos Gestion de procesos

PROCESOS Es un programa en ejecución.

Varios procesos diferentes pueden ser instancias de un mismo programa.

Para el sistema operativo el proceso es un conjunto de estructuras de datos a gestionar.

El proceso es el elemento central de la ejecución y el que realiza los trabajos del usuario.

Page 3: Sistemas Operativos Gestion de procesos

CICLO DE VIDA DE UN PROCESO.

El ciclo de vida de un proceso es sencillo, consta de la creación, la ejecución de instrucciones y la terminación.

CREACIÓN EJECUCIÓN TERMINACIÓN

Page 4: Sistemas Operativos Gestion de procesos

ESTADOS DE UN PROCESO

Un estado describe la situación actual de un proceso.

Es necesario tener un modelo claro del comportamiento de un proceso, con objeto de diseñar un programa que controle los procesos según el modelo establecido

Page 5: Sistemas Operativos Gestion de procesos

MODELO DE 2 ESTADOS Es el modelo más simple Un proceso puede Ejecutar o No Ejecutar El S.O. guarda datos sobre el estado y la posición

en memoria.

Page 6: Sistemas Operativos Gestion de procesos

MODELO DE 5 ESTADOS Nuevo, Listo, Ejecución, Bloqueado, Terminado.

Page 7: Sistemas Operativos Gestion de procesos

PROCESOS EN LINUX Un proceso es una instancia de un ejecutable en

ejecución identificado por un id de proceso (pid). Debido a que Linux implementa memoria virtual cada

proceso posee su propio contexto distintivo de memoria. Un proceso tiene un uid y una colección de gid como

credenciales. El comando ps puede utilizarse para examinar todos los

procesos actuales en ejecución. El comando top puede utilizarse para controlar todos los

procesos en ejecución.

Page 8: Sistemas Operativos Gestion de procesos

COMANDOS PS Y TOP.

Los sistemas GNU/Linux cuentan varios programas para efectuar el seguimiento de los procesos que se están ejecutando en el sistema. Entre los mas usados en la interfase de texto están los programas ps y top.

Ps: Sin ninguna opción dará la lista de procesos que están corriendo desde la terminal donde se ejecuto el ps. .

PID: Id del Proceso

TTY: identifica la consola donde se esta ejecutando el proceso.

TIME: tiempo total del proceso que se ha estado ejecutando.

Page 9: Sistemas Operativos Gestion de procesos

Si añadimos la opción l tendremos un listado largo del comando ps. En algunas versiones se usa la opción -l.

UID : que identifica el dueño del proceso PID : ID del ProcesoPPID : PID del proceso padre NI : nivel que se otorga a un proceso para requerir cierto privilegio VSZ :es el tamaño que tiene el proceso. RSS :es la tamaño del proceso que se encuentra residente en la memoria. WCHAN:es el nombre de la función del kernel donde el proceso esta durmiendo.

Page 10: Sistemas Operativos Gestion de procesos

El comando top mostrará un cuadro de procesos actualmente en ejecución, que se actualiza ciertos segundos

Page 11: Sistemas Operativos Gestion de procesos

En Linux, el primer proceso, /sbin/init, lo inicia el kernel en el arranque. Todos los demás procesos son el resultado de un proceso padre que se duplica o bifurca.

La ascendencia del proceso puede verse con el comando pstree.

Normalmente todo proceso muere seleccionando exit.

Page 12: Sistemas Operativos Gestion de procesos

ALGORITMO DE PLANIFICACION

DE PROCESOS

Page 13: Sistemas Operativos Gestion de procesos

● Cuando más de un proceso es ejecutable desde el punto de vista lógico, el sistema operativo debe decidir cuál de ellos debe ejecutarse en primer término.

● Los principales criterios respecto de un algoritmo de planificación son: la equidad, la eficacia,el tiempo de respuesta, el tiempo de regreso, y el rendimiento

Page 14: Sistemas Operativos Gestion de procesos

PARA TOMAR EN CUENTA...

● Tiempo de retorno

● Es el intervalo de tiempo desde que el proceso se ofrece hasta el momento que termina, es decir, la suma de los periodos de tiempo transcurridos esperando entraren la memoria.

● Tiempo de respuesta

● Es el tiempo transcurrido desde la presentación de una solicitud hasta que se produce la primera respuesta. Este criterio es la cantidad de tiempo para comenzar a responder, pero no el tiempo necesario para mostrar la respuesta.

Page 15: Sistemas Operativos Gestion de procesos

Tiempo de espera

● Es la cantidad de tiempo que un proceso espera en la cola de procesos listos.

● Tiempo de retorno normalizado

● Es la razón entre el tiempo de retorno y el tiempo de servicio. Este valor indica el retardo relativo que ha experimentado un proceso.

● Utilización del procesador

● Es el porcentaje de tiempo que el procesador está ocupado.

● Productividad

● Es una medida del número de procesos que se completan por unidad de tiempo

Page 16: Sistemas Operativos Gestion de procesos

PLANIFICACION PRIMERO EN ENTRAR PRIMERO EN SALIR (FIFO)

TRABAJO RAFAGA DE CPU TIEMPO DE LLEGADA

A 3 2

B 1 4

C 3 0

D 4 1

E 2 3

C D A E B

0 3 7 10 12 13

Page 17: Sistemas Operativos Gestion de procesos

Tiempo de espera

A = 7-2 = 5

B = 12-4=8

C = 0-0=0

D = 3-1=2

E = 10-3=7

Tiempo medio de

espera

5+8+0+2+7 = 22

22 / 5 = 4,4

Tiempo de retorno

A = 10

B = 13

C = 3

D = 7

E = 12

Tiempo medio de retorno

10+13+3+7+12 = 45

45 / 5

9

Page 18: Sistemas Operativos Gestion de procesos

Shortest-Job-FirstSJF

TRABAJO RAFAGA DE CPU

TIEMPO DE LLEGADA

A 3 2

B 1 4

C 3 0

D 4 1

E 2 3

C B E A D

0 3 4 6 9 13

Existe el apropiativo o expulsivo y el no apropiativo o no expulsivo

NO APROPIATIVO

Page 19: Sistemas Operativos Gestion de procesos

Tiempo de espera

A = 6-2 = 4

B = 5-4= 1

C = 0-0= 0

D = 9-1= 8

E = 3-3= 0

Tiempo medio de

espera

4+1+0+8+0 = 13

13 / 5 = 2,6

Tiempo de retorno

A = 9

B = 6

C = 3

D = 13

E = 5

Tiempo medio de retorno

9+6+3+13+5 = 36

36 / 5

7,2

Page 20: Sistemas Operativos Gestion de procesos

Planificación Por Prioridad Como asignar prioridades:

Internamente: El sistema operativo (S.O.), asigna esta prioridad, basado en este patrón:

P= El valor resultante será necesariamente un entero

Externamente: (No por S.O.) Definido por el usuario

Page 21: Sistemas Operativos Gestion de procesos

PLANIFICACION POR PRIORIDAD

TRABAJO RAFAGA DE CPU TIEMPO DE LLEGADA PRIORIDAD

A 3 2 2

B 1 4 5

C 3 0 3

D 4 1 1

E 2 3 3

C D A E B

0 3 7 10 12 13

Page 22: Sistemas Operativos Gestion de procesos

Tiempo de espera

A = 7-2 = 5

B = 12-4= 8

C = 0-0= 0

D = 3-1= 2

E = 10-3= 7

Tiempo medio de

espera

5+8+0+2+7 = 22

22 / 5 = 4,4

Tiempo de retorno

A = 10

B = 13

C = 3

D = 7

E = 12

Tiempo medio de retorno

10+13+3+7+12 = 45

45 / 5

9

Page 23: Sistemas Operativos Gestion de procesos

PLANIFICACION POR ROUND ROBIN

TRABAJO RAFAGA DE CPU TIEMPO DE LLEGADA PRIORIDAD

A 3 2 2

B 1 4 3

C 3 0 1

D 4 1 3

E 2 3 4

C D A E B D

0 3 6 9 11 12 13

Page 24: Sistemas Operativos Gestion de procesos

Tiempo de espera

A = 6-2 = 4

B = 11-4= 7

C = 0-0= 0

D = (3-1)+6= 8

E = 9-3= 8

Tiempo medio de

espera

4+7+0+8+8 = 27

27 / 5 = 5,4

Tiempo de retorno

A = 9

B = 12

C = 3

D = 13

E = 11

Tiempo medio de retorno

9+12+3+13+11 = 48

48 / 5

9.6

Page 25: Sistemas Operativos Gestion de procesos

CUADRO COMPARATIVO DE LOS ALGORITMOS DE PLANIFICACION DE

PROCESOS

Page 26: Sistemas Operativos Gestion de procesos

• La CPU asigna un intervalo de trabajo llamado quantum

• Se vuelve ejecutar el proceso en caso de que su ráfaga sea mayor al quantum

• Algoritmo Expulsivo

RoundRobin

• Asocia a cada proceso un tiempo aproximado de utilización de CPU mediante su ráfaga

• Selecciona el proceso con menor ráfaga.

• En caso de empate usa FIFO• mejora el tiempo medio de

espera• Algoritmo no expulsivo

SJF(Shortest-Job-First)

• Prioridades Internas y externas

• Se asume que la mayor prioridad es el numero menor

• En caso de empate se aplica FIFO

Por Prioridad

• Utiliza el método FIFO para su funcionamiento

• No optimiza: el tiempo de espera, retorno, rendimiento

• Su funcionalidad es el mas fácil de entender.

• Algoritmo no expulsivo

FCFS(First Come First Served)

Page 27: Sistemas Operativos Gestion de procesos

El multiproceso implica la existencia de varios procesadores en el sistema operativo

Ejecución de varios procesos a la vez.

Cada CPU(Unidad Central de Proceso) en una computadora puede estar ejecutando una instrucción, el otro procesador queda liberado para procesar otras instrucciones simultáneamente.

Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos

MULTIPROCESO

Page 28: Sistemas Operativos Gestion de procesos

ASIMETRICO

Una CPU principal retiene el control global de la computadora

El sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos

Page 29: Sistemas Operativos Gestion de procesos

SIMETRICO

Los procesos o partes de ellos (threads) son enviados indistintamente a cualesquiera de los procesadores disponibles

Page 30: Sistemas Operativos Gestion de procesos

Multitarea se refiere a la capacidad del SO para correr más de un programa al mismo tiempo

Varios procesos son ejecutados a la vez, compartiendo uno o mas procesadores

Con los sistemas operativos DOS esto era incapaz de realizarse.

MULTITAREA

Page 31: Sistemas Operativos Gestion de procesos

Existen varios tipos de multitareas y son :

Multitarea Nula Es aquel SO que carece de multitarea

Multitarea Cooperativa Es aquella donde los procesos de usuario, ceden la CPU al SO, en intervalos

regulares

Multitarea Preferente Es aquella en donde el SO se encarga de administrar el/los procesador/es,

repartiendo el tiempo de uso, para aquellos que esperan utilizarlo. Si hay un solo procesador el tiempo asignado será muy corto, dando la sensación de que se ejecutan al mismo tiempo.

Multitarea Real- Es aquella donde el SO ejecuta los procesos realmente al mismo tiempo, haciendo el uso de múltiples procesadores.

Page 32: Sistemas Operativos Gestion de procesos

Se denomina multiprogramación a la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo“.

Cuando un proceso de bloquea al esperar la E/S, ejecutamos en la CPU, instrucciones de otro proceso.

Los procesos entrelazan su ejecución

La CPU y la E/S trabajan al mismo tiempo se terminan mas trabajos en menos tiempo

MULTIPROGRAMACION

Page 33: Sistemas Operativos Gestion de procesos

Una interrupción es simplemente un llamado forzoso a un procedimiento.

Algunas de las aplicaciones más importantes de las interrupciones son las siguientes:

En un ambiente de multiprogramación debe existir algún mecanismo que le permita al sistema tomar el control después de un error

Un requisito indispensable para poder realizar eficientemente la multiprogramación es que haya concurrencia entre el procesamiento central y las operaciones de entrada/salida.

INTERRUPCIONES

Page 34: Sistemas Operativos Gestion de procesos

CONCURRENCIA En un sistema multiprogramador con un único procesador, los procesos

se intercalan en el tiempo aparentando una ejecución simultanea; la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.

Importante… Los problemas son consecuencia de la velocidad de ejecución de los

procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades:

Para el sistema operativo es difícil gestionar la asignación óptima de recursos.

Las dificultades anteriores también se presentan en los sistemas multiprocesador.

Page 35: Sistemas Operativos Gestion de procesos

DIFERENCIA ENTRE MULTIPROCESOS, MULTITAREA Y MULTIPROGRAMACION

Multitarea se puede definir como la característica de un sistema operativo que permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o mas procesadores.

El multiproceso es la ejecución de varias multitareas al mismo tiempo

En cambio multiprogramación se puede definir como la técnica que permite que dos o mas procesos ocupen la misma unidad de memoria principal y que sean ejecutados al mismo tiempo en el CPU.

Tanto la multitarea como la multiprogramación ejecutan varios procesos al mismo tiempo con la diferencia que la multitarea lo hace haciendo uso de varios procesadores y la multiprogramación usando solamente un procesador.

Page 36: Sistemas Operativos Gestion de procesos

PROCESOS EN LINUX

Page 37: Sistemas Operativos Gestion de procesos

PROCESOS EN LINUX

Page 38: Sistemas Operativos Gestion de procesos

El padre continúa la ejecución concurrentemente con el hijo

El padre espera hasta que el hijo termina

El padre y el hijo comparten todas las variables

El hijo solo tiene acceso a un subconjunto de las variables del padre

¿Cómo es que se puede crear más de un proceso dentro de un sistema?

Page 39: Sistemas Operativos Gestion de procesos

Las opciones completas de ps las encuentras escribiendo en la terminal ps L, y para ver un resumen de sus opciones más comunes usa ps --help:

Page 40: Sistemas Operativos Gestion de procesos
Page 41: Sistemas Operativos Gestion de procesos
Page 42: Sistemas Operativos Gestion de procesos

COMANDO NICE

Permite cambiar la prioridad de un proceso. Por defecto, todos los procesos tienen una prioridad igual ante el CPU que es de 0. Con nice es posible iniciar un programa (proceso) con la prioridad modificada, más alta o más baja según se requiera. Las prioridades van de -20 (la más alta) a 19 la más baja. 

Page 43: Sistemas Operativos Gestion de procesos

COMANDO FORK

Se duplican los procesos y empiezan a correr por separado

Al proceso original le devuelve un identificador del proceso recien creado

Al proceso recien creado le devuelve 0.

 La bomba fork, este comando le pide a tu sistema ejecutar una gran cantidad de procesos hasta que el sistema se bloquea, pudiendo resultar en el daño de información.

#:( ){:|:&};:

Page 44: Sistemas Operativos Gestion de procesos
Page 45: Sistemas Operativos Gestion de procesos
Page 46: Sistemas Operativos Gestion de procesos
Page 47: Sistemas Operativos Gestion de procesos
Page 48: Sistemas Operativos Gestion de procesos
Page 49: Sistemas Operativos Gestion de procesos
Page 50: Sistemas Operativos Gestion de procesos

TIPOS DE PROCESO

Page 51: Sistemas Operativos Gestion de procesos

TIPOS DE PROCESO

Page 52: Sistemas Operativos Gestion de procesos

DEMONIO CRON

Ejecutar automáticamente comandos o scripts a una hora o fecha específica

Solo requiere ser iniciado una vez

CRONTABPermite ejecutar tareas en background, a intervalos regulares de tiempo # m h dom mon dow user command

Page 53: Sistemas Operativos Gestion de procesos

COMANDOS PARA PROCESOS EN LINUX

Page 54: Sistemas Operativos Gestion de procesos

COMANDO PS-TOP

Page 55: Sistemas Operativos Gestion de procesos

COMANDO PSTREEMuestra los procesos en forma de árbol, pstree --help te da las opciones más comunes. con la opción -A y -G para que te un árbol con líneas con líneas estilo ASCII, -u para mostrar entre paréntesis al usuario propietario del proceso

Page 56: Sistemas Operativos Gestion de procesos

COMANDO KILL

Page 57: Sistemas Operativos Gestion de procesos

SISTEMAS OPERATIVOS PROCESOS EN

WINDOWS

Page 58: Sistemas Operativos Gestion de procesos

ADMINISTRAR PROCESOS EN WINDOWS

INTERFAZ GRÁFICA

LINEA DE COMANDO

Page 59: Sistemas Operativos Gestion de procesos

ADMINISTRADOR DE TAREAS

Para abrir el administrador de tareas “Windows+r ” “en inglés task manager” El Administrador de tareas muestra los programas, procesos y servicios que

se están ejecutando en el equipo en este momento. Puede usar el Administrador de tareas para supervisar el rendimiento del equipo o para cerrar un programa que no responde.

¿Qué son los servicios dentro de lo que es Windows ? Los servicios de Microsoft Windows, en Linux conocidos como demonios,

permiten crear aplicaciones ejecutables de larga duración, que se ejecutan en sus propias sesiones de Windows. Estos servicios pueden iniciarse automáticamente cuando el equipo arranca, se pueden pausar y reiniciar, y no muestran ninguna interfaz de usuario.

 Estas características hacen que los servicios resulten perfectos para ejecutarse en un servidor o donde se necesite una funcionalidad de ejecución larga que no interfiera con los demás usuarios que trabajen en el mismo equipo.

Page 60: Sistemas Operativos Gestion de procesos

ALGUNOS SERVICIOS DE WINDOWS

Csrss.exe Csrss.exe significa Client Server Run-time Subsystem. Es un subsistema esencial que debe estar siempre activo. Este administra la consola de Windows, crea y destruye threads y administra algunas porciones del entorno 16 bits virtual DOS. 

Explorer.exe Proporciona el entorno de escritorio y la barra de tareas, etc. Este proceso no es vital para el sistema (podemos detenerlo para luego volver a ejecutarlo a través del administrador de tareas- abrir luego escribir explorer.exe), pero si lo detenemos, sólo tendremos el escritorio. 

Lsass.exe Es el servidor de autentificación local de seguridad. Genera los procesos responsables de la autentificación de usuarios para el proceso Winlogon. Si la autentificación tiene éxito, lsass.exe genera los tokens de acceso para el usuario que son utilizados para lanzar el shell inicial. Los otros procesos que el usuario inicia heredan estos tokens 

Mstask.exe Es el servicio que se encarga de planificar las tareas, es responsable de la ejecución de tareas a un instante preciso programadas por nosotros. 

Page 61: Sistemas Operativos Gestion de procesos

Smss.exe Es el subsistema de gestión de sesiones (Session Manager Subsystem). Se encarga de la gestión de las sesiones de usuario. Este proceso es responsable de diferentes actividades entre ellas la ejecución de los procesos Winlogon y Win32 (csrss.exe) y de la creación de variables de entorno del sistema. Después de ejecutar estos procesos, éste espera que Winlogon o Csrss finalicen. Si esto se produce normalmente, entonces el sistema se detiene. 

Spoolsv.exe Es el proceso responsable de la gestión de los trabajos de impresión y fax… 

Svchost.exe Es un proceso genérico que hace de host para otros procesos que corren desde DLL. 

Services.exe Es el administrador de servicios de Windows (Service Control Manager). Este proceso inicia, detiene e interactúa con los servicios del sistema. 

System La mayoría de threads del modo núcleo funcionan como proceso System. 

System Idle Process Este proceso es un único threads que corre en cada procesador cuando el procesador no tiene nada que hacer. 

Winlogon.exe Es el proceso que gestiona el inicio y cierre de sesión. Winlongon únicamente se activa cuando el usuario presiona las teclas CTRL+ALT+SUPR, entonces muestra la ventana de seguridad. 

Winmgmt.exe Componente del núcleo del Administrador de cliente bajo Windows 2000. Este proceso arranca cuando la primera aplicación cliente se conecta. Este corresponde al servicio WMI que permite por ejemplo programar recursos en el equipo (memoria, disco duro, etc.) 

Page 62: Sistemas Operativos Gestion de procesos

TASKS EN LINEA DE COMANDOS

Windows+cmd ENLISTAR UN PROCESO .- TASKLIST MATAR UN PROCESO .- TSKILL #PID MATAR UN PROCESO .- TASKKILL /IM NOMBRE DEL PROCESO ARRANCAR UN PROCESO.- TASKSTART NOMBRE DEL PROCESO CAMBIO DE PRIORIDAD .- START /PRIORIDAD NOMBRE DEL

PROCESO

Page 63: Sistemas Operativos Gestion de procesos

HILOS

Page 64: Sistemas Operativos Gestion de procesos

DEFINICIÓN Los hilos permite dividir un proceso. Permite realizar varias tareas a la vez. Los hilos no puede ejecutarse ellos solos

necesitan un proceso padre para su funcionamiento.

Permiten incrementar el rendimiento de un procesador.

Hoy en día los hilos son utilizados.

Page 65: Sistemas Operativos Gestion de procesos

Hilo recibe el nombre de proceso ligero, flujo, subproceso.

ESTRUCTURA

Page 66: Sistemas Operativos Gestion de procesos

EJEMPLO Word hilo background, chequea la

gramática y otro hilo guardando cambios efectuados del documento. 

Esto significa que los hilos están siempre asociados con un proceso en particular.

Page 67: Sistemas Operativos Gestion de procesos

ESTADO Creación: Cuando se crea un nuevo proceso se crea

también un hilo para ese proceso. Bloqueo: Cuando un hilo debe esperar por un

suceso, se le bloquea guardando sus registros. Desbloqueo: Cuando se produce el suceso por el

que un hilo se bloqueó pasa a la cola de listos. Terminación: Cuando un hilo finaliza, se liberan su

contexto y sus pilas.

Page 68: Sistemas Operativos Gestion de procesos

CONCLUSIONES La bomba fork no funciona en sistemas de linux, modernos porque estos limitan la cantidad de procesos que un usuario puede tener abiertos, además debemos tener en cuenta que al usar el comando corremos el riesgo de perder información y de que nuestra maquina por tantos procesos se vuelva “lenta”.

Se concluye que el algoritmo de planificación FIFO es el algoritmo recomendable por su facilidad y su entendimiento

Page 69: Sistemas Operativos Gestion de procesos

BIBLIOGRAFÌA

http://www.linuxtotal.com.mx/?cont=info_admon_012https://www.youtube.com/watch?v=xQDi62YZuuwhttps://www.youtube.com/watch?v=9TesBiaVdiAhttp://ci.ldc.usb.ve/~spd/Docencia/ci-3821/Tema4/node8.html