Está en la página 1de 3

ADMINISTRACION DE PROCESOS

Una computadora moderna puede ofrecer a un usuario muchas herramientas,


cada una de esas herramientas se ejecutan a través de procesos que por lo
general no visualizamos y se componen de varios procesos que se pueden
ejecutar uno por uno o simultáneamente, para que todo el software del pc
pueda ejecutarse de manera correcta, existe la multiprogramación la cual
permite que se ejecute un proceso tras otro sin afectarse entre sí. Hay
procesos que tienen mayor prioridad, es decir, el CPU se puede detener y
dejar pendiente un proceso para atender otro que sea más importante, el
procesador puede atender varios procesos a la vez mediante programas
especiales para dichos procesos, pero son procesos diferentes.

Existen muchas formas en las que se crea un proceso, cada unos de estos
procesos pueden ser se primer plano; estos son los que son de mayor
prioridad y los que realizan tareas para el usuario, y los de segundo plano;
estos son los que no se ejecutan más que en las ocasiones en que se
requiera. La creación de un proceso puede implicar la creación de otros a
estos procesos se les llama procesos hijos.
Al igual que los procesos se crean por varias razones, estos procesos deben
de terminar en un determinado tiempo, pueden terminar debido a que este
proceso que está corriendo es forzado a terminarse, debido a que durante el
tiempo en que se esté ejecutando ocurra un error o bien puede terminar el
proceso simplemente a que ya cumplió su función. Durante la ejecución de un
proceso, este pasa por varios estados, el proceso está en ejecución después
el administrados de procesos puede parar el que está en ejecución para dar
tiempo a que otros procesos se ejecuten, una vez que todos los procesos
cumplen su tiempo el primer proceso que estaba en ejecución vuelve a tomar
el tiempo.

Para la administración de todos los procesos y sus estados el sistema


operativo maneja una tabla o conjunto de información acerca del proceso en
la cual incluyen datos como el especio que ocupa cada proceso, los
programas que usan, y cada uno de ellos es administrado por medio del
sistema operativo, para que puedan ser ejecutados de vuelta.

Para que pueda ser más rápida la creación de los procesos se implementan
los hilos, estos son micro procesos los cuales se crean con mayor velocidad,
esto ayuda a que se puedan realizar tareas del sistema con mayor rapidez y
facilidad, así como de resolver problemas que puedan surgir en el sistema y
tener ayuda a tener un mejor rendimiento.
Tanto los procesos como los hilos tienen propiedades, algunas de las
propiedades de los procesos como ya se había mencionado son los procesos
hijos, el espacio de direcciones, archivos entre otros, y los elementos de los
hilos incluyen los estados, las pilas, registros y el contador del programa.

Es necesario que los procesos se comuniquen entre sí, esto debido a varias
cuestiones, puede ser que en ocasiones necesiten hacer intercambio de
información o que lo procesos no se interpongan uno con otro, cada uno de
estos casos se puede aplicar a los hilos y las soluciones para ambos son las
mismas.

Algo importante que debemos de tomar en cuenta para evitar datos


compartidos es que no puede haber dos procesos juntos dentro de una región
crítica, igual debemos considerar que ningún proceso que esté fuera de su
región crítica puede bloquear otros procesos y los procesos pueden entrar en
la región crítica cuando se requiera, no deben de esperar siempre.

Existen varias soluciones que muestran la manera en la que trabajan los


procesos e hilos estas soluciones nos ayudan a comprender a través de
programas como es que funcionan estos modelos, la comunicación entre los
procesos y a encontrar soluciones a cada uno de los problemas que se
pueden presentar.
Para poder realizar estas soluciones se han implementado varias
herramientas como lo son los semáforos y los mutexes, los semáforos son
variables que ayudan a contar un número determinado de valores positivos y
los mutexes son variables que pueden estar mas de un estado ya sea
desbloqueado o bloqueado, en cada una de estas soluciones ocupan estas
variables.

Cada uno de estos programas y herramientas se han ido mejorando con el


paso del tiempo, para facilitar la escritura de código y reducir errores, una de
esas mejoras es la de los monitores, estos monitores son un conjunto de
variables, procedimientos que están disponibles en paquetes y se pueden
llamar cada vez que se desee, esto ayuda para poder facilitar el programa.

Al estar uno o mas procesos en estado listo compiten para ejecutarse, para
eso existe el planificador de procesos, este es el que se encarga de decidir
que proceso es el siguiente en ejecutarse cuando solo hay disponible una
CPU, esto se implemento ya que era muy complejo realizar este algoritmo de
planificación, hay un tiempo determinado en el que se debe planificar un
proceso, esto puede se cuando se crea un nuevo proceso o cuando un
proceso termina, igual se realiza una planificación cuando el proceso se
bloquea o cuando ocurre una interrupción.
Hay diferentes tipos de entornos que vale la pena tener en cuenta para este
tipo de algoritmos de planificación de procesos, en primer lugar, tenemos a el
procesamiento por lotes, este método ayuda a reducir el rendimiento; otra de
las categorías es un entorno interactivo, por ejemplo, los servidores, ya que
dan servicio a mas de un usuario vía remota y por último el entorno en los
sistemas de tiempo real, esto ayuda a reducir el tiempo de ejecución de los
procesos.

Tenemos varios tipos de planificación y cada uno ayuda al sistema realice los
procesos con mejor eficacia y administradamente.

Como en todo sistema, existen problemas e igual se dan varias soluciones a


dichos problemas, en los sistemas operativos se tiene el problema de los
filósofos comensales y el problema de los lectores y escritores, los cuales
están representados por programas y en pseudo código y ayudan tener una
mejor comprensión de cómo es la comunicación entre procesos.

Es importante conocer como es que trabaja un sistema operativo a través de


procesos e hilos, y todos los elementos que conllevan como es la
planificación y la sincronización entre procesos. Cabe mencionar que las
aplicaciones cuentan con varios hilos de control dependiendo para que se
usen, para algunas es más conveniente que otras.

Debemos recordar que existen herramientas para que pueda existir


comunicación entro los procesos, como lo son los semáforos, los mutexes o
los monitores, las cuales son utilizadas para que no haya procesos en sus
regiones críticas al mismo tiempo ya que de lo contrario podría causar
problemas. Estas herramientas son usadas para dar solución a los problemas
mencionados anteriormente y se realiza a través de código de programación.

Tener en cuanta cada uno de estos puntos nos ayuda a conocer como es que
funciona el sistema operativo, cuales son los elementos que los compone,
como los procesos y los hilos y como es que se han ido implementando
nuevas herramientas y soluciones para la mejora de los sistemas.

Aunque muchas veces en un poco complejo de entender los sistemas, pero


es por eso por lo que se crean aplicaciones y programas que ayudan a
entender como es que funciona. Muchas veces interactuamos con el sistema
operativo sin tener en cuenta la infinidad de procesos y trabajos que realiza
tanto el software como el hardware, simplemente para que se cumpla una
petición, y todo esto ayuda a saber cómo es que actúa.

También podría gustarte