Está en la página 1de 6

Introducción

La memoria es uno de los principales recursos de la computadora, la cual


debe de administrarse con mucho cuidado. Aunque actualmente la
mayoría de los sistemas de cómputo cuentan con una alta capacidad de
memoria, de igual manera las aplicaciones actuales tienen también altos
requerimientos de memoria, lo que sigue generando escasez de memoria
en los sistemas multitarea y/o multiusuario.

La parte del sistema operativo que administra la memoria se llama


administrador de memoria y su labor consiste en llevar un registro de las
partes de memoria que se estén utilizando y aquellas que no, con el fin
de asignar espacio en memoria a los procesos cuando éstos la necesiten
y liberándola cuando terminen, así como administrar el intercambio entre
la memoria principal y el disco en los casos en los que la memoria
principal no le pueda dar capacidad a todos los procesos que tienen
necesidad de ella.

Los sistemas de administración de memoria se pueden clasificar en dos


tipos: los que desplazan los procesos de la memoria principal al disco y
viceversa durante la ejecución y los que no.

El propósito principal de una computadora es el de ejecutar programas,


estos programas, junto con la información que accesan deben de estar
en la memoria principal (al menos parcialmente) durante la ejecución.

Para optimizar el uso del CPU y de la memoria, el sistema operativo


debe de tener varios procesos a la vez en la memoria principal, para lo
cual dispone de varias opciones de administración tanto del procesador
como de la memoria. La selección de uno de ellos depende
principalmente del diseño del hardware para el sistema.
Para entender mejor lo que es un proceso y la diferencia entre un programa y
un proceso, Tanenbaum propone la analogía "Un científico computacional con
mente culinaria hornea un pastel de cumpleaños para su hija; tiene la receta
para un pastel de cumpleaños y una cocina bien equipada con todos los
ingredientes necesarios, harina, huevo, azúcar, leche, etc." Situando cada
parte de la analogía se puede decir que la receta representa el programa (el
algoritmo), el científico computacional es el procesador y los ingredientes son
las entradas del programa. El proceso es la actividad que consiste en que el
científico computacional vaya leyendo la receta, obteniendo los ingredientes y
horneando el pastel.
Cada proceso tiene su contador de programa, registros y variables, aislados de
otros procesos, incluso siendo el mismo programa en ejecución 2 veces.
Cuando este último caso sucede, el sistema operativo usa la misma región de
memoria de código, debido a que dicho código no cambiará, a menos que se
ejecute una versión distinta del programa.
Los procesos son gestionados por el sistema operativo y están formados 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 unidad central de procesamiento para dicho programa.
 Su memoria de trabajo (memoria crítica), es decir, la memoria que ha
reservado y sus contenidos.
 Otra información que permite al sistema operativo su planificación.
Un proceso se rige en pequeñas porciones, conocidas como páginas, y cada
proceso tiene su propia tabla de paginación, fungiendo como una optimización
del sistema operativo ante los fallos de página.
Estados de los procesos
Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En
ejecución y Bloqueado.
Los procesos en el estado listo son los que pueden pasar a estado de
ejecución si el planificador los selecciona. Los procesos en el estado ejecución
son los que se están ejecutando en el procesador en ese momento dado. Los
procesos que se encuentran en estado bloqueado están esperando la
respuesta de algún otro proceso para poder continuar con su ejecución. Por
ejemplo operación de E/S.
Planificación del Procesador.
La planificación del procesador se refiere a la manera o técnicas que se usan
para decidir cuánto tiempo de ejecución y cuándo se le asignan a cada proceso
del sistema. Obviamente, si el sistema es monousuario y monotarea no hay
mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen
funcionamiento del sistema.
Caracteristicas a considerar de los Procesos.
No todos los equipos de cómputo procesan el mismo tipo de trabajos, y un
algoritmo de planificación que en un sistema funciona bien puede dar un
rendimiento pésimo en otro cuyos procesos tienen características diferentes.
Estas características pueden ser:
 Cantidad de Entrada/Salida: Existen procesos que realizan una gran
cantidad de operaciones de entrada y salida (aplicaciones de bases de
datos, por ejemplo).
 Cantidad de Uso de CPU: Existen procesos que no realizan muchas
operaciones de entrada y salida, sino que usan intensivamente la unidad
central de proceso. Por ejemplo, operaciones con matrices.
 Procesos de Lote o Interactivos: Un proceso de lote es más eficiente en
cuanto a la lectura de datos, ya que generalmente lo hace de archivos,
mientras que un programa interactivo espera mucho tiempo (no es lo
mismo el tiempo de lectura de un archivo que la velocidad en que una
persona teclea datos) por las respuestas de los usuarios.
 Procesos en Tiempo Real: Si los procesos deben dar respuesta en
tiempo real se requiere que tengan prioridad para los turnos de
ejecución.
 Longevidad de los Procesos: Existen procesos que típicamente
requerirán varias horas para finalizar su labor, mientras que existen otros
que solo necesitan algunos segundos.
Un proceso es una actividad que se apoya en datos, recursos, un estado en
cada momento y un programa.

PROCESOS EN LOS SISTEMAS OPERATIVOS UNIDAD III

Dentro de las operaciones más básicas y la vez más


complejas de nuestra PC encontramos los procesos. Estos
nos permitirán entrar al mundo que se "DESPERTARA" en
nuestra computadora, o por lo menos seria nuestra manera
de decirlo. Siempre que le pidamos a nuestra computadora
que haga algo, los procesos asumirán el trabajo y de esta
manera el microprocesador dará ejecución al plan que
realice el sistema operativo a través de los procesos…

“Un proceso es básicamente un entorno formado por todos


los recursos necesarios para ejecutar programas.

Gestión de Procesos
Un proceso es un programa en ejecución, incluyendo el valor actual del program
counter (PC), registros y variables. 
Un programa es pasivo (es sólo código o texto) y un proceso es activo y dinámico
(varía en el tiempo).

Analogía: Preparar una receta de una torta. El programa es la receta, el proceso es la


actividad que consiste en leer la receta, mezclar los ingredientes y hornear la torta.

Varios procesos pueden estar ejecutando el mismo programa, por ejemplo, si dos o
más usuarios están usando simultáneamente el mismo editor editor de texto. El
programa es el mismo, pero cada usuario tiene un proceso distinto (y con distintos
datos). Conceptualmente cada proceso tiene su propia CPU virtual.

El sistema operativo es responsable de las siguientes actividades con relación a la


administración de procesos:

 La creación y eliminación de procesos tanto del usuario como del Sistema


Operativo
 La planificación de los procesos.
 La provisión de mecanismos para sincronización, comunicación y manejo de
bloqueos mutuos.

Aunque tradicionalmente un proceso contenía un solo hilo de control mientras se


ejecutaba, la mayoría de los sistemas operativos modernos ahora dan soporte a
procesos que tienen varios Hilos.

Así un sistema de cómputo consiste en una colección de procesos que se ejecutan en


la misma máquina de manera concurrente multiplexando (dividiéndose) el tiempo del
procesador ya sean procesos del sistema operativo o procesos de usuario.

Estados de un proceso

A medida que se ejecuta un proceso, cambia su estado. El estado de un proceso se


define en parte por la actividad actual de dicho proceso. Cada proceso puede estar en
alguno de los siguientes estados:

Nuevo: El proceso se está creando.


Ejecución: Se están ejecutando instrucciones.
En espera: El proceso está esperando a que ocurra algún evento (Como la
terminación de una operación de entrada o salida, o la recepción de una señal.
Listo: El proceso está en espera de ser asignado a un procesador.
Terminado: El proceso ha terminado su ejecución.
Bloque de Control del Proceso

Cada proceso se representa en el sistema operativo mediante un bloque de control del


proceso (Process Control Block PCB) también denominado bloque de control de
tarea.

Un proceso es un objeto con operaciones y atributos: (datos). Este bloque representa


la parte de los datos del proceso. Estos datos se almacenan dentro de la siguiente
estructura:

 Estado (ejecutando, listo, bloqueado)


 Program counter
 Registros de CPU
 Información para planificación (p.ej., prioridad)
 Información para administración de memoria (p.ej., registros base y límite)
 Información de I/O: dispositivos y recursos asignados al proceso, archivos
abiertos, etc.
 Estadísticas y otros: tiempo real y tiempo de CPU usado, identificador del
proceso, identificador del dueño, etc.

Creación de Procesos

Un proceso puede crear varios procesos nuevos, a través de una llamada al sistema
para la creación de procesos, durante el curso de la ejecución. El proceso creador se
denomina proceso padre, en tanto que los nuevos son sus hijos. Cada uno de estos
nuevos procesos a su vez pueden crear otros, formando así un arbol de procesos.

Cuando un proceso se crea como nuevo existen dos posibilidades en términos de


ejecución:

1. El padre continúa ejecutándose de manera concurrente con sus hijos.


2. El padre espera hasta que alguno de sus hijos haya terminado.

Terminación de un Proceso

Un proceso concluye cuando termina de ejecutar su sentencia final, y le pide al


sistema operativo que lo borre usando la llamada exit. En dicho punto el proceso
puede regresar datos de salida a su padre. Todos los recursos del proceso incluyendo
memoria y buffers, son liberados por el sistema operativo.

Existen circunstancias adicionales en las que ocurre terminación. Un proceso puede


ocasionar la terminación de otro, mediante la llamada apropiada al sistema del evento
abort. Esta llamada solo se permite de procesos padre a hijos.

Un padre puede terminar la ejecución de uno de sus hijos por varias razones:

 El hijo ha excedido el uso de alguno de los recursos que tiene asignados.


 Ya no se requiere la tarea asignada al hijo.
 El padre está saliendo y el sistema no permite que un hijo continúe si su padre
termina.

CONCLUSIÓN.
Ya conocimos que es un proceso, ya sabemos quien controla los
procesos de nuestro computador pero también podemos decir que:
 Loprocesos son creados y destruidos por el sistema operativo,
así como también este se debe hacer cargo de la
comunicación entre procesos.
 El mecanismo por el cual un proceso crea otro proceso se
denomina bifurcación.
 El sistema operativo es el responsable de determinar las
pautas de intercalado y asignación de recursos a cada proceso.
 Si existe un esquema con diferentes niveles de prioridad de
procesos es conveniente mantener varias colas de procesos
listos, una para cada nivel de prioridad, lo que ayuda a determinar
cuál es el proceso que más conviene ejecutar a continuación.
 La sincronización explícita entre procesos es un caso
particular del estado "bloqueado". En este caso, el suceso que
permite desbloquear un proceso no es una operación de
entrada/salida, sino una señal generada a propósito por el
programador desde otro proceso.

También podría gustarte