Está en la página 1de 6

Instituto Tecnológico Superior de

Valladolid Yucatán
“Ingeniería en Sistemas Computacionales”

TEMA ll

SISTEMAS OPERATIVOS
NOMBRE DEL ALUMNO:

Freddy Alexis Iuit Ek-22070060

NOMBRE DEL DOCENTE:

L.S.C Genny Yesenia Cetina Marrufo

ACTIVIDAD_INVESTIGACION

GRUPO: C

GRADO: 4TO
 Concepto de proceso

Un proceso no es más que un programa


en ejecución, e incluye los valores
actuales del contador de programa, los
registros y las variables. Conceptualmente
cada uno de estos procesos tiene su
propia CPU virtual. Desde luego, en la
realidad la verdadera CPU conmuta de un
proceso a otro. Un proceso es un
concepto manejado por el sistema operativo que consiste en el conjunto formado
por: Las instrucciones de un programa destinadas a ser ejecutadas por el
microprocesador. Su estado de ejecución en un momento dado, esto es, los
valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es
decir, la memoria que ha reservado y sus contenidos.

Un proceso es la ejecución de un programa en un sistema operativo, que incluye el


programa mismo, el estado de ejecución (como registros y variables), la memoria
asignada y la información de planificación. En sistemas operativos multihilo, un
proceso puede contener uno o más hilos que comparten la memoria asignada y la
información de planificación. Los procesos son creados y destruidos por el sistema
operativo, y el mecanismo para crear otro proceso se llama bifurcación (fork). En
sistemas operativos multihilo, un proceso puede crear hilos que comparten toda la
memoria del proceso. La comunicación entre procesos es gestionada por el
sistema operativo a petición de otros procesos. En resumen, los procesos son
actividades con programa, entrada, salida y estado, y el sistema operativo utiliza
algoritmos de planificación para asignar el procesador a diferentes procesos.
 Estados y transiciones de los procesos

El procesador ejecuta instrucciones de máquina almacenadas en memoria


principal, organizadas en programas. El sistema operativo crea procesos para
ejecutar programas, y en entornos de multiprogramación, el procesador intercala la
ejecución de instrucciones de varios programas en memoria. El sistema operativo
determina las pautas de intercalado y asignación de recursos. Aunque los
procesos son entidades independientes, a menudo interactúan entre sí. Un
proceso puede bloquearse por falta de datos de entrada o por asignación de CPU
a otro proceso por parte del sistema operativo. Estas condiciones son distintas: la
primera es inherente al problema y la segunda es un tecnicismo del sistema para
gestionar la asignación de CPU.
 Procesos ligeros: Hilos o hebras

Los procesos ligeros, también conocidos como hilos, son programas en ejecución
que incluyen un hilo principal y uno o más hilos secundarios. A diferencia de los
procesos tradicionales, donde cada proceso tiene su propio espacio de memoria y
recursos, en los procesos ligeros, todos los hilos comparten la información del hilo
principal, pero cada hilo puede tener su propia información privada. El concepto de
proceso incluye dos aspectos: la asignación de recursos (como memoria y
dispositivos de E/S) y la asignación de la CPU para la ejecución. En muchos
sistemas operativos, estos dos aspectos se tratan como independientes y se
gestionan mediante hilos y procesos. En este contexto, un hilo se refiere a la
unidad de asignación de la CPU, mientras que un proceso se refiere a la unidad
que posee recursos. La distinción entre procesos y hilos permite una gestión más
eficiente de la ejecución de programas en sistemas operativos modernos.

Conceptos de Concurrencia y secuencialidad

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo


la comunicación entre procesos, comparación y competencia por los recursos,
sincronización de la ejecución de varios procesos y asignación del tiempo de
procesador a los procesos y es fundamental para que existan diseños como
Multiprogramación, Multiproceso y Proceso distribuido.

Los procesos son concurrentes si existen simultáneamente. Los procesos


concurrentes pueden funcionar en forma totalmente independiente unos de otros,
o pueden ser asíncronos, lo cual significa que en ocasiones requieren cierta
sincronización o cooperación.

La concurrencia puede presentarse en tres contextos diferentes:

Varias aplicaciones: La multiprogramación se creó para permitir que el tiempo de


procesador de la máquina fuese compartido dinámicamente entre varios trabajos o
aplicaciones activas.

Aplicaciones estructuradas: Como ampliación de los principios del diseño modular


y la programación estructurada, algunas aplicaciones pueden implementarse
eficazmente como un conjunto de procesos concurrentes.

Estructura del sistema operativo: Las mismas ventajas de estructuración son


aplicables a los programadores de sistemas y se ha comprobado que algunos
sistemas operativos están implementados como un conjunto de procesos. Existen
tres modelos de computadora en los que se pueden ejecutar procesos
concurrentes:

Multiprogramación con un único procesador. El sistema operativo se encarga de ir


repartiendo el tiempo del procesador entre los distintos procesos, intercalando la
ejecución de los mismos para dar así una apariencia de ejecución simultánea.

Multiprocesador. Es una maquina


formada por un conjunto de
procesadores que comparten memoria
principal. En este tipo de arquitecturas,
los procesos concurrentes no sólo
pueden intercalar su ejecución sino
también superponerla.
Multicomputadora. Es una maquina de memoria distribuida, que está formada por
una serie de computadoras. En este tipo de arquitecturas también es posible la
ejecución simultánea de los procesos sobre los diferentes procesadores.

También podría gustarte