conceptos arquitectonicos de la a

11
PONTIFICIA UNIVERSIDAD CATÓLICA MADRE Y MAESTRA RECINTO SANTO TOMAS DE AQUINO CONCEPTOS ARQUITECTONICOS DE LA COMPUTADORAPROFESOR JOSÉ CLETO ASIGNATURA SISTEMA OPERATIVO 1 PRESENTADO POR: VÍCTOR DE LA ROSA 2004- 5747 FECHA DE ENTREGA: 14 DE ENERO DEL 2007

Upload: api-3725505

Post on 07-Jun-2015

1.129 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conceptos Arquitectonicos de La a

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

Page 2: Conceptos Arquitectonicos de La a

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.

Page 3: Conceptos Arquitectonicos de La a

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.

Page 4: Conceptos Arquitectonicos de La a

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.

Page 5: Conceptos Arquitectonicos de La a

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:

Page 6: Conceptos Arquitectonicos de La a

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

Page 7: Conceptos Arquitectonicos de La a

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.

Page 8: Conceptos Arquitectonicos de La a

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:

Page 9: Conceptos Arquitectonicos de La a

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.

Page 10: Conceptos Arquitectonicos de La a

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:

Page 11: Conceptos Arquitectonicos de La a

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