Herramientas de usuario

Herramientas del sitio


so_memppal

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
so_memppal [2020/04/01 14:45] marianoso_memppal [2020/04/01 18:42] (actual) – editor externo 127.0.0.1
Línea 32: Línea 32:
 {{ :conejocortala.png?120|}} {{ :conejocortala.png?120|}}
 El sistema operativo, que se ejecuta en modo //kernel//, tiene acceso no restringido a la memoria tanto del sistema operativo como de los usuarios. Esto  le permite cargar los programas de los usuarios en la memoria de los usuarios, volcar dichos programas en caso de error, leer y modificar parámetros de las llamadas al sistema, etc. El sistema operativo, que se ejecuta en modo //kernel//, tiene acceso no restringido a la memoria tanto del sistema operativo como de los usuarios. Esto  le permite cargar los programas de los usuarios en la memoria de los usuarios, volcar dichos programas en caso de error, leer y modificar parámetros de las llamadas al sistema, etc.
 +\\
 +\\
 +\\
 +\\
  
 +==== Reasignacion de direcciones ====
  
 +Usualmente, los programas residen en disco en forma de archivos ejecutables binarios. Para poder ejecutarse, un programa deberá ser cargado en memoria y colocado dentro de un proceso. Dependiendo del mecanismo de gestión de memoria que se utilice, el proceso puede desplazarse entre disco y memoria durante su ejecución. Los procesos del disco que estén esperando a ser cargados en memoria para su ejecución forman lo que se denomina **cola de entrada.**
 +
 +El procedimiento normal consiste en seleccionar uno de los procesos de la cola de entrada y cargar dicho proceso en memoria. A medida que se ejecuta el proceso, éste accede a las instrucciones y datos contenidos en la memoria. Eventualmente, el proceso terminará su ejecución y su espacio de memoria será declarado como disponible.
 +
 +La mayoría de los sistemas permiten que un proceso de usuario resida en cualquier parte de la memoria física. Así, aunque el espacio de direcciones de la computadora comience en 00000, la primera dirección del proceso de usuario no tiene por qué ser 00000. Esta técnica afecta a las direcciones que el programa de usuario puede utilizar.
 + 
 +Clásicamente, la reasignación de las instrucciones y los datos a direcciones de memoria puede realizarse en cualquiera de los pasos:
 +
 +  * **Tiempo de compilación.** Si sabemos en el momento de realizar la compilación dónde va a residir el proceso en memoria, podremos generar código absoluto. Por ejemplo, si sabemos que un proceso de usuario va a residir en una zona de memoria que comienza en la ubicación R, el código generado por el compilador comenzará en dicha ubicación y se extenderá a partir de ahí. Si la ubicación inicial cambiase en algún instante posterior, entonces sería necesario recompilar ese código. Los programas en formato .COM de MS-DOS :-( se acoplaban en tiempo de compilación.
 +
 +  * **Tiempo de carga.** Si no conocemos en tiempo de compilación dónde va a residir el proceso en memoria, el compilador deberá generar código reubicable. En este caso, se retarda la reasignación final hasta el momento de la carga. Si cambia la dirección inicial, tan sólo es necesario volver á cargar el código de usuario para incorporar el valor modificado.:-\
 +
 +  * **Tiempo de ejecución.** Si el proceso puede desplazarse durante su ejecución desde un segmento de memoria a otro, entonces es necesario retardar la reasignación hasta el instante de la ejecución. Para que este esquema pueda funcionar, será preciso disponer de hardware especial. La mayoría de los sistemas operativos de propósito general utilizan este método.:-D
 +
 +{{ :chistenerd1.png?550 |}}
 +
 +
 +
 +----
 +
 +
 +[[so|Volver]]
 +
 +
 +~~NOCACHE~~
 +({{counter|total}})
  
  
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

so_memppal.1585752356.txt.gz · Última modificación: 2020/04/01 14:45 por mariano