Vous êtes sur la page 1sur 5

1.

3 La memoria principal (RAM)

La memoria principal o primaria, "Memoria Central ", es aquella memoria de un ordenador,


donde se almacenan temporalmente tanto los datos como los programas que la CPU está
procesando o va a procesar en un determinado momento. Por ejemplo, cuando la CPU
tiene que ejecutar un programa, primero lo coloca en la memoria y después lo empieza a
ejecutar.

Otros andarán más rápido si el sistema cuenta con más memoria RAM. La memoria Caché:
dentro de la memoria RAM existe una clase de memoria denominada Memoria Caché que
tiene la característica de ser más rápida que las otras, permitiendo que el intercambio de
información entre el procesador y la memoria principal sea a mayor velocidad.

Está formada por bloques de circuitos integrados o chips capaces de almacenar, retener o
"memorizar" información digital, es decir, valores binarios; a dichos bloques tiene acceso el
microprocesador de la computadora. La MP se comunica con el microprocesador de la CPU
mediante el bus de direcciones.

El ancho de este bus determina la capacidad que posea el microprocesador para el


direccionamiento de direcciones en memoria. En algunas oportunidades suele llamarse
"memoria interna" a la MP, porque a diferencia de los dispositivos de memoria secundaria,
la MP no puede extraerse tan fácilmente por usuarios no técnicos.

La MP es el núcleo del sub-sistema de memoria de una computadora, y posee una menor


capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de
veces superior. Si tienes más memoria almacenas más datos.
Características de la Memoria

Las magnitudes importantes que caracterizan la Memoria Central o Principal son:

 Capacidad o tamaño de la misma. Es decir, el numero de miles de posiciones que


contiene. Normalmente se expresan en K.palabras, aunque en los ordenadores personales
al ser las palabras de 8 bits se expresan en K-bytes. En la actualidad, el tamaño de la
palabra es múltiplo del byte, ya que de esta forma el acceso a la misma puede hacerse
desde uno al ancho máximo del bus de datos, ahorrando en muchos casos tiempo. Así
tendremos palabras de 8, 16, 32, 64 bits y capacidades de siempre medidas en potencia
de dos: 8, 16, 64, 128 K...etc.(siendo 1K igual a 1025).
 Tiempo de Acceso. Es el tiempo que invierte el ordenador desde que se emite la orden
de lectura-escritura, hasta que finaliza la misma. Este tiempo es muy pequeño, y de el
depende la potencia del ordenado. Son típicos tiempos del orden de microsegundos e
incluso del orden de 2 a 10 nanosegundos.
 El tamaño de la celda define su anchura de palabra, y viene fijado por el ancho del
registro de información de memoria. Si la palabra interna es superior a la de la memoria,
necesitara hacer más de un acceso para conseguir toda la información.

1.4 El concepto de interrupciones


Definición: Una interrupción es el rompimiento en la secuencia de un programa para
ejecutar un programa especial llamando una rutina de servicio cuya característica principal
es que al finalizar regresa al punto donde se interrumpió el programa.

Dentro de una computadora existen dos clases de interrupciones:

◘ Interrupciones por software: Son aquellas programadas por el usuario, es decir, el


usuario decide cuando y donde ejecutarlas, generalmente son usadas para realizar entrada
y salida.

◘ Interrupciones por hardware: Son aquellas que son provocadas por dispositivos
externos al procesador su característica principal es que no son programadas, esto es,
pueden ocurrir en cualquier momento en el programa.

Existen dos clases de interrupciones de este tipo:


 Interrupciones por hardware enmascarables: Aquellas en las que el usuario decide si
quiere o no ser interrumpido.
 Interrupciones por hardware no enmascarables (NMI): Aquellas que siempre
interrumpen al programa.

Las interrupciones por software se ejecutan con ayuda de las instrucciones: INT e IRET,
además se tiene 256 interrupciones: de la 00 a la FF.

Asociado al concepto de interrupción se tiene un área de memoria llamada vector de


interrupciones; la cual contiene las direcciones de las rutinas de servicio de cada
interrupción. Esta área se encuentra en el segmento 0000:0000.

Una interrupción es una situación especial que suspende la ejecución de un programa de


modo que el sistema pueda realizar una acción para tratarla. Tal situación se da, por
ejemplo, cuando un periférico requiere la atención del procesador para realizar una
operación de E/S.

Las interrupciones constituyen quizá el mecanismo más importante para la conexión del
microcontrolador con el mundo exterior, sincronizando la ejecución de programas con
acontecimientos externos.

Pasos para el procesamiento:


1. Terminar la ejecución de la instrucción máquina en curso.

2. Salva el valor de contador de programa, IP, en la pila, de manera que en la CPU, al


terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción.

3. La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción


(ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al
dispositivo que generó la interrupción.

4. Una vez que la rutina de la interrupción termina, el procesador restaura el estado que
había guardado en la pila en el paso 2 y retorna al programa que se estaba usando
anteriormente.

Ejemplo de interrupciones:
 int 01h-->un solo paso
 int 02h-->interrupción no enmascarable
 int 03h--> punto de interrupción
 int 04h-->desbordamiento
 int 05h-->impresión de pantalla
 int 08h-->Cronometro
 int 15h-->Servicios del sistema
 int 16h-->Funciones de entrada del teclado
 int 18h-->Entrada con el Basic de Rom
 int 19h-->Cargador de arranque
 int 1Ah-->Leer y establecer la hora
 int 1Bh-->Obtener el control con una interrupción de teclado.
 int 2oh-->Terminar un programa
 int 33h->Funciones del Ratón
1.5 Llamadas a servicios del sistema

Una llamada al sistema es un método o función que puede invocar un proceso para solicitar
un cierto servicio al sistema operativo. Dado que, el acceso a ciertos recursos del sistema
requiere la ejecución de código en modo privilegiado, el sistema operativo ofrece un
conjunto de métodos o funciones que el programa puede emplear para acceder a dichos
recursos. En otras palabras, el sistema operativo actúa como intermediario, ofreciendo una
interfaz de programación (API) que el programa puede usar en cualquier momento para
solicitar recursos gestionados por el sistema operativo.

Algunos ejemplos de llamadas al sistema son las siguientes:

 Time: que permite obtener la fecha y hora del sistema.


 Write: que se emplea para escribir un dato en un cierto dispositivo de salida, tales
como una pantalla o un disco magnético.
 Read: que es usada para leer de un dispositivo de entrada, tales como un teclado o
un disco magnético.
 Open: que es usada para obtener un descriptor de un fichero del sistema, ese fichero
suele pasarse a write.
En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy
usadas son: open, Read (system call), write, close, wait, exec, fork, exit y kill. Los sistemas
operativos actuales tienen cientos de llamadas, por ejemplo, Linux 2.x y FreeBSD tienen
más de 300.
Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa
que el procesador transfiera el control a un código privilegiado (generalmente es el núcleo),
previamente especificado. Esto permite al código privilegiado especificar donde va a ser
conectado, así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es
interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de
Proceso del inglés: Process Control Block), para poder continuar ejecutándose luego. El
procesador entonces comienza a ejecutar las instrucciones de código de bajo nivel de
privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso
original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es
inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de
planificación de CPU.
Generalmente, los sistemas operativos proveen bibliotecas que relacionan los programas
de usuario y el resto del sistema operativo, usualmente una biblioteca C como glibc o el
runtime de Microsoft C. Esta biblioteca maneja los detalles de bajo nivel para transferir
información al kernel y conmutar a modo supervisor, así como cualquier procesamiento de
datos o tareas que deba ser realizada en modo supervisor. Idealmente, esto reduce la
dependencia entre el sistema operativo y la aplicación, e incrementa su portabilidad.
La implementación de las llamadas al sistema requiere un control de transferencia que
involucra características específicas de la arquitectura del procesador. Una forma típica de
implementar es usar una interrupción por software. Linux usa esta implementación en la
arquitectura x86.
Para los procesadores con arquitectura RISC, esta es la única forma, pero arquitecturas
CISC como x86 soportan otras técnicas adicionales. Un ejemplo es SYSCALL/SYSRE.

Vous aimerez peut-être aussi