Вы находитесь на странице: 1из 51

1

Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Universidad Nacional de Lu]an
Departamento de Ciencias Basicas
Divisin Estadistica y 8istemas
Asignatura:
Introduccin a Ia informtica
Mdulo:
Organizacin de computadoras
Autores:
Lic. Fernando R. A. Bordignon
Ms Gabriel Tolosa
Lic. Fernando Lorge
A.S Gustavo Croch
Revisin:
Anabela Lorge
- 2010
2
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
ndice
1. Conceptos fundamentaIes
1.1 Informtica
1.2 Computadora
1.3 Jerarqua de computadoras
1.4 EvoIucin deI hardware
2. Representacin de Ia Informacin en Computadoras
2.1 Introduccin
2.2 Sistemas de numeracin
2.3 Sistemas de numeracin usuaIes en informtica
2.3.1 HexadecimaI
2.3.2 OctaI
2.3.3 Binario
2.4 Transformaciones entre sistemas de numeracin
2.4.1 DecimaI a binario
2.4.2 Binario a octaI
2.4.3 Binario a hexadecimaI
2.4.4 HexadecimaI a binario
2.5 Operaciones aritmticas en eI sistema binario
2.6 Operaciones Igicas eI sistema binario
2.7 La informacin y su representacin.
2.7.1 EI cdigo Baudot
2.7.2 EI cdigo EBCDIC
2.7.3 EI cdigo ASCII
2.7.3.1 RegIas de orden de caracteres ASCII
3. Unidades funcionaIes de una Computadora
3.1 Computadora
3.2 Mquina de Von Neumann
3.2.1 Memoria
3.2.2 Unidad centraI de proceso
3.2.2.1 Unidad aritmtico y Igica
3.2.2.2 Unidad de controI
3.2.3 Lneas de comunicacin - Buses
3.2.4 Dispositivos de entrada/saIida
3.3 SimuIador PIPPIN
3.3.1 Modo de operacin
3.3.2 Un ejempIo senciIIo
3.3.3 Semntica de Ias instrucciones PIPPIN
3.3.4 Juego de instrucciones PIPPIN
3.3.5 Otros ejempIos
4. Sistema operativo
4.1 Definicin
4.2 Conceptos bsicos
4.3 ModeIo de capas de Ia computadora
4.4 Funciones deI sistema operativo
4.5 Tipos de sistemas operativos
4.5.1 Sistemas Operativos por su Estructura
4.5.1.1 Estructura monoItica
4.5.1.2 Estructura Jerrquica
4.5.1.3 Mquina virtuaI
4.5.2 Sistemas Operativos por Servicios
4.5.2.1 Monousuarios
4.5.2.2 MuItiusuarios
4.5.2.3 Monotareas
4.5.2.4 MuItitareas
4.5.2.5 Uniprocesador
4.5.2.6 MuItiprocesador
3
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
BibIiografa
Introduccin a Ia Informtica
C. Pareja, A. Andeyro, M. Ojeda. Editorial Complutense, 1994
Libro digital disponible por sus autores en nternet.
Direccin de descarga http://www.satd.uma.es/aciego/libros.html#info1
Sistemas Operativos Modernos
Tanenbaum, Andrew S. Prentice Hall
Disponible en biblioteca
Organizacin de Computadoras
Tanenbaum, Andrew S. prentice Hall. 4ta ed.
Disponible en biblioteca
Arquitectura de Computadoras
Morris Mano, M. Prentice Hall. 3ra ed.
Disponible en biblioteca
Organizacin y Arquitectura de Computadores
Stallings, William. Prentice Hall. 5ta ed.
Disponible en biblioteca
4
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
1. Conceptos fundamentaIes
1.1 Informtica
Es un neologismo francs que se forma como contraccin de las palabras INFORmacin
autoMTICA y se define como el tratamiento automtico y racional de la informacin. Su
objetivo es procesar datos de entrada para obtener resultados finales. Procesar datos implica
la transformacin, el almacenamiento, la organizacin y la transmisin de los mismos.
Segn el diccionario de la Real Academia de la Lengua Espaola la informtica es el
"conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico
de la informacin por medio de computadoras".
Ejemplo: Determinacin de y en la ecuacin de la recta, para un x dado
Ecuacin de la recta y = (x * pendiente) + origen
ENTRADA, datos: x = 5, pendiente = 6, origen = 2
PROCESAMENTO y = (5 * 6) + 2
SALDA, resultados: y = 32
Los datos son registros de hechos que mediante un proceso permiten reducir la
incertidumbre sobre una situacin particular, es decir, aportan informacin a los efectos de
facilitar la toma de decisiones. Las actividades relacionadas al tratamiento de la informacin
se resumen en el siguiente grfico:
El procesamiento se realiza en base a un algoritmo que determina el conjunto de acciones a
realizar sobre los datos. Es decir que un algoritmo es un mtodo para resolver problemas que
pueden ser programados y resueltos por un ejecutor (un humano o una computadora).
Entrada
Entrada
(datos)
Procesamiento
Salida
(resultados)
Recoleccion de datos
Depuracion de Datos
Almacenamiento de datos
Proceso
Operaciones aritmeticas
Operaciones Logicas
Salida
Recoleccion de datos
Analisis de los resultados
Distribucion de resultados
5
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Concretamente, un algoritmo es un conjunto finito de pasos que se ejecutan secuencialmente
y que llevan a la solucin de un problema especfico.
Como caractersticas principales de un algoritmo se pueden citar que:
a) contiene una serie finita de pasos,
b) los pasos se describen de forma precisa (sin ambigedad para el ejecutor, si se
ejecuta distintas veces con los mismos datos iniciales se obtiene el mismo resultado.)
c) se ejecuta en un tiempo finito.
d) es efectivo, para que una persona sea capaz de realizar el algoritmo de modo
exacto y sin la ayuda de una mquina en un lapso de tiempo finito
e) es determinstico, debido a que en cada del algoritmo se determina de forma nica
el siguiente paso
Ejemplo de algoritmo:
El algoritmo ms antiguo actualmente documentado es el algoritmo de Eucldes (300 aos
AC). Permite determinar el mximo comn divisor (MCD). Su planteamiento es:
Dados dos nmeros a y b que pertenecen a los enteros positivos se desea calcular el
MCD, denotado por MCD(a,b).
El algoritmo se presenta de la siguiente forma:
Dado a, b
Residuo = 0
Hacer
residuo = a modulo b
a = b
b = residuo
Mientras residuo <> 0.
mprimir a.
Ejemplo de una ejecucin:
Datos de inicio: a = 32, b = 20 Salida: 4
Traza de ejecucin:
Vuelta a b Residuo
Entrada 32 20 0
1era 20 12 12
2da 12 8 8
3ra 8 4 4
4ta 4 0 0
Salida 4
6
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
1.2 Computadora
Una computadora es una mquina electrnica programable que tiene por objetivo procesar
datos de entrada y obtener resultados en base a instrucciones derivadas de un programa
almacenado en su memoria.
Las computadoras resultan tiles para realizar tareas que tengan algunas de las siguientes
caractersticas:
necesidad de un gran volumen de datos
existencia de datos comunes a varias tareas
que sean repetitivas
que estn distribuidas geogrficamente
que necesiten significativa precisin
que requieran clculos complejos
que se deban realizar a gran velocidad
Un programa es la transcripcin de un algoritmo utilizando algn lenguaje que la
computadora sea capaz de interpretar y ejecutar. Tal lenguaje est formado por un conjunto
finito de instrucciones con una sintaxis definida que permite especificar los pasos del
algoritmo. Ejemplos de Ienguajes de programacin para computadoras son: perl, C, pascal,
java, lisp, prolog.
Los programas junto con los datos y resultados constituyen los elementos lgicos definidos
por el trmino software. Por otro lado, hardware se define como el conjunto de todos los
elementos fsicos que componen una computadora: es la mquina en s.
En principio, la computadora slo es capaz de procesar lenguaje de mquina, que est
especificado en notacin binaria (slo contiene 2 posibles caracteres, 0 y 1). A los efectos de
simplificar la escritura de programas existen los lenguajes de programacin de alto nivel,
como los mencionado anteriormente, que son utilizados por los tcnicos programadores.
Los lenguajes de alto nivel estn diseados para que los humanos escriban y entiendan los
programas de un modo mucho ms fcil que si trabajaran en lenguaje de mquina. Una
caracterstica importante es que un programa escrito en un lenguaje de alto nivel es
independiente de la mquina, es decir no depende del diseo del hardware. Esta
caracterstica se denomina portabilidad y en la prctica brinda la posibilidad de tener un
nico programa escrito en un lenguaje de alto nivel y ejecutarlo en computadoras de distinta
arquitectura de hardware.
Segn lo planteado hasta el momento los programadores generalmente escriben sus
programas utilizando algn lenguaje de alto nivel, mientras que la computadora solo es capaz
de interpretar y ejecutar instrucciones en lenguaje de mquina. Por lo tanto es imprescindible
la conversin del programa.
Los programas traductores (denominados compiladores) permiten convertir programas
codificados en lenguajes de alto nivel en programas expresados en lenguajes de
programacin de bajo nivel o de mquina (que puedan ser ejecutados por la computadora).
Ejemplo: Programa escrito en el lenguaje de alto nivel C que transforma
grados Fahrenheit en grados Celsius

7
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
/* Conviere Earenhei a Ce1sius */
#inc1ude<sdio.h>
main()
{
in fahr, ce1sius,
in 1ower, upper, sep,
1ower=0,
upper=300,
sep=20,
fahr=1ower,
whi1e (fahr<=upper) {
ce1sius=5*(fahr-32)/9,
prinf("%d\%d\n, fahr, ce1sius),
fahr=fahr+sep,
}
reurn(0),
}
En el siguiente ejemplo se presenta una comparacin de un fragmento de programa en tres
lenguajes. El lenguaje de alto nivel es java y el lenguaje de bajo nivel es un lenguaje
genricamente denominado ensamblador y corresponde al conjunto de instrucciones de la
arquitectura en el primer nivel de abstraccin entendible por los humanos.
Java En ensamblador En lenguaje de mquina
if (x > y) {
z = 2;
} else {
z = 3;
}
LOD Y
SUB X
STO T1
CPL T1
JMZ 16
LOD #2
STO Z
HLT
LOD #3
STO Z
HLT
00000100 10000010
00000001 10000001
00000101 10000010
00001011 10000010
00001101 00010000
00010100 00000010
00000101 10000011
00001111 00000000
00010100 00000011
00000101 10000011
00001111 00000000
ntegrando los conceptos previos, se puede explicar el proceso de resolucin de un
problema con auxilio de una computadora a partir de los siguientes pasos:
1. Planteamiento del problema y propuesta de un mtodo de resolucin en lenguaje
natural.
2. Escritura de un algoritmo que exprese el mtodo propuesto.
3. Traduccin del algoritmo a un programa, utilizando un lenguaje de programacin.
4. Traduccin automtica (compilacin) del programa a lenguaje de mquina

8
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
1.3 Jerarqua de computadoras
Las computadoras de acuerdo a su potencia de cmputo y capacidad de almacenamiento se
pueden dividir en las siguientes clases:
a. Microcomputadoras
En general se las denomina computadoras personales (PC, Personal Computers). Son las
ms populares y utilizadas por las personas y las organizaciones. Generalmente existen dos
subtipos de microcomputadoras, a saber: las computadoras de escritorio (desktop computers)
y las porttiles.
a.1. Computadoras de Escritorio: Son aquellas lo suficientemente pequeas para
que puedan instalarse sobre un escritorio de trabajo, no obstante son voluminosas para
considerarse transportables. En general sus partes no estn integradas en un nico
gabinete y requieren de alimentacin elctrica permanente tomada de la red de energa
(no soportan uso de bateras)
a.2. Computadoras PorttiIes: En esta categora se encuentran aquellas
microcomputadoras que son lo suficientemente pequeas y livianas, como para poder
cargar y transportar de un lugar a otro sin inconvenientes. Poseen bateras que le
permiten operar durante un determinado tiempo sin necesidad de conexin a la red
domiciliaria de energa. Actualmente existen cuatro tipos de computadoras porttiles,
clasificadas por su peso: laptos, notebooks, subnotebooks y aistentes digitales
personales (PDA). Ests ltimas (Personal Digital Assistants) son las computadoras
porttiles ms pequeas. Su tamao promedio es de 15 por 10 centmetros. Poseen
capacidades para entrada de datos por medio de reconocimiento de escritura
manuscrita y sirven como agendas, puntos de conexin a nternet, puntos de captura
de datos y dems.
b. Minicomputadoras
Son computadoras que pueden ser ubicadas en una oficina junto a las computadoras
personales pero son ms rpidas y poseen mayor capacidad de almacenamiento que stas.
En general, son empleadas como equipos servidores de datos de pequeas organizaciones,
poseen pocos procesadores que operan en paralelo y satisfacen requerimientos de servicio
de decenas de usuarios.
c. Mainframes o Macrocomputadoras
Son aquellas computadoras de tamao considerable que ocupan en su totalidad un cuarto u
oficina de alguna importante organizacin (banco, lnea area). Los mainframes son
voluminosos, de alta perfomance y de elevado costo (varios cientos de miles de dlares). Son
capaces de brindar servicio a cientos de usuarios simultneamente, as como pueden
soportar cientos de dispositivos de entrada y salida.
d. Supercomputadoras
Las supercomputadoras son las ms grandes de la jerarqua. Estn diseadas para procesar
enormes cantidades de datos en poco tiempo y generalmente- son dedicadas a una tarea
especfica. Su valor se encuentra por las decenas de millones de dlares. Son utilizadas por
organizaciones que requieren alto poder de cmputo, tal como la NASA. Posibles reas de
aplicacin que requieran cmputo intensivo son:
9
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Prediccin del clima
Bsqueda de seales extraterrestres
Bsqueda de yacimientos petrolferos
Procesamiento de informacin gentica
e. CIusters o agrupamientos de computadoras personaIes
Un cluster es un grupo de equipos independientes, generalmente computadoras personales,
que ejecutan una serie de aplicaciones de forma conjunta y aparecen ante usuarios y
aplicaciones como una nica (computadora virtual). Los clusters permiten aumentar la
escalabilidad, la disponibilidad y la fiabilidad de servicio a usuarios que necesitan alto poder
de cmputo.
La escalabilidad es la capacidad de un equipo para hacer frente a volmenes de trabajo cada
vez mayores sin, por ello, dejar de prestar un nivel de rendimiento aceptable. La
disponibilidad y la fiabilidad son dos conceptos que, si bien se encuentran ntimamente
relacionados, difieren ligeramente. La disponibilidad es la calidad de estar presente, listo para
su uso, a mano, accesible; mientras que la fiabilidad es la probabilidad de un funcionamiento
correcto.
Se usa un cluster con varias computadoras para crear una minicomputadora, una
macrocomputadora o una supercomputadora.
1.4 EvoIucin deI hardware
El siguiente grfico muestra las tendencias de evolucin de las computadoras en funcin de
diferentes parmetros de evaluacin:
1940 2004
Costo
Tamao
FaciIidadde uso
Eficiencia
ConfiabiIidad
VeIocidad
La ley de Moore dice que a precio constante el desempeo de una computadora se duplica
cada 18 meses. Actualmente esta ley ha quedado obsoleta debido a que el tiempo estimado
es sensiblemente menor que los 18 meses.
La tabla siguiente resume las diferentes generaciones de computadoras en cuanto a su
arquitectura de hardware y software.
10
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Generacin EjempIos Hardware Software Perfomance
1ra
ENAC
UNVAC
BM 700
Vlvulas de vaco
Tambores magnticos
Programacin en cdigo de
mquina
RAM 2KB
10000 PS
2da
BM 7094 Transistores Lenguajes de alto nivel RAM 32KB
20000 PS
3ra
BM 360
PDP 11
Miniprocesadores
Memoria de semiconductores
Timesharing
Programacin estructurada
Grficos
RAM 2MB
5 MPS
4ta
BM 3090
CRAY XMP
BM PC
Redes
Discos pticos
Hard Compacto
Programas empaquetados
POO
RAM 8MB
30 MPS
5ta
Sun Sparc Sistemas paralelos
ULS
Lenguajes paralelos
A
RAM 64MB
10 GFLOPS
Generaciones de computadoras
Para conocer la historia de la computacin se recomienda visitar el "Museo Virtual de la
Computacin" en la siguiente direccin de nternet http://www.computerhistory.org/
2. Representacin de Ia Informacin en Computadoras
2.1 Introduccin
Las computadoras han hecho posible muchos avances cientficos, industriales y comerciales
que de otra manera nunca se hubieran alcanzado. La propiedad ms sorprendente de una
computadora es su generalidad, teniendo aplicacin sobre un amplio espectro de situaciones.
La representacin de datos dentro de una computadora se realiza mediante elementos que
permiten cuantificar de manera discreta magnitudes fsicas. Esta operacin se lleva a cabo
-por ejemplo- mediante alguna caracterstica de las seales elctricas (como es el voltaje).
Dichas seales representan valores discretos, lo que da nombre a una forma de trabajo
denominada digital y, por ende, es comn que a los equipos actuales se los denomine
"computadoras digitales.
Genricamente, los dispositivos electrnicos actuales operan basados en dos estados
elctricos posibles (por ejemplo ausencia o presencia de un determinado valor de voltaje).
Esto se debe a que resulta relativamente ms sencillo y confiable construir elementos
electrnicos sobre tal base.
Una forma de acercar tal representacin electrnica con elementos conocidos y manejables
por los humanos es mediante la correspondencia numrica. Debido a que se manejan dos
estados de seal posibles el sistema de numeracin binario es el que mejor se ajusta para
facilitar tal vinculacin.
2.2 Sistemas de numeracin
Un sistema de numeracin es un conjunto de smbolos y reglas que se utilizan para la
representacin de datos numricos o cantidades.
En los sistemas de numeracin no posicionales, el valor de un smbolo no depende de la
posicin que ste ocupe dentro del nmero. El ejemplo ms conocido es el de los nmeros
romanos.
11
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
La representacin del nmero decimal 233 en el sistema de numeracin romano es:
CCXXX
Donde una C equivale a 100, una X equivale a 10 e a la unidad
En cambio, en los sistemas de numeracin posicionales el valor de un smbolo depende
del lugar que ste ocupe dentro del nmero. Los sistemas decimal, hexadecimal, octal y
binario son ejemplos de numeracin posicional. En el nmero decimal 233 el dgito 3 figura
dos veces, pero el de la derecha representa 3 unidades mientras que el de la izquierda
representa 3 decenas.
Generalizando, en un sistema de numeracin posicional de base b, la representacin de un
nmero se define a partir de la regla:
(. a2 a1 a0,a-1 a-2 a-3 .)b = . + a2 b
2
+ a1 b
1
+ a0 b
0
+ a-1 b
-1
+ a-2 b
-2
+ a-3 b
-3
+ .
Ejemplo: El nmero decimal 6923,72 puede obtenerse como la suma:
8 * 10
3
8000 un1dadcs dc m11
9 * 10
!
900 ccn1cnas
! * 10
1
!0 dcccnas
3 * 10
0
3 un1dadcs
7 * 10
-1
0.7 dcc1mas
! * 10
-!
0.0! ccn1cm1mas
-------
89!3.7!
Ntese que cuando la base b es diez los a
i
se eligen del conjunto de dgitos D = [0, 1, 2, 3, 4,
5, 6, 7, 8, 9] pero cuando el sistema es base x se eligen los dgitos del conjunto D = [0 <= d <=
x-1].
El punto que est entre los dgitos a0 b
0
y a-1 b
-1
se denomina punto o coma fraccionario.
Cuando b es 10 se lo llama punto decimal y cuando b es 2, punto binario.
Ejemplos en otras bases
(423.1)
6
= 46
2
+ 26
1
+ 36
0
+ 16
-1
. = (159.17)
10

(427.2)
8
= 48
2
+ 28
1
+ 37
0
+ 28
-1
. = (279.25)
10
(101.1)
2
= 12
2
+ 02
1
+ 12
0
+ 12
-1
. = (5.5)
10
(923.1)
10
= 910
2
+ 210
1
+ 310
0
+ 110
-1
. = (923.1)
10
Observe el siguiente ejercicio de conversin de nmeros enteros en distintas bases (base 10,
base 4, base 8 y base 16) a nmeros decimales.
base 5 4 3 2 1 0
10 100000 10000 1000 100 10 1
2 32 16 8 4 2 1
4 1024 256 64 16 4 1
8 32768 4096 512 64 8 1
16 1048576 65536 4096 256 16 1
Tabla 1-a base^n
12
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
nmero
(28)
10 2 8
(10101)
2 1 0 1 0 1
(30321)
4 3 0 3 2 1
(63170)
8 6 3 1 7 0
(2BC6)
16 2 11 12 6
Tabla 1-b
nmero Suma b10
(28)
10 0 0 0 0 20 8 28
(10101)
2 0 16 0 4 0 1 21
(30321)
4 0 768 0 48 8 1 825
(63170)
8 0 24576 1536 64 56 0 26232
(2BC6)
16 0 0 8192 2816 192 6 11206
Tabla 1-c
Ntese que la tabla 1-a representa el peso (en decimal) de cada posicin (columna) para
cada base. Por ejemplo, para la base 4 la tercer columna representa un peso 16, siendo en
base 10 la columna de las centenas. En la tabla 1-b se copiaron distintos nmeros en
distintas bases. Finalmente, la tabla 1-c muestra los nmeros de la tabla 1-b convertidos a
base decimal (columna suma b10) para lo cual se multiplic cada dgito por su
correspondiente peso y luego se sumaron los resultados parciales (por filas) a fin de obtener
el nmero decimal equivalente a cada caso. Obsrvese que el desarrollo anterior se obtiene a
partir de aplicar la regla de la representacin de un nmero en un sistema posicional.
A continuacin, se presenta el mismo desarrollo pero utilizando parte fraccionaria:
Base 4 3 2 1 0 -1 -2 -3 -4
10 10000 1000 100 10 1 0,100 0,010 0,001 0,0001000
2 16 8 4 2 1 0,500 0,250 0,125 0,0625000
4 256 64 16 4 1 0,250 0,063 0,016 0,0039063
8 4096 512 64 8 1 0,125 0,016 0,002 0,0002441
16 65536 4096 256 16 1 0,063 0,004 0,000 0,0000153
Tabla 2-a base^n
Nmero
(28,56)
10 2 8 5 6
(10101,0011)2 1 0 1 0 1 0 0 1 1
(30321,123)
4 3 0 3 2 1 1 2 3
(63170,0007)
8 6 3 1 7 0 0 0 0 7
(2BC6,BACA)
16 2 11 12 6 11 10 12 10
Tabla 2-b
Nmero Suma b10
(28,56)
10 0 0 0 20 8 0,500 0,060 0,000 0,0000 28,560
(10101,0011)2 16 0 4 0 1 0,000 0,000 0,125 0,0625 21,188
(30321,123)
4 768 0 48 8 1 0,250 0,125 0,047 0,0000 825,422
(63170,0007)
8 24576 1536 64 56 0 0,000 0,000 0,000 0,0017 26232,002
(2BC6,BACA)
16 0 8192 2816 192 6 0,688 0,039 0,003 0,0002 11206,730
Tabla 2-c
13
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
2.3 Sistemas de numeracin usuaIes en informtica
2.3.1 HexadecimaI: se compone de 16 dgitos, siendo estos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F
Para pasar una cifra expresada en hexadecimal a decimal hay que aplicarle la frmula de
ponderacin, como se ve en el ejemplo siguiente:
(1AC05.B)
16
a decimal:
1*16
4
+ 10*16
3
+ 12*16
2
+ 0*16
1
+ 5*16
0
+ 11*16
-1
= (109573.69)
10
2.3.2 OctaI: se compone de 8 dgitos, siendo estos: 0, 1, 2, 3, 4, 5, 6, 7
(753)
8
a decimal:
7*8
2
+ 5*8
1
+ 3*8
0
= (491)
10

2.3.3 Binario: Es el sistema de numeracin con que operan internamente las computadoras
digitales. Se compone de 2 dgitos, siendo stos: 0, 1. A cada dgito se lo denomina bit. Al
conjunto de 8 bits se lo denomina byte.
(101.01)
2
a decimal:
1*2
2
+ 0*2
1
+ 1*2
0
+ 0*2
-1
+ 1*2
-2
= (5.25)
10

Decimal Binario Octal Hexadecimal
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Tabla de equivalencias de cifras entre sistemas
14
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
2.4 Transformaciones entre sistemas de numeracin
2.4.1 DecimaI a binario
Por divisiones sucesivas del nmero decimal entre 2. El ltimo cociente es el bit de ms a la
izquierda y los dems bits son los sucesivos restos hallados, desde el ltimo hasta llegar al
primer resto, que es el bit de ms a la derecha.
Ejemplo:
{108)
10
-> { x )
!
108 1 !
0 S4 1 !
0 !7 1 !
1 13 1 !
1 8 1 !
0 3 1 !
1 1
Se arma la cifra resultado con el resultado de la ltima divisin y los restos desde abajo hacia
arriba ( 1101100 )
2
Un nmero con parte fraccionaria es transformado de la siguiente manera:
Tome la parte fraccionaria solamente y sucesivamente multiplique por dos. En cada ciclo vaya
extrayendo la parte entera que representa el dgito correspondiente a cada posicin.
Ejemplo:
{108.344)
10
-> { x )
!
Con la parte entera (108) se procede normalmente y se obtiene (1101100)
2.
A continuacin se
toma solamente la parte decimal (0.344) y sucesivamente se la multiplica por 2.
0.344 * ! = 0.888
0.888 * ! = 1.378
0.378 * ! = 0.7S!
0.7S! * ! = 1.S04
0.S04 * ! = 1.008
0.008 * ! = 0.001
Finalmente el nmero se arma tomando los dgitos de la parte fraccionaria en el orden que se
calcularon:
{108.344)
10
-> {1101100.010110)
!
2.4.2 Binario a octaI:
Agrupar los bits en grupos de tres cifras binarias a partir del punto decimal a la derecha y a la
izquierda. Cada grupo se convierte en su correspondiente cifra octal.
{1101100)
!
-> {x)
8
1 S 4
1 101 100 -> {1S4)
8
15
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
2.4.3 OctaI a binario
Convertir individualmente cada cifra octal a tres bits.
{8!4)
8
-> {x)
!
8 ! 4
110 010 100 -> {110010100)
!
2.4.4 Binario a hexadecimaI
Agrupar los bits en grupos de cuatro cifras binarias a partir del punto decimal a la derecha y a
la izquierda. Cada grupo se convierte en su correspondiente cifra hexadecimal.
{111011001)
!
-> {x)
18
1 L 9
0001 1101 1001 -> {1L9)
18
2.4.5 HexadecimaI a binario
Convertir individualmente cada cifra hexadecimal a cuatro bits.
{ACA)
18
-> {x)
!
A C A
1011 1010 1100 1010 -> {1011101011001010)
!
2.5 Operaciones aritmticas en eI sistema binario
Las operaciones aritmticas bsicas en el sistema binario son las suma, la resta, el producto y
la divisin:
Suma aritmtica:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 y mc "11cvo" 1. dado quc 1 + 1 = 10
Resta aritmtica:
0 - 0 = 0
0 - 1 = 1 y "dcbo" 1
1 - 0 = 1
1 - 1 = 0
Producto aritmtico:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1
16
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Ejemplos
n b1na1o n dcc1ma1
00011 3
+ 01101 + 13
----- ---
10000 18
n b1na1o n dcc1ma1
111 7
111 7
+ 111 + 7
111 7
---- ---
11100 !8
n b1na1o n dcc1ma1
0111 7
- 0011 - 3
--------- ----
0100 4
n b1na1o n dcc1ma1
1101 13
- 0010 - !
--------- ----
1011 11
n b1na1o n dcc1ma1
0110 8
* 0111 * 7
--------- ----
0110 4!
0110
0110
0000
------------------
0101010
2.6 Operaciones Igicas en eI sistema binario
Un dgito binario adems de representar una cifra en base dos, tambin puede interpretarse
como un valor booleano (dato lgico) que slo admite uno de dos valores de verdad:
verdadero/falso o +/- o si/no o 1/0. Tal caracterstica se utiliza a los efectos de modelar el
comportamiento interno de una computadora digital.
As, adems de realizar operaciones aritmticas es posible hacer operaciones lgicas sobre
cifras booleanas. Las operaciones se realizan a nivel de bit y pueden ser 1 o 2 operandos. El
cero corresponde al valor de verdad falso y el 1 al verdadero.
17
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Operador NOT
X NOT( X )
0 1
1 0
Operador AND
X Y X AND Y
0 0 0
0 1 0
1 0 0
1 1 1
Operador OR
X Y X OR Y
0 0 0
0 1 1
1 0 1
1 1 1
Operador XOR
X Y X XOR Y
0 0 0
0 1 1
1 0 1
1 1 0
Ahora se presenta una aplicacin de las operaciones lgicas: Sean y J dos variables
numricas enteras, cuyos valores son 6 y 12 respectivamente, se indica el valor de verdad
de los siguientes predicados.
a) 2 * <= J Verdadero
b) 2 * < 1 FaIso
c) > 0 AND < 10 (1 AND 1)
Verdadero
d) > 25 OR ( < 50 AND J < 50) (0 OR (1 AND 1))
(0 OR 1)
Verdadero
e) < 4 XOR J > 5 0 OR 1
Verdadero
f) NOT ( > 6) Verdadero
g) NOT (J > 6) FaIso
Las funciones lgicas trabajan slo con operandos de un solo bit. Como las computadoras
utilizan grupos de 8, 16 32 bits, se necesita extender la definicin de estas funciones para
trabajar con ms de dos bits. Las funciones lgicas en los procesadores actuales operan en
18
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
una base de bit por bit (en ingls bitwise). Dados dos valores en determinada posicin, las
funciones producen el resultado de la respectiva posicin, por ejemplo, para calcular la
operacin lgica AND en los siguientes dos nmeros (de ocho bits) se debe ejecutar la
operacin lgica AND en cada columna, independientemente de las dems:
1011 0101
AhL 1110 1110
---------
1010 0100
Esta forma de ejecutar bit por bit (bitwise) puede fcilmente ser aplicada a otras operaciones
lgicas como ser OR y XOR.
Ejemplos:
0110 0110
0R 1010 X0R 1010
---- ----
1110 1100
2.7 La informacin y su representacin.
Los datos son conjuntos de smbolos utilizados para expresar o representar un valor
numrico, un hecho, un objeto o una idea en la forma adecuada para ser tratado. Un dato es
cualquier objeto manipulable por la computadora. Los datos pueden ser:
Adquiridos directamente por la computadora, como sera, por ejemplo, la deteccin
electrnica de temperatura o de una presin excesiva.
Aportados por el usuario en forma de caracteres, es decir con letras, nmeros,
caracteres especiales (smbolos ortogrficos, aritmticos y otros).
La codificacin es una operacin de transformacin que representa los elementos de un
conjunto mediante los de otro, de forma que a cada elemento del primer conjunto le
corresponde un nico elemento del segundo.
La informacin representada en un alfabeto de entrada debe ser transformada (codificada) a
un alfabeto de salida que entienda el computador. La codificacin debe realizarse de manera
que a cada elemento del primer alfabeto le corresponda un elemento distinto del segundo.
Todo sistema de codificacin lleva consigo un cdigo que se define como la ley de
correspondencia biunvoca entre los datos que se van a representar y su codificacin.
InIormacion
(AlIabeto de entrada)
Sistema
de
CodiIicacion
InIormacion
CodiIicada
(AlIabeto de salida)
19
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Algunas de las caractersticas de un cdigo es el conjunto de carcteres y el nmero de bits
que se utilizan para codificar un caracter (longitud del cdigo). El nmero mximo del conjunto
de carcteres que podemos representar es 2^longitud.
En el interior de la computadora la informacin se almacena y se transfiere de un lugar a otro
codificada. El cdigo utilizado usa slo dos valores (cdigo binario) representados por 0 y 1.
En la entrada y la salida de la computadora se efectan automticamente los cambios de
cdigos para que en el exterior la informacin sea directamente entendida por el usuario.
La unidad ms elemental de informacin en una computadora es un valor binario, un cero o
un uno, un bit. Un bit es una posicin de memoria que toma el valor 0 o 1. As pues, la
mnima unidad de informacin en el interior de una computadora es el bit.
La informacin se representa por medio de caracteres (letras maysculas y minsculas,
nmeros, caracteres de puntuacin y especiales). Pero la computadora slo entiende
secuencias binarias, as que dicha informacin debe codificarse internamente en notacin
binaria (en bits). Por lo tanto, a cada carcter le corresponder cierto nmero de bits: una
serie de bits distinta.
Un byte es el mnimo nmero de bits necesarios para almacenar o representar un carcter
en una memoria de computadora (es la menor cantidad de informacin direccionable sobre
una memoria). Un byte suele corresponder a 8 bits.
La capacidad de almacenamiento de una computadora o de un soporte de informacin (disco
rgido, CDROM, etc) se mide en bytes, pero suele utilizarse mltiplos:
1 kilobyte = 1 KB = 2^10 Bytes = 8192 Bits = 1024 bytes
1 megabyte = 1 MB = 2^10 KBytes = 1024 Kbytes = 1.048.576 bytes
1 gigabyte = 1 GB = 2^10 MBytes = 1024 Mbytes = 1.073.741.824 bytes
1 terabyte = 1 TB = 2^10 GBytes = 1024 Gbytes = 1.099.511.627.776 bytes
Por ejemplo, para una pgina de texto completo, que aproximadamente ocupa 55 lneas por
90 caracteres en cada una, se requieren 4,950 bytes. Un documento de diez pginas sern
alrededor de 49,500 bytes. Un libro de 300 pginas sern aproximadamente 1,485,000 bytes
o 1.45 MB.
La informacin se brinda a la computadora en la forma normal que usan los seres humanos,
es decir, con la ayuda de un alfabeto o conjunto de smbolos (caracteres). Los caracteres de
texto son los siguientes:
a) Alfanumricos:
65
77
78
56
61
A
M
N
8

20
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
a.1) Alfabticos: A B C ...Y Z a b c ... y z
a.2) Numricos: 0 1 2 3 4 5 6 7 8 9
b) Especiales (ortogrficos, aritmticos y otros)
( ) , * / ; : + = ! ? . " & > # < [ ] sp
Para representar cualquier caracter en el interior de una computadora, es decir, para realizar
la conversin o transformacin anterior, se utiliza un alfabeto, como por ejemplo el BAUDOT,
EBCDC, ASC. Tales alfabetos asocian a cada caracter una determinada combinacin de
bits.
2.7.1 EI cdigo Baudot
El cdigo Baudot es comn y se utiliza en las transmisiones de telegramas y mensajes de
telex. Es un cdigo de 5 bits y consecuentemente, parecera de antemano que slo permite
representar 32 caracteres diferentes. No es as. Para salvar esta restriccin existen dos
caracteres especiales llamados caracteres de cambio. Estos caracteres cambian el alfabeto
que se utiliza para interpretar la informacin recibida. Despus de recibir un carcter de
cambio, todos los caracteres que siguen corresponden al alfabeto especificado por ese
caracter, hasta que se recibe otro caracter de cambio. Pero an as, la cantidad de caracteres
representables es muy limitada, siendo sta una de las principales desventajas del cdigo
Baudot. Otra falencia es la carencia de lgica en la asignacin de los patrones de bits a sus
caracteres correspondientes.
2.7.2 EI cdigo EBCDIC
El cdigo EBCDC (Extended Binary Coded Decimal nterchange Code) es otro de los cdigos
ms utilizados. Cada carcter se representa con un nmero de 8 bits. Este cdigo fue
inicialmente desarrollado por BM para usar en sus computadoras, pero luego lo adoptaron
otros fabricantes.
2.7.3 EI cdigo ASCII
El cdigo ASC (American Standard Code for nformation nterchange), fue establecido por el
nstituto Nacional Americano de Estndares (ANS). Es un cdigo de 7 bits (que permite
codificar 2^7 = 128 caracteres) que ha sido muy aceptado y es ahora de uso general; y en
algunos casos se ha convertido en un cdigo de 8 bits mediante la adicin de un dgito de
paridad.
Existen varios caracteres del cdigo ASC, llamados caracteres de control, que tienen
significados especiales. Se usan para transmisiones de datos en serie de una mquina a otra,
e indican cosas como fin de lnea, avance de carro, etc.
21
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Tabla de caracteres ASCII
los primeros 32 caracteres se denominan "no imprimibles", y son caracteres de control.
Se puede probar en una interIaz de comandos (DOS) utilizando la tecla "Alt" el numero en decimal.
EjempIo: el smbolo @ es la combinacin de las teclas ALT y el Nmero 64.
ASCII Dec Hexa OctaI ASCII Dec Hexa OctaI ASCII Dec Hexa OctaI
null NUL 0 0 0 43 2B 53 V 86 56 126
start of heading SOH 1 1 1 , 44 2C 54 W 87 57 127
start of text STX 2 2 2 - 45 2D 55 X 88 58 130
end of text ETX 3 3 3 . 46 2E 56 Y 89 59 131
end of transmission EOT 4 4 4 / 47 2F 57 Z 90 5A 132
enquiry ENQ 5 5 5 0 48 30 60 | 91 5B 133
acknowledge ACK 6 6 6 1 49 31 61 \ 92 5C 134
bell BEL 7 7 7 2 50 32 62 | 93 5D 135
backspace BS 8 8 10 3 51 33 63 ` 94 5E 136
horizontal tab TAB 9 9 11 4 52 34 64 95 5F 137
new line LF 10 A 12 5 53 35 65 ` 96 60 140
vertical tab VT 11 B 13 6 54 36 66 a 97 61 141
new page FF 12 C 14 7 55 37 67 b 98 62 142
carriage return CR 13 D 15 8 56 38 70 c 99 63 143
shift out SO 14 E 16 9 57 39 71 d 100 64 144
shift in SI 15 F 17 : 58 3A 72 e 101 65 145
data link escape DLE 16 10 20 ; 59 3B 73 I 102 66 146
device control 1 DC1 17 11 21 60 3C 74 g 103 67 147
device control 2 DC2 18 12 22 61 3D 75 h 104 68 150
device control 3 DC3 19 13 23 ~ 62 3E 76 i 105 69 151
device control 4 DC4 20 14 24 ? 63 3F 77 j 106 6A 152
negative acknowledge NAK 21 15 25 64 40 100 k 107 6B 153
synchronous idle SYN 22 16 26 A 65 41 101 l 108 6C 154
end of trans. block ETB 23 17 27 B 66 42 102 m 109 6D 155
cancel CAN 24 18 30 C 67 43 103 n 110 6E 156
end of medium EM 25 19 31 D 68 44 104 o 111 6F 157
substitute SUB 26 1A 32 E 69 45 105 p 112 70 160
escape ESC 27 1B 33 F 70 46 106 q 113 71 161
file separator FS 28 1C 34 G 71 47 107 r 114 72 162
group separator GS 29 1D 35 H 72 48 110 s 115 73 163
record separator RS 30 1E 36 I 73 49 111 t 116 74 164
unit separator US 31 1F 37 J 74 4A 112 u 117 75 165
Espacio 32 20 40 K 75 4B 113 v 118 76 166
! 33 21 41 L 76 4C 114 w 119 77 167
" 34 22 42 M 77 4D 115 x 120 78 170
# 35 23 43 N 78 4E 116 y 121 79 171
$ 36 24 44 O 79 4F 117 z 122 7A 172
37 25 45 P 80 50 120 123 7B 173
& 38 26 46 Q 81 51 121 , 124 7C 174
' 39 27 47 R 82 52 122 } 125 7D 175
( 40 28 50 S 83 53 123 ~ 126 7E 176
) 41 29 51 T 84 54 124 127 7F 177
* 42 2A 52 U 85 55 125
22
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Existen numerosas versiones ampliadas del cdigo ASC bsico, que utilizan 8 bits,
agregando de esta forma 128 caracteres adicionales, como las vocales acentuadas, la " y
", el signo de interrogacin de apertura "" y otros smbolos que no se utilizan en el alfabeto
ingls.
Entre ellas se encuentran los cdigos SO-8859-n donde n es un nmero que identifica
distintos juegos de caracteres, dependiendo del lenguaje; por ejemplo la SO-8859-1 se
proyect para Amrica y Europa Occidental
Denominacin Estndar rea geogrfica
latn-1 SO 8859-1 Amrica y Europa del este
latn-2 SO 8859-2 Europa central
latn-3 SO 8859-3 Europa sur, Malts y Esperanto
latn-4 SO 8859-4 Europa Norte
Latn/Cirlico SO 8859-5 Lenguajes Eslavos
Latn/rabe SO 8859-6 Lenguajes Arbigos
Latn/Griego SO 8859-7 Griego Moderno
Latn/Hebraico SO 8859-8 Hebreo y Yuddish
Latn-5 SO 8859-9 Turco
Latn-6 SO 8859-10 Nrdico
Latn/Thai SO 8859-11 Lenguaje Thai
Latn-7 SO 8859-13 Bltico
Latn-8 SO 8859-14 Cltico
Latn-9 (Alias Ltn 0) SO 8859-15 Latn-1 con ligeras modificaciones (Smbolo
del Euro)
En una cadena de caracteres cada caracter ocupa 1 byte y se representa segn el cdigo de
caracteres que se est utilizando (ASC, EBCDC, etc).
La cadena de caracteres de 4 bytes 48 4E 4C 41 representa, segn la tabla de cdigos ASC,
a la cadena "HOLA".
2.7.3.1 RegIas de orden de caracteres ASCII
1. Los caracteres correspondientes a dgitos numricos estn en su orden natural:
"0"< "1"< "2" < "3" < "4" < "5" < "6" < "7" < "8" < "9"
48< 49 < 50 < 51 < 52 < 53 < 54 < 55 < 56 < 57
2. Las letras maysculas continan el orden alfabtico:
"A" <"B" <"C" <"D" <,..........., <"Z"
65 < 66 < 67 < 68 <,............, < 90
3. Luego continan las letras minsculas, pero sus cdigos son mayores que las letras
maysculas, por lo tanto se ordenan despus
"a"< "b" < "c" < "d" <,..........., <"z" y "a" > "M" ; "c" > "C"
97 < 98 < 99 < 100 <,............,<122 y 97 > 77 ; 99 > 67

23
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
3. Unidades funcionaIes de una Computadora
3.1 Computadora (condensado de los apuntes del ciclo de ingreso a la F de la UNLP)
Una Computadora es una mquina digital y sincrnica con cierta capacidad de clculo
numrico y lgico, controlada por un programa almacenado y con posibilidad de comunicacin
con el mundo exterior.
Qu significa esto?
Es digital porque dentro de la computadora las seales elctricas que se manejan y la
informacin que se procesa se representa en forma discreta mediante valores binarios (0 y 1).
Adems, se afirma que es sincrnica. Esto significa que realiza las operaciones coordinada
por un reloj central que enva pulsos (denominados pulsos reloj o de sincronismo) a todos los
elementos que la componen. De esta manera, todas las operaciones internas se realizan en
instantes de tiempo regulares (coordinados con el reloj).
nternamente posee una capacidad de clculo numrico y lgico en un subsistema conocido
como unidad aritmtico-lgica (UAL). Normalmente, las operaciones que la UAL puede
realizar son muy simples (suma, disyuncin, conjuncin, comparaciones).
El hecho de que est controlada por programas es quizs el punto ms importante que
diferencia a una computadora de una calculadora. Significa que internamente se tienen
rdenes o instrucciones almacenadas que la computadora podr leer, interpretar y ejecutar
ordenadamente. De esta manera, basta con modificar dicho conjunto de instrucciones (el
programa) para cambiar el comportamiento de la computadora. En contraposicin, la
calculadora siempre realizar las mismas tareas definidas originalmente, sin posibilidad de
que su comportamiento se modifique.
Adems, est comunicada con el mundo real, que es analgico. Esto significa que puede
realizar operaciones de entrada y salida con el mundo real a travs de dispositivos perifricos
(por ejemplo el teclado o mouse para entrada de informacin y el monitor como salida)
La computadora es una mquina que cambia informacin de una forma a otra: recibe
informacin (entrada), la transforma y proporciona informacin (salida). Esta informacin
puede presentarse de muchas formas, lo que la convierte en una mquina sumamente
verstil, que es capaz desde liquidar impuestos hasta guiar el recorrido de una nave espacial.
En cada caso, las entradas y salidas son totalmente distintas y en esto radica lo importante de
poder usar una computadora para ambas actividades.
Esta versatilidad est dada en que la mquina est controlada por un programa que establece
las operaciones a realizar. Estas operaciones se encuentran especificadas en forma de
instrucciones que indican como deben funcionar las partes fsicas (hardware) para
transformar los datos de entrada en la salida requerida. El programa controla todo el proceso
de principio a fin.
3.2 Mquina de Von Neumann
En el ao 1946, John Louis Von Neumann -junto a otros colaboradores- escribi un artculo
de investigacin titulado "First Draft of a Report of the EDVAC". En el mencionado documento
se expresaban algunas ideas acerca de como deba operar una computadora. A tales
24
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
conceptos derivados del artculo se los conoce con el nombre de Mquina o Arquitectura de
Von Neumann y han brindado las bases para la construccin y el desarrollo de
computadoras hasta los das actuales.
Hasta antes de Von Neumann la programacin de una computadora consista directamente en
la reordenacin fsica de sus componentes. La arquitectura Von Neumann se fundamenta en
el concepto de programa almacenado, donde de forma revolucionaria plantea que las
instrucciones y los datos tenan que almacenarse juntos (en vez de estar separados,
como era comn) en un medio comn y uniforme denominado memoria. De esta manera,
las instrucciones y los datos se podan leer y escribir bajo el control del programa. Ntese que
el contenido de un elemento de memoria o celda tiene una calidad ambigua con respecto a su
interpretacin: es una instruccin o es un dato. Esta ambigedad se resuelve al momento de
la ejecucin del programa almacenado debido a que ste mismo determina cules celdas
contienen datos y cules, instrucciones.
Un segundo concepto introducido por Von Neumann es la ruptura de secuencia. Se dot a
la computadora de una instruccin denominada "salto condicional" donde, segn el resultado
de una operacin, se ejecutar la siguiente instruccin (en orden secuencial) u otra.
Junto con la arquitectura se defini el ciclo de trabajo ciclo de ejecucin de la
instruccin en una computadora. Corresponde al conjunto de pasos a realizar para ejecutar
una instruccin de programa. Dicho ciclo consta de los siguientes pasos:
Ejecucin de la instruccin
1- Tomar de la memoria la siguiente instruccin
2- Decodificar la instruccin
3- Tomar de la memoria el o los operandos asociados
4- Ejecutar la operacin
5- Almacenar los resultados
Por lo tanto, toda ejecucin de programa consta de forma simplificada de la ejecucin de
todas las instrucciones almacenadas en un rea de memoria (rea de programa).
Simplificadamente:
Mientras haya instrucciones {
Ejecutar la instruccin (pasos 1 a 5)
}
En principio, el hardware de un sistema se puede estructurar en tres partes claramente
diferenciadas: la Unidad Central de Proceso (CPU o UCP), la memoria principal y los
dispositivos de entrada/salida. Todos estos elementos estn conectados entre s por los
buses de comunicacin.
La unidad de entrada es el dispositivo por donde se introducen en la computadora los datos y
las instrucciones. La unidad de salida de datos es un dispositivo donde se obtienen los
resultados de los programas ejecutados en la computadora.
25
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Una forma alternativa de ver la arquitectura de la computadora se presenta en el siguiente
grfico. Se han agregado los buses de comunicaciones que permiten solicitar y almacenar
datos, y controlar los dispositivos.
Ntese el sentido del flujo de la informacin sobre los buses.
A mayor detalle, la mquina propuesta por Von Neumann consiste de los siguientes
elementos:
(a) una memoria principal
(b) una Unidad Central de Proceso (UCP o CPU) que contiene:
(b1) una Unidad Aritmtico Lgica (UAL)
(b2) una Unidad de Control (UC), cuya funcin bsica es la de gerenciar el ciclo de
trabajo descripto anteriormente
(b3) un conjunto de registros
Memoria
de
Trabajo
UCP
Unidad
Central
de
Proceso
PeriIerico
de
E/S
PeriIerico
de
E/S
Bus de Control
Bus de Datos
Bus de Direcciones
Memoria
C P U
Output
Input
26
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
(c) lneas de transferencia (buses) de datos, de direcciones de memoria y de control
(d) dispositivos de entrada/salida
La UAL, la UC y los registros conforman lo que comnmente se conoce como procesador o
microprocesador.
3.2.1 Memoria principaI
La memoria principal es el componente responsable por el almacenamiento temporal de los
datos e instrucciones que componen un programa (mientras ste se est ejecutando). Se
trata de un conjunto finito de celdas del mismo tamao, cada una identificada con una
direccin, que pueden almacenar un valor determinado (recordemos que dicho valor puede
interpretarse tanto como un dato o una instruccin de programa)
A esta memoria se la conoce con el nombre de memoria de acceso aleatorio (RAM). Su
nombre deriva de que es posible acceder directamente a cualquier lugar (direccin) de sta
para leer o escribir. Existe un segundo tipo de memoria denominada ROM que es de slo
lectura (no es posible que un programa modifique su contenido). Sobre sta los fabricantes de
hardware graban programas y datos bsicos para el funcionamiento de la computadora.
Sobre cada celda de la memoria se pueden realizar dos tipos de operaciones: lectura y
escritura. Donde lectura significa que el procesador recupera el valor v almacenado en la
celda n y escritura significa que el procesador solicita la modificacin del contenido de la
celda de direccin n asignando sobre sta un nuevo valor v.
A los efectos de poder realizar estas operaciones el procesador posee el auxilio de dos
registros (unidades de almacenamiento similares a una celda) a saber:
a) registro de direcciones
b) registro de datos
Para ejecutar una operacin de lectura se carga el registro de direcciones con la direccin de
la celda a leer y luego de la recuperacin se tiene copiado el contenido de la celda sobre el
registro de datos. Para realizar una escritura se realiza el camino inverso, es decir, se
instancia el registro de datos con el nuevo valor a almacenar y se almacena en el registro de
direcciones la direccin de la celda que contendr tal valor.
La cantidad de celdas de una memoria (capacidad de almacenamiento) est limitada por dos
cuestiones:
La tecnologa utilizada para la fabricacin del componente.
La capacidad del registro de direcciones (su tamao). Mayor tamao (en bits) permitir
direccionar sobre una cantidad mayor de celdas.
27
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
33
0
alfa
1 2
12
3 ..
-4
E
455
F
print
10
jmp
11 A
-55
B
u
s

d
e
d
i
r
e
c
c
i
o
n
e
s
B
u
s

d
e
d
a
t
o
s
Al procesador Al procesador
Registro de direcciones Registro de datos
Esquema de una memoria principal
La unidad mnima de almacenamiento en una memoria es un bit. Una celda de una memoria
puede almacenar n bits. Por ejemplo, si se tuvieran celdas de longitud de dos bits se podran
almacenar uno de cuatro valores diferentes, con celdas de longitud de tres bits, 1 de 8 valores
diferentes, y as con celdas de c bits se podra almacenar 1 de 2^c valores diferentes.
De forma estndar, una celda de tamao bsico est compuesta por 1 byte (8 bits) y se puede
almacenar 1 de 2^8 valores diferentes. Por ejemplo, si en un modelo de computadora se
dispone de un registro de direcciones de 4 bits se podran direccionar como mximo a 2^4
(16) celdas de memoria de 1 byte cada una, por lo que la capacidad de almacenamiento en
memoria principal es de 16 bytes.
Con 2 Bits Con 3 Bits Con 4 Bits
0 00 000 0000
1 01 001 0001
2 10 010 0010
3 11 011 0011
4 100 0100
5 101 0101
6 110 0110
7 111 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
La longitud (en bits) del registro de datos define el tamao de la palabra de memoria. Una
palabra consiste en la cantidad de bits que se consigue copiar entre procesador y memoria en
una nica operacin de lectura o escritura. Normalmente la palabra es mltiplo de 1 byte.
La longitud (en bits) del registro de direcciones define la cantidad mxima de celdas de
28
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
memoria direccionables (alcanzables). Por ejemplo, con un registro de direcciones de 16 bits
y un registro de datos de 32 bits se tiene:
Cantidad de celdas direccionables = 65.536 (2^16)
Tamao de la memoria = 65.536 celdas * 4 (bytes) = 262.144 bytes = 256 KB
Si bien se describi la memoria principal (por su importancia dentro del esquema de Von
Neumann) no es el nico tipo de memoria existente en una computadora moderna. La
necesidad de obtener una capacidad de almacenamiento permanente y de optimizar
determinados procesos hace que los fabricantes desarrollen diferentes tipos de memorias,
con diferentes tecnologas y capacidades especficas.
Por ejemplo, existen memorias de almacenamiento permanente (generalmente conocidas
como memorias secundarias que permiten "guardar los datos y los programas an luego de
finalizada una sesin de trabajo y apagada la computadora. Actualmente, esta tarea la
cumplen dispositivos denominados discos rgidos y son el complemente necesario de la
memoria principal ya que permiten almacenar grandes volmenes de datos que se utilizan en
la computadora en diferentes momentos.
La siguiente tabla muestra distintos tipos de memorias existentes en una computadora y sus
caractersticas:
Tipo de memoria TecnoIoga Tamao (Capacidad
de AImacenamiento)
Tiempo de acceso
Cache Semiconductor
RAM
128-512-1024 KB 10 nseg
Memoria principal Semiconductor
RAM
256-512-1024 MB 50 nseg
Disco magntico Disco rgido Gigabyte 10 mseg
10 Mbyte/seg
Disco ptico CD-ROM Gigabyte 300 mseg
600 KB/seg
Cinta magntico Cinta Gigabyte Seg
200 KB/seg
Parmetros tpicos de una memoria
29
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Registros
CPU
Cache
Memoria principal
Cache de disco
Disco Magntico
Disco ptico
Cinta Magntica
Jerarqua de las memorias
3.2.2 Unidad CentraI de Proceso
3.2.2.1 Unidad Aritmtica y Lgica
La unidad aritmtica y lgica es el componente encargado de realizar las operaciones tanto
aritmticas (suma, resta, multiplicacin, divisin) como lgicas (and, or, not, comparaciones)
derivadas de la ejecucin de un programa. Su funcionamiento es dirigido por la Unidad de
Control.
Dispone de un conjunto de registros internos que la auxilian en la tarea de clculo. Tales
registros se utilizan a los efectos de almacenar temporalmente datos de memoria y resultados
para luego copiarlos nuevamente a memoria principal. Por ejemplo: para ejecutar una
operacin en una UAL primero se cargan los registros OP1 y OP2 con los operandos
pertinentes a la operacin a realizar (normalmente se copian desde la memoria central), luego
se selecciona la operacin y finalmente el resultado es depositado en el registro acumulador
ACC.
En resumen, la UAL comprende:
Varios registros internos donde se almacenan operandos y resultados de las
operaciones.
Circuitos dedicados a la suma, la resta, la multiplicacin, la divisin, las
comparaciones y el testeo.
30
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Esquema de una UAL
Suponga que un programa tiene por objetivo calcular x * 2, donde x es la direccin de una
celda de memoria, que por ejemplo contiene el valor decimal 9. La porcin de programa,
almacenado en memoria, que corresponde a tal tarea podra ser el siguiente:
En lenguaje natural En lenguaje ensamblador
Cargar en registro Op1 el valor almace-
nado en la celda cuya direccin es x LOD x
Multiplicar Op1 por el nmero 2, el
resultado se almacena en Acc MUL #2
Luego de realizar la multiplicacin, la UAL almacena el resultado obtenido en su registro
acumulador Acc, es decir que Acc contendr el nmero 18.
A continuacin se presenta un programa para calcular x * 2 + y, el resultado se debe
almacenar en la celda de memoria w.
w = x * 2 + y
En lenguaje natural En lenguaje ensamblador
Cargar en registro Op1 el valor de celda x LOD x
Multiplicar Op1 por el nmero 2, MUL #2
el resultado se almacena en Acc
Recupere de memoria el contenido de la
Celda de la direccin y, almacnelo en
Op1 y smele el contenido del registro
Acc, el resultado almacnelo en Acc. ADD y
Almacenar el contenido de Acc en la
celda de memoria de direccin W STO w
Fin de programa HLT
Finalmente se presenta una porcin de un programa donde la UAL debe ejecutar una
31
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
instruccin de comparacin (CPL) y ruptura de secuencia (JMZ). Ntese que a las direcciones
de celda se les ha asociado un carcter para hacer ms facil su comprensin.
Alto nivel Ensamblador Observaciones
if (x > y) { 00: LOD Y Carga el contenido de la celda 130 (Y) en ACC
z = 2; 02: SUB X Resta el contenido de la celda 129 (X) de ACC
} else { 04: STO T1 Almacena contenido de ACC en celda 132 (T1)
z = 3; 06: CPL T1 Evala si el contenido de la celda 132 es < 0
} 08: JMZ 16 Salta a la celda 16 S celda 132 no fue < 0
10: LOD #2 Carga el nmero 2 en ACC
12: STO Z Almacena calor ACC en celda 131 (Z)
14: HLT Finaliza ejecucin del programa
16: LOD #3 Almacena el nmero 3 en el acumulador
18: STO Z Almacena el contenido de ACC en celda 131 (Z)
20: HLT Finaliza ejecucin del programa
3.2.2.2 Unidad de ControI
Es el componente que controla el ciclo de procesamiento, coordinando todas las actividades
de la computadora a intervalos regulares definidos por los pulsos del reloj de sincronismo.
Cada vez que se requiere la ejecucin de una instruccin, la UC la reconoce (decodifica),
carga los operandos, la ejecuta y almacena los resultados. Posee de forma embebida
(definidas a nivel de circuitos) el conjunto de instrucciones primitivas (microinstrucciones) que
el procesador es capaz de interpretar y ejecutar (que normalmente es reducido).
Las instrucciones primitivas (tambin denominadas de mquina) pueden ser clasificadas en
tres grupos:
1. Transferencia de datos: Son instrucciones que se refieren a la transferencia de datos
entre memoria central y los registros del procesador. Ejemplos: LOAD, STORE.
2. Aritmticas y lgicas: Son aquellas instrucciones relacionadas con las operaciones
aritmticas y lgicas. La unidad de control utiliza la UAL para su realizacin.
Ejemplos: ADD, SUM, NC SUB, MUL, DC.
3. nstrucciones de control: Son las utilizadas para controlar la ejecucin de un
programa y la transferencia de datos, instrucciones y resultados. Ejemplos: JUMP,
JUMPFZERO, JUMPFNOTZERO, HALT.
La unidad de control, en su forma ms simplificada, se auxilia de los siguientes registros para
cumplir con sus funciones:
a) El registro de instrucciones (R nstruction Record) y el registro contador de
programa (PC Program Counter o P nstruction Pointer) para controlar la
ejecucin del programa.
El registro R contiene el cdigo interno de la prxima instruccin de programa a
ejecutarse.
El registro PC contiene la direccin de memoria principal de la siguiente
instruccin a ejecutar
b) El registro de direcciones de memoria (MAR Memory Address Record) y el registro
32
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
de datos de memoria (MDR Memory Data Record) a los efectos de comunicarse
con los dems componentes la UC.
El registro MAR contiene la direccin de la posicin de memoria a ser leda o
escrita.
El registro MDR contiene el dato a ser ledo o escrito en memoria de trabajo.
Una operacin de lectura y de escritura sobre memoria principal puede ser descripta en
base a los siguientes pasos:
Operacin de lectura de una celda de memoria principal.
1. Cargar el registro de direcciones con la direccin de la celda a leer
2. Activar la operacin de lectura, el valor de la celda referenciada por el registro de
direcciones se copiar en el registro de datos
Operacin de escritura en memoria principal
1. Cargar el registro de datos con el valor a almacenar
2. Cargar el registro de direcciones con la direccin de la celda donde se grabar el
dato
3. Activar la operacin de escritura
La sincronizacin entre las etapas que componen el ciclo es realizada por el reloj comn a
todos los componentes.
3.2.3 Lneas de comunicacin (buses)
Un sistema de bus est compuesto por el conjunto de caminos compartidos (lneas o
canales de comunicacin) que permiten la interconexin de los distintos componentes: UCP,
memoria y perifricos de entrada/salida. Un bus est formado por un conjunto de lneas
elctricas que permiten la transmisin de datos en paralelo.
Hay tres tipos de buses:
De datos: es bidireccional y permite transportar los datos entre las distintas partes de la
computadora.
De direcciones: donde viajan las direcciones de memoria sobre las cuales se quiere
leer o escribir.
De control: donde viajan seales que controlan el acceso y el uso a los buses de datos
y de direcciones. Seales de control pueden ser: escribir en memoria, leer de memoria,
escribir o leer en un dispositivo de entrada/salida.
3.2.4 Dispositivos de entrada/saIida
Las operaciones de entrada/salida son las encargadas de controlar y realizar el intercambio
33
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
de informacin entre la computadora y el mundo exterior. Para realizar este intercambio se
deben conocer los siguientes tems:
1. a cul dispositivo se quiere acceder
2. el estado de tal dispositivo
3. la operacin que hay que realizar
Existe una gran variedad de dispositivos de entrada/salida con caractersticas muy diferentes
a las de la CPU. La velocidad de transmisin de los perifricos es mucho menor que la
velocidad de operacin de una CPU. Adems, los perifricos poseen velocidades muy
diferentes entre s.
En un dispositivo de entrada/salida se distinguen tres componentes:
1. Interface: Se encarga de gestionar el intercambio de informacin entre el dispositivo
perifrico y la CPU.
2. Controlador: Hardware y software que gestionan directamente el dispositivo fsico.
3. Perifricos: El dispositivo de entrada/salida propiamente dicho.
Memoria
Principal
nterfase
E/S
Procesador
Controlador
teclado
Teclado
Monitor
Controlador
monitor
CPU
Controlador
disco
Disco
Los dispositivos perifricos se clasifican en:
Unidades de entrada.
Unidades de salida.
Unidades de Entrada/Salida
Perifricos de entrada:
Son los encargados de introducir los datos y los programas desde el exterior a la memoria
principal para que puedan ser utilizados por la computadora. Transforman la informacin
externa (instrucciones o datos tipeados) segn alguno de los cdigos de entrada/salida (E/S).
As la computadora recibe dicha informacin adecuadamente preparada (en cdigo binario).
Ejemplos: teclado, mouse, scanner, tableta digitalizadora, lector de tarjetas magnticas, lector
34
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
de cdigos de barras, lector de marcas pticas, joystick, micrfono, cmara de video, pantalla
sensible al tacto.
Perifricos de salida:
Son los encargados proporcionar al exterior los datos de salida o resultados de los procesos
que se realizan en la computadora. Ejemplos: monitor, impresora, plotter, parlantes.
Perifricos de entrada/salida:
A travs de ellos se intercambia informacin con la CPU en ambos sentidos. Un subconjunto
importante de estos corresponde a los dispositivos de almacenamiento. Ejemplos:
Disquetera, discos rgidos, discos pticos, unidades de cinta. MODEM. Placa de red.
A continuacin se presenta un diagrama donde se integran los componentes antes descriptos
sobre una arquitectura de una computadora personal:
COPROCESADOR
NUMERCO
CONTROLADOR DE
NTERRUPCONES
TEMPORZADORES
CPU
parlante
NTERFAZ
TECLADO
RELOJ
TECLADO
BUSDEEXPANSON
CONTRO-
LADOR DMA
RAM
CONTORLA-
DOR RAM
ROM/ BOS
CONTROLADOR
DSCO
RGDO
CONTROLADOR
DSQUETERA
CONTROLADOR
VDEO
PUERTO
SERE
PUERTO
PARALELO
OTROS
DSPOSTVOS
Ejemplo de diagrama de bloques simplificado de una computadora personal
35
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
3.3 SimuIador PIPPIN
PPPN es un simulador de una computadora simple que respeta la arquitectura Von
Neumann. El simulador es un programa escrito en el lenguaje de alto nivel JAVA que se
ejecuta como un applet en una pgina HTML. Pertenece al libro "The Analitical Engine An
Introduction to Computer Science" de Decker & Hirshfield.
El simulador consta de un espacio de memoria y un conjunto de componentes que
mnimamente funcionan como una CPU (UC Unidad de Control y UAL Unidad Aritmtico
Lgica). A efectos didcticos, la memoria (RAM) se divide en dos partes. Las direcciones
iniciales (de 0 a 110) permiten almacenar instrucciones de programa y las finales a los datos
(W, X, Y, Z, T1, T2, T3 y T4). Las direcciones de memoria son de 16 bits. El registro de
instrucciones es de 16 bits, por lo cual la palabra es de 2 bytes.
La UC est compuesta por el decodificador capaz de interpretar las instrucciones y organizar
los ciclos de mquina y por un MUX, capaz de seleccionar la operacin a ejecutar en la UAL.
La UAL posee dos registros internos, por eso trabaja utilizando el registro acumulador ACC.
Los valores ledos de la memoria son puestos en ACC y las operaciones de suma son
siempre hechas teniendo en cuenta el valor disponible en ACC y un valor de memoria. Posee
dos registros internos que no son visibles desde el exterior.
Complementariamente, existen dos registros ms: el Registro de nstrucciones (R), donde se
almacena el cdigo de la instruccin a ejecutar (leda de memoria) y el Contador de Programa
(PC).
Las lneas que comunican todos los componentes representan los buses del sistema. Aqu se
36
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
puede ver que no se encuentran divididos en buses de direcciones, datos y control sino que
se encuentran todos en uno.
3.3.1 Modo de operacin
Para operar el simulador se requiere de un programa y un conjunto de datos de entrada. El
programa se escribe instruccin por instruccin a partir de la posicin de memoria 0 y los
datos de estrada se ingresan en las posiciones especiales antes descriptas.
El programa se puede ejecutar en modo continuo (Play) o en modo paso a paso (Step), para
visualizar el resultado de cada instruccin ejecutada. Adems, se pueden visualizar datos e
instrucciones en notacin binaria (Binary) o en smbolos ms inteligibles (Symbolic). Aqu es
interesante observar que la visualizacin en binario se la puede corresponder con el lenguaje
mquina, donde tanto instrucciones como datos se encuentran expresadas como cdigos
numricos. Por otra parte, la visualizacin simblica corresponde al lenguaje ensamblador del
simulador, el cual resulta ms sencillo de interpretar.
Finalmente, el simulador permite almacenar (Save) el estado de la memoria en un archivo
local para su posterior recuperacin (Open) y utilizacin.
3.3.2 Un EjempIo SenciIIo
A los efectos de comenzar a utilizar PPPN se propone la carga y ejecucin de un programa
simple cuyas instrucciones permiten cargar dos valores desde el rea de datos, sumarlos y
almacenar el resultado nuevamente en el rea de datos.
El cdigo de programa es el siguiente:
LOD W
ADD X
STO Z
HLT
El rea de datos contiene:
W = 10
X = 17
A continuacin se muestra una vista del rea de memoria del simulador luego de escrito el
programa y completados los valores de W y X. Ntese que en las direcciones de memoria
siguientes al programa existe una instruccin NOP (NO Operacin), que significa que no debe
hacer nada. De la misma manera, los valores del rea de datos no asignados se encuentran
en 0.
37
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Cuando se comienza la simulacin se puede apreciar el ciclo de ejecucin de cada
instruccin, donde el primer paso corresponde a la carga de la misma en el R y su
decodificacin. Luego, sigue la carga de los operandos (si corresponde) y la ejecucin
propiamente dicha.
La semntica de las instrucciones de este programa es:
#1 Carga en el registro acumulador el valor del rea de memoria W.
#2 Suma al registro acumulador el valor de memoria X (implcitamente se indica que
se debe recuperar de memoria tal valor)
#3 Almacena el resultado en el rea de memoria Z
#4 Detiene la ejecucin del programa
En el cuadro siguiente se muestran los estados intermedios durante la ejecucin de este
programa ejemplo.
Paso PC IR UAL
R1|OP|R2
ACC Z
1 2 LOD W = 10 10 0
2 4 ADD X 10 + 17 27 0
3 6 STO Z 27 27
4 8 HLT 27 27
Este pequeo programa muestra la utilizacin del simulador a partir de un ejemplo simple el
cual permite visualizar claramente como intervienen todos los componentes de la CPU y la
memoria. Cabe aclarar que siguiendo el modelo de Von Neumann los datos se encuentran
separados de los programas. En el simulador estas reas se encuentran completamente
separadas como ya se dijo solamente con fines didcticos ya que en una computadora
real esto no es as.
3.3.3 Semntica de Ias instrucciones PIPPIN
Las instrucciones del simulador PPPN equivalen a instrucciones del lenguaje ensamblador
de un procesador real. Si bien es un juego muy reducido, permiten generar pequeos
programas que muestran el comportamiento bsico y funciones fundamentales del
procesador. A continuacin, se presenta una tabla con las instrucciones ms relevantes y su
significado semntico.
38
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica

Operacin Semntica
LOD X (or #X) X -> A
STO Y Z -> Y
ADD X (or #X) A+X -> A
SUB X (or #X) A-X -> A
MUL X (or #X) A*X -> A
DIV X (or #X) A/X -> A
AND X (or #X) A and X -> A
NOT NOT A -> A
CPZ X X== 0
CPL X X < 0
JMP Y goto Y
JMZ Y if A=0 goto Y
NOP No operar
HLT Fin
3.3.4 Juego de instrucciones de PIPPIN
1. ReIacionadas aI fIujo de datos
0000100 LOD X Carga el valor de la celda X (valor de 8 bits) en el acumulador
El modo de direccionamiento es directo.
Ejemplo: Copia el valor almacenado en la direccin de memoria 132 (en binario 1000100,
o 84 Hex o la variable T1) al registro ACC
Palabra en binario Hex Ensamblador
00000100 10000100 04 84 LOD T1
00010100 LOD #n Carga el nmero n en el acumulador
El modo de direccionamiento es inmediato
Ejemplo: Carga 100 (en binario 01100100 o 64 Hex o la variable T1) al registro ACC
Palabra en binario Hex Ensamblador
00010100 01100100 14 64 LOD #100
00000101 STO Y Almacena el contenido del acumulador en la posicin Y de memoria.
El modo de acceso es directo
Ejemplo: Almacena el valor del acumulador en la posicin de memoria 133 (en binario
10000101 o 85 Hex o la variable T2)
Palabra en binario Hex Ensamblador
00000101 10000101 05 15 STO T2
2. ReIacionadas aI controI
00001100 JMP P Salto incondicional. Desva el control hacia la instruccin contenida en la
direccin P. Es decir que setea el registro PC con el valor P
Ejemplo: Ejecuta la instruccin contenida en la direccin de memoria 14 (en binario 00001110 o 0E
Hex)
39
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Palabra en binario Hex Ensamblador
00001100 00001110 0C OE JMP 14
00001101 JMZ P Salto condicional. Si el valor del acumulador es igual a 0, desva el control
haca la instruccin almacenada en la direccin P, por lo contrario
contina con la prxima instruccin. Es decir que setea el registro PC con
P si el valor del registro acumulador es cero
Ejemplo: Ejecuta la instruccin contenida en la direccin de memoria 4 (en binario
00000100 o 04 Hex) S el valor del registro acumulador es 0.
Palabra en binario Hex Ensamblador
00001101 00001000 0D O4 JMZ 4
00001110 NOP No realiza nada, contina con la prxima instruccin
00001111 HLT Suspende la ejecucin del programa
3. ReIacionadas con operaciones aritmticas y Igicas
00000000 ADD X Suma el contenido de la posicin X de memoria al registro ACC.
Ejemplo: Suma al valor existente en el registro ACC el valor alojado en la direccin
de memoria 128 (en binario 1000000, o 80 Hex o la variable W)
Palabra en binario Hex Ensamblador
00000000 10000000 00 10 ADD W
00010000 ADD #n Suma el valor n al registro acumulador.
El modo de direccionamiento es inmediato.
Ejemplo: Suma 45 (en binario 00101101, o 2D Hex) al acumulador
Palabra en binario Hex Ensamblador
00010000 00101101 10 2D ADD #45
00000001 SUB X Resta el contenido de la posicin X de memoria al registro ACC.
Ejemplo: Resta el valor almacenado en la direccin de memoria 129 (en binario 1000001,
o 81 Hex o la variable X) al contenido del registro ACC
Palabra en binario Hex Ensamblador
00000001 10000001 01 11 ADD X
00010001 SUB #n Resta el valor n al registro acumulador.
El direccionamiento es inmediato.
Ejemplo: Resta el valor 27 (en binario 00011011, o 1B Hex) al contenido del registro ACC
Palabra en binario Hex Ensamblador
00010001 00011011 11 1B SUB #27
40
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
00000010 MUL X Multiplica el contenido del registro acumulador por el contenido de la
celda de memoria situada en la posicin X.
El modo de direccionamiento es directo..
Ejemplo: Multiplica el contenido del registro acumulador por el valor almacenado en la
direccin de memoria 130 (en binario 1000010, o 82 Hex o la variable Y) .
Palabra en binario Hex Ensamblador
00000010 10000010 02 12 MUL Y
00010010 MUL #n Multiplica el contenido del registro acumulador por n
El modo de direccionamiento es inmediato
Ejemplo: Multiplica el contenido del registro acumulador por 5 (en binario 00000101, o 05
Hex) .
Palabra en binario Hex Ensamblador
00010010 00000101 12 05 MUL #5
00000011 DIV X Divide el contenido del registro acumulador por el contenido de la celda
de memoria situada en la direccin X.
El modo de direccionamiento es directo.
Ejemplo: Divide el contenido del registro acumulador por el valor almacenado en la
celda de memoria de la posicin 131 (en binario 10000011, o 83 Hex o la
variable Z) .
Palabra en binario Hex Ensamblador
00000011 10000011 03 13 DV Z
00010011 DIV #n Divide el contenido del registro acumulador por n.
El modo de direccionamiento es inmediato.
Ejemplo: Divide el contenido del registro acumulador por el valor 10 (en binario
00001010, o 0A Hex ) .
Palabra en binario Hex Ensamblador
00010011 00001010 13 0A DV #10
00001000 AND X Si el contenido del registro acumulador y de la posicin de memoria X
son ambos 0, coloca 1 en el acumulador, por cualquier otro caso coloca
0.
00001001 NOT Si el registro acumulador contiene 0, coloca 1 en el acumulador, por
cualquier otro caso coloca 0. nvierte el contenido del registro
acumulador.
000001010 CPZ X (Compare X con cero) Si el contenido de la celda situada en la posicin
X es 0, coloca 1 en el registro acumulador, por cualquier otro caso
coloca 0. Es lo mismo que preguntarse El valor contenido en la
posicin de memoria X es 0?
El modo de direccionamiento es directo
Ejemplo: Setea el valor del registro acumulador con 1 o 0 de acuerdo al valor existente
en la posicin de memoria 129 (en binario 10000001 o 81 Hex o variable X)
sea 0 o no.
41
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Palabra en binario Hex Ensamblador
00001010 10000001 0A 11 CPZ X
00001011 CPL X (Compare less) Si el valor almacenado en la celda situada en la posicin
de memoria X es < 0, coloca 1 en el registro acumulador, por cualquier
otro caso coloca 0. Es lo mismo que preguntarse El valor contenido en
la posicin de memoria X es menor que 0 ?
El modo de acceso es directo.
Ejemplo: Setea el valor del registro acumulador con 1 o 0 de acuerdo al valor existente
en la posicin de memoria 130 (en binario 10000010 o 82 Hex o variable Y)
sea menor que 0 o no.
Palabra en binario Hex Ensamblador
00001011 10000010 0B 10 CPL Y
3.3.5 Otros EjempIos
Para comprender ms claramente el funcionamiento de una CPU en base a PPPN, se
presentan un conjunto de ejemplos que avanzan en complejidad y que incluyen varias de las
instrucciones enunciadas. Se propone que cada uno de ellos sea ejecutado paso a paso y
analizado el comportamiento del simulador a los efectos de reconocer las operaciones que se
realizan, su significado y evaluar el resultado obtenido. Se sugiere en cada paso evaluar el
contenido de los registros.
EjempIo #1 - Obtener eI promedio de 4 nmeros
Se requiere obtener el promedio de los nmeros almacenados en las posiciones de memoria
T1, T2, T3 y T4 cuyo contenido es 10, 6, 12 y 8 respectivamente.
El programa es el siguiente:
00 LOD T1
02 ADD T2
04 ADD T3
06 ADD T4
08 DV #4
10 STO W
12 HLT
Ntese que la primer instruccin carga el contenido de T1 en el acumulador y a continuacin,
las tres siguientes aaden el nuevo contenido a ste, quedando tal resultado parcial en el
registro acumulador. Lo mismo sucede con la divisin, en la cual se tom #4 para dividir
debido a que se conoce la cantidad de valores. Finalmente, con HLT se detiene la ejecucin
del programa.
EjempIo #2 - Asignacin condicionaI
Se evala el contenido de la posicin de memoria X. Si su contenido es 0, se asigna a W el
valor de T1, de otra manera se le asigna el valor de T2.
El programa:
00 CPZ X
42
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
02 JMZ 8
04 LOD T1
06 JMP 10
08 LOD T2
10 STO W
12 HLT
En este programa se comienza con la evaluacin del contenido de X utilizando la instruccin
CPZ y a continuacin se realiza un salto condicional a la instruccin contenida en la
direccin de memoria 8. Esto solo se realizar si el resultado del acumulador es 1, lo que
significa que X contiene 0. Si no se realiza el salto, se carga en el acumulador el contenido de
T1 y luego se realiza un salto incondicional a la direccin 10 donde se asigna a W y se
finaliza el programa. Revea aqu junto con la cartilla de instrucciones de PPPN el
comportamiento de las instrucciones de salto. Ejecute el programa con diferentes valores de
X.
EjempIo #3 - Cuenta Regresiva
Este programa genera un ciclo que decrementa el valor de X hasta llegar a 0, cuando finaliza.
El cdigo:
00 LOD X
02 SUB #1
04 JMZ 10
06 STO X
08 JMP 0
10 HLT
Ntese que entre las instrucciones ubicadas entre las direcciones 0 y 8 se genera un ciclo del
cual solamente se sale con el salto condicional ubicado en 4 (que bifurca la ejecucin del
programa cuando X es 0).
EjempIo #4 - Operaciones Lgicas
Programa que suma todos los valores de 1 hasta el valor indicado en X. El resultado se
almacena en la posicin W.
El programa:
00 LOD #0
02 STO W
04 LOD W
06 ADD X
08 STO W
10 LOD X
12 SUB #1
14 STO X
16 JMZ 20
18 JMP 4
20 HLT
En este programa se puede ver un ciclo hasta que el valor de X se hace 0. En cada paso, se
agrega al acumulador el valor de X, obteniendo al finalizar la suma. Ntese que el control del
ciclo se encuentra en la instruccin de la posicin 16, donde se indica la salida (salto a 20).
43
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
De otra manera, el ciclo vuelve a 4. Pruebe el programa con diferentes valores de X.
Otros ejempIos
A continuacin se presentan otros ejemplos de programas para PPPN que corresponden a
evaluaciones de expresiones algebraicas. Transcrbalos y ejectelos a los efectos de obtener
conclusiones sobre su comportamiento.
Evaluacin de la expresin W = X*2+Y. Cdigo:
00 LOD X
02 MUL #2
04 ADD Y
06 STO W
08 HLT
Evaluacin de la expresin W=X*(2+Y). Cdigo:
00 LOD #2
02 ADD Y
04 MUL X
06 STO W
Evaluacin de la expresin W=X+2*Y/4+X. Cdigo:
00 LOD X
02 ADD #2
04 MUL Y
06 DV #4
08 ADD X
Evaluacin de la expresin W = (X+2) * (Y/(4+X)). Cdigo:
00 LOD #4
02 ADD X
04 STO W
06 LOD Y
08 DV W
10 STO W
12 LOD X
14 ADD #2
16 MUL W
18 STO W
20 HLT
Clculo de 2^X, la respuesta queda en W. Cdigo:
02 LOD #1
04 STO W
06 LOD W
08 MUL #2
10 STO W
12 LOD X
14 SUB #1
44
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
16 STO X
18 JMZ 22
20 JMP 4
22 HLT
3.4 EjempIos de traduccin de Ienguaje de aIto niveI (JavaScript) a Ienguaje
ensambIador PIPPIN
En esta seccin se muestra la equivalencia entre programas escritos en lenguajes de alto
nivel (en este caso JavaScript) y el ensamblador de PPPN (lenguaje de bajo nivel). Ntese el
grado de abstraccin logrado en los lenguajes de alto nivel, donde una sola instruccin
corresponde a n instrucciones del lenguaje ensamblador.
EjempIo #1
Sumar Io contenido en Ias variabIes X e Y y aImacenarIo en Ia variabIe Z
JavaScript En ensambIador Observaciones
z = x + y; LOD X Carga el contenido de la celda 129 en ACC
ADD Y Le suma el contenido de la celda 130 a ACC
STO Z Almacena contenido de ACC en la celda 131
HLT Finaliza ejecucin
EjempIo #2
ReaIizar Ia operacin aIgebraica y eI resuItado aImacenarIo en Ia variabIe Z
JavaScript En ensambIador Observaciones
z = x*x + y*y; LOD X Carga el contenido de la celda 129 en ACC
MUL X Multiplica valor ACC por contenido de celda 129
STO T1 El valor de ACC lo almacena en 132
LOD Y Carga el contenido de la celda 130 en ACC
MUL Y Multiplica valor ACC por contenido de celda 130
ADD T1 Al valor de ACC le suma lo almacenado en 132
STO Z El valor de ACC lo almacena en 131
HLT Finaliza ejecucin
EjempIo #3
Asignacin condicionaI
JavaScript En ensambIador Observaciones
if (x > y) { 00: LOD Y Carga el contenido de la celda 130 (Y) en ACC
z = 2; 02: SUB X Resta el contenido de la celda 129 (X) de ACC
} else { 04: STO T1 Almacena contenido de ACC en celda 132 (T1)
z = 3; 06: CPL T1 Evala si el contenido de la celda 132 es < 0
} 08: JMZ 16 Salta a la celda 16 S celda 132 no fue < 0
10: LOD #2 Carga el nmero 2 en ACC
12: STO Z Almacena calor ACC en celda 131 (Z)
14: HLT Finaliza ejecucin del programa
16: LOD #3 Almacena el nmero 3 en el acumulador
18: STO Z Almacena el contenido de ACC en celda 131 (Z)
20: HLT Finaliza ejecucin del programa
EjempIo #4
45
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
CicIo condicionaI
JavaScript En ensambIador Observaciones
// input in y 00: LOD #0 Carga 0 en el acumulador
x = 0; 02: STO X Almacena el contenido del acumulador en X
while (y > 0) { 04: LOD Y Carga al ACC en contenido de la celda Y
y = y / 10; 06: JMZ 20 Salta a 20 si ACC es 0
x = x + 1; 08: DV #10 Divide ACC por 10
} 10: STO Y Almacena ACC en Y
// output in x 12: LOD X Carga X al acumulador
14: ADD #1 Suma 1 a ACC
16: STO X Almacena ACC en Z
18: JMP 4 Salta a 4
20: HLT Finaliza ejecucin del programa
46
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
4. Sistema operativo
4.1 Introduccin
Se han visto hasta el momento dos componentes que intervienen en un sistema de
computacin: por un lado el hardware, (la mquina electrnica programable que proporciona
los recursos de computacin bsicos), y los programas (transcripciones de algoritmos que
permiten resolver una situacin particular).
Otro componente ser, obviamente, el usuario (que puede ser un humano u otro programa).
Dentro de los programas es posible hacer una distincin entre los programas de aplicacin o
de usuario -como por ejemplo procesadores de textos, sistemas de bases de datos, sistemas
contables, creacin de imgenes digitales, juegos, etc.- que resuelven problemas puntuales
de los usuarios, y una clase muy particular denominados Sistemas Operativos.
Un Sistema Operativo es un programa que acta como interfaz entre los usuarios y el
hardware del computador.
El objetivo principal de un S.O. es la comodiad del usuario, facilitndole el uso de la mquina
proporcionando un entorno cmodo para el desarrollo y ejecucin de programas y para el
acceso a los recursos de la mquina.
Al usuario de aplicaciones le proporciona una interfaz que le permite iniciar e interactuar
fcilmente con los programas de aplicacin. Dicha interfaz puede ser grfica (OS/X,
XWindows, Windows) o intrpretes de comando en modo texto (bash, csh, command.com).
A los programadores les presentar una AP (interfaz de programacin de aplicaciones) que
le brindar funciones bsicas de administracin de archivos y acceso a perifricos, sin que
deba preocuparse por los detalles del hardware subyacente que se utilice.
Un segundo objetivo es la eficiencia, esto es, administrar los recursos (hardware y software)
de la mquina de forma que se aprovechen de la manera ms conveniente.
Tiene como finalidad, entonces, ocultar la complejidad del hardware tanto a los usuarios de
aplicaciones finales como a los desarrolladores de las mismas, y el aprovechamiento ptimo
de los recursos de cmputo.
A esto debe sumarse que el S.O. debe asegurar el correcto funcionamiento de las
aplicaciones en cuanto a que las mismas no interfieran entre s. Por ejemplo, ser tarea del
S.O. controlar que una aplicacin no pueda acceder a zonas de memoria asignada a otras
aplicaciones (salvo casos particulares de intercomunicacin), y planificar el acceso a los
perifricos compartidos (como disco e impresora) de manera que el uso de los mismos sea
justo y se eviten bloqueos.
4.2 Conceptos bsicos
Se denomina ncleo (o kernel) al programa individual que se carga en memoria al iniciar la
computadora y se mantiene constantemente en memoria. El tamao de los ncleos hoy en da
puede variar segn el S.O. de unos pocos kilobytes a varios megabytes.
Como ya se ha mencionado, un programa es una lista de instrucciones. Como tal, es un ente
pasivo y normalmente se almacenar en archivos.
47
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Un proceso es bsicamente un programa en ejecucin, que adems de la lista de
instrucciones comprende los datos asociados necesarios para el programa (variables, espacio
de trabajo) y su estado actual (registros del procesador, tablas del S.O. asociadas a l,
descriptores de archivos y dems recursos que se le han asignado). Los procesos son entes
activos.
Los procesos de usuario son aqullas aplicaciones hechas por programadores que se
ejecutan sobre el S.O. y solicitan los servicios del S.O. invocando "llamadas al sistema.
Las llamadas al sistema son la interfaz entre un proceso y el S.O., conformadas por un
conjunto de servicios que el s.o. ofrece a los procesos de usuario. Normalmente se
implementan como funciones de biblioteca de lenguajes de programacin que dan la
apariencia de llamadas a procedimientos o funciones predefinidas.
Normalmente, los sistemas operativos se entregan junto con programas del sistema. Estos
son utilidades del S.O. que se ejecutan como procesos de usuario (fuera del ncleo), por
ejemplo editores, compiladores, programas o ventanas para manipulacin de ficheros y
directorios (copy, mkdir, ...), programas de acceso a la red, programas de monitoreo (top,
mem,...) etc.
La mayora de los procesadores actuales proveen distintos modos de ejecucin que dan
soporte a los sistemas operativos.
En el modo supervisor o privilegiado, es posible acceder a todo el juego de instrucciones del
procesador, lo que permite acceder a todos los recursos del ordenador y realizar operaciones
crticas (gestin de la memoria, porgramacin de los controladores de dispositivos). En este
modo se ejecuta solamente el sistema operativo, teniendo control y acceso a todos los
recursos de la computadora.
Por el contrario, las aplicaciones de usuario se ejecutan en el modo usuario, en el cual las
instrucciones "privilegiadas" (como por ejemplo las relacionadas con la E/S) no estn
accesibles. Para utilizar los recursos de la computadora debern realizarse llamadas al
sistema operativo.
4.3 ModeIo de capas de Ia computadora
Se presenta ahora un modelo abstracto de capas que muestra las distintas partes de una
computadora:
1 Electrnica.
2 Sistema operativo.
2.1 SO residente bsico.
2.2 Funciones de propsito general para usar el hardware.
2.3 Funciones de administracin de recursos.
3 Utilitarios bsicos.
4 Lenguajes de programacin de aplicaciones.
5 Lenguajes orientados a la aplicacin.
6 Sistemas de software de propsito general.
7 Sistemas de software dedicado.
8 Usuario.
4.4 Funciones deI sistema operativo
48
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Gestin de Procesos
Un programa no realizar ninguna actividad si no es ejecutado por la CPU. Para poder
ejecutar un programa son necesarias varias tareas como cargar en memoria las instrucciones
y los datos, asignarle recursos y generar y mantener un "contexto con informacin referente
al ahora proceso.
Con el objeto de un mejor aprovechamiento de los recursos hardware, se posibilita en muchos
sistemas la ejecucin concurrente de varios procesos, repartiendo el tiempo de procesador
entre ellos. Esto se logra mediante la planificacin de procesos, determinando a qu proceso
se le asigna el procesador en cada instante.
El sistema operativo se encarga entonces de las siguientes actividades:
- Crear y eliminar procesos tanto de usuario como de sistema.
- Suspender y reanudar procesos.
- Proveer mecanismos para la sincronizacin y comunicacin de procesos.
- Proveer mecanismos para manejar bloqueos mutuos (deadlocks).
Gestin de la memoria
Como ya se ha visto, los procesos residen en la memoria principal. Adems si se desean
procesar datos que estn almacenados en un disco magntico, primero deben ser
transferidos a la memoria principal. Es necesario, entonces, algn mecanismo que permita
administrar (asignar y liberar) la memoria de manera dinmica a medida que los procesos se
crean, ejecutan y finalizan, y a la vez controlar la forma de usar la memoria de la
computadora, de modo que un trabajo no invada el espacio fsico de otro. Los esquemas de
administracin de memoria pueden ser muy sencillos (divisin en partes iguales asignadas a
cada proceso) o ms sofisticada de modo de asignar y liberar memoria en forma dinmica
segn los requerimientos y prioridades de los procesos.
Las funciones que deber realizar un sistema operativo en cuanto a la gestin de la memoria
comprenden:
- Saber cules partes de la memoria se estn utilizando actualmente, y quin las est
utilizando.
- Asignar y liberar espacio de memoria segn se necesite.
- Procurar que cada proceso independiente no interfiera la memoria de ningn otro.
Gestin de archivos
Un archivo es una coleccin de informacin relacionada cuya estructura (secuencia de bits,
lneas, registros) es definida por su creador. Su objetivo es proporcionar una perspectiva
lgica uniforme del almacenamiento de informacin abstrayendo las propiedades fsicas de
los dispositivos de almacenamiento (discos magnticos, pticos, cintas).
Normalmente se organizan en directorios (con el objeto de facilitar su uso) y en algunos casos
es necesario poder controlar quin y de qu forma podr acceder a ellos.
El sistema operativo se encargar de:
- Crear y eliminar archivos.
- Crear y eliminar directorios.
- Proveer primitivas para la manipulacin de archivos y directorios (leer, escribir).
- Establecer la correspondencia de los archivos con el almacenamiento secundario.
Gestin de dispositivos de E/S
Cada dispositivo de entrada/salida puede requerir un conjunto propio y particular de
instrucciones o seales de control para su funcionamiento. El sistema operativo oculta esos
49
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
detalles proporcionando una interfaz uniforme sencilla de utilizar. (por ej. en algunos sistemas
dicha interfaz es similar a los archivos)
Los manejadores de dispositivos (drivers) son los componentes del sistema operativo que
ocultan la complejidad y peculiaridad del hardware de entrada/salida, ofreciendo una interfaz
independiente del dispositivo y encargndose de realizar la programacin de los
controladores de dispositivos.
Adems, la gestin de dispositivos de entrada/salida deber encargarse de controlar el
acceso concurrente a los dispositivos y comprende el uso de buffers, spoolers y cachs.
Proteccin
Se refiere a un mecanismo para controlar el acceso de procesos de usuarios a los recursos
definidos por un sistema de computacin. Se desea asegurar que slo aqullos procesos que
hayan obtenido la autorizacin debida del sistema operativo puedan operar con los archivos,
segmentos de memoria, procesadores y dems recursos.
Deteccin y respuesta a errores
Los sistemas informticos no estn exentos de errores, como pueden ser fallas en el
hardware y distintos tipos de errores en el software. El sistema operativo deber dar una
respuesta que elimine la condicin de error con el menor impacto posible sobre las
aplicaciones que se estn ejecutando. La solucin puede ser reintentar la operacin, terminar
el programa que produjo el error o informar al programa (o usuario) del error.
4.5 Tipos de sistemas operativos
Se presentan dos clasificaciones de sistemas operativos:
a) por su estructura (visin interna)
b) por los servicios que ofrecen.
4.5.1 Sistemas Operativos por su Estructura
Segn Alcalde, se deben observar dos tipos de requisitos cuando se construye un sistema
operativo, los cuales son:
Requisitos de usuario: Sistema fcil de usar y de aprender, seguro, rpido y
adecuado al uso al que se le quiere destinar.
Requisitos del software: Donde se engloban aspectos como el mantenimiento,
forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y
flexibilidad.
4.5.1.1 Estructura monoItica.
Es la estructura de los primeros sistemas operativos constitudos fundamentalmente por un
solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una
puede llamar a cualquier otra.
Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y
gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de
trabajo o tipos de aplicaciones.
4.5.1.2 Estructura jerrquica.
Con el tiempo se hizo necesaria una mayor organizacin del software y del sistema operativo,
donde una parte del sistema contena subpartes y est organizado en forma de niveles. Se
50
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera
perfectamente definida y con una clara interface con el resto de elementos.
4.5.1.3 Mquina VirtuaI.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso,
mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas
operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la
multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina
virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias
mquinas diferentes.
El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar
a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales
como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de
la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo
diferente, que ser el que ofrezca la mquina extendida al usuario.
4.5.2 Sistemas Operativos por Servicios
4.5.2.1 Monousuario
Los sistemas operativos monousuario son aquellos que soportan a un usuario a la vez, sin
importar el nmero de procesadores que tenga la computadora o el nmero de procesos o
tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras
personales de los primeros tiempos son ejemplos de esta categora.
4.5.2.2 MuItiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la
vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de
sesiones remotas en una red de comunicaciones. No importa el nmero de procesadores en
la mquina ni el nmero de procesos que cada usuario puede ejecutar simultneamente.
4.5.2.3 Monotarea
Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario.
Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios
usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la
vez.
4.5.2.4 MuItitareas
Un sistema operativo multitarea es aquel que le permite al usuario estar realizando varias
tareas al mismo tiempo. Por ejemplo, puede estar editando el cdigo fuente de un programa
durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo
electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas
orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas
para el usuario, mejorando su productividad.
4.5.2.5 Uniprocesador
51
Modulo 2
Universidad Nacional de Lujan
11401: Introduccion a la InIormatica
Un sistema operativo uniprocesador es aqul que es capaz de manejar solamente un
procesador de la computadora, de manera que si la computadora tuviese ms de uno le sera
intil.
4.5.2.6 MuItiprocesador
Un sistema operativo multiprocesador se refiere al nmero de procesadores del sistema, que
es ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo.
Sistema
Operativo
Hardware
Utilitarios
Lenguajes
Sistemas
Usuarios
Usuarios
Usuarios
Usuarios

Вам также может понравиться