You are on page 1of 17

Colegio Técnico Profesional de Belén

Trabajo de Electrónica Industrial 2019


Dirección Regional: Heredia
Circuito Escolar: 07

Nombre del Proyecto


“Memorias”

Categoría: Proyecto Estudiantil

Estudiante:
JUSTIN HERRERA HERNÁNDEZ
Sección: 12-2

Profesor: César Augusto Mirada Ramírez


Año: 2019
Registros de Propósito Dedicado: Se conoce como registro de estado a los registros de memoria en los que se
deja constancia de algunas condiciones que se dieron en la última operación realizada y que podrán ser tenidas
en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, en el registro de estado queda
constancia de si el resultado fue cero, positivo o negativo, o si se sobrepasó la capacidad de representación.

Cada modelo de procesador tiene sus propios registros de estados, pero los más comunes son:

Z = Zero flag: El resultado es cero.


N = Negative flag: El resultado es negativo.
V = Overflow flag: El resultado supera el número de bits que puede manejar la
ALU.
P = Parity flag: Paridad del número de 1 en los datos.
I = Interrupt flag: Se ha producido una interrupción.
C = Carry flag: Acarreo de la operación realizada.

Unidad para operaciones matemáticas y lógicas: En computación, la unidad aritmética lógica o


unidad aritmético-lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un
circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones
lógicas (si, y, o, no), entre valores (generalmente uno o dos) de los argumentos.
Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de los chips
de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy
complejo y potente. De hecho, un microprocesador moderno (y los mainframes) puede tener múltiples
núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.

La unidad de control La unidad de control (UC), en inglés: control unit (CU), es uno de los tres bloques
funcionales principales en los que se divide una unidad central de procesamiento (CPU). Los otros dos bloques son la
unidad de proceso y el bus de entrada/salida.

Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando
para ello la unidad de proceso.

Existen dos tipos de unidades de control: las cableadas, usadas generalmente en máquinas sencillas, y las
microprogramadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito
de lógica secuencial, el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de señales
de control. En el segundo caso, la microprogramación de la UC se encuentra almacenada en una micro memoria, a la
cual se accede de manera secuencial para posteriormente ir ejecutando cada una de los microinstrucciones.
Unidades de propósito dedicado
Arquitectura de Von Neumann-HARVARD
La arquitectura von Neumann, también conocida como modelo de von Neumann o arquitectura
Princeton, es una arquitectura de computadoras basada en la descrita en 1945 por el matemático y físico
John von Neumann y otros, en el primer borrador de un informe sobre el EDVAC.1 Este describe una
arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de
procesamiento que contiene una unidad aritmético lógica y registros del procesador, una unidad de
control que contiene un registro de instrucciones y un contador de programa, una memoria para
almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y
salida.12 El concepto ha evolucionado para convertirse en un computador de programa almacenado en
el cual no pueden darse simultáneamente una búsqueda de instrucciones y una operación de datos, ya
que comparten un bus en común. Esto se conoce como el cuello de botella Von Neumann, y muchas
veces limita el rendimiento del sistema.
El diseño de una arquitectura von Neumann es más simple que la arquitectura Harvard más moderna,
que también es un sistema de programa almacenado, pero tiene un conjunto dedicado de direcciones y
buses de datos para leer datos desde memoria y escribir datos en la misma, y otro conjunto de
direcciones y buses de datos para ir a buscar instrucciones.
MICROPROGRAMACIÓN:
Un micro código o microprograma es el nombre de una serie de instrucciones o estructuras de datos
implicados en la implementación de lenguaje máquina de nivel más alto en muchos procesadores, especialmente los
microprogramadas. El Micro código está almacenado en una memoria que es de acceso muy rápido.
El proceso paralelo sólo es posible si disponemos de varias unidades de proceso, generalmente
núcleos o procesadores. Esto se debe a que los procesadores son secuenciales, esto es, ejecutan las
órdenes una por una, y por tanto no pueden ejecutar dos a la vez.

MEMORIA CACHE
En informática, una caché es un componente de hardware o software que almacena datos para que las
solicitudes futuras de esos datos se puedan atender con mayor rapidez; los datos almacenados en un
caché pueden ser el resultado de un cálculo anterior o el duplicado de datos almacenados en otro lugar,
generalmente, da velocidad de acceso más rápido. Se produce un acierto de caché cuando los datos
solicitados se pueden encontrar en esta, mientras que un error de caché ocurre cuando no están dichos
datos. La lectura de la caché es más rápida que volver a calcular un resultado o leer desde un almacén
de datos más lento; por lo tanto, cuantas más solicitudes se puedan atender desde la memoria caché,
más rápido funcionará el sistema.
Cuando hablamos de una caché de memoria nos referimos a la memoria de acceso rápido de una
unidad central de procesamiento (CPU), que guarda temporalmente los datos recientes de los
procesados (información).1
La memoria caché es un búfer especial de memoria que
poseen las computadoras, que funciona de manera
semejante a la memoria principal, pero es de menor
tamaño y de acceso más rápido. Nace cuando las
memorias ya no eran capaces de acompañar a la
velocidad del procesador, por lo que se puede decir que es
una memoria auxiliar, que posee una gran velocidad y
eficiencia y es usada por el microprocesador para reducir
el tiempo de acceso a datos ubicados en la memoria
principal que se utilizan con más frecuencia.
MEMORIA VIRTUAL

En informática, la memoria virtual es una técnica de gestión de la memoria que se encarga de que el
sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad
de memoria que esté disponible físicamente. La mayoría de los ordenadores tienen cuatro tipos de
memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria RAM y
el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor
velocidad.

Muchas aplicaciones requieren acceso a más información (código y datos) que la que se puede
mantener en memoria física. Esto es así sobre todo cuando el sistema operativo permite múltiples
procesos y aplicaciones ejecutándose simultáneamente. Una solución al problema de necesitar mayor
cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su
información en disco, moviéndola a la memoria principal cuando sea necesario. Hay varias formas de
hacer esto.
Una opción es que la aplicación misma sea responsable de decidir qué información será guardada en
cada sitio (segmentación), y de traerla y llevarla. La desventaja de esto, además de la dificultad en el
diseño e implementación del programa, es que es muy probable que los intereses sobre la memoria de
dos o varios programas generen conflictos entre sí: cada programador podría realizar su diseño teniendo
en cuenta que es el único programa ejecutándose en el sistema. La alternativa es usar memoria virtual,
donde la combinación entre hardware especial y el sistema
operativo hace uso de la memoria principal y la secundaria para
hacer parecer que el ordenador tiene mucha más memoria
principal (RAM) que la que realmente posee. Este método es
invisible a los procesos. La cantidad de memoria máxima que se
puede hacer ver que hay tiene que ver con las características del
procesador. Por ejemplo, en un sistema de 32 bits, el máximo es
232, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el
trabajo del programador de aplicaciones mucho más fácil, al poder
ignorar completamente la necesidad de mover datos entre los
distintos espacios de memoria.
Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la
práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que
implicaría para el procesador.
OPERACIONES FUNDAMENTALES:
TEMPORIZACIÓN: Un temporizador es un aparato con el que podemos regular la conexión o
desconexión de un circuito eléctrico después de que se ha
programado un tiempo. El elemento fundamental del temporizador
es un contador binario, encargado de medir los pulsos
suministrados por algún circuito oscilador, con una base de tiempo
estable y conocida. El tiempo es determinado por una actividad o
proceso que se necesite controlar.
Se diferencia del relé, en que los contactos del temporizador no cambian de posición instantáneamente.
Podemos clasificar los temporizadores en:
De conexión: el temporizador recibe tensión y mide un tiempo hasta que libera los contactos
De desconexión: cuando el temporizador deja de recibir tensión al cabo de un tiempo, libera los
contactos

Búsqueda del código operativo de instrucciones.

Búsqueda del código operativo de instrucciones:} En informática, un opcode (operation


code) o código de operación, es la porción de una instrucción de lenguaje de máquina
que especifica la operación a ser realizada. Su especificación y formato serán
determinados por la arquitectura del conjunto de instrucciones (ISA) del componente de
hardware de computador - normalmente un CPU, pero posiblemente una unidad más
especializada. Una instrucción completa de lenguaje de máquina contiene un opcode y,
opcionalmente, la especificación de uno o más operandos - sobre los que la operación
debe actuar. Algunas operaciones tienen operandos implícitos, o de hecho ninguno.
Algunas ISAs tiene instrucciones con campos definidos para los opcodes y operandos,
mientras que otras (ej. la arquitectura Intel x86) tienen una estructura más complicada y
de propósito específico. Los operandos sobre los cuales los opcodes aplican pueden,
dependiendo de la arquitectura del CPU, consistir de. registros, valores en memoria,
valores almacenados en la pila, puertos de I/O, bus, etc. Las operaciones que un opcode
puede especificar pueden incluir aritmética, copia de datos, operaciones lógicas, y control
del programa.

Los opcodes también pueden ser encontrados en los bytecodes interpretados por un
interpretador de código de byte (o la máquina virtual, en un sentido de ese término). En
éstos, una arquitectura de conjunto de instrucciones es creada para ser interpretada por
software en vez de un dispositivo de hardware. A menudo, los interpretadores de código
de byte trabajan con tipos de datos y operaciones de más alto nivel, que el de un conjunto
de instrucciones por hardware, pero son
construidas a lo largo de líneas similares.
Ejemplos incluyen la máquina virtual de Java
(JVM) del lenguaje de programación Java, el
código de byte usado en GNU Emaús para el
código compilado de LISP, y muchos otros.

El lenguaje de máquina es tedioso y difícil para


que los seres humanos lo programen
directamente, así que, si la abstracción dada por
un lenguaje de programación de alto nivel no es deseada, un lenguaje ensamblador es
usado. Aquí, son usadas las instrucciones mnemónicas que corresponden a las
especificaciones del opcode y el operando de las instrucciones de lenguaje de máquina
generadas. Esto da un mayor nivel de legibilidad y comprensibilidad, que, trabajando
directamente con operaciones de lenguaje de máquina, mientras que todavía da el control
exacto del lenguaje de máquina generado. Un programa llamado ensamblador transforma
el lenguaje ensamblador en código de máquina.

La memoria de solo lectura, conocida también como ROM (acrónimo en inglés de read-only memory), es
un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la
lectura de la información y no su escritura,1 independientemente de la presencia o no de una fuente de
energía.

Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o fácil. Se
utiliza principalmente para contener el firmware2 (programa que está estrechamente ligado a hardware
específico, y es poco probable que requiera actualizaciones frecuentes) u otro contenido vital para el
funcionamiento del dispositivo, como los programas que ponen en marcha el ordenador y realizan los
diagnósticos.

En su sentido más estricto, se refiere solo a máscara ROM -en


inglés, MROM- (el más antiguo tipo de estado sólido ROM), que
se fabrica con los datos almacenados de forma permanente, y,
por lo tanto, su contenido no puede ser modificado de ninguna
forma. Sin embargo, las ROM más modernas, como EPROM y
Flash EEPROM, efectivamente se pueden borrar y volver a
programar varias veces, aun siendo descritos como "memoria
de solo lectura" (ROM). La razón de que se las continúe
llamando así es que el proceso de reprogramación en general
es poco frecuente, relativamente lento y, a menudo, no se
permite la escritura en lugares aleatorios de la memoria. A
pesar de la simplicidad de la ROM, los dispositivos reprogramables son más flexibles y económicos, por
lo cual las antiguas máscaras ROM no se suelen encontrar en hardware producido a partir de 2007.

En computación, entrada/salida, también abreviado E/S o I/O (del


original en inglés input/output), es la colección de interfaces que usan
las distintas unidades funcionales (subsistemas) de un sistema de
procesamiento de información para comunicarse unas con otras, o las
señales (información) enviadas a través de esas interfaces.
Las entradas son las señales recibidas por la unidad, mientras que
las salidas son las señales enviadas por ésta. El término puede ser
usado para describir una acción; "realizar una entrada/salida" se
refiere a ejecutar una operación de entrada o de salida.
Los dispositivos de E/S los usa una persona u otro sistema para
comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de
entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de
salida de una computadora.

ESTRATEGIA DE ATENCION A PERIFERICOS


El término “periférico” denota por definición algo que está fuera del foco principal. Decimos que nuestra visión
es periférica cuando vemos las cosas que están a los costados, no las que están de frente. Un ejemplo de
material periférico viene a ser una impresora, elemento que acompaña como accesorio a lo principal que es
el ordenador.

Una estrategia periférica implica entonces cierto tipo de acciones que sin descuidar el objetivo esencial
apuntan a crear presión en los alrededores, ya sea para procurar el desgaste del adversario o generar
distracción mientras se pone en marcha la estrategia mayor que procura conseguir el objetivo final deseado.
En toda estrategia, directa, indirecta o periférica, siempre se trata de maximizar recursos disponibles para
lograr los resultados propuestos, trátese de batallas militares, políticas, sindicales o empresariales.

POLLING:

Polling es una forma de control en redes de área local, según la cual la unidad central de procesamiento
pide, de acuerdo con una programación determinada a cada puesto de trabajo conectado a la red, si ha
de enviar alguna información. El término proviene del inglés poll, que significa «sondeo». También se
puede entender como el sondeo que realiza un servidor para comprobar el estado de cada terminal en
una red.
INTERRUPCIONES:
En el contexto de la informática, una interrupción (del inglés interrupt request, en español «petición de
interrupción») es una señal recibida por el procesador de una computadora, para indicarle que debe
«interrumpir» el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una
subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa, sino que
pertenece al sistema operativo o al BIOS. Una vez finalizada dicha
subrutina, se reanuda la ejecución del programa.

Las interrupciones son generadas por los dispositivos periféricos


habilitando una señal del CPU (llamada IRQ del inglés "interrupt request")
para solicitar atención del mismo. Por ejemplo. cuando un disco duro
completa una lectura solicita atención al igual que cada vez que se
presiona una tecla o se mueve el ratón.

La primera técnica que se empleó para esto fue el polling, que consistía en que el propio procesador se
encargara de sondear los dispositivos periféricos cada cierto tiempo para averiguar si tenía pendiente
alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el
procesador consumía constantemente tiempo y recursos en realizar estas instrucciones de sondeo.

El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta


problemática, y delegar en el dispositivo periférico la responsabilidad de comunicarse con él cuando lo
necesitara. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de
que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una
transferencia de información, una condición de error, etc.).

Acceso directo a la memoria:

En el contexto de la informática, una interrupción (del inglés interrupt request, en español «petición de
interrupción») es una señal recibida por el procesador de una computadora, para indicarle que debe
«interrumpir» el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una
subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa, sino que
pertenece al sistema operativo o al BIOS. Una vez finalizada dicha subrutina, se reanuda la ejecución
del programa.
Las interrupciones son generadas por los dispositivos periféricos habilitando una señal del CPU (llamada
IRQ del inglés "interrupt request") para solicitar atención del mismo. Por ejemplo. cuando un disco duro
completa una lectura solicita atención al igual que cada vez que se presiona una tecla o se mueve el
ratón.

La primera técnica que se empleó para esto fue el polling, que consistía en que el propio procesador se
encargara de sondear los dispositivos periféricos cada cierto tiempo para averiguar si tenía pendiente
alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el
procesador consumía constantemente tiempo y recursos en realizar estas instrucciones de sondeo.

El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta


problemática, y delegar en el dispositivo periférico la responsabilidad de comunicarse con él cuando lo
necesitara. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de
que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una
transferencia de información, una condición de error, etc.).

Administración de puertos:

Los números de puerto se indican mediante una palabra de un procesador de 16 bits (2 bytes), por lo
que existen 65536 puertos, numerados del 0 al 65535. Aunque podemos usar cualquiera de ellos para
cualquier protocolo, existe una entidad, la IANA, encargada de su asignación, la cual creó tres
categorías:

Puertos bien conocidos: Los puertos inferiores al 1024 son puertos reservados para el sistema operativo
y usados por "protocolos bien conocidos" como por ejemplo HTTP (servidor Web), POP3/SMTP
(servidor de e-mail) y Telnet. Si queremos usar uno de estos puertos tendremos que arrancar el servicio
que los use teniendo permisos de administrador.
Puertos registrados: Los comprendidos entre 1024 (0400 en hexadecimal) y 49151 (BFFF en
hexadecimal) son denominados "registrados" y pueden ser usados por cualquier aplicación. Existe una
lista pública en la web del IANA donde se puede ver qué protocolo usa cada uno de ellos.
Puertos dinámicos o privados: Los comprendidos entre los números 49152 (C000 en hexadecimal) y
65535 (FFFF en hexadecimal) son denominados dinámicos o privados, normalmente se asignan en
forma dinámica a las aplicaciones de clientes al iniciarse la conexión. Se
usan en conexiones peer to peer.

Mapeo de memoria
E/S mapeada en memoria y E/S independiente son dos métodos de
implementar entradas/salidas entre los periféricos y la CPU en un computador. Otro método no discutido
en este artículo es usar DMA.

La E/S mapeada en memoria usa el mismo bus de direcciones para memoria y dispositivos de E/S, y las
instrucciones de la CPU usadas para acceder a la memoria son también usadas para acceder a los
dispositivos. Para tener espacio para los dispositivos de E/S, las áreas del espacio direccionarle por la
CPU deben ser reservadas para E/S más que para memoria. Esta reserva puede ser temporal –
Commodore 64 podía usar bank switch entre dispositivos de E/S y memoria- o permanente. Cada
dispositivo de E/S monitoriza el bus de direcciones de la CPU y responde a cualquier acceso de esta al
espacio de direcciones del dispositivo, conectando el bus de datos con la localización en memoria física
del dispositivo deseado.
La E/S independiente usa un tipo especial de instrucciones de la CPU para implementar E/S.
Principalmente en microprocesadores Intel encontramos las instrucciones IN y OUT, que pueden leer y
escribir un único byte en un dispositivo de E/S. Estos tienen un espacio de direcciones separadas de la
memoria, llevado a cabo o bien por un pin “E/S” extra en la CPU o bien por un bus entero dedicado a
E/S.
Un dispositivo de acceso directo a memoria (DMA) no se ve afectado por estos métodos de
comunicación CPU-dispositivo, especialmente por la E/S mapeada en memoria. Esto es porque, por
definición, DMA es un método de comunicación
memoria-dispositivo que evita la CPU.
Una interrupción hardware es otro método de
comunicación entre CPU y periféricos. No obstante, se
trata siempre separadamente por múltiples razones. Es
un iniciador de dispositivo, en oposición a los métodos
iniciadores de CPU. Es también unidireccional, pues la
información fluye solo del dispositivo a la CPU. Para
terminar cada interrupción lleva consigo misma solo un
bit de información con la única intención de notificar la interrupción.
Modo de trabajo protegido:
El modo protegido es un modo operacional de los CPUs compatibles x86 de la serie 80286 y posteriores.
El modo protegido tiene un número de nuevas características diseñadas para mejorar la multitarea y la
estabilidad del sistema, tales como la protección de memoria, y soporte de hardware para memoria
virtual como también la conmutación de tarea. A veces es abreviado como p-mode y también llamado
Protected Virtual Address Mode (Modo de Dirección Virtual Protegido) en el manual de referencia de
programador del iAPX 286 de Intel, (Nota, iAPX 286 es solo otro nombre para el Intel 80286). En el
80386 y procesadores de 32 bits posteriores se agregó un sistema de paginación que es parte del modo
protegido.

La mayoría de los sistemas operativos x86 modernos se ejecutan en modo protegido, incluyendo
GNU/Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X y Microsoft Windows 3.0 y posteriores. (Windows
3.0 también se ejecutaba en el modo real para la compatibilidad con las aplicaciones de Windows 2.x).

El otro modo operacional principal del 286 y CPUs posteriores es el modo real, un modo de
compatibilidad hacia atrás que desactiva las características propias del modo protegido, diseñado para
permitir al software viejo ejecutarse en los chips más recientes. Como una especificación de diseño,
todos los CPUs x86 comienzan en modo real en el momento de carga (boot time) para asegurar
compatibilidad hacia atrás con los sistemas operativos heredados, excepto el Intel 80376 diseñado para
aplicaciones en sistemas embebidos. Estos procesadores deben ser cambiados a modo protegido por
un programa antes de que esté disponible cualquier característica de este modo. En computadores
modernos, este cambio es generalmente una de las primeras tareas
realizadas por el sistema operativo en el tiempo de carga.

Mientras que la multitarea en sistemas ejecutándose en modo real es


ciertamente posible mediada por software, las características de
protección de memoria del modo protegido previenen que un
programa erróneo pueda dañar la memoria "propia" de otra tarea o del
núcleo del sistema operativo. El modo protegido también tiene soporte
de hardware para interrumpir un programa en ejecución y cambiar el
contexto de ejecución a otro, permitiendo pre-emptive multitasking.
MODO DE TRABAJO VIRTUAL:

El concepto de Virtual es definido por oposición como algo contrario a lo Real, o lo relativo a la Realidad,
siendo en el caso de la informática algo que no existe realmente en un espacio Físico (perteneciente al
Hardware), sino que se encuentra dentro de un espacio Lógico dentro del ordenador (siendo entonces el
Software)
Este término suele estar incorporado a otros conceptos en el mundo de la Informática, siendo quizá el
más conocido el de la Realidad Virtual, comprendiendo a un espacio tridimensional que se crea a través
de un ordenador, en el cual podemos desplazarnos mediante un Periférico de Entrada adecuado (y que
es bastante invocado en las películas de Ciencia Ficción)

ADMINISTRACION DE LA MEMORIA:

La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo


informático. El proceso de asignación de memoria a los programas que la solicitan.1 La gestión de la
memoria principal de una computadora es una tarea de suma importancia para el funcionamiento de la
misma.
Los sistemas de memoria virtual separan las direcciones de memoria utilizadas por un proceso de las
direcciones físicas reales, permitiendo la separación de procesos e incrementando la cantidad efectiva
de memoria de acceso aleatorio utilizando la paginación. La calidad de la gestión de la memoria es
crucial para las prestaciones del sistema. El recolector de basura es la asignación y liberación
automática de los recursos de memoria para un programa. La implementación suele ser a nivel del
lenguaje de programación en contraposición a la gestión manual
de memoria, que asigna y libera los recursos de memoria de
una computadora de forma explícita.
La administración de memoria se refiere a los distintos métodos
y operaciones que se encargan de obtener la máxima utilidad de
la memoria, organizando los procesos y programas que se
ejecutan de manera tal que se aproveche de la mejor manera
posible el espacio disponible.
Para poder lograrlo, la operación principal que realiza es
trasladar la información que deberá ser ejecutada por la unidad central de procesamiento o procesador,
a la memoria principal. Actualmente esta administración se conoce como memoria virtual, porque no es
la memoria física del procesador sino una memoria virtual que la representa. Entre algunas ventajas,
esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria
real, por lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que
son utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la división
de la memoria libre en varias partes (de igual o distinto tamaño) y la partición dinámica, que son las
particiones de la memoria en tamaños que pueden ser variables, según la cantidad de memoria que
necesita cada proceso. Entre las principales operaciones que desarrolla la administración de memoria se
encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera de la memoria
principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los
procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y datos, con lo
que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten
una tarea tengan memoria en común.

You might also like