Please enable JavaScript.
Coggle requires JavaScript to display documents.
Procesamiento, El principal concepto en cualquier sistema operativo es el…
Procesamiento
El principal concepto en cualquier sistema operativo es el de proceso.
Un proceso es un programa en ejecución, incluyendo el valor del programcounter, los registros y las variables.
Conceptualmente, cada proceso tiene un hilo (thread) de ejecución que es
visto como un CPU virtual.
El recurso procesador es alternado entre los diferentes procesos que existan en el sistema, dando la idea de que ejecutan en paralelo (multiprogramación).
Contador de programa
Cada proceso tiene su program counter, y avanza cuando el proceso tiene asignado el recurso procesador. A su vez, a cada proceso se le asigna un número que lo identifica entre los demás: identificador de proceso (process id).
Memoria de los procesos
Un proceso en memoria se constituye de varias
secciones:
Datos (data): Variables globales del proceso.
Memoria dinánica (heap): Memoria dinámica
que genera el proceso.
Código (text): Instrucciones del proceso.
Pila (stack): Utilizado para preservar el estado en la invocación anidada de procedimientos y funciones.
Estados de los procesos
El estado de un proceso es definido por la actividad corriente en que se
encuentra.
Ejecutando (running): El proceso tiene asignado un procesador y está
ejecutando sus instrucciones.
Bloqueado (waiting): El proceso está esperando por un evento (que se
complete un pedido de E/S o una señal).
Nuevo (new): Cuando el proceso es creado.
Listo (ready): El proceso está listo para ejecutar, solo necesita del recurso
procesador.
Finalizado (terminated): El proceso finalizó su ejecución.
Clases de procesamiento
Cuando tenemos un conjunto de procesos que pretenden ejecutarse en un sistema informático, los
requisitos de ejecución de esos procesos pueden ser muy distintos.
se han definido tres clases de procesamiento: por lotes, interactivo y de tiempo real
Procesamiento interactivo.
Modo de procesamiento que requiere la interacción constante con el usuario.
Procesamiento en tiempo real
Modo de procesamiento en el cual cada proceso puede tener un
plazo límite para su terminación
Procesamiento por lotes
se entregan al sistema una serie de tareas o trabajos para realizar, y el sistema las va ejecutando de forma automática, sin intervención humana
Creación de procesos
Los procesos de un sistema son creados a partir de otro proceso.
Al creador se le denomina padre y al nuevo proceso hijo. Esto genera una jerarquía de procesos en el sistema.
En el diseño del sistema operativo se debe decidir, en el momento de creación de un nuevo proceso, cuales recursos compartirán el proceso padre e hijo. Las opciones son que compartan todo, algo o nada.
También se debe determinar que sucede con los hijos cuando muere el padre. Pueden morir también o cambiar de padre.
Una vez creado el nuevo proceso tendrán un hilo (program counter) de ejecución propio. El sistema genera un nuevo PCB para el proceso creado.
Cooperación entre procesos
Procesos concurrentes pueden ejecutar en un entorno aislado (se debe asegurar la ausencia de interferencias) o, eventualmente, podrán interactuar cooperando en pos de un objetivo común compartiendo objetos
comunes.
Es necesario que el sistema operativo brinde unas herramientas específicas para la comunicación y sincronización entre los procesos (Inter Process Communication – IPC).