Want to create interactive content? It’s easy in Genially!

Get started free

Sistema Operativo - Procesos

Franchesco YT

Created on September 22, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

January School Calendar

Genial Calendar 2026

School Calendar 2026

January Higher Education Academic Calendar

School Year Calendar January

Academic Calendar January

Comic Flipcards

Transcript

sistema operativos

Presentacion de:

Procesos en el sistema operativo

creado por:

jose francisco rodriguez ortiz - c19270655

profesor:

guadalupe del rosario aguilar lópez

Un programa o mandato que se ejecuta realmente en el sistema recibe la denominacion de proceso. Los procesos existen en jerarquia de padre-hijo. Un proceso iniciado por un programa o mandato es un proceso padre; un proceso hijo es el producto del proceso padre. Un proceso padre puede tener varios procesos hijo, pero un proceso hijo sólo puede tener un padre. Cuando se inicia un proceso en un sistema, el proceso utiliza una parte de los recursos disponibles en el sistema. Cuando está ejecutándose más de un proceso, un planificador que está incorporado al sistema operativo proporciona a cada proceso su parte de tiempo del sistema, basándose en las prioridades establecidas.

Play

sistema operativos - procesos

Tipos de procesosen el sistema

Estados del proceso

Tipos de planificaciones

PCB

Tipos de colas

Creaciones de los procesos

Terminaciones de los procesos

Bibliografia y fuentes consultadas

sistema operativos - procesos

Estados del proceso

Normalmente, estos procesos están coordinados por el sistema operativo, encargado de gestionar los recursos empleados por el sistema; unos recursos muy limitados y de uso constante, por lo que los procesos suelen moverse entre varios estados para acaparar los susodichos recursos el mínimo tiempo posible.

Los estados básicos de un proceso

  • El estado “Nuevo” de un proceso. Se trata de la creación de un proceso. Los procesos en este estado están cargados en la memoria, pero no están acaparando recursos de la CPU. Una vez se admite el proceso pasa a estado Activo.
  • El estado “Preparado” de un proceso. Se trata de procesos que están cargados y listos para pasar al estado activo, pero que por cualquier causa aún no han cambiado al estado activo.
  • El estado “Activo” de un proceso. Cuando el proceso acapara los recursos del procesador y se está ejecutando, está en estado activo. Cada proceso activo ocupa un hilo de nuestro procesador para su beneficio.
  • El estado “Bloqueado” de un proceso. Los procesos entran en este estado cuando necesitan algún recurso que no ha sido dispuesto durante su ejecución. Esperan a un evento antes de volver al estado Preparado.
  • El estado “Terminado” de un proceso. Sucede cuando el proceso termina y se elimina.

sistema operativos - procesos

El diagrama de estados ampliado

los procesos se pueden encontrar en dos estados adicionales si nuestro equipo, durante su funcionamiento, requiere de los recursos acaparados por algunos de los procesos que se encuentran en memoria. Se trata de los estados de suspensión y suelen definirse como “Estados Inactivos” o “Suspendidos”. En más detalle:

  • El estado “Activo Suspendido” de un proceso. Sucede cuando el proceso se ha suspendido, por cualquier causa, pero no presenta motivos para ser bloqueado.
  • El estado “Bloqueado Suspendido” de un proceso. La suspensión ha sucedido porque se espera un evento concreto, pero aún no ha desaparecido la causa de su bloqueo. Es un estado de transición entre el bloqueo y el estado Activo Suspendido.

Para concluir y arrojar un poco de luz en porqué es tan importante la labor del SO a la hora de coordinar estos estados; es importante entender que todos estos estados, y las diferentes características asociadas a ellos, son una herramienta para conseguir que los recursos del sistema estén ocupados el mayor tiempo posible.

sistema operativos - procesos

Tipos de Procesos

Todo proceso en un sistema operativo tipo Unix tiene un proceso padre y a su vez puede disponer uno o mas de un proceso hijo. Todo proceso tiene un propietario, que se trata del usuario que ha lanzado dicho proceso. El proceso init es el padre de todos los procesos. Es la excepción a la norma general, pues no tiene padre.

Jerarquía entre procesos

Procesos padre e hijo

sistema operativos - procesos

PCB

El bloque de control de proceso (PCB) es la estructura de datos central y más importante de un sistema operativo. Cada bloque de control de proceso contiene toda la información de un proceso que necesita un sistema operativo para su control. Estos bloques son leídos y/o modificados por casi todos los módulos de un sistema operativo, incluyendo aquellos que tienen que ver con la planificación, la asignación de recursos, el tratamiento de interrupciones y el análisis y supervisión del rendimiento.

En un sistema de multiprogramación, se requiere una gran cantidad de información de cada proceso para su administración. Sistemas distintos organizarán esta información de modo diferente. En general, se puede agrupar la información de los PCB’s en tres categorías: • Identificación del proceso.• Información del estado del procesador. • Información de control del proceso.

Con respecto a la identificación del proceso, en casi todos los sistemas operativos se le asigna a cada proceso un identificador numérico único (ID). Este identificador nos servirá para localizarlo dentro de la tabla de procesos.

sistema operativos - procesos

Tipos de planificaciones

La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al sistema operativo que gobierna el orden en que deben ser ejecutados los trabajos que deben cumplimentarse por el sistema operativo. El objetivo de la planificación es optimizar el rendimiento del sistema.

• Un planificador es un modelo del sistema operativo que selecciona el siguiente trabajo y el siguiente proceso que tomara el control sobre el procesador entre las medidas de rendimiento y los criterios de optimización más habituales que los planificadores utilizan los siguientes criterios.

Tipos de planificación de procesador

Utilización del procesador

sistema operativos - procesos

Tipo de colas

  • Colas de procesos: Incluye todos los procesos que van ingresando en el sistema.
  • Cola de procesos listos: Son los procesos que están en memoria principal esperando para ejecutarse. La cabecera de esta cola contiene punteros al primer y último bloque del PCB de la lista.
  • Cola de dispositivos: Lista de procesos que esperan un dispositivo de E/S en particular

Un proceso se coloca inicialmente en la cola de listos, a la espera de que se le ejecute. Una vez asignada la CPU al proceso y cuando este se está ejecutado, puede ocurrir que:

  • El proceso pueda emitir una solicitud de E/S, y entonces colocarse en una cola de E/S.
  • El proceso puede crear un nuevo proceso y esperar a que termine.
  • El proceso puede ser desalojado por la fuerza del CPU, como resultado de una interrupción, y ser colocado otra vez en la cola de procesos listos

Niveles de planificación

sistema operativos - procesos

Terminaciones delos procesos

Funciones exec: Proceso que ha finalizado su ejecución pero aún no ha sido eliminado. Supongamos que un programa crea un proceso hijo y luego llama a la función wait():

  • Si el proceso hijo no ha finalizado en ese punto, el proceso padre se bloqueará en la llamada hasta que el proceso hijo finalice.
  • Si el proceso hijo finaliza antes deque el proceso padre llame al wait () el proceso hijo se convierte en un proceso zombie.
  • Cuando el padre llame al wait (), captura el estado del proceso hijo (terminación), el proceso hijo es borrado y la llamada wait () nos devuelve al programa inmediatamente.

Proceso finaliza

sistema operativos - procesos

(S/f). Ehu.eus.

Buzón, M. (2020, junio 25).

PLANIFICACION DE PROCESO. (s/f).

Conclusión Podemos decir que un proceso, en informática, puede entenderse informalmente como un programa en ejecución. Formalmente, un proceso es "Una unidad de actividades que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual y un conjunto de recursos del sistema operativo"

Tema 1.7 Planificación de procesos

Tipos de procesos. (s/f)

Creación de procesos

Los procesos se crean:

  • Mediante una llamada al sistema de “crear proceso”, durante el curso de su ejecución.
  • El proceso creador se denomina proceso padre, y el nuevo proceso, hijo.
  • Variantes en las relaciones padre/hijo:
    • Compartición de recursos: ¿todos, algunos, ninguno?
    • Espacio de memoria.
    • Sincronización del padre: ¿espera a que el hijo termine?

La utilización del procesador es la fracción de tiempo durante la cual el procesador se encuentra activo ejecutando algún proceso, bien de usuario o del SO. Con esta interpretación la utilización del procesador puede ser medida con la relativa facilidad que se ejecute cuando ningún otro proceso pueda hacerlo. • Una alternativa es considerar únicamente la operación en modo usuario y por lo cual excluir el tiempo empleado para el SO.

Tiempo de retorno: Se define como el tiempo que trascurre desde el momento en que un programa es remitido hasta que es totalmente completado por el mismo.Tr = Ts + Te

Tiempo de espera: Es el tiempo que un proceso o trabajo consume a la espera de la asignación de algún recurso. Es un sistema con multiprogramación.

Tiempo de respuesta: Se define como tiempo que transcurre desde el momento en que se introduce el último carácter de una orden que desencadena la ejecución de un programa.

  • Planificadores en los sistemas por lotes, existe un planificador de largo plazo (PLP) o de alto nivel, que suministra procesos a la cola de preparados.
  • El planificador de corto plazo o de bajo nivel es el que asigna y desasigna el CPU.
  • El PLP trata de conseguir una mezcla adecuada de trabajos intensivos en CPU y en E/S.
  • Planificador de medio plazo: envía al disco procesos de poco interés, para abrir la memoria principal para nuevos procesos => Intercambio (swapping).
  • Cuando tras ejecutar su última instrucción le pide al SO que lo elimine utilizando una llamada al sistema “exit”.
  • Cuando el padre emite una llamada al sistema para abortarlo.
  • Un padre podría terminar la ejecución de uno de sus hijos por diversas razones, como:
    • El hijo se excedió en la utilización de alguno de los recursos que se le asignaron. oLa tarea que se asignó al hijo ya no es necesaria.
    • El padre va a salir, y el SO no permite que un hijo continúe si su padre termina => terminación en cascada.

Matar un proceso:

  • En ocasiones nos sucederá que queramos finalizar un proceso que esta corriendo, las razones para hacer esto pueden ser múltiples, que el proceso esté consumiendo demasiado tiempo del procesador, que esté bloqueado, que no genere información o que genere demasiada,...
  • Para matar un proceso utilizaremos la orden kill, que resulta muy útil en el caso de procesos que no tienen asociada ninguna terminal de control. Para matar un proceso necesitaremos su PID de tal manera que escribiremos: killPID s)

Como ya se indicó con anterioridad un proceso puede crear otros procesos. De igual forma los nuevos pueden crear otros y así sucesivamente. Para representar gráficamente este proceso de creación sucesiva de procesos se utiliza el llamado grafo de procesos que no es más que un árbol dirigido con raíz. Un arco del nodo Pi al nodo Pj. En este caso se dice que Pi es el padre de Pj o que Pj es hijo de Pi. Cada proceso tiene un solo padre, pero tantos hijos como sean necesarios.

Terminación.

  • Padre e hijo se ejecutan concurrentemente.
  • Padre espera por la finalización del hijo. En cuanto al espacio de direcciones del nuevo proceso: El hijo es un duplicado del padre.
  • Se carga un programa en el proceso hijo.

En UNIX existen dos funciones básicas para crear procesos: Función fork (): Cuando se la llama crea un proceso hijo que es una copia casi exacta del proceso padre (duplicado del padre).

Mas información aqui.

Todo proceso (padre) puede lanzar un proceso hijo en cualquier momento, para ello el sistema operativo nos ofrece una llamada al sistema que se denomina fork La sintaxis de la llamada efectuada desde el proceso padre es: valor = fork() Un proceso hijo es un proceso clon del padre. Sin embargo, procesos padre e hijo no comparten memoria, son completamente independientes.

Todo proceso padre es responsable de los procesos hijos que lanza, por ello, todo proceso padre debe recoger el resultado de la ejecucion de los procesos hijos para que estos finalicen adecuadamente. Para ellos, el sistema operativo ofrece la llamada wait que nos permite obtener el resultado de la ejecución de uno o varios procesos hijo.

Si un proceso padre no recupera el resultado de la ejecución de su hijo, se dice que el proceso queda en estado zombi. Un proceso hijo zombi es un proceso que ha terminado su ejecución y que está pendiente de que si padre recoja el resultado de su ejecución.

Los sistemas que administran procesos deben ser capaces de realizar ciertas operaciones sobre y con los procesos. Tales operaciones incluyen:

  • Crear y destruir un proceso
  • Suspender y reanudar un proceso
  • cambiar la prioridad de un proceso
  • bloquear y "desbloquear" un proceso
  • planificar un proceso (asignarle la CPU)
  • permitir que un proceso se comunique con otro (a esto se denomina comunicación entre procesos, y se estudiará en el tema de procesos concurrentes).

Crear un proceso implica muchas operaciones, tales como:

  • buscarle un identificador
  • insertarlo en la tabla de procesos
  • determinar la prioridad inicial del proceso
  • crear el PCB
  • asignar los recursos iniciales al proceso