SlideShare una empresa de Scribd logo
1 de 17
Gestión de procesos
En esta sección se presentarán los conceptos básicos de gestión de procesos.




                                                                               1
Gestión de procesos
La gestión de procesos es uno de los componentes principales de un sistema
operativo. Este se encarga de generar y gestionar los procesos que se ejecutan
en una CPU, y atender sus peticiones.


Un proceso se puede considerar como la abstracción de un programa en
ejecución. Se debe tener en cuenta que un programa es parte de un proceso: el
programa es el conjunto de instrucciones de máquina, que generalmente se
almacena en un archivo (ejecutable), y se carga en memoria en el momento de
su ejecución.


Debido a la arquitectura de los computadores actuales (sólo existe un PC, un
juego de registros, etc.) en la cual sólo se puede ejecutar un proceso al tiempo,
la CPU debe “saltar” de proceso en proceso, asignándole a cada uno un tiempo
de ejecución. Cada vez que se cambia el proceso que se está ejecutando se
debe salvar su estado de ejecución con el fin que pueda ser reiniciado más tarde
en el punto de ejecución en el cual se interrumpió.




                                                                                    2
Servicios de procesos
Los servicios que ofrece un sistema operativo para la gestión de procesos se pueden clasificar
en:
•Creación: La creación de procesos se puede llevar a cabo de varias maneras:
        •Inicialización del sistema: En el momento de iniciar el S.O, el proceso residente puede
        ejecutar otros procesos. Con frecuencia estos procesos son utilidades y servicios del
        sistema, utilidades de usuario, detección e inicialización de dispositivos de Hardware,
        software antivirus, etc.
        •Llamadas al sistema: La interfaz de programación (API) del S.O. ofrece algunas
        funciones para la creación de procesos (fork en POSIX y CreateProcess en Win32).
        •Solicitud del usuario: Por medio de una interfaz de usuario textual o gráfica, el usuario
        puede invocar nuevos procesos.
        •Inicialización de un trabajo por lotes: Algunos sistemas operativos ofrecen algún
        mecanismo para programar tareas, éstas se inician de manera automática en una
        determinada fecha y hora, o cuando se cumplan ciertas condiciones (Límite de espacio
        en disco, bloqueo de programas, etc).
•Gestión: La gestión de procesos incluye su planificación y administración.
•Finalización: La finalización de un proceso se puede dar de dos formas:
        •Voluntaria: El proceso termina su ejecución de manera normal, mediante una llamada
        exit, o cuando ocurre un error en la ejecución del programa que impide que pueda
        continuar normalmente.
        •Involuntaria: Debido a errores en la lógica de programación se pueden ejecutar
        operaciones no válidas que producen la terminación de un proceso. De otro lado el
        sistema operativo puede implementar estrategias para permitir la finalización de un
        proceso.




                                                                                                     3
Un proceso es un programa en ejecución gestionada por el sistema operativo.
Posee los siguientes componentes:
•Imagen de memoria: Contenido de los segmentos de memoria en los que
residen los datos y el código del proceso (programa).
•Estado del procesador: Contenido de los registros del modelo d programación
del computador.
•Estado del proceso: Es un registro que contiene la información necesaria para
identificar cada proceso.


De acuerdo al número de procesos y de usuarios que pueden utilizar un sistema
al mismo tiempo, los sistemas operativos se clasifican en:
•Monotarea: Sólo se puede ejecutar un proceso en cada momento
•Multitarea (multiproceso): Permite que coexistan varios procesos activos a la
vez. Esto no quiere decir que los procesos se ejecuten “al mismo tiempo”. El
S.O. administra el tiempo del procesador, asignándole tiempo de procesador a
cada proceso (tiempo compartido).
•Monousuario: Previsto para soportar un solo usuario. Un sistema monousuario
puede ser monotarea o multitarea.
•Multiusuario: Permite varios usuarios trabajando simultáneamente desde varios
terminales. Todo sistema operativo multiusuario es multitarea: debe implementar
estrategias de tiempo compartido.




                                                                                  4
Debido a que sólo existe un EIP (Instruction Pointer) físico, el S.O. debe
implementar estrategias para administrar el tiempo de la CPU. Cuando un
proceso entra en ejecución, existe un EIP lógico. Cuando se termina el tiempo de
CPU para el proceso, el EIP físico se almacena en el estado del proceso. De
esta manera cuando el proceso adquiera nuevamente tiempo de CPU, su
ejecución continuará en el punto en el cual fue interrumpido.


La gráfica ilustra la administración de tiempo de la CPU: el S.O. asigna
determinado tiempo a cada proceso (1 unidad, en este caso), luego que termina
este tiempo el proceso debe abandonar la CPU y ceder el turno a otro proceso.




                                                                                   5
A medida que avanza el uso de los servicios del S.O. por parte del usuario, se
van creando y terminando procesos. Estos se encuentran organizados en una
jerarquía que comienza con el “primer” proceso que se ejecutó, y a partir del cual
se crearon los demás procesos.
En sistemas POSIX, el primer proceso en ser ejecutado es el proceso
denominado “Init”, que recibe un Identificador de Proceso (PID) de 1. Este
proceso se encarga de ejecutar los servicios de arranque del sistema operativo,
y los procesos para inicio de sesión.


De forma general, el PID de un nuevo proceso que se crea en POSIX
corresponde al PID de su proceso padre + 1.




                                                                                     6
Estado del proceso
El S.O. mantiene por cada proceso una serie de estructuras de información que
le permite identificar las características de este, así como los recursos que tiene
asignados. Una de las estructuras del S.O. es la tabla de procesos. Dentro de
esta tabla se encuentra un registro para cada proceso en memoria, llamada
Bloque de Control de Proceso.


Bloque de Control de Proceso (BCP)
Depende de cada S.O, pero a nivel general contiene la información básica del
proceso. Se actualiza cuando el proceso está en memoria pero no en ejecución.
Cuando el proceso se está ejecutando, el estado del procesador varía de
acuerdo al flujo de instrucciones de máquina ejecutado. Luego, cuando se
interrumpe el proceso la información del BCP se actualiza en memoria para
reflejar los cambios en el estado del proceso.




                                                                                      7
Información del BCP
La información del BCP se puede clasificar en:
•Información de identificación: Se utiliza para diferenciar el proceso de los demás procesos en
memoria. Para ello debe contener la siguiente información:
        •Identificador del proceso (Process ID - PID): Número único que identifica al proceso. Se
        asigna dinámicamente en el momento de crear el proceso y depende de la cantidad de
        procesos que se encuentren en memoria en el momento de la creación. Varía cada vez
        que se ejecuta nuevamente el proceso.
        •Identificador del proceso padre (Parent Process ID – PPID): PID del proceso desde el
        cual se generó el nuevo proceso.
        •Identificador de usuario (User ID – UID). En los sistemas operativos multiusuario,
        representa el identificador único de cada usuario dentro del sistema.
•Estado del procesador: Almacena los valores del estado del procesador en el momento en el
cual se interrumpió el proceso. Esto permite que el proceso pueda ser reiniciado desde el punto
en el cual fue interrumpido.
•Información de control del proceso: Contiene la información que requiere el S.O. para conocer
los mecanismos para la gestión de proceso:
        •Información de planificación
        •Descripción de los segmentos de memoria que utiliza el proceso
        •Recursos asociados con el proceso
        •Estructura del proceso
        •Comunicación




                                                                                                    8
Creación de procesos
Todo proceso se crea a partir de una llamada al sistema. Esta llamada se puede
realizar desde diferentes puntos:
•Proceso de usuario: Dentro de un proceso de usuario se puede realizar la
llamada al sistema para crear un nuevo proceso. Los niveles de seguridad del
S.O. determinarán si es posible crear un nuevo proceso.
•Proceso del sistema: De igual forma un proceso del sistema puede realizar la
llamada para crear nuevos procesos, este es el caso del proceso Init: Una vez
que se está ejecutando realiza llamadas al sistema para crear nuevos procesos
que se encargan de diferentes labores, como controlar los dispositivos, y
administrar los recursos del computador (CPU, memoria, sistema de archivos), y
lanzar intérpretes de comandos textuales o gráficos.
•Tareas programadas: La mayoría de sistemas operativos ejecutan un programa
especial (programador de tareas) que ejecuta tareas en un determinado
momento (cada 2 horas, diariamente, mensualmente) o cuando se cumple cierta
condición en el sistema operativo (poco espacio, falta de memoria).
La creación de procesos depende del sistema operativo, cada una recibe
determinados parámetros. Existe la llamada fork para POSIX y CreateProcess
para WIN32.




                                                                                 9
Llamada al sistema fork
La llamada fork de POSIX crea una copia exacta del proceso que la solicita. En
la gráfica, el proceso A dentro de sus instrucciones hace uso de la llamada fork().
En ese instante el S.O. crea una copia de la imagen de memoria del proceso y
de su estado (A’), y la copia en otro segmento de memoria. Esta nueva copia es
idéntica al proceso original, es decir que se tienen dos procesos que ejecutan
el mismo programa en el mismo punto. La diferencia entre el proceso A y A’
se da en algunos campos del BCP, entre los que sobresalen:
•PID: El identificador de proceso es diferente en el proceso original (padre) y en
el nuevo proceso. Generalmente el identificador del proceso hijo es el PID del
padre más uno.
•PPID: El identificador del padre del proceso original no cambia, pero el
identificador del padre del proceso hijo es el identificador del proceso original.
•PC: Cada proceso adquiere un PC lógico diferente, por estar en dos segmentos
de memoria diferentes. Sin embargo el PC de cada uno apunta a la misma
instrucción del programa.
Los dos procesos comparten los descriptores de archivo que existen en el
momento de realizar la llamada.


La llamada fork se acompaña de la llamada exec, que permite cambiar la imagen
de memoria del proceso por un nuevo ejecutable.




                                                                                      10
Planificación de Procesos
La planificación se refiere al mecanismo usado por el sistema operativo para
asignar la CPU a cada uno de los procesos existentes en el sistema.
Los computadores actuales pueden ejecutar un gran número de procesos, pero
sólo cuentan con un conjunto limitado de procesadores (1, 2, 4, 8).


Por esta razón el Sistema Operativo debe controlar en todo momento el uso de
la CPU (los procesadores disponibles), tratando que todos los procesos puedan
ser ejecutados.


Existen diferentes algoritmos de planificación, que se estudiarán más adelante.
Por ejemplo, se puede usar una estrategia FIFO, en la cual el proceso que
primero solicite ejecución recibe la CPU (el procesador) desde su inicio hasta
que termina. Otra estrategia común es asignar la CPU durante un determinado
periodo de tiempo, y luego asignarla a otro proceso para crear una “Ronda”
(Round-Robin). Eventualmente todos los procesos recibirán el tiempo de CPU
necesario para que completen su ejecución.




                                                                                  11
Estado de un proceso
De acuerdo a la ejecución de un proceso y de la estrategia del sistema operativo
   para planificarlo, se puede encontrar en varios estados:
•   Ejecución: El proceso tiene asignado tiempo de CPU para su ejecución. En
    este estado el proceso puede hacer uso de los recursos del computador. En
    un sistema operativo multiproceso sólo puede existir un proceso en ejecución
    por cada CPU (núcleo) del procesador.
•   Bloqueado: Cuando un proceso realiza una llamada al sistema, se bloquea.
    El caso típico es cuando se solicita un recurso de entrada/salida, el proceso
    debe esperar hasta que el dispositivo de E/S informe que esté listo. En la
    gráfica, el proceso puede pasar de el estado en ejecución al estado
    bloqueado cuando solicita un recurso de E/S (1). En un S.O. multiproceso,
    cuando un proceso se bloquea se le asigna tiempo de CPU a otro proceso.
•   Listo: El proceso se encuentra listo para recibir tiempo de CPU, pero en el
    momento la CPU no se encuentra disponible. Este estado se puede dar por
    dos casos: El proceso se encuentra en ejecución pero el S.O. decide que
    debe otorgarle tiempo de CPU a otro proceso (2), o el proceso estaba
    esperando para que finalizara una llamada al sistema (4).




                                                                                    12
Otro diagrama de estados de un proceso incluye un nuevo estado (suspendido).
Este estado aparece cuando el sistema maneja memoria virtual, y debido a las
necesidades de memoria del S.O, el segmento de memoria en el que se
encuentra el proceso es llevado a memoria de intercambio (Swapping). Los
procesos entonces pasan a un estado de “Suspendido”. Luego que se recuperan
los segmentos de memoria que el S.O. ha llevado a memoria de intercambio, el
proceso puede pasar nuevamente al estado de listo.




                                                                               13
En este espacio se ilustra el uso de las llamadas al sistema fork() y excec()




                                                                                14
En este espacio se ilustra el uso de las llamadas al sistema fork() y excec()




                                                                                15
16
17

Más contenido relacionado

La actualidad más candente

Sistema de computación procesos
Sistema de computación procesosSistema de computación procesos
Sistema de computación procesosluis alejandro
 
Capitulo 4 grupo 1
Capitulo 4 grupo 1Capitulo 4 grupo 1
Capitulo 4 grupo 1ecuatareas
 
Procesos, cuotas y control parental
Procesos, cuotas y control parentalProcesos, cuotas y control parental
Procesos, cuotas y control parentalkarenodeth
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.Carlos Solano
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
Introducción a los procesos alfa ii
Introducción a los procesos alfa iiIntroducción a los procesos alfa ii
Introducción a los procesos alfa iiAlejandro Ordoñez
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativoschikscorpion_23
 
Sistemas operativos miguel angel
Sistemas operativos  miguel angelSistemas operativos  miguel angel
Sistemas operativos miguel angelcarlos-1
 

La actualidad más candente (16)

Unidad3
Unidad3Unidad3
Unidad3
 
Sistema de computación procesos
Sistema de computación procesosSistema de computación procesos
Sistema de computación procesos
 
Ejemplo Pdf
Ejemplo PdfEjemplo Pdf
Ejemplo Pdf
 
Parte u 3
Parte u 3Parte u 3
Parte u 3
 
Capitulo 4 grupo 1
Capitulo 4 grupo 1Capitulo 4 grupo 1
Capitulo 4 grupo 1
 
Procesos, cuotas y control parental
Procesos, cuotas y control parentalProcesos, cuotas y control parental
Procesos, cuotas y control parental
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Sistemas operativos ii
Sistemas operativos iiSistemas operativos ii
Sistemas operativos ii
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Introducción a los procesos alfa ii
Introducción a los procesos alfa iiIntroducción a los procesos alfa ii
Introducción a los procesos alfa ii
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
 
Sistemas operativos miguel angel
Sistemas operativos  miguel angelSistemas operativos  miguel angel
Sistemas operativos miguel angel
 

Similar a Gestión de Procesos

Similar a Gestión de Procesos (20)

Clases procesos
Clases procesosClases procesos
Clases procesos
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesos
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesos
 
Ud Procesos
Ud  ProcesosUd  Procesos
Ud Procesos
 
Procesos de un sistema operativo
Procesos de un sistema operativoProcesos de un sistema operativo
Procesos de un sistema operativo
 
Procesos
ProcesosProcesos
Procesos
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos
 
Tema3 procesos
Tema3 procesos Tema3 procesos
Tema3 procesos
 
GESTION DE PROCESOS
GESTION DE PROCESOSGESTION DE PROCESOS
GESTION DE PROCESOS
 
27 de oct
27 de oct27 de oct
27 de oct
 
Componentes de un sistema operativo
Componentes de un sistema operativoComponentes de un sistema operativo
Componentes de un sistema operativo
 
Administración y Comando Básicos
Administración y Comando BásicosAdministración y Comando Básicos
Administración y Comando Básicos
 
Presentacion
PresentacionPresentacion
Presentacion
 
Tarea 3_individual_Nelis Rivero
Tarea 3_individual_Nelis RiveroTarea 3_individual_Nelis Rivero
Tarea 3_individual_Nelis Rivero
 
Sistema operativo dalma
Sistema operativo dalmaSistema operativo dalma
Sistema operativo dalma
 
Sistema operativo dalma
Sistema operativo dalmaSistema operativo dalma
Sistema operativo dalma
 
Procesos sistema computacional UNIX
Procesos sistema computacional UNIXProcesos sistema computacional UNIX
Procesos sistema computacional UNIX
 
Expocontrolcalidad
ExpocontrolcalidadExpocontrolcalidad
Expocontrolcalidad
 
Cap3
Cap3Cap3
Cap3
 

Último

celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 

Último (20)

celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

Gestión de Procesos

  • 1. Gestión de procesos En esta sección se presentarán los conceptos básicos de gestión de procesos. 1
  • 2. Gestión de procesos La gestión de procesos es uno de los componentes principales de un sistema operativo. Este se encarga de generar y gestionar los procesos que se ejecutan en una CPU, y atender sus peticiones. Un proceso se puede considerar como la abstracción de un programa en ejecución. Se debe tener en cuenta que un programa es parte de un proceso: el programa es el conjunto de instrucciones de máquina, que generalmente se almacena en un archivo (ejecutable), y se carga en memoria en el momento de su ejecución. Debido a la arquitectura de los computadores actuales (sólo existe un PC, un juego de registros, etc.) en la cual sólo se puede ejecutar un proceso al tiempo, la CPU debe “saltar” de proceso en proceso, asignándole a cada uno un tiempo de ejecución. Cada vez que se cambia el proceso que se está ejecutando se debe salvar su estado de ejecución con el fin que pueda ser reiniciado más tarde en el punto de ejecución en el cual se interrumpió. 2
  • 3. Servicios de procesos Los servicios que ofrece un sistema operativo para la gestión de procesos se pueden clasificar en: •Creación: La creación de procesos se puede llevar a cabo de varias maneras: •Inicialización del sistema: En el momento de iniciar el S.O, el proceso residente puede ejecutar otros procesos. Con frecuencia estos procesos son utilidades y servicios del sistema, utilidades de usuario, detección e inicialización de dispositivos de Hardware, software antivirus, etc. •Llamadas al sistema: La interfaz de programación (API) del S.O. ofrece algunas funciones para la creación de procesos (fork en POSIX y CreateProcess en Win32). •Solicitud del usuario: Por medio de una interfaz de usuario textual o gráfica, el usuario puede invocar nuevos procesos. •Inicialización de un trabajo por lotes: Algunos sistemas operativos ofrecen algún mecanismo para programar tareas, éstas se inician de manera automática en una determinada fecha y hora, o cuando se cumplan ciertas condiciones (Límite de espacio en disco, bloqueo de programas, etc). •Gestión: La gestión de procesos incluye su planificación y administración. •Finalización: La finalización de un proceso se puede dar de dos formas: •Voluntaria: El proceso termina su ejecución de manera normal, mediante una llamada exit, o cuando ocurre un error en la ejecución del programa que impide que pueda continuar normalmente. •Involuntaria: Debido a errores en la lógica de programación se pueden ejecutar operaciones no válidas que producen la terminación de un proceso. De otro lado el sistema operativo puede implementar estrategias para permitir la finalización de un proceso. 3
  • 4. Un proceso es un programa en ejecución gestionada por el sistema operativo. Posee los siguientes componentes: •Imagen de memoria: Contenido de los segmentos de memoria en los que residen los datos y el código del proceso (programa). •Estado del procesador: Contenido de los registros del modelo d programación del computador. •Estado del proceso: Es un registro que contiene la información necesaria para identificar cada proceso. De acuerdo al número de procesos y de usuarios que pueden utilizar un sistema al mismo tiempo, los sistemas operativos se clasifican en: •Monotarea: Sólo se puede ejecutar un proceso en cada momento •Multitarea (multiproceso): Permite que coexistan varios procesos activos a la vez. Esto no quiere decir que los procesos se ejecuten “al mismo tiempo”. El S.O. administra el tiempo del procesador, asignándole tiempo de procesador a cada proceso (tiempo compartido). •Monousuario: Previsto para soportar un solo usuario. Un sistema monousuario puede ser monotarea o multitarea. •Multiusuario: Permite varios usuarios trabajando simultáneamente desde varios terminales. Todo sistema operativo multiusuario es multitarea: debe implementar estrategias de tiempo compartido. 4
  • 5. Debido a que sólo existe un EIP (Instruction Pointer) físico, el S.O. debe implementar estrategias para administrar el tiempo de la CPU. Cuando un proceso entra en ejecución, existe un EIP lógico. Cuando se termina el tiempo de CPU para el proceso, el EIP físico se almacena en el estado del proceso. De esta manera cuando el proceso adquiera nuevamente tiempo de CPU, su ejecución continuará en el punto en el cual fue interrumpido. La gráfica ilustra la administración de tiempo de la CPU: el S.O. asigna determinado tiempo a cada proceso (1 unidad, en este caso), luego que termina este tiempo el proceso debe abandonar la CPU y ceder el turno a otro proceso. 5
  • 6. A medida que avanza el uso de los servicios del S.O. por parte del usuario, se van creando y terminando procesos. Estos se encuentran organizados en una jerarquía que comienza con el “primer” proceso que se ejecutó, y a partir del cual se crearon los demás procesos. En sistemas POSIX, el primer proceso en ser ejecutado es el proceso denominado “Init”, que recibe un Identificador de Proceso (PID) de 1. Este proceso se encarga de ejecutar los servicios de arranque del sistema operativo, y los procesos para inicio de sesión. De forma general, el PID de un nuevo proceso que se crea en POSIX corresponde al PID de su proceso padre + 1. 6
  • 7. Estado del proceso El S.O. mantiene por cada proceso una serie de estructuras de información que le permite identificar las características de este, así como los recursos que tiene asignados. Una de las estructuras del S.O. es la tabla de procesos. Dentro de esta tabla se encuentra un registro para cada proceso en memoria, llamada Bloque de Control de Proceso. Bloque de Control de Proceso (BCP) Depende de cada S.O, pero a nivel general contiene la información básica del proceso. Se actualiza cuando el proceso está en memoria pero no en ejecución. Cuando el proceso se está ejecutando, el estado del procesador varía de acuerdo al flujo de instrucciones de máquina ejecutado. Luego, cuando se interrumpe el proceso la información del BCP se actualiza en memoria para reflejar los cambios en el estado del proceso. 7
  • 8. Información del BCP La información del BCP se puede clasificar en: •Información de identificación: Se utiliza para diferenciar el proceso de los demás procesos en memoria. Para ello debe contener la siguiente información: •Identificador del proceso (Process ID - PID): Número único que identifica al proceso. Se asigna dinámicamente en el momento de crear el proceso y depende de la cantidad de procesos que se encuentren en memoria en el momento de la creación. Varía cada vez que se ejecuta nuevamente el proceso. •Identificador del proceso padre (Parent Process ID – PPID): PID del proceso desde el cual se generó el nuevo proceso. •Identificador de usuario (User ID – UID). En los sistemas operativos multiusuario, representa el identificador único de cada usuario dentro del sistema. •Estado del procesador: Almacena los valores del estado del procesador en el momento en el cual se interrumpió el proceso. Esto permite que el proceso pueda ser reiniciado desde el punto en el cual fue interrumpido. •Información de control del proceso: Contiene la información que requiere el S.O. para conocer los mecanismos para la gestión de proceso: •Información de planificación •Descripción de los segmentos de memoria que utiliza el proceso •Recursos asociados con el proceso •Estructura del proceso •Comunicación 8
  • 9. Creación de procesos Todo proceso se crea a partir de una llamada al sistema. Esta llamada se puede realizar desde diferentes puntos: •Proceso de usuario: Dentro de un proceso de usuario se puede realizar la llamada al sistema para crear un nuevo proceso. Los niveles de seguridad del S.O. determinarán si es posible crear un nuevo proceso. •Proceso del sistema: De igual forma un proceso del sistema puede realizar la llamada para crear nuevos procesos, este es el caso del proceso Init: Una vez que se está ejecutando realiza llamadas al sistema para crear nuevos procesos que se encargan de diferentes labores, como controlar los dispositivos, y administrar los recursos del computador (CPU, memoria, sistema de archivos), y lanzar intérpretes de comandos textuales o gráficos. •Tareas programadas: La mayoría de sistemas operativos ejecutan un programa especial (programador de tareas) que ejecuta tareas en un determinado momento (cada 2 horas, diariamente, mensualmente) o cuando se cumple cierta condición en el sistema operativo (poco espacio, falta de memoria). La creación de procesos depende del sistema operativo, cada una recibe determinados parámetros. Existe la llamada fork para POSIX y CreateProcess para WIN32. 9
  • 10. Llamada al sistema fork La llamada fork de POSIX crea una copia exacta del proceso que la solicita. En la gráfica, el proceso A dentro de sus instrucciones hace uso de la llamada fork(). En ese instante el S.O. crea una copia de la imagen de memoria del proceso y de su estado (A’), y la copia en otro segmento de memoria. Esta nueva copia es idéntica al proceso original, es decir que se tienen dos procesos que ejecutan el mismo programa en el mismo punto. La diferencia entre el proceso A y A’ se da en algunos campos del BCP, entre los que sobresalen: •PID: El identificador de proceso es diferente en el proceso original (padre) y en el nuevo proceso. Generalmente el identificador del proceso hijo es el PID del padre más uno. •PPID: El identificador del padre del proceso original no cambia, pero el identificador del padre del proceso hijo es el identificador del proceso original. •PC: Cada proceso adquiere un PC lógico diferente, por estar en dos segmentos de memoria diferentes. Sin embargo el PC de cada uno apunta a la misma instrucción del programa. Los dos procesos comparten los descriptores de archivo que existen en el momento de realizar la llamada. La llamada fork se acompaña de la llamada exec, que permite cambiar la imagen de memoria del proceso por un nuevo ejecutable. 10
  • 11. Planificación de Procesos La planificación se refiere al mecanismo usado por el sistema operativo para asignar la CPU a cada uno de los procesos existentes en el sistema. Los computadores actuales pueden ejecutar un gran número de procesos, pero sólo cuentan con un conjunto limitado de procesadores (1, 2, 4, 8). Por esta razón el Sistema Operativo debe controlar en todo momento el uso de la CPU (los procesadores disponibles), tratando que todos los procesos puedan ser ejecutados. Existen diferentes algoritmos de planificación, que se estudiarán más adelante. Por ejemplo, se puede usar una estrategia FIFO, en la cual el proceso que primero solicite ejecución recibe la CPU (el procesador) desde su inicio hasta que termina. Otra estrategia común es asignar la CPU durante un determinado periodo de tiempo, y luego asignarla a otro proceso para crear una “Ronda” (Round-Robin). Eventualmente todos los procesos recibirán el tiempo de CPU necesario para que completen su ejecución. 11
  • 12. Estado de un proceso De acuerdo a la ejecución de un proceso y de la estrategia del sistema operativo para planificarlo, se puede encontrar en varios estados: • Ejecución: El proceso tiene asignado tiempo de CPU para su ejecución. En este estado el proceso puede hacer uso de los recursos del computador. En un sistema operativo multiproceso sólo puede existir un proceso en ejecución por cada CPU (núcleo) del procesador. • Bloqueado: Cuando un proceso realiza una llamada al sistema, se bloquea. El caso típico es cuando se solicita un recurso de entrada/salida, el proceso debe esperar hasta que el dispositivo de E/S informe que esté listo. En la gráfica, el proceso puede pasar de el estado en ejecución al estado bloqueado cuando solicita un recurso de E/S (1). En un S.O. multiproceso, cuando un proceso se bloquea se le asigna tiempo de CPU a otro proceso. • Listo: El proceso se encuentra listo para recibir tiempo de CPU, pero en el momento la CPU no se encuentra disponible. Este estado se puede dar por dos casos: El proceso se encuentra en ejecución pero el S.O. decide que debe otorgarle tiempo de CPU a otro proceso (2), o el proceso estaba esperando para que finalizara una llamada al sistema (4). 12
  • 13. Otro diagrama de estados de un proceso incluye un nuevo estado (suspendido). Este estado aparece cuando el sistema maneja memoria virtual, y debido a las necesidades de memoria del S.O, el segmento de memoria en el que se encuentra el proceso es llevado a memoria de intercambio (Swapping). Los procesos entonces pasan a un estado de “Suspendido”. Luego que se recuperan los segmentos de memoria que el S.O. ha llevado a memoria de intercambio, el proceso puede pasar nuevamente al estado de listo. 13
  • 14. En este espacio se ilustra el uso de las llamadas al sistema fork() y excec() 14
  • 15. En este espacio se ilustra el uso de las llamadas al sistema fork() y excec() 15
  • 16. 16
  • 17. 17