2. 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.
3. 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
4. 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
5. 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.
7. 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.
8. 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.
9. 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 Proceso
PPID : 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.
10. El comando top mostrará un cuadro de procesos
actualmente en ejecución, que se actualiza ciertos
segundos
11. 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.
13. ● 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
14. 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.
15. ● 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
16. 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
17. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
26. • 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)
27. 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
28. 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
29. SIMETRICO
Los procesos o partes de
ellos (threads) son
enviados indistintamente
a cualesquiera de los
procesadores disponibles
30. 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
31. 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.
32. 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
33. 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
34. 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.
35. 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.
36.
37.
38. 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?
39. 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:
40.
41.
42. 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.
43. 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.
#:( ){:|:&};:
44.
45.
46.
47.
48.
49.
50.
51.
52. Ejecutar automáticamente
comandos o scripts a una
hora o fecha específica
Solo requiere ser iniciado
una vez
CRONTAB
Permite ejecutar tareas en
background, a intervalos
regulares de tiempo
# m h dom mon dow user command
53.
54.
55. Muestra 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
59. 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.
60. 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.
61. 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.)
62. 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
63.
64. 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.
65. Hilo recibe el nombre de proceso ligero,
flujo, subproceso.
66. 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.
67. 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.
68. 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