Date post: | 07-Jun-2015 |
Category: |
Documents |
Upload: | api-3725505 |
View: | 1,128 times |
Download: | 0 times |
PONTIFICIA UNIVERSIDAD CATÓLICA MADRE Y MAESTRA
RECINTO SANTO TOMAS DE AQUINO
“CONCEPTOS ARQUITECTONICOS DE LA COMPUTADORA”
PROFESOR JOSÉ CLETO
ASIGNATURA
SISTEMA OPERATIVO 1
PRESENTADO POR: VÍCTOR DE LA ROSA 2004- 5747
FECHA DE ENTREGA: 14 DE ENERO DEL 2007
Conceptos arquitectónicos de la computadora
Víctor Ramón De La Rosa
Santo Domingo, República Dominicana
1.1 Estructura y Fundamentos De La
Computadora
Una computadora es una máquina que
procesas datos, para llevar a cabo este proceso
se realizan dos flujos de información el de los
datos y el de las instrucciones. Para llevar a cabo
el procesamiento una máquina tipo Newman esta
compuesto por cuatro componentes básicos los
cuales se muestran en la figura siguiente:
La unidad lógica es aquella que
permite realizar varias operaciones lógicas y
aritmética sobre uno o dos operando, los datos
con los que trabajan estos operadores están
almacenados en los registros y cuando van e
salida se guardan al igual en registros.
La Unidad de control es el que se
encarga del funcionamiento de conjuntos y para
estos la misma realiza 4 funciones:
1. leer de memoria las
instrucciones que forman parte
del programa
2. interpretar cada instrucción
leída
3. leer los datos de memoria
referenciados para cada
instrucción
4. ejecución de las instrucciones
5. almacenar el resultado de cada
instrucción
La unidades de control tienen asociado
varios registros entre los cuales podemos
encontrar: el contador del programa (indica la
siguiente dirección de la instrucción a ejecutar),
el puntero de pila (que sirve para el cómodo
manejo de las pilas en la memoria principal), el
registro de instrucción (permite almacenar la
instrucción de máquina a ejecutar), el registro de
estado (maneja la información proveniente de las
últimas aplicaciones ejecutadas y informa sobre
el comportamiento de la computadora),.
Finalmente podemos decir que los
dispositivos de entrada y de salida se encargan
de pasar la información entre el registro principal
o memoria y de los periféricos.
1.2 Modelo De Programación De La
Computadora:
El modelo de programación de una
computadora a bajo nivel de una computadora se
caracteriza por los siguientes aspectos:
Elementos de
Almacenamientos: en este
resumen lo consideraremos
como aquellos como aquellos
elementos de la computadora
que son visibles a las
instrucciones de máquina. En
esta categoría podemos incluir
los registros generales, el
contador del programa, el
puntero de fila, el registro de
estado, la memoria principal y
el mapa de entrada/salida.
Juegos de Instrucciones: con
un correspondiente modo de
diccionario (encargado de
especificar la identidad de los
elementos de almacenamientos
que interviene en las
instrucciones de máquina), es
la que se encarga de verificar
si es posible verificar si se
puede realiza una tarea en el
ordenador.
Secuencia de
Funcionamiento: define el
modo en que se van a ejecutar
las instrucciones de máquinas,
un aspecto que se dan en todas
las computadoras que no son
simple es que se dispone de
mas de un nivel de ejecución.
1.2.1 Niveles de Ejecución:
Entre los niveles que se presentan en las
computadoras (no sencillas) esta el nivel de
usuario, en el cual la computadora solo ejecuta
un conjunto de las instrucciones de máquina y
dejando prohibidas las demás. Hace esto tanto
con varios registros, determinadas zonas de
memoria, ect; a este le podemos denominar el
nivel menos permisivo.
En el nivel más permisivo denominado
nivel de núcleo, la computadora ejecuta todas las
instrucciones y no pone límite de accesos
brindando total libertad. En la figura se muestra
claramente la diferencia
Mas adelante veremos que los niveles
de ejecución se les incluyen a las computadoras
para brindar soporte al sistema operativo, por
cuestiones de seguridad es que estos niveles
ponen restricciones a los niveles de usuarios
mientras que por otro lado el sistema operativo
se ejecuta al nivel de núcleo brindándole
libertad.
1.2.2 Secuencia de Funcionamiento De la
Computadora:
La unidad de establecimiento de control
es la que rige el funcionamiento del sistema
operativo, este funcionamiento sigue una
secuencia sencilla que se basa en:
1 – Lectura de la memoria principal y de la
instrucción de máquina apuntada por el
controlador del problema, 2- Incremento del
contador del programa para apuntar a la siguiente
instrucción de máquina, 3 – Ejecución de la
instrucción. Esta secuencia tiene dos funciones
particulares, una es que su funcionamiento el
lineal y la otra es que se desarrolla en un bucle
infinito para el paso de instrucción. Se muestra
mejor en la figura lo antes explicado.
Podemos concluir que la computadora lo que
hace es repetir secuencias de manera
rápidamente, por lo cual debemos velar porque
cada proceso se este realizando adecuadamente y
se estén dando los pasos correctos de un cambio
de registro a otro, ect.
Lo esencia de esto que esta secuencia a
mediad que se ejecuta va modificando el
contenido del contador del programa, otros
segmentos del programa y lo realiza de manera
sencilla.
Los Tres mecanismos básicos de
ruptura de secuencia son los siguientes.
� La instrucción de máquina
salto que permite terminado
con la ejecución de un
segmento de programa y
pasando a otro.
� La interrupción interna o
externa que hace que la
unidad de control que permite
modificar el valor del
contador cuando se realiza el
santo del programa.
� La instrucción de máquina
TRAP que es similar a la de
interrupción.
1.2.3 Registro de Control y Estado:
Estos son los registros que se relacionan
a la unidad de control y entre los más
importantes podemos destacar los siguientes:
1. Contador de programa PC.
Contiene la siguiente
instrucción de máquina.
2. Puntero de pila SP.
Contiene la dirección de la
cabeza de la pila.
3. Registro de instrucción RI.
4. Registro de estado, que
contiene, entre otro, los bits
siguientes:
- bits de estados
aritméticos:
Signo:
contiene el signo de la última operación
aritmética
Realizada.
Acarreo: contiene el acarreo de la última suma o
resta realizada
Cero: se activa si el resultado de la última
operación lógica o aritmética fue cero
Desbordamiento: indica si en la última operación
aritmética
Hubo desbordamiento.
- bits de nivel de
ejecución: indica
nivel en el que se
esta ejecutando
procesador.
- bits de control de
interrupción:
establece las
interrupciones que
se pueden realizar.
5. Registro identificador de
espacio de direccionamiento
RIED, indica el espacio de
mapa de memoria que
puede utilizar el programa
en ejecución.
6. Otros registros de gestión
de memoria, como pueden
ser los registros de
protección de memoria.
1.3 Interrupción
Se solicita mediante una señal que llega
a la unidad de control, el solicitante de ésta debe
emitir la señal al momento en que se valla a
ejecutar en el programa, cuando se termina la
instrucción de máquina que se este ejecutando, si
la interrupción solicitada puede considerarse
habilitada se realiza un ciclo de aceptación, este
ciclo consiste en realizar las siguientes
operaciones:
� Salvar algunos registros del
procesador, como lo son el
de estado y control de
programa.
� Elevar el nivel de ejecución
del procesador pasándolo a
núcleo.
� Carga un nuevo valor en el
contador del programa, por
lo que pasa a ejecutar otro
programa.
Veamos esta figura que nos ilustra sobre este
proceso:
Las interrupciones se pueden realizar
por diferentes causas, y las podemos clasificar
en:
� Excepciones de programas,
cuando se produce un error en
el programa debe haber una
interrupción para permitir al
sistema operativo analizar la
falla.
� Interrupciones de reloj
� Interrupciones de E/S, que con
estas estos dispositivos indican
que han terminado una
operación o un conjunto de
éstas.
� Excepciones de hardware, la
detención de un error de
paridad en la memoria o
corriente se avisan mediante
interrupciones.
� Instrucciones de TRAP. Estas
instrucciones permite que un
programa genere una
interrupción.
Existe una instrucción de máquina
llamada RETI, el efecto de esta es restituir los
registros salvados al momento de realizarse la
interrupción desde el lugar en el que fueron
salvados.
1.4 Reloj
Este término se aplica a las
computadoras con tres acepciones diferentes las
cuales son:
a) Señal que maneja el ritmo
de ejecución de las
instrucciones de máquina
b) Generador de interrupciones
periódicas.
c) Contador de fecha y hora.
El oscilador que se encarga de las fases
de ejecución de las instrucciones de máquinas se
denomina reloj, la señal generada por el reloj se
divide mediante un divisor de frecuencia para
generar una interrupción, esta interrupción se
llama interrupción de reloj y se produce para que
los programas no puedan tener monopolizado el
uso del computador.
El tercer funcionamiento que nos
permite tener el reloj es el de conocer la fecha y
la hora, este contador se va incrementando con
cada interrupción de reloj y va haciendo los
cálculos necesarios.
1.5 Jerarquía de Memoria
La memoria necesita almacenar tanto
información que estará utilizando
permanentemente y información que solo
necesitar por un momento, por lo cual la
administración de la memoria es muy importante
para aprovechar al máximo y desarrollar de
manera rápida los procesos que estemos
ejecutando, la jerarquía de la memoria la
podemos visualizar en esta imagen:
Es importante saber como funciona la
jerarquía de la memoria que va de la mano con la
información que la memoria almacena y por
cuanto tiempo lo hace, también la unidad de
disco duro entra en juego cuando se trata de
ejecutar programas de manera permanente y de
forma rápida ya que este puede también
almacenar la información permanente brindando
mas recursos y haciendo más rápida la memoria,
también el sistema operativo entrar en juego con
el manejo de la memoria con lo que es la
memoria virtual. Antes de avanzar veamos una
lista de los valores típicos de la jerarquía de la
memoria.
1.5.1 Migración de la información
Para aprovechar al máximo lo que es la
jerarquía de memoria la información no puede
estar estática en un solo sitio, sino que debe estar
emigrando a diferentes sitios dependiendo del
lugar en que se necesite para su uso, entonces
para realizar la migración de la información se
puede hacer de dos maneras, una es que el
programa pida la información que necesita esta
se puede denominar migración demandante que
se utiliza en diferentes niveles a la migración
automática que se utiliza para hacer las
migraciones sin que los programas se den cuenta,
este tipo de migración se utiliza para en las
memorias caches, memorias virtuales, ect.
El mecanismo de migración automática
requiere tener la información necesaria en un
nivel k y que se puede acceder de manera rápida
a ella, para esto este mecanismo ya debe saber el
tipo de información que se necesita para tenerlo
disponibles y no buscar en otros niveles como
k+1 la información que necesita. Este
mecanismo se basa en las siguientes partes:
• Tamaños de los bloques
trasferidos
• Política de extracción
• Política de reemplazo
• Política de ubicación
1.5.2 Parámetros característicos de la jerarquía
de memoria
La eficiencia de la jerarquía de la
memoria se mide en dos parámetros los cuales
son:
• Tasa de aciertos o hit
ratio(hr)
• Tiempo medio de acceso
efectivo (tef).
La tasa de acierto del hrk a un nivel k se
define como la probabilidad de encontrar en ese
nivel k la información referenciada, los factores
más importantes que determinan hrk son los
siguientes: tamaño de la porción que se transmite
al nivel k, capacidad de almacenamiento del
nivel k, política de reemplazo, política de
ubicación, programa específico que se este
ejecutando.
El tiempo de acceso y de acierto a una
información dependerá de si falla el nivel de k,
es decir que si la información que búscanos no se
encuentra en el nivel k denominamos el proceso
penalización de fallo ya que hemos fallado en la
búsqueda.
1.5.3 Coherencia
Este término se utiliza cuando hay
varios trozos de copias en diferentes niveles, es
decir que si se escribe en el nivel k por ejemplo
se produce una falta de coherencia con el nivel k
+ 1 y a esto se le llama falta de coherencia,
existen varias políticas de actualización de la
información creada que se caracterizan por el
instante en que se copia la información de
manera permanente.
1.5.4 Direccionamiento
Existe un problema con el acceso e la
información en lo que se refiere a tiempo ya que
si tengo un programa da una dirección x para
localizar una información en especifico, como
consecuente tendremos la dirección de k + 1 lo
cual nos lleva a nuestro destino pero el proceso
se vuelve mas lento, por lo que es mejor ubicar la
localización de k para que sea mas rápida la
búsqueda, visualicemos el problema en la
imagen:
Entonces el direccionamiento es una
operación que se realiza para obtener la
diferencia de nivel entre k y k+1 y así poder
acceder a la información de manera más cómoda
y rápida posible mediante el direccionamiento.
1.5.5 La Proximidad Referencial
La proximidad referencial es la que
hace visible la jerarquía de memoria, ya que un
programa para su ejecución va a necesitar en un
momento una pequeña parte de toda la
información que usa, para partir de un concepto
mas general decimos que la este concepto es
parecido al de taza que es la lista de todos los
componentes que necesita un programa para ser
ejecutado.
La proximidad referencial muestra dos
componentes: la proximidad espacial que nos
dice que si tenemos dos direcciones a y b
próximas en el tiempo existe una alta
probabilidad de que su distancia sea muy
pequeña y la proximidad secuencial es cuando se
tiene muchos trozos de programas y mucha
estructura de datos esas se recorren de manea
secuencial dándonos una alta probabilidad de
que el sitio al que apunte sea la siguiente
dirección de memoria.
La proximidad temporal nos dice que
un programa en ejecución tiende a emplear
direcciones utilizadas direcciones antes
utilizadas, es decir es muy probable que la
siguiente referencia ya se halle empleado en una
dirección antes empleada.
La proximidad temporal se explica si se
tienen en cuenta los siguientes componentes: los
bucles producen proximidad temporal además de
proximidad espacial, el uso de parámetros o
datos de manera repetitiva produce aproximación
temporal, las llamadas repetidas a subrutinas
también son muy frecuente y producen
aproximación temporal.
1.6 Memoria Virtual
En un sistema sin memoria virtual el
sistema lo que hace es que divide la memoria
principal en varios trozos y los divide entre los
programas como se muestra en la figura:
1.6.1 Concepto de Memoria Virtual
La memoria virtual utiliza dos niveles
de jerarquía de la memoria, la memoria principal
y la memoria de respaldo, la gestión de la misma
es automática y la crea el sistema operativo,
alguno de los aspectos principales en lo que se
basa la memoria son los siguientes:
o Las direcciones generadas por
las instrucciones de máquina,
tanto para referirse a datos
como a otras instrucciones
o El mapa virtual asociado a un
programa en ejecución esta
soportado físicamente por la
zona del disco, denominado de
intercambio o swap y por una
zona de memoria principal.
o Aunque el programa genera
direcciones virtuales, para que
este pueda generarse, han de
residir en memoria principal
las instrucciones y los datos
utilizados a cada momento.
o El espacio virtual y físico se
divide en páginas.
o Cada marco de página es capaz
de albergar una página virtual
cualquiera sin ninguna
restricción o direccionamiento.
o Existe una unidad de hardware
denominada MMU que traduce
las direcciones virtuales a
direcciones de memoria
principal.
o Dado que cada instante
determinado solamente reside
en memoria principal una
fracción de las páginas del
programa, la traducción no
siempre es posible.
Los fallos de páginas son atendidos por
el sistema operativo. Al crear estas memorias
virtuales se realizan de gran tamaño los hay de
32, 48 y hasta de 64 bits.
1.6.2 Las Tablas de Páginas
Las tablas de página se utilizan para
decirnos donde se encuentran las páginas del
programa de ejecución y saber si estos mismos
están ejecutados en memoria principal, como
habíamos dicho antes la memoria virtual ocupa
mucho espacio en varios casos y si utilizamos
tablas de páginas estas ocuparan el mismo
espacio lo cual será mucho, pero como hemos
visto el sistema operativo se encarga de darle el
espacio necesario a los programas para su
ejecución lo cual no se convierte en un problema,
en la figura vemos como funciona este proceso:
Ahora, sabemos que los programas
están formados por varios elementos como lo
son la fila, el programa en si, entre otro, por lo
que existe la función de usar tablas de
referencias a nivel, que es una tabla de referencia
divididas en niveles evitando así tener una solo
referencia y utilizar todo el espacio que los
programas usan, sino utilizar varias referencias a
diferentes niveles y de esta forma ahorrar
espacio, veamos como su manejo mediante una
imagen.
Aunque el sistema operativo es el
encargado de manejar, administrar y crear la
memoria virtual y las páginas como las
referencias no se encarga de dar el
direccionamiento a las mismos, de esto se
encarga el MMU ya que este proceso se debe
hacer de forma rápida para evitar retrasos con la
ejecución de los programas en lo que es el
tiempo.
1.6.3 Casos de varios programas activos
Es un hecho que podemos trabajar con
varios programas a la vez y que podemos tener
varios programas abiertos, para esto el sistema
operativo trabaja con el que este en ejecución en
ese momento, pero a todos hay que brindarle
memoria para su ejecución, en el caso del MMU
que ha de usar las tablas de páginas
correspondientes al programa que están en
ejecución, para facilitarla la referencia el trozo
del programa que se este ejecutando el
procesador tiene un registro identificador de
espacio de direccionamiento (Reid), este registro
facilita al MMU la referencia del programa en
ejecución.
1.6.4 Asignación de memoria principal y
memoria virtual.
Existe una migración de páginas desde
la memoria principal a la virtual para la
ejecución de programas, este proceso de
extracción y remplazo el sistema operativo lo usa
para que no se encuentre todas las páginas de
trozo de programa en la memoria principal. Por
esto se denomina conjunto de trabajo de un
programa en ejecución en el intervalo [J, K] al
conjunto de páginas referidas del elemento k y la
taza de q referida.
Por otro lado se denomina conjunto
residente a la parte del proceso que esta
realmente en memoria principal en el instante.
1.7 Entrada / Salida
Estos tienen como objetivo principal
intercambiar información entre los periféricos y
la memoria de los registros de proceso.
1.71 periféricos
Veamos como funcionan los periféricos
mediante una imagen:
En esta imagen el registro de datos sirve
para el intercambio de datos, el registro de estado
sirve para verificar que se puede trasferir algo y
el de control sirve para avisar al controlar de las
operaciones que hay que realizar.
El periférico más importante que
tenemos es el disco magnético, pues sirve de
espacio de intercambio para la memoria virtual,
tiene almacenamiento constante para la ejecución
de los programas y la gestión de este periférico
esta a cargo del sistema operativo.
Podemos dividir los dispositivos en dos
grandes grupos los bloques y los de caracteres,
los de bloques los que se requiere que se lea un
bloque o escriba uno de información por ejemplo
CD, DVD, controladores de red, estos
dispositivos son importantes ya que brindan
espacio y facilidades para la memoria en
ejecución de programas.
Los de caracteres viene siendo como el
teclado funcionan de esta forma en lo que es la
transmisión de caracteres.
1.7.2 E/S y concurrencia
Los periféricos de E/S funcionan mucho
mas lento que el procesador por lo que el mismo
no puede quedarse en un buque de espera
esperando respuesta de estos periféricos si puede
ir haciendo otras utilidades, la computadora
presenta tres modos básicos de operaciones de
E/S las cuales son: E/S programables exige que
el procesador esté ejecutando un programa de
E/S, en el E/S con interrupciones tras enviar la
orden al periférico puede dedicarse a la ejecución
de otro programa y el E/S por DMA el
controlador se encarga de transferir directamente
al controlador sin molestar el procesador.
1.8 Protección
Básicamente como su nombre lo dice es
la protección de que un usuario no pueda ver lo
del otro. Por ejemplo el mecanismo del
protección del procesador se basa en sus niveles
de ejecución, es decir si es a nivel de usuario o a
nivel de núcleo.
En el caso de la memoria se debe velar
porque un programa no obtenga dirección de
memoria que no le corresponda, para evitar eso
existen varios métodos como la creación de
varios registros entre otras.
1.9 multiprocesador y multicomputadora
El multiprocesador son un conjunto de
procesadores que comparten acceso a una
memoria principal común, una ventaja de esto es
que el acceso a datos comunes en muy simple.
La multicomputadora es una máquina
compuesta por varios nodos, estando cada nodo
formando un procesador, su memoria principal, y
en su caso elementos de E/S.
Ejemplo de estos podemos ver en las figuras:
Referencias:
Sistemas operativos
Una visión aplicada
Por:
Autores del libro a analizar
Jesús Carretero Pérez
Féliz García caballería
Pedro de miguel
Fernando Pérez