Gestion de memoria.
diego.sosa24Ensayo4 de Abril de 2016
4.556 Palabras (19 Páginas)352 Visitas
Capítulo 3
[pic 1][pic 2][pic 3][pic 4]
PROCESOS
- Concepto de procesos.
Cada proceso ejecutado compone diferente información, como por ejemplo en los segmentos de memoria contienen el código y los datos del mismo, lo que contienen los registros del modelo de programación y del mismo BCP. Algunos sistemas operativos (Unix) muestran claramente una estructura de la jerarquía de procesos (un proceso sabe quién es el proceso mayor), caso contrario del Windows no la mantienen.
- Multitarea.
Hay diferentes sistemas operativos, algunos de ellos pueden ser monotarea o monoproceso y otros multitarea o multiproceso. Los sistemas monotarea solo permiten que exista un solo proceso en cada instante, de tal modo que cuando se requiera ejecutar más de una tarea hay que esperar a que termine para poder ejecutar la tarea siguiente, de lado contrario los sistemas operativos multitareas o multiprocesos te permiten llevar a cabo varias tareas o procesos en ejecución y es el mismo sistema operativo el que se encarga de repartir el tiempo al procesador para agilizar la ejecución de cada proceso.
Un proceso puede estar en varias situaciones como son el procesamiento, listo para ejecutar y espera que se denominan como estados. A lo largo de su vida, el proceso va cambiando de estado según evolucionan sus necesidades.
- Proceso nulo.
Este proceso es un bucle infinito que no realiza ninguna operación útil. El objetivo de este proceso es entretener al procesador cuando no hay ninguna otra tarea.
- Planificador y activador.
El planificador forma parte importante del núcleo del sistema operativo, se encarga de seleccionar la tarea a ejecutar en ese instante, por eso se le llama planificador, porque corre parte fundamental del sistema operativo al operar planificando que tareas ejecutará en su momento. De modo similar, el activador también juega un papel importante en el sistema operativo y es el que se encarga de poner en funcionamiento la tarea seleccionada por el planificador, siendo así ambos parte fundamental del sistema operativo, ya que dichos procedimientos están estrechamente relacionados entre sí.
- Grado de multiprogramación y necesidades de memoria principal.
Se denomina grado de multiprogramación al número de tareas que están activas en un mismo instante que mantiene un sistema. Esto significa que mientras más procesos se encuentren en ejecución en el sistema la probabilidad de encontrar lista una tarea para ejecutarse o es mayor, de tal modo el proceso nulo entrará menos veces a ejecutarse, pero se tiene el inconveniente de que si hay un mayor grado de multiprogramación, mayor requerimiento de memoria virtual se necesitará. Mientras mayor sea el grado de multiprogramación mayor será la utilización del procesador.
- Información del proceso
Los elementos del procesador están organizados en tres partes que son el estado del procesador, imagen de memoria y tablas del sistema operativo. El estado del procesador está formado por el cont4enido de todos sus registros, los cuales son registros generales y contador de programa. El estado del procesador de un proceso reside en los registros del procesador cuando el proceso está en ejecución, o en el bloque de control de proceso mejor llamado BCP cuando el proceso no está en ejecución.
- Información del BCP
El BCP contiene la información básica del proceso, entre la que cabe destacar la información de identificación, el estado del procesador y la información de control del proceso que es de planificación y estado.
- Formación de un proceso
Para que un proceso pueda ser formado necesita completar las funciones que lo constituyen o las operaciones que debe hacer el sistema operativo es asignar un espacio de memoria para que guarde la imagen de memoria, primero seleccionar un BCP que esté libre de la tabla de procesos y luego rellenar el BCP con la información que identifica al proceso y con la descripción de la memoria que se le asignó, cargar en el segmento de texto el código más las rutinas de sistema y en el segmento de datos los datos iniciales contenidos en el archivo objeto
- Estado del proceso
Aquí indica de cuantas maneras o estados puede tener un proceso ejecutándose, los cuales serían tres estados básicos como ejecución, bloqueado y listo. En ejecución está el proceso que está siendo ejecutado por el procesador, es decir, que está en fase de procesamiento.
En esta fase el estado del proceso reside en los registros del procesador, mientras que en el proceso bloqueado está esperando a que ocurra un evento y no puede seguir ejecutando hasta que suceda el evento. Una situación típica de este proceso bloqueado se produce cuando el proceso solicita una operación de E/S y hasta que no termina esta operación, el proceso queda bloqueado.
- Estados suspendidos
Una de las razones para implementar el estado Bloqueado era poder hacer que los procesos se puedan mantener esperando algún suceso, por ejemplo una E/S. Sin embargo, al ser mucho más lentas estas operaciones, puede suceder en nuestro modelo de cinco estados todos los procesos en memoria estén esperando en el estado Bloqueado y que no haya más memoria disponible para nuevos procesos. Podría conseguirse más memoria, aunque es probable que esto sólo permita procesos más grandes y no necesariamente nuevos procesos. No todos los sistemas operativos tienen la opción de suspensión, como tal, un sistema monousuraio puede no incluir la suspensión dejando al usuario la labor de cerrar procesos si observa que no ejecutan adecuadamente.
- Activación de un proceso
Esto consiste en copiar en los registros del procesador el estado del mismo, que está almacenado en su BCP, de esta forma el proceso continuara su ejecución en las mismas condiciones en las que fue parado. El efecto de esta instrucción es restituir el registro de estado y el contador de programa, lo cual tiene los importantes efectos como el restituir el registro de estado, se restituye el bit que especifique el nivel de ejecución y al restituir el contador de programa, se consigue que la siguiente instrucción máquina que ejecute el procesador sea justo la instrucción en la que fue interrumpido el proceso.
- Procesos Ligeros
Estos procesos pueden tener un solo flujo de ejecución o tener más de uno, es por esto que estos procesos pueden ser ejecutados o lanzados en paralelo ya que ninguno de estos procesos comparte información de él. Esta información se refiere a información que llevo como programa en ejecución algunas de estas son los registros y pila, Estos procesos tienen una característica que es la más importante es que todos los procesos ligeros de un proceso comparten información entre ellos como son espacio de memoria, procesos hijos entre otros, esta característica es la que le da la gran ventaja a estos procesos ligeros.
Estos procesos también comparten el mismo espacio de direcciones de memoria esto hace que no allá protección de la memoria entre los procesos ligeros de un mismo proceso.
- Estados del proceso ligero
En los procesos ligeros existen tres estados en el que se puede encontrar a los procesos estos son bloqueado, en ejecución y listo, el estado del proceso depende del estado de sus procesos ligeros una combinación seria si todos los procesos ligeros están bloqueados el estado del proceso seria bloqueado y al menos un proceso tiene al menos un proceso ligero en ejecución el proceso estará en ejecución, de esta manera hay muchas combinaciones sin embargo siempre dependerá del estado de todos sus procesos ligeros.
- Paralelismo
Los procesos ligeros permiten lo que se le llama paralelizar una aplicación el proceso pueden dividirse en procesos ligeros y ejecutarse cada uno simultáneamente dependiendo de la cantidad de procesadores que la computadora tenga claro, estos proceso son independientes de cada uno por eso pueden ejecutarse de esta manera, esto maximiza el uso del procesador, ya que permite que si algún proceso ligero ente bloqueado algún otro proceso ligero del mismo proceso este ya en ejecución, estas son las principales ventajas de los procesos ligeros en comparación de otros procesos convencionales.
- Diseño con procesos ligeros
Los procesos ligeros ofrecen ventajas destacadas en la división de trabajo que estos mismos permiten, como se dijo anteriormente estos procesos comparten la memoria entre sí, por lo que no es necesario comprar ningún mecanismo de más para poder utilizarlos, también permiten la creación y destrucción de los mismos con una rapidez aún mejor que los procesos convencionales, por lo que todo esto se traduce en mejores prestaciones. El paralelismo en los procesos además claro que comparten la memoria permite la programación concurrente este tipo de programación es una programación de alto grado de dificultad ya que debe garantizarse que el acceso a los datos compartidos de los procesos se haga de forma correcta y eficaz.
...