0% encontró este documento útil (0 votos)
26 vistas41 páginas

Resumen del Sistema de Procesamiento de Datos

Este documento describe los conceptos básicos de los sistemas de procesamiento de datos, incluyendo las clasificaciones de hardware y software, los componentes principales de una computadora y una breve historia de las computadoras.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas41 páginas

Resumen del Sistema de Procesamiento de Datos

Este documento describe los conceptos básicos de los sistemas de procesamiento de datos, incluyendo las clasificaciones de hardware y software, los componentes principales de una computadora y una breve historia de las computadoras.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SISTEMA DE PROCESAMIENTOS DE DATOS – RESUMEN FINAL

CONCEPTOS BÁSICOS:

- Informática: ciencia que estudia el procesamiento automático de la información.


- Computadora: máquina electrónica que procesa información siguiendo instrucciones
de un programa. Se comunica con el exterior gracias a los medios de I/O (periféricos).
Cuenta con dispositivos para almacenar la información y procesarla. Toda la
información se encuentra expresada en forma digital binaria.

CLASIFICACIÓN:

 Propósito:
o General: realizan diferentes actividades.
o Específico: cumplen una función específica.

 Capacidad de proceso:
o Microcomputadoras: PC individual.
o Minicomputadoras: Medio para 30 o 40 users.
o Macro o Mainframes: Sistema bancarios.
o Supercomputadoras: Admin. de Reac. Nuclear.

COMPONENTES:

 Hardware: componentes físicos que se puede tocar: construida por circuitos


electrónicos, teclado, mouse, etc.
 Software: parte inmaterial: construida por programas y datos.
Ambas partes están íntimamente relacionadas de tal forma que una parte no
puede operar sin la otra.

CLASIFICACIÓN DEL SOFTWARE:

- Organización por niveles:

USUARIO
SOFTWARE DE APLICACIONES Y DEL SISTEMA
SISTEMA OPERATIVO
HARDWARE

- Sistemas operativos:
 Primer programa que entra en funcionamiento.
 Gestiona y coordina los aspectos físicos y lógico.
 El resto de los programas funcionan a sobre el S.O.

- Lenguaje de programación:
 Mediante programas se indica a la computadora que tarea realizar y como
efectuarla.
 Para ello es necesario introducir estas instrucciones en un lenguaje en que el
sistema pueda entender.
- Software de uso general:
 Ofrece la estructura para un gran número de aplicaciones empresariales,
científicas y personales.
Ejemplos: AutoCAD, procesamiento de texto, manejo de base de datos.
 Se venden como paquetes y documentación orientada al usuario.

- Software de aplicaciones:
 Diseñado y escrito para realizar tareas específicas personales, empresariales y
científicas como: procesamiento de datos, administración de recursos
humanos, control de inventarios.
 Todas estas aplicaciones procesan datos y generan información para el
usuario.

HARDWARE

- Definición: conjunto de dispositivos físicos.


- Componentes:
 CPU (Central Processing Unit).
 Memoria.
 Periféricos (Dispositivos I/O).

COMPONENTES DE UNA COMPUTADORA

- La mayoría de las computadoras grandes o pequeñas constan de los siguientes


componentes principales:
 Dispositivos de entrada.
 Dispositivos de salida.
 Unidad Central de Proceso (UCP) = UC + UAL.
 Memoria.
Referencias:

U.C. : Unidad de control

U.A.L. (Unidad Aritmética Lógica): se encarga de los procesos lógicos.

BUS: Sistema digitales que transfiere datos entre los componentes.

M.P. : Memoria Principal

- Memoria principal:
 Representa el almacén donde se guarda la información.
 Guarda el conjunto de instrucción (programa) que está siendo ejecutado, junto
con los datos de entrada y salida de la ejecución.
 La unidad mínima a la que puede acceder es un byte (palabra).
 Físicamente la memoria está dividida en celdas (capacidad de un bit)
agrupadas en palabras de memoria.

- Funcionamiento:
 El acceso a la memoria se hace asignando una dirección numérica binaria a
cada palabra a modo de “dirección”.
 En la memoria se realizan dos operaciones: lectura y/o escritura.
 Para estas operaciones los dispositivos de memoria disponen de dos registros:
RD (Registro de Dirección): indica la dirección de memoria que quiere leer o en
la que se quiere escribir.
RIM (Registro de Intercambio de Memoria): alberga la palabra leída o que se va
a escribir en la dirección dada por RD.
 La memoria está conectada con la UCP y con los periféricos a través de los
buses de direcciones, de datos y de control.

- Proceso de lectura y escritura:


 Por el bus de direcciones llega un número de dirección que se almacena en RD.
 Simultáneamente, por el bus de control, llega una señal que indica si la
operación es de lectura o escritura.
Si es de escritura: por el bus llega la palabra que quiere escribir, almacenada en el RIM
y se escribe donde indica RD.
Si es de lectura: se lee la información que se encuentra almacenada en el RD y se
escribe en el RIM.
 La memoria genera, por el bus de control, una señal que indica el final de la
operación.

- La memoria se encarga de intercambiar información con el procesador según las


necesidades de este.
- Velocidad: la tecnología de los procesadores obliga a la memoria a tener una velocidad
semejante a fin de no disminuir en eficiencia.
- Capacidad: mientras mayo sea la capacidad, la velocidad se reduce.
- Compromiso entre ambas depende de la finalidad.

TIPOS DE MEMORIA
- ROM (Read Only Memory):
 Se almacenan las rutinas de arranque.
 Se almacenan de forma permanente.
 No volátil.
 Ejemplos: Juguetes electrónicos, etc.

- RAM (Random Access Memory):


 Memoria de lectura escritura.
 Memoria de lectura escritura.
 Necesita alimentación eléctrica para conservar la información.
 Volátil.

OPTIMIZACIÓN DE MEMORIAS

- Necesidad de memorias más rápidas y con más capacidad.


- Métodos de optimización para la M.P. :
 Memoria caché: mayor costo, mayor velocidad. Menor capacidad.
 Memoria virtual: hace uso de más memoria de la que físicamente se dispone,
ayudada por el disco.

U.C.P. (Unidad Central de Proceso)

- Lugar donde se procesa la información recibida. Procesador.


- Formada por:
 U.C. (Unidad de Control): maneja los datos
 U.A.L. (Unidad Aritmética Lógica): realiza la tarea de procesar los datos
recibidos.
- Es un microchip y consta de circuitos electrónicos que permite realizar operaciones
elementales con la información.

U.C.

- Clasifica las instrucciones que recibe.


- Controla su ejecución.
 Consta de registros internos que usa para almacenar datos elementales.
 Registro de instrucción y contador de programa.
- Lee las zonas de memorias que almacena los argumentos de las instrucciones.
- Funcionamiento regido por pulsos de reloj.
 Sincroniza la realización de la operación y determina la velocidad del
procesador.
- Operaciones básicas del secuenciador:
 Leer el contador del programa.
 Almacenar en el registro de instrucción el contenido de la dirección de
memoria que aparece en el contador de programa.
 Averiguar si la instrucción necesita argumentos.
o Determinar sus direcciones de memoria.
 Leer los argumentos y los almacena en los registros.
 Ordena a la UAL que ejecute el cómputo.
 Almacena el resultado de la ejecución.
 Actualiza el CP (Contador de Programa) con la siguiente instrucción.
U.A.L

- Recibe instrucciones con sus argumentos y las ejecuta mediante operadores físicos,
dando a cambio el resultado.
- Consta de una serie de registros.
 Acumulador (guarda los resultados), puntero de la pila…
- Las operaciones se realizan sobre binarios y son: lógicas y aritméticas.

BUS

- Medio físico por el cual los componentes principales de la computadora se comunican.


- La comunicación puede llevarse a cabo de dos modos:
 Comunicación en serie. Mouse.
 Comunicación en paralelo. Impresora.
- Las líneas de comunicación se agrupan de acuerdo el tipo de información que
transportan. Y cada uno de estos conjuntos recibe el nombre de BUS.
- TIPO DE BUS:
 BUS de direcciones: es el canal de comunicaciones construido por líneas que
apuntan a la dirección de memoria que ocupa o va a ocupar la información a
tratar.
 BUS de datos: es el medio por el que se transmite la instrucción o dato
apuntando por el BUS de direcciones. Se utiliza para realizar el intercambio de
instrucciones y datos tanto internamente como externamente.
 BUS de control: controla el uso y acceso de líneas de datos y de direcciones ya
que estas líneas están compartidas por todos los componentes.

HISOTORIA DE LAS COMPUTADORAS

Primeras computadoras:

- Ábacos: primera máquina para hacer sumas.


- Calculadoras mecánicas.
- Sistemas basados en relés: dispositivo electromecánico que funciona como un
interruptor en el que se acciona un juego de uno o varios contactos que permiten abrir
o cerrar otros circuitos eléctricos independientes.

Máquinas diferenciales de Babbage:

- 1822: primera computadora mecánica


 Usaba el método de diferencias finitas para el calculo de polinomios de 2do
grado.
 Requería aprox. 25mil partes.

Máquina analítica:

- 1834:
 Primera computadora digital mecánica.
 Calculaba cualquier función algebraica y almacenaba números.
 Se programaba con tarjetas perforadas.
 Creadores: Ada Lovelace (1815-1852) y Charles Babbage (1791-1871).
Harvard Mark I:

- 1939 – 1944:
 Desarrollada por IBM y la universidad de Harvard.
 Electromecánico, 760mil ruedas.
 Tenía 800km de cables.
 Basado en la maquina analítica de Babbage.
 Usaba el sistema decimal.
 Tiempo de cálculo: 0.3 a 10 segundos por cálculo.
 Se programaba mediante cinta de papel.

1RA GENERACIÓN:

- Tubos al vacío y tableros:


 Eran enormes (20mil tubos) y lentas (1 ciclo = 1 seg.).
 Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada
máquina. Toda la programación se hacía en lenguaje máquina (conectando
cables en un tablero, por ejemplo.).
 Los sistemas operativos no existían.
 En 1950 se introducen las tarjetas perforadas.

- Atanasoff Berry Computer (1930 - 1942)


 Primera computadora digital binaria.
 No era de propósito general.
 Resolvía sistemas de ecuaciones lineales.
 Creada por John Atanasoff y Clifford Berry de la lowa State University.

- Colosuss (1943):
 Desarrollo Británico.
 Diseñada para descifrar mensajes encriptados por alemanes.
 Solo 1.500 válvulas.
 Primera máquina programada para decodificar códigos de la maquina Lorenz
SZ 40/42, por lo que no era de propósito general.
 No se conoció hasta los 80.

- Enigma (1918):
 Su propósito general fue descifrar transacciones bancarias.
 Ganó visibilidad cuando Hitler ordenó que su fabricación formarse parte del
programa de armamento del Gobierno del III Reich.
 Los aliados encargaron a Inglaterra la decodificación de la máquina, quienes
contrataron en inteligencia a Alan Turing.

- ENIAC (Electronic Numerical Integrator and Computer - 1946):


 Primera computadora de propósito general (“Maquina de Turing”).
 Se programaba “cableando”.
 Se creó para calcular la trayectoria de las armas.
 Von Neumman participó en las últimas etapas del proyecto.
 Se usó hasta 1.955.
 Diseñada por John Mauchly and J. Presper Eckert, junto con un equipo de 6
programadores.

Detalles:

 Decimal, no binaria.
 Programada manualmente.
 2,40m x 30m.

- Manchester Mark I (1948):


 Usada para demostrar el concepto de programa almacenado (descubierto por
John Von Neuman).
 Alan Turing desarrollo un lenguaje de programación para esta máquina.
- ¿Que nos dejó Jhon Von Neumann y Alan Turing?
 Los datos y programas quedan almacenados en una memoria de lectura –
escritura.
 Los contenidos de esta memoria se direccionan indicando su posición sin
importar su tipo.
 La ejecución se hacía en secuencia, al menos que se le indicara lo contrario.
 Máquina de Turing: ordenador que cumple ser de propósito general.

- UNIVAC (1.949): Primera computadora comercial.


 Incorpora el uso de cintas magnéticas.
 Se usó para los cálculos del Censo de USA.
 Fin de los 50’.
o UNIVAC II:
 + rápida.
 + memoria.

2DA GENERACIÓN:

- 1955 – 1966:
 Se introducen los transistores:
o Más baratos.
o Más chicos.
o Menos disipación de calor.
o Estaba hecho de silicio (arena).
 Distinción entre diseñadores, constructores, programadores, operadores y
personal de mantenimiento.
 Mainframes en salas de acondicionadas.
o Se escribían los programas en papel, luego se perforaban las tarjetas.
o Los operadores toman las tarjetas del programa y colocan también los
del compilador.
o Se crea el proceso por lotes que agrupa trabajos.
 Nace la microprogramación.
- Fortran (1.957):
 Primer compilador para IBM 704.
 Lenguaje de alto nivel más antiguo, basado en tarjetas perforadas.

- IBM 1401 (1959)


 4KB de memoria expandible a 16KB.
 Buena para leer tarjetas, copiar cintas e imprimir resultados.
 Mala para cálculos numéricos.
 Se utilizaba con fines comerciales (bancos, etc.).

- IBM 7094 (1962):


 Buena para hacer cómputos.
 Se utilizaba con fines científicos.

3RA GENERACIÓN

- 1965 – 1980:
 Se introducen los circuitos integrados.
o Bajan los costos.
o Sube el desempeño.
 Se introduce la multiprogramación.
o Tiempo compartido entre usuarios.
 Se introducen los discos duros.

- 1er circuito integrado:


 Jack Kilby (1958).
 1 transistor, un capacitor y 3 resistencias.
 10x15 mm.

- IBM 360 (1964):


 Multiprogramación.
 Terminales bobas: consiste en un teclado y una pantalla de salida que puede
ser usada para dar entrada y transmitir datos o desplegarlos desde una
computadora remota a la cual se está conectado. Una terminal tonta, en
contraste con una terminal inteligente o una computadora personal
 Software compatible con IBM 7094, 1401 entre otros.
 Aparece el byte de 8 bits.

- DEC PDP – 8 (1964):


 Primer microcomputador.
 No necesita una habitación con aire acondicionado.
 Es lo suficientemente pequeño para colocarlo en una mesa de laboratorio.
 16mil dólares.

- Cray 1 (1976);
 Creada por Seymour Cray.
 Primera supercomputadora.
 Procesamiento vectorial.
o 12 unidades procesando en paralelo.
o Aprox. 120 MFlops.

- ALTAIR 8800 (1975):


 Primera computadora personal.
 Tenía un Intel 8080.

- Apple II (1978):
 Se podía aumentar la RAM.
 Tenía 8 slots de expansión.

- Microsoft (1978):
 1.975 – Basic para la Altair.
 1.981 acuerdan con IBM el desarrollo de DOS.

4TA GENERACIÓN

- Desde 1980:
 Usan VLSI (large scale integration).
o > 100mil componentes por chip.
o Facilita la creación de microprocesadores.
 Intel 8080 (8 bits).
o IBM PC (1981) con DOS.
o Intel 80286, 80386, 80486.
 Aparecen las terminales gráficas (GUI).
o Macinstosh.
o Microsoft “adopta” GUI y desarrolla Windows (sobre DOC).
 Aparece la filosofía “RISC”.

- IBM PC (1981):
 Usa el Intel 8080.
 Sistema DOS (Microsoft).
 1983: XT, con disco rígido.

SISTEMAS NUMÉRICOS

 Conjunto de símbolos y reglas que se utilizan para representar datos


numéricos o cantidades.
 Se caracterizan por su base que indican el número de símbolos distinto que se
utiliza y además es el coeficiente que determina cual es el valor de cada
símbolo dependiendo de la posición que ocupe. Estas cantidades se
caracterizan por tener dígitos enteros y fraccionarios.

Ejemplo 1: Sistema decimal:


0
1
2
3..
9
10

Ejemplo 2: Sistema binario:

0
1
10
11
100
101
110
111
1000

 Sistema decimal : base 10.


o Está formado por 10 símbolos (0,1,2,3,4,5,6,7,8,9).
 Sistema binario: base 2.
o Utiliza 2 símbolos (1 y 0).
o Cada dígito de un número en este sistema se denomina bit (binary
digit).
 Sistema octal: base 8.
o Utiliza 8 símbolos o dígitos (0,1,2,3,4,5,6,7).
 Sistema hexadecimal: base 16.
o Utiliza 16 dígitos y letras para representar cantidades y cifras
numéricas {0,1,2,3,4,5,6,7,8,9,A (10),B (11),C (12),D (13),E (14),F (15)}.

CONVERSIÓN DECIMAL – BINARIO:

Se dividide sucesivamente el número decimal y los cocientes que se van


obteniendo entre 2, hasta que una de las divisiones se haga 0 o no se pueda continuar
dividiendo. El resultado es el conjunto de restos obtenidos en el orden inverso.

CONVERSIÓN DECIMAL – OCTAL:

Se dividide sucesivamente el número decimal y los cocientes que se van


obteniendo entre 8, hasta que una de las divisiones se haga 0 o no se pueda continuar
dividiendo. El resultado es el conjunto de restos obtenidos en el orden inverso.

CONVERSIÓN DECIMAL – HEXADECIMAL:

Se dividide sucesivamente el número decimal y los cocientes que se van


obteniendo entre 16, hasta que una de las divisiones se haga 0 o no se pueda
continuar dividiendo. El resultado es el conjunto de restos obtenidos en el orden
inverso, si es necesario se reemplaza por la letra correspondiente a su valor.
CONVERSIÓN DECIMAL – BINARIO , OCTAL Y HEXADECIMAL:

Se le asigna una posición a cada uno de los dígitos de derecha a izquierda,


luego se multiplica por la base elevado a la posición de dicho dígito. A este método se
lo conoce como el Teorema Fundamental de la Numeración (TFN).

HEXADECIMAL – BINARIO:

Para convertir un número hexadecimal a binario, se sustituye cada dígito


hexadecimal por su representación binaria según la siguiente tabla:

DÍGITOS HEXADECIMAL DÍGITOS BINARIOS


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

OCTAL – BINARIO:

Para convertir un número octal a binario, se sustituye cada dígito octal por su
representación binaria según la siguiente tabla:

DÍGITOS OCTAL DÍGITOS BINARIOS


0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

CONVERSIÓN DECIMAL – BINARIO,OCTAL, HEXADECIMAL NÚMEROS FRACCIONARIOS:

Consiste en multiplicar dicha fracción por su respectiva base, obteniendo en la


parte entera del resultado el primero de los dígitos binarios. Se repite el procedimiento
hasta que se desaparezca la parte fraccionaria o hasta que tengamos los suficientes
dígitos binarios que nos permitan no sobrepasar un determinado error.

Ejemplo: Convertir la fracción decimal 0.828125 a una fracción binaria.

0.828125 x 2 = 1.656250

0.656250 x 2 = 1.31250

0.31250 x 2 = 0.6250

0.6250 x 2 = 1.250

0.250 x 2 = 0.50

0.50 x 2 = 1.0

Resultado: 0.828125(10) = 0.110101(2)

CONVERSIÓN BINARIO , OCTA, HEXADECIMAL – DECIMAL, NÚMEROS FRACCIONARIOS

Se le asigna a cada dígito de la parte fraccionaria una posición en orden descendente


partiendo desde el -1 hasta n, luego se multiplica por su base elevado a la posición.

Ejemplo:

0, 1 1 0 1 0 1

0, -1 -2 -3 -4 -5 -6

1 x 2 ^ (-1) = 0,5

1 x 2 ^ (-2) = 0,25

0 x 2 ^ (-3) = 0

1 x 2 ^ (-4) = 0,0625

0 x 2 ^ (-5) = 0

1 x 2 ^ (-6) = 0,015625

0,5 + 0,25 + 0 + 0,0625 + 0,015625 = 0,828125

Resultado: = 0,110101(2) = 0,828125(10)

MÉTODOS DE CÁLCULO DE DÍGITOS

- Para poder determinar que cantidad de dígitos necesito para representar un


determinado valor en las diferentes bases se pueden utilizar dos métodos:
 Uso de potencias:
o Ejemplo: obtener la cantidad de dígitos para el número 26(10) en
binario.
2n > 26(10)

Donde 2 indica la base, n la cantidad de dígitos, 26 el número que


quiero representar.

25 > 26(10)

Por lo tanto, se necesitan 5 dígitos para poder representar el valor 26


en base 2.

26(10) =11010(2)

 Uso de logaritmo:
o Ejemplo: obtener la cantidad de dígitos para el número 26(10) en
binario.

Debemos calcular n, aplicamos logaritmos a ambos lados de la


igualdad.

log(2n) = log(26(10))

Usamos propiedad de logaritmos y “bajamos” el exponente.

n * log(2(10)) = log(26(10))

Hacemos un pasaje de términos, y despejamos la incógnita.

n = log(26(10)) / log(2(10))

Resolvemos la ecuación, lo cual nos da:

n > 4.7

Buscamos la parte entera del número que sea mayor, finalmente


obtenemos que n = 5, es decir, necesitamos 5 dígitos binarios para
representar el número 26.

REPRESENTACIÓN DE NÚMEROS BINARIOS CON SIGNO

- Signo Magnitud:
 Sirve para representar números negativos y positivos.
 Para representar los números se deben definir datos con tamaño estándar: 8
bits, 16 bits, 32 bits, etc.
 En este formato, el bit más significativo (MSB) del dato se utiliza para indicar el
signo y los bits restantes representan la magnitud del número.
 Posee dos representaciones del 0, el 0 y el -0.

Ejemplo de representación del 50 y -50 en Signo – Magnitud con 8 bits:


Número en decimal Número en Signo – Magnitud
50 00110010S-M
-50 10110010S-M
- Complemento a UNO:
 Tiene muchas aplicaciones en los circuitos digitales y sistemas de
computación.
 Sirve para representar tablas numéricas de cantidades positivas y negativas.
 Es utilizado como paso previo para hallar el complemento a dos.
 Se obtiene invirtiendo el estado o nivel de los bits que conforman la cifra en
todas sus posiciones.
 No proporciona muchos beneficios para buscar el complemento ya que cuenta
con dos representaciones del 0.

Número en decimal Número en Complemento a 1


50 00110010C-1
-50 11001101C-1

- Complemento a DOS:

Existen dos métodos:

 Uno de los métodos consiste en obtener el complemento a UNO de la cifra y


luego sumarle 1.

Ejemplo de representación del número 50 y -50 en complemento a 2 con 8


bits.

Número en decimal
50 = 0000110010C-2 Binario Positivo 001100102
Complemento a 1 11001101C-1
+ 12
-50 = 11001110C-2 Complemento a 2 11001110C-2

 Otro método de conversión consiste en ir seleccionando y colocando de


derecha a izquierda los dígitos binarios hasta conseguir el primer bit en uno,
de allí en adelante se cambian de estado todos los bits restantes.

Ejemplo de representación del número 50 y -50 en complemento a 2 con 8


bits.

Número en decimal Número en Complemento a 2


50 00110010C-2
-50 11001110C-2
JERARQUÍAS DE MEMORIAS:

Los programas comparten en la memoria su código como sus datos.

- Estrategia de optimización de rendimiento:


 Posibilitar a la CPU el acceso ilimitado y rápido tanto al código como a los
datos.
- Inconveniente:
 Tecnológicamente, cuanto más grandes son las memorias (más capacidad)
más lentas y costosas resultan.
- Ley de localidad:
 Los programas acceden a una porción relativamente pequeña del espacio de
direcciones en cualquier instante de tiempo.

Ley de localidad: dos dimensiones


o Localidad temporal: Si se referencia un elemento tendrá a ser
referenciado pronto.
o Localidad espacial: si se referencia un elemento, los elementos
cercanos tenderán a ser referenciado pronto.
- Está basada en principio de la localidad y la directriz que el hardware más pequeño es
más rápido, mantienen el concepto de una jerarquía basada en diferentes localidades
y tamaño.
- Esta jerarquía está organizada en varios niveles – cada uno más pequeño, más rápido y
mas caro que el anterior - .
- Todos los datos de un nivel se encuentran también en el nivel siguiente, y todos los
datos de ese nivel inferior se encuentran también en el siguiente a él, hasta el extremo
inferior de la jerarquía.
- Terminología básica:
 Acierto (hit): acceso a un bloque de memoria que se encuentra en el nivel
superior.
 Fallo (miss): el bloque no se encuentra en ese nivel.
 Frecuencia de aciertos: fracción de accesos a memoria encontrados en el nivel
superior.
 Frecuencia de fallos: (1 – frecuencia de aciertos): fracción de accesos a
memoria no encontrados en el nivel superior.
 Tiempo de acierto: tiempo necesario para acceder a un dato presente en el
nivel superior de la jerarquía. Incluye el tiempo necesario para saber si el
acceso es un acierto o un fallo.
 Penalización de fallo: tiempo necesario para sustituir un bloque de nivel
superior por el correspondiente bloque de nivel más bajo, más el tiempo
necesario para proporcionar este bloque al dispositivo que lo solicitó
(generalmente la CPU).
o Contiene dos componentes:
Tiempo de acceso: tiempo necesario para acceder a la primera
palabra de un bloque en un fallo. Relacionado con la latencia
del nivel más bajo.
Tiempo de transferencia: tiempo para transferir las restantes
palabras del bloque. Relacionado con el ancho de banda entre
las memorias de nivel más bajo y más alto.

- Características de las jerarquías de memoria:


 Ubicación del bloque: dónde puede ubicarse un bloque en el nivel superior.
 Identificación del bloque: cómo se encuentra un bloque en el nivel superior.
 Sustitución del bloque: qué bloque debe reemplazarse en caso de fallo.
 Estrategia de escritura: qué ocurre en una escritura.

MEMORIA CACHÉ: Primer Nivel

- Ubicación de un bloque en la cache_


 Correspondencia directa: cada bloque de ir solamente en un lugar dentro de la
cache.
 Asociativa: un bloque pude ubicarse en cualquier lugar de la cache.
 Asociativa por conjuntos: un bloque puede ser colocado en un grupo restrido
de lugares de la cache.

- Identificación de un bloque de cache:


 Cada bloque contiene una etiqueta que identifica la dirección de la estructura
de bloque (DEB).

- Búsqueda de bloque:
 Cache asociativa: el bloque puede estar en cualquier lado, por lo que hay que
buscarlo en todas las etiquetas.
 Cache de correspondencia directa: sólo se debe buscar una etiqueta.
 Cache asociativa por conjuntos: se deben buscar todas las etiquetas del
conjunto en el que puede estar el bloque.

- Sustitución de bloque:
 Ante un fallo de cache es necesario traer un bloque nuevo y ubicarlo en algún
lugar del nivel superior.
o Si existe algún bloque de cache con datos no válidos, el reemplazo se
hace en ese lugar.
o Debido a la alta frecuencia de aciertos de la cache es necesario tomar
estrategias de reemplazo.
o Si la cache es de mapeo directo no hay problema, ya que el nuevo
bloque puede ir en un solo lugar .
o En caso de caches asociativas, el bloque puede ubicarse en diferentes
lugares.

- Estrategias de sustitución de bloques.


 Aleatorio: Mediante algún mecanismo de hardware se seleccionan
uniformemente los bloques candidatos.
 Pseudo aleatorio: para obtener una distribución de bloques con un
comportamiento reproducible útil durante la depuración del hardware.
 Menos usado recientemente, Last Recently Used (LRU):
o Disminuye la posibilidad de desechar información que sea necesitará
pronto.
o Se registran los accesos a los bloques de manera que el bloque
sustituido es aquel que hace más tiempo que no se usa.

- Estrategia de escritura:
 Escritura directa: la información se escribe en el bloque de cache y también en
el bloque de memoria de nivel inferior.
 Postescritura: la información se escribe solo en el bloque de la cache. El
bloque modificado de la cache se escribe en memoria principal sólo cuando es
reemplazado.

- Ventaja de cada política:


 Postescritura:
o Las escrituras se realizan a velocidad de la cache.
o Múltiples escrituras de un bloque requieren una única escritura en la
memoria de nivel inferior.

- Escritura directa:
 Los fallos de lectura no ocasionan escrituras en el nivel inferior.
 Más fácil de implementar que el anterior.
 Mantiene siempre coherente la memoria cache y la memoria inferior (útil en
los sistemas multiproceso en los que varias CPU’s acceden simultáneamente a
los datos).

- Tipos de fallos de cache:


 Forzosos: el primer acceso a un bloque no está en la cache; así que el bloque
de ser traído a la misma. Estos también se denominan fallos de arranque en
frío o de primera referencia.
 De capacidad: si la cache no puede contener todos los bloques necesarios
durante la ejecución de un programa, se presentarán fallos de capacidad
debido a los bloques que se descartan y luego se recuperan.
 De conflicto: si la estrategia de ubicación es asociativa por conjuntos o de
mapeo directo, estos fallos ocurrirán, ya que se puede descartar un bloque y
posteriormente recuperarlo si a un conjunto le corresponden demasiados
bloques.
MEMORIA PRINCIPAL: Segundo nivel

- Memoria RAM:
 Las memorias de Acceso Aleatorio son conocidas como memorias RAM de la
sigla Random Access Memory.
 Son volátiles (la información se pierde cuando no hay energía) y se clasifican
RAM estática y RAM dinámica.
 Se caracterizan por ser memorias de Lectura/Escritura y contiene un conjunto
de variables de dirección que permiten seleccionar cualquier dirección de
memoria de forma directa e independiente de la posición en que se
encuentre.

MEMORIA VIRTUAL: Tercer nivel

- Implementación de la jerarquía de memoria entre el segundo y el tercer nivel de


memoria:
 Esquema similar al del nivel de cache.
 Estrategia de manejo orientada al S.O. más que al rendimiento del H.W.
 Terminología:
o Segmento o página: se refieren a un bloque.
o Fallo de segmento o página: se refieren a un fallo.
- Otras diferencias:
 El reemplazo de los fallos de cache está controlado por el hardware mientras
que el reemplazo en memoria virtual se controla por el sistema operativo.
 El tamaño de la dirección del procesador determina el tamaño de la memoria
virtual, pero el tamaño de la cache es normalmente independiente de la
dirección del procesador.
 El nivel más bajo de la memoria virtual (discos) se comparte con el sistema de
archivos del S.O., con lo cual el tamaño o capacidad de la memoria virtual no
es siempre la misma.

- Tipos de memoria virtual:


 Paginada:
o Bloques fijos.
o Tamaño: 512 a 8192 bytes.
o Relacionada con aspectos físicos del nivel inferior.

 Segmentada:
o Bloques variables.
o Tamaño: 1 a 232 bytes.
o Relacionada con aspectos de programación.

- Ubicación de bloques en memoria principal:

La penalización de falos de memoria virtual involucra el acceso a un dispositivo


generalmente lento (discos magnéticos).

Alternativas:

 Reducir la frecuencia de fallos.


 Utilizar un algoritmo de ubicación de bloques mas sencillo.

Elección más adecuada:


 Disminuir la frecuencia de fallos debido al alto costo que esto tiene.
Por lo tanto, los sistemas operativos permiten que un bloque se coloque en
cualquier parte de la memoria virtual.

- Estrategia de reemplazo:
 Meta principal: minimizar los fallos de página por su coste elevado en tiempo.
 Algoritmo de sustitución: elección del bloque menos recientemente usado
(LRU). Es el que menos, probablemente, se necesitará.
- Estrategia de escritura: una escritura al nivel más bajo de memoria virtual (el disco) es
bastante costosa en tiempo.
El sistema operativo trata de evitar accesos a disco hasta que el bloque sea
reemplazado haciendo todas las escrituras en memoria principal, siendo utilizada la
estrategia de Postescritura.
- Inconveniente: falta de coherencia entre RAM y discos.
RESUMEN GENERAL:

Memoria principal Memoria secundaria


- Volátil. - No volátil.
- Almacenar temporalmente. - Almacenar permanentemente.
- Mas rápida, costosa pero menos - Mas lenta, mas barata pero mayor
capacidad. capacidad.
- Está más cerca del CPU. - Está más lejos del CPU y necesita
intermediarios.
- Podemos encontrar la memoria - Podemos encontrar los discos
cache y ROM. magnéticos, solidos, ópticos.

Resumen: orden de jerarquía de memorias:

Registro: es una memoria de muy alta velocidad que usan los procesadores para acceder
continuamente a información importante.

Cache: memoria intermediaria entre RAM y CPU. Tiene 3 niveles, en el cual esta ordenado de
acuerdo cuál este más cerca del procesador, L1 mas cerca del procesador, más rápida, pero
con menos capacidad.

RAM: memoria que va a contener los procesos y se relaciona tanto con cache como con discos.

Discos solidos / rígido…

Memorias extraíbles / nube…

REPRESENTACIÓN NUMÉRICA EN COMO FIJA Y COMA FLOTANTE:

Consiste en una cadena de bits que guardan relación con la notación científica, y pueden
representar números enteros y reales tanto negativo como positivos.

Los formatos más conocidos son la coma fija y la coma flotante, también denominados punto
fijo y punto flotante respectivamente. Se utiliza en ambos casos para representar Signo –
Magnitud.

- Punto fijo o coma fija: En la representación interna del ordenador, la coma no existe,
simplemente sabemos donde está, pero no se usa ningún bit ni ninguna línea eléctrica
para representarla.
Por ejemplo: si hemos reservado 2 bits para la parte fraccionaria, sabemos que la
secuencia de unos y ceros “1010110012” equivale al número “1010110,012”. A esta
forma de entender las representaciones la llamamos Numeración en punto fijo, ya que
la coma fraccionaria (un punto en la numeración americana), ocupa una posición fija,
sea cual sea.
REPRESENTACIÓN EN COMA FLOTANTE:

- Los números representados en coma flotante tienen la misma forma que la notación
científica. La representación tiene la siguiente forma:

N = MxbE N = número
M = número normalizado
b = base
E = exponente

- Formatos en coma flotante para datos numéricos reales cortos y largos utilizados en
los computadores:
La idea consiste en representar únicamente las cifras importantes del número e indicar
cuántos ceros a la derecha hay que añadir (o a la izquierda si el número queda a la
derecha de la coma fraccionaria), o lo que es lo mismo, cuantas posiciones a la
izquierda o derecha hay que desplazar la coma decimal respecto a las cifras principales
(llamadas mantisa).

La primera es 1 bit destinado al signo del nro. El resto de bits se reparten entre el
exponente y la mantisa. Cuantos más bits se dediquen al exponente, mayor rango de
números se podrá representar, ya que la coma decimal se podrá desplazar en un
mayor rango de valores.

La representación de números fraccionarios que necesita de una menor cantidad de


dígitos para su representación mediante notación científica es aquella que usa un
punto decimal después de la primera cifra significativa de la mantisa. Esta forma de
representación se denomina normalizada.

- Estándar IEEE de punto flotante


El más utilizado es el estándar IEEE 754, del que hay 2 tipos: IEEE 754 simple precisión
en el que la palabra es de 32 bits y formato IEEE 754 doble precisión en el que la
palabra es de 64 bits. Difieren además del tamaño de la palabra, en el número de bits
que asignan a cada campo.

 IEEE 754: este convenio en ambos formatos usa un truco llamado bit oculto:
como el bit más significativo de la mantisa es un 1, ahorramos un bit
simplemente asumiéndolo. El inconveniente de emplear 1 bit oculto es que se
requiere una representación especial para el cero.
 Exponente con signo: está conformado por los 8 bits a continuación del signo.
Esta ubicación en la palabra facilita las comparaciones de números. Si los
números se encuentran normalizados, comparamos exponentes. Si son iguales
pasamos a comparar las mantisas.

Se usa una representación en exceso N de forma que el exponente más


negativo posible quede en 0000 0001 y el mas grande los positivos en 1111
1110. El estándar IEEE 754 usa como exceso 127 para precisión simple.

 Mantisa: está formada por el resto de los bits en la palabra (23). Como los
números se representan de manera normalizada entonces tendremos un 1 a la
izquierda del punto. Por lo tanto, este dígito no es necesario almacenarlo en la
palabra y se tiene de manera implícita. La mantisa consiste en 24 bits de
precisión.

Ejemplo 1: Representación del 7.

o Convertimos el nro. a binario: 710 = 1112


o Normalizamos el nro. : 1.112 x 22
o Calculamos el exponente con exceso 127 para precisión simple:
2 + 127 = 12910 = 1000 00012
o El nro. 7 en estándar IEEE es representado como:

Ejemplo 2: Representar el número 21:

o Convertimos el nro. a binario: 2110 = 101012


o Normalizamos el nro. : 1.01012 x 24
o Calculamos el exponente con exceso 127 para precisión simple:
4 + 127 = 13110 = 1000 00112
o El nro. 7 en estándar IEEE es representado como:
0 10000011 01010000000000000000000

IEEE 754 Precisión Simple (de binario a decimal):

0 00001100 01000000000000000000000
- Exponente en exceso: 00001100 = 1210
- Exponente = 1210 - 12710 = -11510
Los dígitos que están en la mantisa van a formar parte del número decimal y, por lo
tanto, el número representado es: 1.012 x 2-115 = (1 + 0.25) x 2-115 = 1.2510 x 2-115

IEE 754 Precisión Doble:

Se usa una representación en exceso de N de forma que el exponente más negativo


posible quede en 000 0000 0001 y el más grande de los positivos en 111 1111 1110. El
estándar IEEE 754 usa como exceso 1023 para precisión doble.

 Exponente más negativo representable:


o -x + 1023 = 000 0000 0001 (x = -1022)
 Exponente más grande representable:
o x + 1023 = 111 1111 1110 (x = 1023)

Ejemplo: Representar el número 1007


 Convertimos el número a binario: 100710 = 00000011111011112
 Normalizamos el número: 1.1111011112 x 29
 Calculamos el exponente con exceso 1023 para precisión simple:
9 + 1023 = 103210 = 100000010002
 El número 1007 en estándar IEEE 754 es representado como:
0 10000001000 1111011110000000000000000000000000000000000000000000
EJERCICIO PRÁCTICA

- Pasar el número 28,6875 precisión simple

28 / 2 = 14 Resto = 0
14 / 2 = 7 Resto = 0
7/2=3 Resto = 1
3/2=1 Resto = 1

28(10) = 11100(2)

0,6875 x 2 = 1,375
0,375 x 2 = 0,75
0,75 x 2 = 1,5
0,5 x 2 = 1

0,6875(10) = 0,1011(2)

28,6875(10) = 11100,1011(2)

Normalizamos el número 11100,1011(2) : 1,11001011 x 24

Calculamos el exponente con exceso 127: 4 + 127 = 131(10)


131 / 2 = 65 Resto = 1
65 / 2 = 32 Resto = 1
32 /2 = 16 Resto = 0
16 /2 = 8 Resto = 0
8/2=4 Resto = 0
4/2=2 Resto = 0
2/2=1 Resto = 0

131(10) = 10000011(2)

Representado en estándar IEEE 754 precisión simple es :


0 10000011 11001011000000000000000

- De IEEE 754 precisión simple a decimal


0 10000011 11001011000000000000000

Signo = 0 (positivo)

Exponente: 10000011
1x20 + 1x21 + 0x22 + 0x23 + 0x24 + 0x25 + 0x26 + 1x27 =
1 + 2 + 0 + 0 + 0 + 0 + 0 + 128 = 131

10000011(2) = 131(10)
131 – 127 = 4(10)
Mantisa: 11001011000000000000000
1,11001011 x 24

Corremos la coma 4 lugares: 11100,1011(2)

Pasamos a decimal:
0x20 + 0x21 + 1x22 + 1x23 + 1x24 =
0 + 0 + 4 + 8 + 16 = 28(10)
11100(2) = 28(10)

1x2(-1) + 0x2(-2) + 1x2(-3) + 1x2(-4) =


0,5 + 0 + 0,125 + 0,0625 = 0,6875

0,1011(2) = 0,6875(10)

11100,1011(2) = 28,6875(10)

HAMMING

- El problema que suele aparecer generalmente en la comunicación es que el medio en


el que se transporta el mensaje suele tener lo que se denomina RUIDO.
Por ejemplo: cuando hay 2 personas charlando y una maquinaria funcionando, el
mensaje puede distorsionarse dificultando la capacidad del receptor de poder
decodificar el mensaje.
En las comunicaciones digitales pasa lo mismo pero las causas y los efectos son muy
diferentes.

La transmisión y recepción de datos binarios desde un dispositivo a otro están


propenso a errores por alteraciones externas del medio en el que se transmiten:
 Campos magnéticos.
 Interferencias.
 Ruidos eléctricos.
 Caídas de tensión.

- Detección de errores: Cuando el mensaje sufre alguna de estas interferencias es


importante que el sistema los detecte ya que un mensaje erróneo puede acarrear:
 Un resultado erróneo (sistemas inconsistentes).
 Búsqueda de bloques de memoria inexistentes (tiempo de ejecución
enormes).
 Pérdida de datos (falla en el objetivo del sistema).
- Detección y corrección de errores:
 Códigos de detección de errores: enviar información junto con los datos que
permita deducir que error ocurrió, pero no cual, y pida una retransmisión.
 Códigos de corrección de errores: enviar información redundante junto con
cada bloque de datos a enviar al receptor para deducir que carácter se envió.
- Definiciones:
 Error: un error en datos binarios es definido como un valor incorrecto en uno o
más bits.
 Single error: valor incorrecto en un solo bit.
 Multiple error: uno o más bits incorrectos.
 d(I, J): distancia entre I e J.
 w(P): peso de la palabra P. Número de bits dentro de P iguales a 1.

Ejemplo: Considerar las siguientes palabras:


I = 01101100 J = 11000100

El peso de cada una es:


w(I) = 4 w(J) = 3

La distancia entre las dos es:


d(I , J) = 3

- Método por paridad:


 Este método consiste en establecer un tipo de paridad (par o impar)
agregando un bit de modo que el peso del dato corresponda con la paridad. Es
decir que el peso corresponde a la paridad.
 Es muy utilizado en las comunicaciones seriales de datos.
 Este bit se agrega en la parte mas significativa del dato (BMS).
Ejemplos:
A) 1010 B) 1110101 C) 001001

Calcular paridades:

Solución Par: A) 01010 B) 11110101 C) 0001001


Solución Impar: A) 11010 B) 01110101 C) 1001001

Conclusión: este método es eficiente en la detección de errores cuando hay


confiabilidad.
Solo se puede detectar errores de dos datos que difieran en un bit, sin
embargo, no los corrige y a lo sumo puede señalizar el error y/o solicitar que
vuelvan a enviar el dato, byte, palabra, bloque.

- Método de detección por Hamming: Inventado por Richard Hamming en 1950


 Redundancia: el mensaje es dividido en dos partes.
o Los bits de datos del mensaje.
o Los bits de redundancia para verificar el mensaje.
 Paridad:
o Valor de los bits de redundancia.
o Bit paridad par: el bit tiene valor de tal forma que el peso de la palabra
sea par.
o Bit paridad impar: el bit tiene valor de tal forma que el peso de la
palabra sea impar.
Ejemplo:

Dato: 0110
Paridad: par

0001 0010 0011 0100 0101 0110


Posicion 1 2 3 4 5 6
Dato 0 1 1
P1 1 0 1
P2 1 0 1
P3 0 1 1
Dato Final 1 1 0 0 1 1
Referencias:
Posición reservada para Hamming

Resultado final con Hamming: 1100110

Ejemplo: mensaje con error

Dato: 1100100

0001 0010 0011 0100 0101 0110 0111


1 2 3 4 5 6 7
0 1 0 0
1 0 1 0
0 0 0 0
1 1 0 0
1 0 0 1 1 0 0
Referencias:
Posición reservada para Hamming

Mensaje original: 1100100

Paridad codificada Paridad decodificada Error


P1 1 1 0
P2 1 0 1
P3 0 1 1
Posición del Error 110(2) = 6(10)

Mensaje final corregido: 1100110


ÁLGEBRA DE BOOLE

- Resulta ser una herramienta útil en dos áreas:


 Análisis: es una forma concisa de describir el funcionamiento de dos circuitos
digitales.
 Diseño: dada la función deseada, se puede aplicar el álgebra para simplificar
dicha función.
- Componentes de un álgebra:
 Variables: pueden tomar valores 0 o 1.
 Operaciones: op. log. básicas.
o AND
o OR
o NOT
- Representación de las operaciones básicas:
 A AND B = A . B
La operación AND es verdadera (1) si y sólo si los dos valores son verdaderos.

 A OR B = A + B
Es verdadero si al menos 1 de los dos operandos es verdadero.

o NOT A = A’ o -A
Si A es verdadero entonces A’ va a ser falso. Pero si A es falso entonces
A’ va a ser verdadero.
Ejemplo:
D = A + (-B + C)
D es igual a 1 si A es 1 o si B = 0 o si C = 1.
En otro casi D es igual a 0.

CAS0 1:
Resolución del ejemplo: D = A + (-B + C)
o D = 1 => A = 1 , B = 0 y C = 1
o D = 1 + (-0 + 1)
o D = 1 + (1 + 1)
o D=1

CAS0 2:
Resolución del ejemplo: D = A + (-B + C)
o D = 1 => A = 1 , B = 1 y C = 0
o D = 1 + (-1 + 0)
o D = 1 + (0 + 0)
o D=1

CASO 3:
Resolución del ejemplo: D = A + (-B + C)
o D = 1 => A = 0 , B = 1 y C = 0
o D = 0 + (-1 + 0)
o D = 0 + (0 + 0)
o D=0

- Aclaraciones: En ausencias de paréntesis la operación AND es preferente a la


operación OR. Si no hay ambigüedad la operación AND se presenta como una
concatenación.

A + B.C = A + (B.C) = A + BC

- La tabla define las operaciones básicas en una forma conocida como TABLA de
VERDAD.
 Se enumeran otros tres operadores:
o XOR
o NAND
o NOR

Los dos postulados agregados anteriormente denotan la manera en las que se


interpretan las expresiones.
 A NAND B = NOT (A AND B) = NOT A OR NOT B
 A NOR B = NOT (A OR B) = NOT A AND NOT B
Las dos expresiones anteriores se denominan: Teorema de Morgan

TABLA COMPLETA:
LEYES:

A.B = B.A A+B = B+A Ley conmutativa


A.(B+C) = (A.B) + (A.C) A+(B.C) = (A+B) . (A+C) Ley distributiva
1.A = A 0+A = A Elemento Neutro
A . A’ = 0 A + A’ = 1 Elemento complemento
0.A = 0 1+A = 1 Ley Nula
A.A = A A+A = A Idempotencia
A.(B.C) = (A.B).C A+(B+C) = (A+B)+C Ley Asociativa
-(A.B) = -A + -B -(A+B) = -A . -B Teorema de Morgan
A.(A+B) = A A + A.B = A Ley de Absorción

Puertas: bloque fundamental de construcción de todos los circuitos lógicos digitales.


o Las funciones lógicas se implementan interconectando puertas.
o Cada puerta se define de tres formas:
 Símbolo gráfico.
 Notación algebraica.
 Tabla de verdad.

EJEMPLO:

A B A AND B A OR B A NOR B (A AND B) OR


(A NOR B)
0 0 0 0 1 1
0 1 0 1 0 0
1 0 0 1 0 0
1 1 1 1 0 1
Formula:
(A.B) + -(A+B)
(A.B) + -A . -B

- Existen dos formas básicas de expresión canónica que pueden ser interpretadas en dos
niveles de compuertas:
 Suma de productos o expansión de minitérminos.
 Productos de sumas o expansión de maxitérminos.

- Permiten asociar a una función una expresión algebraica única.


- La tabla de verdad también es una representación única para una función booleana.

Los términos son productos o minitérminos:


 Formado por los productos AND que para las diferentes combinaciones de
entradas producen salida verdadera.
 En cada producto cada variable aparece una vez, esta puede estar invertida.

PASO A PASO:
PRODUCTO DE SUMAS
 También conocida como expansión de maxitérminos.

 Los terminos son sumas o maxitérminos:


o Formado por las suma OR que para las diferentes combinaciones de
entradas producen salida falsa.
o En cada producto cada variable aparece una vez, esta puede estar
invertida.
DISPOSITIVOS DE ENTRADA Y SALIDA

Los dispositivos externos dedicados a la E/S en un computador se pueden agrupar en tres


categorías:

 Legibles para el usuario: Adecuados para la comunicación con el usuario. Por


ejemplo, impresoras, terminales de verificación gráfica, teclado, etc.
 Legibles para la máquina: Adecuados para la comunicación con equipamiento
electrónico. Por ejemplo, unidades de discos y de cintas y los controladores.
 Comunicación: Adecuados para la comunicación con dispositivo remotos. Por
ejemplo: son los controladores de una línea digita y los módems.

DIFERENCIAS ENTRE LAS DISTINTAS CATEGORIAS:

- Velocidad de transferencia de datos: Puede haber diferencias de varios órdenes de


magnitud entre las velocidades de transferencia de datos.
- Aplicación: El uso al que está destinado un dispositivo tiene influencia en el software y
en las políticas del sistema operativo y de las herramientas que le dan soporte.
- Complejidad de control: Una impresora requiere una interfaz de control sencilla. Un
disco es mucho más complejo.
- Unidad de transferencia: Los datos pueden transferirse como un flujo de bytes o
caracteres (por ejemplo, la E/S de un terminal) o en bloques de mayor tamaño (por
ejemplo, la E/S de un disco).
- Representación de datos: Los dispositivos utilizan diferentes esquemas de codificación
de datos, incluyendo diferencias en el código del carácter y en las convenciones sobre
paridad.
- Condiciones de error: el modo en que se notifican, sus consecuencias y el rango
disponible de respuestas difieren considerablemente de un dispositivo a otro.

CARACTERISTICAS DEL SISTEMA DE E/S

- E/S programada: el procesador envía un mandato de E/S, a petición de un proceso, a


un módulo de E/S, a continuación, ese proceso realiza una espera activa hasta que se
complete la operación antes de continuar.
- E/S dirigida por interrupciones: el procesador emite un mandato de E/S a petición de
un proceso y continúa ejecutando las instrucciones siguientes, siendo interrumpido
por el módulo de E/S cuando éste ha completado su trabajo. Las siguientes
instrucciones pueden ser del mismo proceso o de otro dependiendo del planificador.
- Acceso directo de memoria (Direct Memory Access, DMA): Un módulo de DMA
controla el intercambio de datos entre la memoria principal y un módulo de E/S. El
procesador manda una petición de transferencia de un bloque de datos módulo de
DMA y resulta interrumpido sólo cuando se haya transferido el bloque completo.

CONTROLADORES DE DISPOSITIVOS:

La comunicación entre la CPU y el controlador se realiza a través de los registros del


controlador.

 Registro de datos: Almacena los datos de entrada o salida.


 Registro de estado: Indica si la orden se ha ejecutado, si ha habido errores…
 Registro de control: Indica al controlador las órdenes a realizar.
Estos registros :
 Forman parte del espacio normal de direcciones de memoria.
 Tienen un espacio de direcciones especial.

FUNCIONAMIENTO DEL DMA

 Si se trata de una operación de lectura o de escritura, utiliza para ello la línea


de control de lectura o escritura que existe entre el procesador y el módulo de
DMA.
 La dirección del dispositivo de E/S involucrado, lo comunica mediante las
líneas de datos.
 La dirección inicial de memoria que se pretende leer o escribir, lo comunica
mediante las líneas de datos y lo almacena en el registro de dirección del
módulo de DMA.
 El número de palabras que se van a leer o escribir, lo comunica de nuevo
mediante las líneas de datos y lo almacena en el registro contador de datos.

ASPECTOS DE DISEÑO DEL SISTEMA OPERATIVO

Hay dos objetivos de suma importancia en el diseño del sistema de E/S:

- Eficiencia: es importante debido a que las operaciones de E/S usualmente significan un


cuello de botella en un computador. La mayoría de los dispositivos de E/S son
extremadamente lentos comparados con la memoria principal y el procesador.
- Generalidad: En busca de la simplicidad y la eliminación de errores, es deseable
manejar todos los dispositivos de una manera uniforme. Esta afirmación se aplica
tanto al modo en que los procesos ven los dispositivos de E/S como a la manera en que
al sistema operativo gestiona los dispositivos y las operaciones de E/S.

ESTRUCTURA LÓGICA DE LOS SISTEMAS DE E/S

 E/S lógica: trata a los dispositivos como un recurso lógico y no se ocupa de los
detalles del control real del dispositivo. Realiza mandatos sencillos como abrir,
cerrar, leer y escribir.
 E/S de dispositivo: las operaciones requeridas y los datos (caracteres en los
buffers, registros, etc.) se convierten en las secuencias apropiadas de
instrucciones de E/S, mandatos del canal y órdenes del controlador.
 Planificación y control: se manejan las interrupciones y se recoge el estado de
la E/S y se informa del mismo.

UTILIZACIÓN DE BUFFERS DE E/S

- Dispositivo orientado a bloques: almacena información en bloques que son


usualmente de tamaño fijo realizándose las transferencias de bloque en bloque.
- Dispositivo orientado a flujo de caracteres: transfiere los datos, tanto de entrada como
de salida, como un flujo de bytes, sin estructura de bloques.
- Buffer único: cuando un proceso de usuario emite una petición de E/S, el sistema
operativo asigna un buffer para la operación en la parte de sistema de la memoria
principal.
- Buffer doble: un proceso transfiere datos a (desde) un buffer mientras el sistema
operativo vacía (o llena) otro.
- Buffer circular: el buffer circular se lo conoce cuando se utiliza mas de dos buffers.

SISTEMAS OPERATIVOS

Un sistema operativo es un software que se instala en el hardware. Se lo clasifica como un


conjunto de programas de un sistema informático.

- Funciones principales:
 Administrador de recursos: el sistema operativo se encarga de arbitrar el uso y
asignación de los recursos ya que coexisten varios programas, del mismo o
varios usuarios, ejecutándose simultáneamente.
 Máquina extendida: el sistema operativo ofrece una interfaz más cómoda y
sencilla que abstrae al usuario de la complejidad de la ejecución de los
diferentes procesos.
Por ejemplo, proporciona para los programas un conjunto de servicios o llamas
al sistema, que pueden solicitar cuando lo necesiten.
- Funciones que administra el sistema operativo:
 CPU
 Dispositivos de E/S
 Memoria
 Colas de procesos.
 Administración de recursos.
- Un sistema operativo está formado por los siguientes módulos:
 Núcleo
 Administrador de memoria
 Sistema de E/S
 Administrador de archivos
 Intérprete de comandos o de instrucciones.
- Clasificación por tipo de servicio:
 Sistemas tipo BATCH (en lote): permite que un solo programa se ejecutado a la
vez. El programa que es cargado es ejecutado completamente. Los datos
usados por el programa no pueden ser modificados mientras el programa está
siendo ejecutado. Cualquier error en el programa o en los datos significa
comenzar todo nuevamente.
 Sistema en tiempo compartido (time – sharing): comparten la computadora
entre más de un usuario y adopta técnicas de escalonamiento por prioridades.
Permite que un gran número de usuarios interactúen y ejecute diversos
programas de forma simultánea en una sola computadora. Este se utiliza en
internet MAN (Metropolitan Area Network).
 Sistema en tiempo real: el sistema operativo monitoriza varias entradas que
afectan la ejecución de procesos, cambiando los modelos de computadoras
del ambiente, afectando las salidas, dentro de un periodo de tiempo
garantizado (menos segundo). Red LAN (Local Area Network).

- PROCESO: es un programa en ejecución. Es una unidad activa que se caracteriza por la


ejecución de una secuencia de instrucciones, un estado actual y un conjunto de
recursos del sistema.
 Bloque de control de un proceso (BCP): es un registro especial donde el S.O.
agrupa toda la información que necesita conocer respecto a un proceso
particular. Cada que se crea un proceso el S.O. crea el BCP correspondiente
para que sirva como descripción en el tiempo de ejecución durante toda la
vida del proceso.
 Información que contiene el BCP:
o Identificador del proceso (número único).
o Estado del proceso (listo, ejecución, bloqueado).
o Contador del programa (dirección de la próxima instrucción a
ejecutar).
o Espacio de direcciones de memoria.
o Prioridad.
o Permisos asignados.
o Lista de recursos asignados (archivos).
 Estado de los procesos:
o Ejecución (running): proceso en ejecución en la CPU.
o Listo (ready): proceso esperando que se libere el procesador para
poder ejecutarse.
o Bloqueado (locked): proceso esperando por un evento antes de que
pueda entrar en estado de listo ya sea por:
 Un recurso le sea otorgado.
 Una acción del S.O. , usuario u otro proceso.

También podría gustarte