Pregunta 2 ¿Es necesaria la reubicación? ¿se puede prescindir de ella? ¿porque?.
Bienvenidos nuevamente esta segunda pregunta trata el tema de la reubicacion... esta viene a ser un problema fundamental de la multiprogramacion... hagan sus comentarios con las respuestas en breve revisaremos y responderemos si es necesario
Es necesaria la reubicación ,ya que diferentes trabajos deben ejecutarse en direcciones diferentes y no se puede prescindir de ellas ,porque cuando se enlaza un programa (es decir , cuando se combina el programa principal, los procedimientos escritos por el usuario y los procedimientos de biblioteca en un único espacio de direcciones ) el enlazador "linker" necesita saber en qué dirección de la memoria comenzara el programa
ResponderEliminarPara la multiprogramación se requiere que varios procesos residan simultáneamente en memoria. Una vez reasignado un dato dentro de la memoria este no puede volver al mismo lugar. No se puede prescindir de ella porque cuando un proceso es desalojado de la memoria por estar bloqueado(esperando una e/s o algún otro recursos, o simplemente por tener muy baja prioridad) es mandado a disco, aquí va a residir hasta que las condiciones necesarias para su funcionamiento se cumplan y pueda volver a la cola de listos, el SO debe encargarse de recolocar o reubicar a este proceso en otra área de memoria donde esperara para entrar al procesador.
ResponderEliminarEs necesaria la reubicación ,ya que diferentes trabajos deben ejecutarse en direcciones diferentes y no se puede prescindir de ellas .. Una vez reasignado un dato dentro de la memoria este no puede volver al mismo lugar. No se puede prescindir de ella porque cuando un proceso es desalojado de la memoria por estar bloqueado
ResponderEliminarEs necesaria ya que diferentes trabajos deben ejecutarse en direcciones diferentes y no se puede prescindir de ella porque cuando se enlaza un programa (es decir cuando se combina el programa principal, los procedimientos escritos por el usuario y los procedimientos de biblioteca en un único espacio de direcciones), el enlazador (linker) necesita saber en que dirección de la memoria comenzará el programa.
ResponderEliminarEs necesaria ya que diferentes trabajos deben ejecutarse en direcciones diferentes y no se puede prescindir de ella porque cuando se enlaza un programa (es decir cuando se combina el programa principal, los procedimientos escritos por el usuario y los procedimientos de biblioteca en un único espacio de direcciones), el enlazador (linker) necesita saber en que dirección de la memoria comenzará el programa.
ResponderEliminarEstas direcciones generadas por el programa se denominan direcciones virtuales y constituyen el espacio de direcciones virtuales en ordenadores sin memoria virtual, la direccion eso hace que la palabra de memoria fisica con esa direcciones se lea a escriba.
ResponderEliminarCuando se utiliza memoria virtual, las direcciones no se envian directamente al bus de memoria, si no que van a una unidad de gestion de memoria
Para la multiprogramación se requiere que varios procesos residan simultáneamente en memoria. Una vez reasignado un dato dentro de la memoria este no puede volver al mismo lugar. No se puede prescindir de ella porque cuando un proceso es desalojado de la memoria por estar bloqueado(esperando una e/s o algún otro recursos, o simplemente por tener muy baja prioridad) es mandado a disco, aquí va a residir hasta que las condiciones necesarias para su funcionamiento se cumplan y pueda volver a la cola de listos, el SO debe encargarse de recolocar o reubicar a este proceso en otra área de memoria donde esperara para entrar al procesador.
ResponderEliminarEs necesaria ya que diferentes trabajos deben ejecutarse en direcciones diferentes y no se puede prescindir de ella porque cuando se enlaza un programa (es decir, cuando se combinan el programa principal, los procedimientos escritos por el usuario y los procedimientos de biblioteca en un único espacio de direcciones), el enlazador (linker) necesita saber en qué dirección de la memoria comenzará el programa.
ResponderEliminarEs necesaria la reubicación ,ya que diferentes trabajos deben ejecutarse en direcciones diferentes y no se puede prescindir de ellas ,porque cuando se enlaza un programa (es decir , cuando se combina el programa principal, los procedimientos escritos por el usuario y los procedimientos de biblioteca en un único espacio de direcciones ) el enlazador "linker" necesita saber en qué dirección de la memoria comenzara el programa...
ResponderEliminarPara la multiprogramación se requiere que varios procesos residan simultáneamente en memoria. Una vez reasignado un dato dentro de la memoria este no puede volver al mismo lugar. No se puede prescindir de ella porque cuando un proceso es desalojado de la memoria por estar bloqueado(esperando una e/s o algún otro recursos, o simplemente por tener muy baja prioridad) es mandado a disco, aquí va a residir hasta que las condiciones necesarias para su funcionamiento se cumplan y pueda volver a la cola de listos, el SO debe encargarse de recolocar o reubicar a este proceso en otra área de memoria donde esperara para entrar al procesador.
ResponderEliminarSI ES NECESARIA, porque la memoria disponible se encuentra normalmente compartida por varios procesos. En general, el programador no puede conocer por adelantado qué otros programas residirán en memoria en el momento de la ejecución del programa. Además, se busca poder cargar y descargar los procesos activos en la memoria principal para maximizar el uso del procesador, manteniendo una gran reserva de procesos listos para ejecutar. Una vez que un programa haya sido descargado al disco, se limitará a declarar que, cuando vuelva a ser cargado, debe situarse en la misma región de memoria principal que antes.
ResponderEliminarPodemos prescindir de ella en los sistemas mono programados o en los sistemas que utilizan protección…
La protección impide el acceso a las área de la memoria que sean del sistema operativo o que sean de otro usuario causando excepciones y evitando así errores
Reubicación..
ResponderEliminarPara la multiprogramación se requiere que varios procesos residan simultáneamente en memoria. Una vez reasignado un dato dentro de la memoria este no puede volver al mismo lugar. Por lo tanto la gestión de memoria del sistema operativo tiene que ser capaz de trasladar los programas dentro de la memoria y manejar referencias y direcciones del programa, para que siempre tenga referencia de la ubicación correcta de la memoria.