Está en la página 1de 40

UNIDAD 1

Introducción a los
Sistemas Operativos
Centralizados y
Distribuidos
Componentes básicos de la
arquitectura de Von Neuman

 Modelo de Von Neumman


– La idea central del modelo de von Neumman
consiste en almacenar las instrucciones del
programa de una computadora en su propia
memoria.
– Se le conoce al modelo de von Neumman como
modelo de “Programa almacenado”
Componentes básicos de la
arquitectura de Von Neuman

 Modelo de Von Neumman


– Esquema general del modelo de von Neumman

MEMORIA

UNIDAD UNIDAD
UNIDAD CENTRAL
DE DE
DE PROCESAMIENTO
ENTRADA SALIDA
Componentes básicos de la
arquitectura de Von Neuman

 La Unidad Central de Procesamiento


contiene la unidad aritmético-lógica y a la
unidad de control
 La función del CPU es clara, debe ejecutar
instrucciones, para ello se deben cumplir dos
cosas:
– Que las instrucciones sean entendidas por el
CPU
– Que estén almacenadas en la memoria
Componentes básicos de la
arquitectura de Von Neuman

 Para cumplir la primera se requiere codificar


las instrucciones
 Para la segunda se asume que la memoria
es un conjunto de celdas con las siguientes
características:
– Cada celda puede contener un solo dato
– Cada celda tiene la propiedad de ser
direccionable, es decir, se distingue de todas por
medio de un número unívoco llamado dirección
Componentes básicos de la
arquitectura de Von Neuman

Memoria

20 20 30 21 02 22 70 Contenido

10 11 12 13 14 15 16 Dirección
 Se utilizará un apuntador para dirigirse a cada una de las
celdas.
 Se debe tener claro que una cosa es la dirección de la celda y
otra su contenido
 El procesador puede realizar dos tareas sobre la memoria:
Leer el contenido de una celda y escribir un valor en una celda
Funcionamiento de las
computadoras

 La operación de lectura requiere los


siguientes pasos:
– Decidir cual celda se va a leer y proporcionar su
dirección
– Esperar un tiempo para que los circuitos de la
memoria traigan el valor de la celda y lo dejen en
otro registro especial. (la celda no pierde el valor)
– Recoger el dato y dar por terminada la operación
de lectura.
Funcionamiento de las
computadoras

 La operación de escritura requiere los


siguientes pasos:
– Proporcionar a la memoria el dato que se desea
depositar en una celda
– Proporcionar la dirección de la celda sobre la que
se desea hacer la escritura
– Esperar un tiempo para que los circuitos de la
memoria depositen el dato en la celda designada,
para dar por terminada la operación
Funcionamiento de las
computadoras

 Para la codificación será necesario convertir


las instrucciones en números para poder
almacenarlas, ya que la memoria sólo
almacena números.
 A esto es precisamente lo que se conoce
como lenguaje de máquina.
 Cada instrucción deberá tener un único
código numérico que la identifique.
Funcionamiento de las
computadoras

 Considere el problema de sumar dos


números: 5 + 7
– Se requieren tres celdas, dos para cada dato y
una para el resultado, sean estas las celdas con
direcciones: 20, 21 y 22, respectivamente
– Se tienen que definir a detalle las operaciones a
realizar y su orden, así como obtener la
codificación adecuada (es decir, en lenguaje de
máquina)
Funcionamiento de las
computadoras

– Se requiere almacena TODO en la memoria,


datos y códigos de las operaciones.
– Las operaciones sería:
 Llevar el contenido de una celda al acumulador
(CARGAR dirección): carga el acumulador con el dato
contenido en la celda cuya dirección se especifica.
 Sumar (SUMA dirección): Suma el acumulador con el
dato contenido en la celda cuya dirección se especifica.
 Devolver el contenido del acumulador a una celda de la
memoria (GUARDA dirección)
Funcionamiento de las
computadoras

– Las instrucciones serán las siguientes:


– Instrucción Código Longitud
– CARGAR 20 2
– GUARDA 02 2
– RESTA 33 2
– SUMA 30 2
– TERMINAR 70 1
Funcionamiento de las
computadoras

– El programa sería el siguiente:


 CARGA 20
 SUMA 21
 GUARDA 22
 ALTO
– En lenguaje de máquina sería
2020 3021 0222 70
Funcionamiento de las
computadoras

– En la memoria se vería como sigue:

20 20 30 21 02 22 70 5 7 ??

10 11 12 13 14 15 16 . . . 20 21 22
Ejecución de Instrucciones

 Funcionamiento de la unidad de control


– Dirige la secuencia de pasos de modo que la
computadora lleve a cabo un ciclo completo de
ejecución de una instrucción.
– Los pasos para ejecutar una instrucción son:
Ejecución de Instrucciones

1. Fetch: Ir a la memoria y traer el código de la siguiente


instrucción que apunta el CP (contador de programa)
2. Decodificar la instrucción
3. Ejecutar la instrucción
4. Prepararse para leer la siguiente casilla de memoria
– La unidad de control ejecutará este ciclo de
cuatro “instrucciones alambradas”
Ejecución de Instrucciones
 Se ha definido ya el modelo de von Neumman, y
ahora se pondrá a funcionar sobre el ejemplo
visto:
 Pasos en la ejecución del programa
1. CP  10
2. Se ejecuta el paso 1, irá a la casilla 10 para leer su
contenido.
3. Se ejecuta el paso 2, se decodifica el 20 recién leído y
determina que se trata de una operación CARGA. Como
la longitud de la instrucción es 2 se ajusta el CP, ya que
el segundo dato corresponde a la dirección de la
memoria donde esta el valor que debe cargar. (CP  11)
Ejecución de Instrucciones

4. Se ejecuta el paso 3, es decir, realiza la operación


de carga, para esto va a la celda 11 y extrae su
contenido, ya no como instrucción, sino como una
dirección.
5. Se ejecuta el paso 4 para luego reiniciar el ciclo.
CP  12
6. Se ejecuta por segunda vez el paso 1, se lee la
celda doce que contiene un 30
7. Se decodifica la instrucción, que es una SUMA,
por lo que CP se prepara para apuntar a la
siguiente celda
Ejecución de Instrucciones

8. Se ejecuta la instrucción 30, con lo que se añade


al acumulador el contenido de la celda 21. El
acumulador contendrá un 12.
9. El CP  14, esta celda contiene el código de la
siguiente instrucción; lo cual no es casualidad sino
resulta del modelo.
10. Se lee la celda 14 y se extrae su contenido: 02.
11. Se decodifica la instrucción GUARDA, por lo que
se examina la siguiente celda al ser también de
longitud 2. (CP  15)
Ejecución de Instrucciones

12. Al ejecutar esta instrucción se almacena el dato del


acumulador (12) en la celda 22
13. Se actualiza el CP  16 y se regresa al paso 1
14. Se extrae el código de la celda 16, que es un 70
15. Se decodifica esta instrucción que es alto. No se
observa el dato de la siguiente celda porque la
longitud de la instrucción es 1
16. Se ejecuta esta instrucción, por lo que el programa
termina
Ejecución de Instrucciones

 Ejercicio:
 Escribir un programa que evalúe la fórmula
R=A+B+C-D, se asumirá que los cuatro
números ya existen en memoria, en las
celdas 770 a 773, y que el resultado va a
quedar en la celda 774.
 Escriba la codificación del programa y
represéntelo gráficamente en memoria.
Arquitecturas de
multiprocesadores

 El Procesador central
– El conjunto formado por la unidad de control y
la unidad aritmética lógica se llama procesador
central o unidad central de procesamiento UCP
(CPU)
– Su funciones consisten en decodificar y ejecutar
las instrucciones de un programa, leer y escribir
contenidos de las celdas de memoria, y llevar y
traer datos entre celdas de memoria y registros
especiales.
Arquitecturas de
multiprocesadores

 El Procesador central
– Una computadora requiere de una organización
jerárquica para funcionar, en este caso
distribuye las tareas entre diversos
subsistemas.
– Cada subsistema reporta su inicio y fin al
procesador central por medio de interrupciones.
– Mediante el mecanismo de interrupciones el
CPU puede repartir su atención entre varios
programas objeto.
Arquitecturas de
multiprocesadores

 El Procesador central
– La operación del CPU esta controlada por un reloj
central.
– Este reloj determina la velocidad del CPU la cual se mide
en MHz, que es la cantidad de veces que la unidad de
control recibe impulsos eléctricos en un segundo.
– Otra unidad de medida de la velocidad del procesador es
el MIPS (Million Instructions per Second) e indica la
cantidad promedio de instrucciones del lenguaje de
máquina que la computadora ejecuta en un segundo.
Arquitecturas de
multiprocesadores

 El Procesador central
– Una pequeña computadora procesa a razón de
25 y 80 MIPS, y una gran máquina de 300 a
1000 MIPS
– Otra medida son los FLOPS (Floating-Point
Operations per Second) que es la cantidad de
instrucciones de aritmética de punto flotante
que se pueden ejecutar en un segundo.
Arquitecturas de
multiprocesadores

 El Procesador central
– Integradas al CPU existe una serie de celdas,
que se utilizan con mucha frecuencia, llamadas
registros.
– También puede contar con coprocesadores
matemáticos o unidades de punto flotante.
– Los procesadores deben ser sencillos, pero
muy rápidos, esto dio lugar a un tipo especial
de arquitectura conocida como RISC
Arquitecturas de
multiprocesadores

 El Procesador central
– Físicamente un microprocesador es un circuito
integrado de alta densidad donde en un espacio
de pocos centímetros cuadrados, existen varios
millones de microtransistores y otros
microelementos grabados en una tableta de
silicio, la tecnología utilizada se conoce como
VLSI.
Arquitecturas de
multiprocesadores

 La Memoria Central
– Conjunto de celdas direccionables donde se
almacena toda la información que requiere el
procesador central
– Tipos de dispositivos de memoria
 Las tecnologías utilizadas han sido “ferritas” y
semiconductores
 El parámetro más importante en una memoria es su
velocidad de acceso
Arquitecturas de
multiprocesadores

 La Memoria Central
 El nombre genérico de estas memorias es RAM
(Ramdom Access Memory)
 Existe una memoria especial de altísima velocidad en
la cual circuitos especiales depositan de antemano
una copia de las siguientes instrucciones a
ejecutarse, esta memoria se llama “memoria cache”
 Cuando existe ocupa un lugar intermedio entre el
CPU y la memoria RAM.
Arquitecturas de
multiprocesadores

 La Memoria Central
 Los circuitos integrados de la memoria pierden la
información cuando se interrumpe la energía eléctrica.
 Existen memorias que no son volátiles y que reciben el
nombre genérico de ROM (Read Only Memory)
 Los programas que residen en una memoria ROM se
conocen como firmware
 Las memorias ROM se graban desde fábrica, pero
existen otras modalidades como las EPROM o PROM
que si pueden ser grabadas nuevamente
Arquitecturas de
multiprocesadores

 La Memoria Central
– Para almacenar la información en la memoria
es necesaria la codificación.
– Existen diferentes códigos:
 Binario puro: consiste en convertir cada valor
numérico a su correspondiente en binario. Con un
byte podemos representar los números del 0 al 255.
00000000 ----- 0
10010101 ----- 149

11111111 ----- 255


Arquitecturas de
multiprocesadores

 La Memoria Central
 BCD: Representa cada dígito por 4 bits, por lo que la
cifra “214” se representa como 0010 0001 0100, lo
cual nada tiene que ver con el valor 214 que en
binario puro es 11010110
 ASCII: Utiliza 7 bits para representar caracteres, el
octavo bit es utilizado para agregar letras “raras”,
caracteres griegos, vocales acentuadas, etc.
Arquitecturas de
multiprocesadores

 La Memoria Central
 EBCDIC: Código extendido para intercambio decimal
codificado en binario, utiliza 8 bits para representar
caracteres.
 Unicode: Emplea 16 bits para representar un gran
número de letras y caracteres, aptos para ser
empleados en muchos idiomas que actualmente no
están representados. Actualmente muchas
aplicaciones en Internet lo utilizan.
 Ejercicio: Investigar los códigos ASCII, EBCDIC y
Unicode. Entregar una tabla de la representación de
cada código (Trabajo en equipo).
Arquitecturas de
multiprocesadores

 Unidades de Entrada y Salida


– Estas unidades representan la interface con la
que el procesador se comunica con el mundo
exterior.
– Las unidades de entrada más comunes son las
lectoras de tarjetas (ya no se emplean) y el
teclado.
– Las unidades de salida más comunes son las
terminales de video y la impresora.
Arquitecturas de
multiprocesadores

 Unidades de Entrada y Salida


– El programa especial para el manejo básico de
entradas y salidas, llamado BIOS (Basic Input
Output System) reside en forma permanente en
una memoria PROM.
– Cuando se arranca la computadora, el BIOS es
copiado a una parte de la RAM
– Ejercicio: Investigar por equipos dispositivos de
Entrada y Salida y exponerlos al grupo. Así
como unidades de almacenamiento secundario.
Taxonomía de Flynn

 La taxonomía de Flynn es una clasificación


de arquitecturas de computadoras propuesta
por Michael J. Flynn en 1972
 Las cuatro clasificaciones definidas por
Flynn se basan en el número de
instrucciones concurrentes (control) y en los
flujos de datos disponibles en la arquitectura:
Taxonomía de Flynn

 Una instrucción, un dato (SISD) Computador secuencial que


no explota el paralelismo en las instrucciones ni en flujos de
datos. Ejemplos de arquitecturas SISD son las máquinas con
uni-procesador o monoprocesador tradicionales como el PC o
los antiguos mainframe
 Múltiples instrucciones, un dato (MISD) Poco común debido
al hecho de que la efectividad de los múltiples flujos de
instrucciones suele precisar de múltiples flujos de datos. Sin
embargo, este tipo se usa en situaciones de paralelismo
redundante, como por ejemplo en navegación aérea, donde se
necesitan varios sistemas de respaldo en caso de que uno falle.
Taxonomía de Flynn

 Una instrucción, múltiples datos (SIMD) Un computador que


explota varios flujos de datos dentro de un único flujo de
instrucciones para realizar operaciones que pueden ser
paralelizadas de manera natural. Por ejemplo, un procesador
vectorial.
 Múltiples instrucciones, múltiples datos (MIMD) Varios
procesadores autónomos que ejecutan simultáneamente
instrucciones diferentes sobre datos diferentes. Los sistemas
distribuidos suelen clasificarse como arquitecturas MIMD; bien
sea explotando un único espacio compartido de memoria, o
uno distribuido.
Definición de Sistemas Operativos

 Sistemas Operativos
– Es el programa de control maestro de la
computadora. El S.O. le proporciona las
herramientas que le permiten interactuar con la
PC. También actúa como el mecanismo de
control principal del hardware de la computadora.
Definición de Sistemas Operativos

 Las principales características de los S. O.


son:
– Definir la “Interfaz del Usuario”.
– Compartir el hardware entre usuarios.
– Permitir a los usuarios compartir los datos entre
ellos.
– Planificar recursos entre usuarios.
– Facilitar la entrada / salida.
– Recuperarse de los errores.

También podría gustarte