Residente de obra y sus funciones que realiza .pdf
Procesador sparc, memoria virtual
1.
2. SPARC (Del inglés Scalable Processor Architecture).
Es una arquitectura RISC. Es decir, una arquitectura con un
conjunto de instrucciones reducidas.
Una de las ideas innovadoras de esta arquitectura es la
ventana de registros que permite hacer fácilmente
compiladores de alto rendimiento y una significativa reducción
de memoria en las instrucciones load/store en relación con
otras arquitecturas RISC. Las ventajas se aprecian sobre todo
en programas grandes.
La CPU SPARC está compuesta de una unidad entera, UI
(Integer Unit) que procesa la ejecución básica y una FPU
(Floating-Point Unit) que ejecuta las operaciones y cálculos de
reales. La IU y la FPU pueden o no estar integradas en el mismo
chip.
3. Su característica distintiva es utilizar ventanas de
registros.
32 registros de "enteros" de 32 bits.
16 registros de punto flotante de 64 bits
Modos de direccionamiento:
› Inmediato
› Directo.
› Indirecto.
Utiliza instrucciones retardadas (saltos, load y store).
Manejo de memoria:
› Espacio virtual de 4 Gigabytes.
› Unidad de manejo de memoria (MMU) que trabaja con
páginas de tamaño configurable.
4. Las instrucciones de SPARC se pueden clasificar en
cinco categorías:
LOAD y STORE (La única manera de acceder a la memoria).
Instrucciones Aritméticas/Lógicas/Shift.
Operaciones del Coprocesador.
Instrucciones de Control de Transferencia.
Instrucciones de control de registros Read/Write.
5. 1. LOAD y STORE (La única manera de acceder a la memoria). Estas
instrucciones usan dos registros o un registro y una constante para
calcular la dirección de memoria a direccionar.
2. Instrucciones Aritméticas/Lógicas/Shift. Ejecutan operaciones
aritméticas, lógicas y de desplazamiento de bits.
3. Operaciones del Coprocesador. La IU extrae las operaciones de
punto flotante desde las instrucciones del bus de datos y los coloca
en la cola para la FPU. La FPU ejecuta los cálculos de punto
flotante con un número fijo en unidad aritmética de punto flotante,
(el número es dependiente de la aplicación). La arquitectura
SPARC también especifica una interfaz para la conexión de un
coprocesador adicional.
4. Instrucciones de Control de Transferencia. Estas incluyen jumps,
calls, traps y branches.
5. Instrucciones de control de registros Read/Write. Estas instrucciones
se incluyen para leer y grabar el contenido de varios registros de
control. Generalmente la fuente o destino está implícito en la
instrucción.
6.
7. Reside en una partición de un disco
duro o como fichero en un sistema de
archivos.
El uso de memoria virtual tiene ventajas:
-Influye en la gestión de procesos,
facilitando el control del grado de
multiprogramación
-Otorga flexibilidad en la gestión de
memoria, permitiendo un uso mas
eficiente de la misma
8. En los sistemas Unix, existe un numero
mínimo de bloques de memoria libres
Cuando se alcanza este limite, el
proceso paginador (page-stealer) entra
en acción.
9. Lo estándar en Unix es un sistema de intercambio
de segmentos de un proceso entre memoria
principal y memoria secundaria, llamada
swapping lo que significa que se debe mover la
imagen de un proceso al disco si éste excede la
capacidad de la memoria principal, y copiar el
proceso completo a memoria secundaria. Es
decir, durante su ejecución, los procesos son
cambiados de y hacia memoria secundaria
conforme se requiera.
La paginación por demanda y combinación de
segmentos paginados, en ambos casos con
páginas de tamaño fijo.
10.
11. Se usa una partición de disco duro para el
área de intercambio
En algunos sistemas el tamaño de la página en
Unix es de 512 bytes; en otros, de 1024.
Para reemplazo se usa un algoritmo que
mantiene en memoria las páginas empleadas
más recientemente.
Un sistema de paginación por demanda
ofrece muchas ventajas en cuanto a
flexibilidad y agilidad en la atención
concurrente de múltiples procesos y
proporciona, además, memoria virtual, es
decir, la capacidad de trabajar con procesos
mayores que el de la memoria central. Estos
esquemas son bastante complejos y requieren
del apoyo de hardware especializado.
12. UNIX modernos soportan la llamada al
sistema mmap, el uso del espacio de
direcciones es menos estructurado.
Implementación de librerías
compartidas pueden ubicar texto o
datos arbitrariamente, representar la
noción de regiones predefinidas
obsoletas.
13. Regla importante:
› Asignar una partición de disco duro que sea
al menos el doble de la cantidad de
memoria real de la computadora
14. Proceso:
› Si un proceso necesita crecer, pide más
memoria al sistema operativo y se le da una
nueva sección, lo suficientemente grande para
acomodarlo. Entonces, se copia el contenido
de la sección usada al área nueva, se libera la
sección antigua y se actualizan las tablas de
descriptores de procesos. Si no hay suficiente
memoria en el momento de la expansión, el
proceso se bloquea temporalmente y se le
asigna espacio en memoria secundaria. Se
copia a disco y, posteriormente, cuando se
tiene el espacio adecuado - lo cual sucede
normalmente en algunos segundos - se
devuelve a memoria principal
15. En un mapa tradicional de UNIX, el kernel y sus
estructuras de datos asociadas residen en la
parte alta del espacio de direcciones.
El texto inicial y las áreas de datos empiezan
en o cerca del principio de la memoria.
Típicamente, los primeros 4 o 8 Kbyte de
memoria son conservados fuera de los límites
del proceso. La razón de esta restricción es
para una depuración de programa fácil;
indirectamente a través de un apuntador nulo
causara un fallo de dirección inválida, en lugar
de leer o escribir el texto de programa.
16. La localización de memoria hecha por el
proceso en ejecución usando la rutina de
librería malloc( ) (o la llamada al sistema
sbrk) son hechas de la parte que empieza
inmediatamente siguiente al área de datos
y crece hasta las direcciones mas altas. El
vector de argumento y los vectores de
ambiente están en la parte más alta de la
porción de usuario del espacio de
direcciones. La pila de usuario empieza
justo debajo de estos vectores y crece
hasta las direcciones mas bajas.