La memoria virtual es una técnica utilizada por los sistemas operativos para acceder a una mayor cantidad de memoria de la físicamente disponible , recurriendo a soluciones de almacenamiento alternativas cuando se agota la memoria RAM instalada. En este artículo aprenderemos cómo funciona y qué debemos hacer para configurarla de manera óptima. Como muchos lectores ya sabréis, los ordenadores utilizan la memoria RAM para almacenar los archivos y datos que necesitan tanto el sistema operativo como el software que estemos ejecutando; su elevado rendimiento garantiza un funcionamiento óptimo pero, tarde o temprano, siempre termina por llenarse. Es en ese momento cuando Windows necesita recurrir a la memoria virtual. Para crear la memoria virtual Windows crea un archivo en la unidad de almacenamiento que tengamos asignada, sea un disco duro tradicional o un SSD; el sistema operativo genera un archivo llamado pagefile.sys (podéis encontrarlo oculto en el dir...
Cuando un hilo está en ejecución, posee el acceso a todos los recursos que tiene asignados la tarea.
ResponderEliminarUn hilo tendrá lo siguiente:
Estado.
Contexto del procesador. Punto en el que estamos ejecutando, la instrucción concretamente en la que nos hallamos. Es útil a la hora de reanudar un hilo que fue interrumpido con anterioridad, puesto que al guardar el contexto, guardamos la ultima instrucción que ejecutamos, y así podemos conocer por donde tenemos que continuar la ejecución del hilo.
Pila de ejecución donde se irá metiendo y sacando instrucciones. (Lugar donde almacenaremos las instrucciones que van a ser ejecutadas).
Espacio de almacenamiento estático donde almacenará las variables.
Acceso a los recursos de la tarea, que son compartidos por todos los hilos de la tarea.
Ventajas del uso de hilos.
Se tarda menos tiempo en crear un hilo de una tarea existente que en crear un nuevo proceso.
Se tarda menos tiempo en terminar un hilo que en terminar un proceso.
Se tarda menos tiempo en cambiar entre dos hilos de una misma tarea que en cambiar entre dos procesos (porque los recursos no cambian, por ejemplo)
Ejemplo:
Es tener un hilo atento a la interfaz Gràfica (iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta manera el programa responde de manera más ágil a la interacción con el usuario. También pueden ser utilizados por una aplicación servidora para dar servicio a múltiples clientes.
Un ejemplo de aplicación que podría hacer uso de hilos es un servidor, como puede ser un servidor de archivos de una red de área local. Cada vez que llegue una solicitud de un nuevo archivo, se puede generar un nuevo hilo para el programa de gestión de archivos. Puesto que el servidor debe manejar muchas solicitudes, se crearan y destruirán muchos hilos en un corto periodo de tiempo. Si el servidor es un multiprocesador, se pueden ejecutar varios hilos de una misma tarea simultáneamente y en diferentes procesadores. Los hilos son también útiles en los monoprocesadores para simplificar la estructura de los programas que lleven a cabo diversas funciones.
Un procesador de textos en el que mientras tecleamos se van corrigiendo los posibles errores tipográficos.
ResponderEliminarEl programa comentado tendría 2 hilos, el principal recoge las pulsaciones del teclado y visualiza el texto y el hilo corrector.
Ambos hilos comparten el mismo espacio de direccionamiento.
ResponderEliminarLos Hilos o los “Threads” en Java, son basicamente una forma de poder ejecutar varios procesos simultáneamente en nuestros programas en Java.
Usualmente para poder utilizarlos tenemos que crear clases que extienden a la clase Thread, y reescribir el metodo principal “run()”, el cual es el que se va a ejecutar principalmente al iniciar un hilo, thread o nuevo proceso en java.
Para comprender mejor el funcionamiento te proporciono el siguiente codigo fuente y un video donde explico como usar hilos de manera sencilla.
En resumen: empleando hilos, podemos tener varias entidades de ejecución activas en una misma aplicación.
ResponderEliminares el procesador que corrige errores
en un programa de hoja de cálculo un hilo puede estar visualizando los menús y leer la entrada del usuario mientras que otro hilo ejecuta las órdenes y actualiza la hoja de cálculo. Esta medida suele aumentar la velocidad que se percibe en la aplicación, permitiendo que el programa pida la orden siguiente antes de terminar la anterior.
ResponderEliminarUn procesador de textos en el que mientras tecleamos se van corrigiendo los posibles errores tipográficos.
ResponderEliminarEl programa comentado tendría 2 hilos, el principal recoge las pulsaciones del teclado y visualiza el texto y el hilo corrector.
Ambos hilos comparten el mismo espacio de direccionamiento.
Cuando un hilo está en ejecución, posee el acceso a todos los recursos que tiene asignados la tarea.
ResponderEliminarUn hilo tendrá lo siguiente:
Un ejemplo de aplicación que podría hacer uso de hilos es un servidor, como puede ser un servidor de archivos de una red de área local. Los hilos son también útiles en los monoprocesadores para simplificar la estructura de los programas que lleven a cabo diversas funciones.
Cuando un hilo está en ejecución, posee el acceso a todos los recursos que tiene asignados la tarea
ResponderEliminarun ejemplo seria cuando introducimos algun dato y al mismo tiempo podemos visualizarlo corrigiendo las caracteristicas por defecto