Logo Studenta

E-book Fundamentos Computacionais Esp

¡Este material tiene más páginas!

Vista previa del material en texto

FUNDAMENTOS COMPUTACIONALES
Stéfani Valmini
2FUNDAMENTOS COMPUTACIONALES
UN POCO DE HISTORIA 4
Evolución de la Computadora 5
Conceitos Básicos de Sistemas 11
Microprocesadores 20
CISC x RISC 23
SISTEMAS OPERACIONALES 27
Estructura de un Sistema Operacional 28
Tipos de Sistemas Operacionales 29
Sistemas Numéricos y Representación de Datos 31
Aritmética No Decimal 36
Representación en Tamaño Fijo 38
Representación de Números Negativos 38
LENGUAJES Y ORGANIZACIÓN DE LA INFORMACIÓN 42
Lenguajes de Programación 43
Estructura y Organización de la información 47
Base de Datos 50
PLANIFICACIÓN ESTRATÉGICO DE TI 54
Ingeniería de Software 55
Conectividad 62
Softwares Clientes 64
Softwares Servidores 64
Softwares Redes 65
ÍNDICE
CENTRO UNIVERSITÁRIO UNIFTEC
Rua Gustavo Ramos Sehbe n.º 107. 
Caxias do Sul/RS, Brasil
RECTOR
Claudino José Meneguzzi Júnior
PRORRECTORA ACADÉMICA
Débora Frizzo
PRORRECTOR ADMINISTRATIVO
Altair Ruzzarin
DIRECTORA DE EDUCACIÓN A DISTANCIA 
(NEAD)
Lígia Futterleib
Desarrollado por el Núcleo de Educación a 
Distancia (NEAD)
Diseñadora Educativa
Sabrina Maciel
Diagramación, Ilustración y Alteración de 
Imagen
Igor Zattera
Traductora
Paula Verónica L. S. Feiten, 
Renata Meneghel
3FUNDAMENTOS COMPUTACIONALES
Introducción
Nuestra asignatura de Fundamentos 
Computacionales, como su nombre lo dice, es 
una base, un pilar para todas las demás asigna-
turas. Estudiaremos desde los conceptos más 
básicos de hardware, software hasta lenguaje 
de programación, asuntos que se refieren a la 
legislación, banco de datos entre otros.
Nuestro contenido se divide en cuatro 
grandes capítulos de estudio. El primero se refie-
re a la “Introducción a los Sistemas y Elementos 
Básicos”, el segundo a los “Sistemas Numéricos 
y Representación de Datos”, el tercero, el área 
de los “Lenguajes de Programación y Planifi-
cación de TI”, y, por último, la “Conectividad y 
Aspectos Legales”.
Al final de esta asignatura, ustedes serán 
capaces de identificar las oportunidades de ne-
gocios por medio de la utilización de los recursos 
computacionales básicos, proponer mejoras en el 
ambiente de uso de sistemas computacionales, 
además de identificar las distintas aplicaciones 
de la computadora dentro de la sociedad.
4FUNDAMENTOS COMPUTACIONALES
UN POCO DE 
HISTORIA
Conociendo la evolución de las computadoras
¿Qué entienden ustedes por computación? ¿Cómo cla-
sificarían los elementos de software, hardware y peopleware? 
¿Oyeron hablar sobre estos términos? ¿Pero no consiguen 
explicarlos? ¿Saben cuál es la función de los sistemas opera-
cionales? Son muchas preguntas que se refieren a esta área. Por 
lo tanto, éstas, y tantas otras preguntas las contestaremos y las 
discutiremos en este primer capítulo.
Como punto de partida volveremos en el tiempo para 
conocer y para entender todas las evoluciones que ocurrieron 
ya en la computación. Serán presentados las principales inven-
ciones que condujeron al surgimiento de las computadoras que 
conocemos hoy.
En toda la historia, el objetivo principal era la automati-
zación del cálculo. Como sabemos, un sistema computacional, 
que, en su aspecto más elemental, es solamente una máquina 
que realiza operaciones lógicas y aritméticas. Los componentes 
principales del software, del hardware y del peopleware que 
forman un sistema computacional serán también presentados.
5FUNDAMENTOS COMPUTACIONALES
Evolución de la Computadora
De acuerdo con la historia tradicio-
nal, la computación evolucionó mucho y 
en un corto período de tiempo.
¿Será que, realmente, los hechos 
ocurrieron de esta manera? Pensándolo 
bien, la historia verdadera no ocurrió así tan 
rápidamente. Fueron necesarias innumera-
bles y graduales invenciones y evoluciones 
para llegar hasta las actuales tecnologías. 
Piensen un poco cuáles fueron esas inven-
ciones para que lleguen a una conclusión 
razonable.
Para entender nuestro momento 
tecnológico actual, necesitamos saber la 
historia de la computación y los hechos 
relevantes que contribuyeron para que llegar 
hasta aquí.
En un pasado muy lejano, los objetos, 
los animales, etc. se contaban a través de 
rocas o de rayas, conforme prueban los re-
gistros, que eran hechos en las paredes de las 
cuevas. Veamos que, desde muy temprano, 
las matemáticas hicieron parte del proce-
so, y el calcular siempre era fue actividad 
presente en la humanidad.
Evolución de la Computadora
Fo
nt
e:
 A
ut
or
El hombre siempre intentó 
desarrollar medios que facilitaran el 
proceso de los datos.
La aritmética, así como leer 
o escribir, era una habilidad 
que ayudaba al hombre a 
interpretar el mundo (mundo 
con numeración binaria 
haciendo referencia a esta 
afirmación)
6FUNDAMENTOS COMPUTACIONALES
La herramienta más antigua para calcular, que se tiene conocimiento es el Ábaco. 
Fue inventado por los chinos alrededor del 2000 a.C. y recibió el nombre de Suanpan. 
En Japón se conoce como Soroban.
2000 a.C. 
El ábaco fue inventado por los chinos.
1617
Jhon Napier inventó la tabla de 
logaritmos
1621
William Oughtred inventó la regla 
de cálculo
1642/1647
El matemático francés Blaise 
Pascal presenta su máquina de 
calcular mecánica.
7FUNDAMENTOS COMPUTACIONALES
1801
Telar automatizado con el invento de 
Jacquard.
1820
Arithmometer la primera máquina de 
calcular comercial.
1822
Calculadora analítica de Babbage 
1880
Primera máquina de 
procesamiento de datos creada 
por Hollerith.
1924
Máquina de calcular producida 
por Burroughs Company.
8FUNDAMENTOS COMPUTACIONALES
En 1950 Von Neuman, Ar-thur 
Burks y Herman Goldstine crearon la ló-
gica de los circuitos digitales, concepto de 
la programación para los números binarios. 
Surgió en 1951, el UNIVAC I, primera 
computadora comercial basada en los con-
ceptos de Neumann.
Juan Von Neumann, matemático na-
tural de Hungría, vivió la mayor parte de su 
vida en Estados Unidos. Sus contribuciones 
fueron muy significativas y duran hasta los 
días actuales. Su principal contribución 
fue la construcción de una computadora 
secuencial binaria de programa almacenado. 
Podemos decir que él propuso los elemen-
tos críticos de un sistema computacional, 
llamado Modelo de Von Neumann. La 
arquitectura de la computadora, propuesta 
por este modelo, se compone básicamente 
por (TANENBAUM, 2007):
1. una memoria física (para almacenar 
los programas y los datos - represen-
tados por 0’s y 1’s);
2. Una Unidad Aritmética y Lógica 
(ULA), cuya función es ejecutar ope-
raciones indicadas por las instruc-
ciones de un programa. Su trabajo 
es apoyado por los diversos registra-
dores (ej.: acumulador);
3. Una Unidad de Control (UC), cuya 
función es buscar un programa en la 
memoria, instrucción por instrucci-
ón y, ejecutarlo sobre los datos de la 
entrada (ésos también se encuentran 
en la memoria);
4. d. equipo de entrada y de la salida.
La figura abajo presenta los compo-
nentes de la arquitectura de Von Neumann 
descritos arriba:
En la década del 50, IBM lanza el 
IBM 701 y 650, convirtiéndose en el mayor 
éxito de ventas de la década. A partir de 
1959 surgieron los transistores, después, los 
circuitos integrados que popularizaron el 
uso de las computadoras.
En la década de 70, Intel lanza los 
microprocesadores con arquitectura interna 
1946
Nació el ENIAC
Arquitectura de Von Neumann
Fu
en
te
: A
da
pt
ad
a 
de
 T
an
en
ba
um
 (2
00
7)
9FUNDAMENTOS COMPUTACIONALES
y bus de 4 bits, de 8 bits y de 16 bits. En 
1982 surgió el microprocesador 8083 con 
capacidad de memoria de hasta MB 16.
En 1985 Intel lanza su procesador 
80386, con arquitectura interna y bus de 
datos de 32 bits, capaz de dirigir hasta 4GB 
de memoria. Ya, en 1989 surgió el procesa-
dor i486, con arquitectura interna y bus de 
datos de 32 bits y coprocesador integrado 
a la CPU.
En los años 1993, Intel lanzó el pri-
mer procesador de la familia Pentium, cuya 
capacidad de procesamiento (MIPS) era 7 
veces mayor que el i486, y, la capacidad de 
dirección dela memoria 16 veces mayor 
que su predecesor.
Intel lanzó la familia de los micro-
procesadores 80686, en 1997, la cual queda 
conocida como Pentium II. Su poder de 
procesamiento era de 300 MIPS. Y, en el 
2000, es lanzado el último procesador de 
esta familia, conocido como Pentium 4, con 
poder de procesamiento de 15000 MIPS.
En el siguiente año, nació el Itanium, 
procesador de la familia 80786, con bus de 
64 bits y poder de procesamiento de 2.500 
MIPS. Y, en el 2007, Intel lanzó la familia 
de los procesadores 80968, donde el poder 
de procesamiento era de 125.000 MIPS.
Evolución del Software
¿Saben cómo surgió el concepto de 
software? ¿Por qué el software y el hardware 
no existen uno sin el otro? ¿Conocen la 
evolución de los softwares?
El concepto de software surgió de-
bido a la necesidad de programar el har-
dware, de poner inteligencia dentro de las 
máquinas electrónicas que se desarrollaban 
hacía décadas. Pero, lo que ni todos saben, 
es que el origen de los softwares surgió 
mucho antes del concepto de computadora 
moderna.
Veamos en la imagen que sigue, una 
breve línea del tiempo que describe a esta 
evolución del software.
Surge el concepto de 
Álgebra Booleana.1847
El matemático John Von 
Neumann introdujo 
el concepto de lógica 
binaria.
1945
Primera generación de 
lenguajes de máquina.1945
Segunda generación de 
lenguajes de máquina: 
Lenguaje Assembler o 
de Montaje.
1955
10FUNDAMENTOS COMPUTACIONALES
Surge el Fortran 
(FORmula TRANslation), 
3º generación 
de lenguaje de 
máquina. Usada en 
el medio científico, 
especialmente en 
las Ciencias de la 
Computación y Análisis 
Numérica.
1958
Surge el lenguaje 
ALGOL.1960
Surge el BASIC, software 
de programación 
muy utilizado en los 
microcomputadores.
1963
Nace el lenguaje 
PASCAL.1968
Ken Thompson crea el 
lenguaje B, usado para 
implementar el sistema 
UNIX.
1970
Dennis Ritchie crea la 
primera versión del 
lenguaje C.
1972
Surge el sistema 
operacional CP/M 
(Control Program for 
Microcomputers) de la 
Digital Research.
1975
Inicio de los lenguajes 
de cuarta generación 
4GL.
1975
Surge el lenguaje 
SmallTalk en el centro 
de investigaciones de 
Xerox. Primer lenguaje 
100% orientado para 
objetos.
1975
Surge el lenguaje Ada, 
unión entre Fortran y 
Pascal.
1978
Surge el MS-DOS, 
sistema operacional 
para PC y compatibles.
1980
Leslie Lamport crea el 
primer lenguaje para 
texto, conocido como 
Latex.
1980
Surge el MS Word, 
procesador de textos de 
Microsoft.
1982
11FUNDAMENTOS COMPUTACIONALES
Surge el Windows, 
como Sistema 
Operacional.
1985
Unix se afirma en el 
mercado como sistema 
multiusuario.
1990
Linus Torvalds anunció 
la primera versión 
oficial del kernel Linux.
1991
En los laboratorios 
de Sun Microsystems 
nace el lenguaje Java. 
El primer lenguaje 
orientado para objetos 
y con la propuesta de 
ser totalmente portable.
1991
Es lanzado el lenguaje 
Python por Guido Van 
Rossum, lenguaje de 
alto nivel.
1991
1992 Windows 3.1 y 
3.11 con características 
de integración en red. 1992
Windows NT surge y 
disputa mercado con 
sistemas de Novell.
1993
Surgen lenguajes 
visuales como Visual 
Basic, Visual C++ y 
Delphi. Hacer un Smart 
art para que esta 
evolución quede más 
visual.
1995
Conceitos Básicos de Sistemas
La definición clásica para sistema 
es una disposición de partes o de los ele-
mentos de un todo, coordinados entre sí, y 
que funcionan como estructura organizada 
realizando una determinada tarea. Todo el 
sistema necesita una entrada, un área de 
procesamiento y genera una salida.
Bajo el punto de vista computacional 
todo el sistema tiene entradas, procesa-
miento y salidas. Un sistema computacional 
puede ser dividido en tres partes, como se 
describe a continuación: hardware, software, 
y peopleware.
Hardware
Hardware, es todo dispositivo físi-
co conectado a un sistema computacional 
responsable por organizar y mover las in-
formaciones para dentro del sistema, para 
procesarlas y para exteriorizar los resultados. 
Las entradas y las salidas en un sistema 
computacional se hacen a través de hardwa-
res específicos, conocidos como periféricos. 
Estos dispositivos pueden dividirse en:
12FUNDAMENTOS COMPUTACIONALES
Periférico de entrada: Son respon-
sables por introducir datos y/o comandos 
al procesador. Ratones, scanners, cámaras, 
teclados y pantallas touchscreen son ejem-
plos de dispositivos de entrada.
Periférico de salida: Son los respon-
sables por mostrar a los usuarios los resul-
tados del procesamiento realizado por el 
sistema. Ejemplos: vídeos, placas del sonido, 
impresoras y monitor.
Periféricos de entrada y de salida: 
Son responsables por facilitar el tránsito de 
informaciones entre diversas partes de un 
sistema. Tarjeta (Placa) de redes, memo-
rias, discos duros, drivers de CD´s y/o de 
DVD’s, pendrives, pantallas touchscreen e 
impresoras multifuncionales son ejemplos 
de dispositivos que hacen posible tanto la 
entrada como la salida de los datos en el 
sistema.
Estos dispositivos pueden ser divi-
didos en dos categorías, dependiendo de la 
manera como se almacenan o como pasan 
los datos por él.
Dispositivos de bloque: son aquellos 
que almacenan las informaciones en bloques 
y su característica principal es la persistencia 
de los datos, o sea, los datos siguen presentes 
mismo que el sistema esté apagado. Discos 
duros, Drivers de CD, flash-memories, son 
dispositivos de bloque.
Dispositivos de caracteres: son 
aquellos donde los datos que pasan para 
ellos no son persistentes y transmiten o re-
ciben los datos de forma serial. Por ejemplo: 
puertas seriales, tarjeta de redes, tarjeta de 
redes wireless.
La Unidad Central de Procesamiento 
(UCP) es el principal hardware de un sis-
tema computacional, posee dos funciones 
principales: controlar los dispositivos de 
entrada y de salida, y procesar las infor-
maciones y mostrar los resultados de su 
procesamiento.
La CPU es el cerebro del sistema 
computacional y consigue procesar las in-
formaciones en altísima velocidad porque 
solamente funciona sobre ceros y unos, 
o sea, la UCP sólo es capaz de sumar o 
13FUNDAMENTOS COMPUTACIONALES
comparar estos valores. Otros dispositivos 
están agregados a la CPU para garantizar el 
rendimiento del sistema como se demuestra 
en la figura.
La ULA, Unidad Lógica Aritmé-
tica, integra la UCP y es responsable por 
todas las operaciones aritméticas y lógicas 
durante la ejecución del sistema. La ULA 
es una calculadora que realiza operaciones 
de suma y operaciones lógicas como and, 
or, xor, etc.…La ULA, en conjunto con 
los registradores y los acumuladores, son 
los elementos responsables por el proce-
samiento.
La UC, Unidad de Control, es la par-
te de la CPU responsable por enviar las 
señales necesarias para los otros elementos, 
con el objetivo de hacer posible el envío y 
el recibimiento de los datos entre ellos. La 
UC ordena la ejecución del procesamiento 
y ejecuta el micro código que pertenece a 
aquella familia de procesador. La ejecución 
de una instrucción consiste en: buscarla en 
la memoria principal, decodificarla, proce-
sarla y colocar el resultado, nuevamente, en 
la memoria. Además de eso, la UC controla 
las interrupciones recibidas o enviadas para 
los dispositivos de entrada y de salida.
La memoria es un dispositivo de alta 
velocidad, usada para almacenar datos que 
serán procesados por la UCP. El control de 
la memoria es hecho por la UCP. La me-
moria se divide en dos partes, la memoria 
principal y la memoria a auxiliar.
La BIOS (Basic Input Output Sys-
tem) es una rutina de inicialización, alma-
cenada en una memoria ROM, que permi-
te que la computadora cargue su sistema 
operacional, almacenado en el HD, para 
la memoria. Otras tareas necesarias en la 
inicialización de la computadora, tambi-
én, son realizada por la BIOS, como por 
ejemplo, la prueba de chequeo de energía 
o el POST (Power On Self Test).
Sin las memorias sería imposible 
que una UCP ejecutaraun programa. Un 
programa debe estar en la memoria prin-
cipal para ser ejecutado, preferentemente 
en memorias volátiles. El almacenaje del 
programa en memorias no volátiles sirve 
para garantizar la persistencia de los datos 
cuando hay desconexión del sistema. Para 
seguir, una breve descripción de cada tipo de 
memoria que compone una computadora.
Memoria Principal: En ella hay dos 
tipos de memoria principal. Una de ellas 
volátil, conocida como RAM (Random 
Access Memory- Memoria de acceso ale-
atorio) y otra no volátil, conocida como 
ROM, que mantiene los datos, mismo con 
la computadora apagada. Ésta última se 
utiliza para fines específicos del sistema.
Memoria Auxiliar: También conoci-
da como memoria secundaria, se compone 
por los dispositivos de entrada y de salida, 
como el disco duro.
UCP e seus periféricos
Fonte: MONTEIRO (2001)
14FUNDAMENTOS COMPUTACIONALES
Existen diversos tipos de memorias 
volátiles y no volátiles.
La Jerarquía de las memorias, según 
Tanenbaum (2007):
A medida que bajamos en la jerar-
quía, tres parámetros aumentan. Primero, el 
tiempo de acceso queda mayor. Los regis-
tradores de la CPU pueden ser accedidos 
en un nanosegundo o menos. Memorias 
caché demoran un pequeño múltiplo de 
los registradores de la CPU. Accesos a la 
memoria principal normalmente llevan 10 
nanosegundos… Los accesos a las cintas o 
a los discos se pueden medir en segundos 
si la multimedia tiene que ser buscada e 
insertada en el drive.
Nombre Descripción Tipo
RAM Random Acces Memory- Memoria de Acceso Aleatorio Volátil
DRAM Dynamic RAM - Es la memoria convencional Volátil
SDRAM Syncrhunous Dynamic Random Access Memory Volátil
SRAM Static RAM - Memoria RAM usada para caché de alta velocidad Volátil
ROM Read Only Memory - Memoria solamente para lectura No Volátil
PROM Programmable Read Only Memory No Volátil
EPROM Erasable Programmable Read Only Memory No Volátil
EEPROM Electrically Erasable Programmable Read Only Memory No Volátil
UCP y sus periféricos
Fonte: Tanem
baum
(2007)
15FUNDAMENTOS COMPUTACIONALES
Jerarquía de las memorias
16FUNDAMENTOS COMPUTACIONALES
Software
Software es todo y cualquier progra-
ma procesado por una computadora. Sirve 
para resolver algún problema o para auto-
matizar actividades repetidoras. Podemos 
citar como ejemplo los sistemas integra-
dos de la gerencia o SIGs, son ejemplos 
de softwares desarrollados para automati-
zar actividades de una empresa, softwares 
CAD’s (Computer-Aided Design - Di-
seño asistido por computadora) y CAM’s 
(Computer- -Aided Manufac- turing- Fa-
bricación Asistida por computadora), que 
automatizan tareas más específicas, sistemas 
operacionales, editores de texto, sistemas de 
la gerencia de base de datos o SGBDs, entre 
otros. Los softwares en una computadora 
se organizan en capas para agruparlos por 
finalidades, como se muestra en la figura. 
Para cada tipo de software habrá un tipo 
de profesional asociado.
Si el hardware, o más específicamen-
te la UCP, es el cerebro de un sistema de 
computación, el software es la inteligencia, 
el alma. El software es la representación de 
la solución o de las reglas para encontrar la 
Exemplo de como os softwares estão organizados em um computador
17FUNDAMENTOS COMPUTACIONALES
solución de determinados problemas. Su implantación, en general, sigue reglas claras 
y hace uso de diversas metodologías y de herramientas de programación, dependiendo 
del problema tratado.
Datos versus información
Fonte: Autor
Los softwares, en un sistema computacional, ejecutan las tareas basadas en los datos 
de entrada del sistema. Estos datos son interpretados y resultan en alguna información 
relevante para el usuario. Por lo tanto, el dato es un elemento en su forma grosera, que, 
si es analizado por separado, no provee ninguna comprensión sobre un hecho.
Por ejemplo, si se mira el número 22, por separado, él no nos provee ninguna 
comprensión, sin embargo, si este número está en un contexto, por ejemplo, el de las 
edades de las personas, o las cantidades de algo, esto ya será una información.
Otro ejemplo de la diferencia entre los datos y la información puede ser dado 
a través del experimento que la empresa Walmart realizó, cruzando informaciones de 
ventas, de cervezas y de pañales desechables. Toda la venta es registrada en el sistema 
de la empresa y, mirando por separado, las ventas de cervezas y de pañales, no es posible 
entender una cierta relación entre ellas. Como estrategia de ventas, la empresa Walmart 
quería verificar la hipótesis de que el perfil de los consumidores de cerveza y de pañales 
desechables era similar. Usando técnicas de Data Mining, la empresa verificó esta hipó-
tesis cruzando datos de ventas de cervezas y de pañales desechables, concluyendo que 
estos consumidores eran hombres casados, entre 25 y 30 años, que compraban cervezas 
y pañales los viernes, en el camino del tra-
bajo para la casa. Según esta información, 
Walmart decidió organizar las góndolas de 
pañales cerca de la cerveza, obteniendo un 
aumento de ventas de un 30% en los viernes.
Por lo tanto, en una base de datos, 
como muestra la imagen, lo que se almacena 
en ellos son elementos brutos, sin ninguna 
relación entre sí. Al agruparlos, de tal ma-
nera, que provea algo relevante para quién 
los observa, esto se convierte en una IN-
FORMACIÓN.
Tratamiento de los datos
Fonte: Autor
18FUNDAMENTOS COMPUTACIONALES
Procesar datos es el objetivo princi-
pal de un sistema computacional. Hay dos 
tipos de procesamiento en un sistema de 
computadora.
Procesamiento por Lote: También 
conocido como Procesamiento Batch, es ca-
racterizado por la ejecución de una serie de 
programas, uno tras otro, sin la intervención 
del usuario. Este tipo de procesamiento fue 
muy utilizado en la década del 50, en los 
centros de procesamiento de datos. No se 
utiliza más, hoy día, debido a una cuestión 
de ambientes de procesamiento y no a su 
aplicación en sí.
Procesamiento On-Line: Es aquél 
caracterizado por la interacción entre el 
usuario y el software durante la ejecución 
de sus tareas. Puede ser llamado de pro-
cesamiento en tiempo real, porque gene-
ralmente se organiza para poder ejecutar 
sus tareas a una velocidad igual o superior 
a la velocidad con que los acontecimien-
tos externos ocurren. Un ejemplo de este 
tipo de procesamiento se puede ver en los 
softwares de gestión de las empresas, don-
de el acontecimiento de la venta o de la 
producción de un determinado producto, 
automáticamente actualiza el stock.
Los ambientes de procesamiento 
evolucionaron junto con la evolución de 
Hardware. El software responsable por 
proveer el tipo de ambiente adecuado al 
procesamiento es el Sistema Operacional. 
En la medida en que los procesadores au-
mentaban su capacidad de procesamiento, 
nuevas necesidades de usuarios aparecían 
y esto impulsó a los científicos de com-
putación a desarrollar nuevos sistemas 
operacionales para atender estas nuevas 
necesidades. A través de la historia de las 
computadoras cuatro tipos de ambientes 
de procesamiento surgieron: Monotarea, 
Multitarea, Multiprogramación y Multi-
procesamiento.
En el ambiente monotarea, solamen-
te, una tarea a la vez puede ser ejecutada. 
Este ambiente es el que se acerca al pro-
cesamiento Batch, porque al ejecutar un 
determinado programa, el usuario debería 
aguardar su término para poder ejecutar 
otras tareas. Un ejemplo de este ambiente 
es el sistema operacional DOS.
El ambiente multitarea se caracteriza 
por la competición entre los procesos, es 
decir, él ejecuta más de una tarea desde 
que los programas sean escritos para esta 
actividad. Por ejemplo, poder enviar dos ar-
chivos, simultáneamente, a la impresora, sin 
que ocurra impresión intercalada de ellos.
En el ambiente de la multiprogra-
mación, diversos programas pueden tener 
su procesamiento realizado en una misma 
computadora, compartiendo recursos del 
sistema. De esta manera, dos procesos pue-
den asignar un mismo recurso, dondeusa-
rán una determinada priorización y orden. 
La diferencia entre el ambiente anterior y 
la multiprogramación es apenas teórica. En 
este tipo de ambiente surgió el concepto 
de intercambio de tiempo o timesharing, 
donde el sistema operacional organiza la 
ejecución de cada proceso, garantizando que 
cada proceso use los recursos necesarios, 
principalmente la UCP, en un determinado 
momento y con duración determinada.
El ambiente multiprocesador signifi-
ca más una UCP disponible, para ejecutar 
los programas. En este ambiente, varias 
19FUNDAMENTOS COMPUTACIONALES
UCP’s ejecutan las solicitudes de los pro-
gramas, no obstante, no es suficiente agregar 
más procesadores para garantizar un mayor 
poder computacional. Es necesario que los 
softwares sean preparados para dividir sus 
tareas entre los procesadores disponibles.
Tanto los sistemas operacionales 
necesitan estar preparados para dividir 
sus tareas, como los softwares aplicativos, 
también, necesitan ser capaces de percibir 
la existencia de un procesador más. Esta 
idea también se aplica a los procesadores 
con más de un núcleo.
Peopleware
La evolución constante del hardware 
y del software causa un gran malestar entre 
los usuarios de estos ambientes. Un sistema 
computacional no sobrevive y ni mismo 
nace sin la intervención de la gente, sea 
como usuario o como desarrolladores y, 
estas personas, se nombran de peopleware.
El ambiente peopleware es tan com-
plejo cuánto los softwares y los hardwares 
actuales. Esta complejidad se debe al hecho 
20FUNDAMENTOS COMPUTACIONALES
de estar involucrados conceptos que no son 
totalmente explícitos, como: valores cultu-
rales y organizacionales, creencias, políticas, 
aspectos comportamentales y sociocultu-
rales, estructuras organizacionales, entre 
otros.
Para los profesionales que desarrollan 
o mantienen los sistemas computacionales 
es necesario que conozcan los aspectos que 
están implicados indirectamente en su uti-
lización, y estar atentos a las habilidades y 
competencias que se deben desarrollar para 
mantenerse siempre actualizados.
Microprocesadores
Los microprocesadores, como ya 
vimos, son los componentes principales 
de una computadora. Ellos controlan los 
dispositivos, ordenan la ejecución de las 
instrucciones, es decir, de los programas. En 
fim, todo qué sucede en una computadora 
es hecho por la CPU.
La empresa Intel, en 1971, lanzó su 
primer microprocesador, el 4004, cuya fre-
cuencia de operación era de 0, 1 MHz, bus 
de direcciones de 4 bits, acomodaba 2.300 
transistores y era capaz de procesar 0,06 
MIPS. Una década después, en 1982, Intel 
lanzó su procesador 80286, con poder de 
procesamiento quince veces mayor, bus de 
direcciones de 16 bits, capaz de procesar 
0.90 MIPS. Es dada, entonces, la arrancada 
para la evolución de los microprocesadores, 
donde otras empresas, como AMD y Cyrix, 
entran en el mercado.
Otros fabricantes de microproce-
sadores, destinados a las aplicaciones más 
específicas también evolucionaron a partir 
del surgimiento del CHIP, que dividie-
ron los microprocesadores en dos familias 
distintas: los procesadores CISC y RISC, 
cuyas particularidades serán vistas a lo largo 
de este capítulo.
La Figura ilustra cómo está estruc-
turada una CPU y su conjunto de instruc-
ciones.
Una UCP, como ya vimos, debe eje-
cutar dos tareas: ejecución del programa y 
control de los periféricos. Para cada una de 
estas tareas hay un componente responsa-
ble, interno a la UCP. A seguir una breve 
descripción de cada uno de estos elementos.
La UCP rueda en conjunto con 
la memoria, de esta manera es necesario 
transferir el contenido de la memoria para 
sus registradores internos y el resultado 
de la ejecución se debe transferir de sus 
registradores a la memoria. Un programa 
en la memoria de la computadora es una 
combinación de instrucciones y de datos, 
siendo así, el trabajo de la UCP busca la 
UCP e seus componentes
Fonte: MONTEIRO (2001)
21FUNDAMENTOS COMPUTACIONALES
próxima instrucción, descifrarla, obtener los datos (operandos), ejecutar la instrucción y poner otra vez el resultado en la memoria. 
Esto ocurre millones de veces por segundo después de encender la CPU. El flujo, mostrado en la figura, ejemplifica el ciclo de la 
UCP después de su inicialización.
Ciclo da UCP após ligada
Fonte: M
O
N
TEIRO
 (2001)
De hecho, la ejecución de un progra-
ma es realizada por la ULA (Unidad Ló-
gica y Aritmética) de una UCP, pero, para 
dejar eso posible es necesario ordenar la 
secuencia de eventos que buscan la instruc-
ción y operandos de la memoria principal 
y colocar en los registradores internos de la 
UCP. Toda esta comunicación es realizada 
por señales eléctricas enviadas a través del 
bus de control y controlado por la UC y, 
por lo tanto, ésta es la segunda función de 
la Unidad de Control. La figura muestra 
un diagrama de bloques de una UCP y los 
principales elementos involucrados en el 
procesamiento de los programas almace-
nados en la memoria principal.
22FUNDAMENTOS COMPUTACIONALES
Diagrama de blocos de uma UCP
Fonte: M
O
N
TEIRO
 (2001)
La UC, para tomar la próxima instrucción que será ejecutada, debe, primero, 
enviar la dirección de la memoria donde está la instrucción siguiente, poniéndola en 
el MAR (Registro de Direcciones de Memoria), después de eso, a través del bus de 
control, habilitar la lectura de MP (Memoria Principal). Este paso hace con que el valor 
de la instrucción sea colocado en el RI (Registro de Instrucciones). Esta instrucción es 
descifrada y las microinstrucciones son ejecutadas por la UCP. Entonces, el resultado 
es puesto en el RDM (Registro de Dirección de Memoria). Todas ellas son ordenadas 
por la señal del reloj.
La función principal de los registradores es almacenar, temporalmente, los datos 
que serán o fueron procesados por la UAL, es decir, un dato para ser transferido de la 
Memoria Principal para la UAL se almacenará, primero, en un registrador. También, 
el resultado parcial de una operación arit-
mética o lógica deberá almacenarse tempo-
ralmente en un registrador para utilizarlo 
para la conclusión de la instrucción.
Todas las CPUs poseen una cantidad 
de registradores destinados a las diversas 
operaciones. Por ejemplo, un microprocesa-
dor 8086, de 8 bits de Intel, posee registra-
dores acumulativos (AX), registradores base 
(BX), registradores de segmentos (para el 
acceso a la memoria), registradores de datos, 
entre otros. La cantidad y el propósito de 
cada registrador se pueden encontrar en el 
datasheet de cada procesador, suministrado 
por el fabricante.
Reloj es el generador de pulsos que 
sincroniza la ejecución y el control de las 
instrucciones dentro de una UCP. Esto 
quiere decir que, en cada ciclo, un aconte-
cimiento ocurre dentro de la CPU. Inicial-
mente, los microprocesadores no ejecutaban 
una instrucción en cada pulso del reloj. En 
1992 Intel lanzó el 80846 DX2 que fue 
el primer procesador de su familia para 
procesar una instrucción para el ciclo de 
reloj. Otras arquitecturas de procesadores, 
23FUNDAMENTOS COMPUTACIONALES
con más de un núcleo, permiten que más 
de una instrucción sea ejecutada por el ciclo 
de reloj.
Los registradores de dirección sirven 
para almacenar datos provenientes o que 
serán colocados en el bus de datos. Gene-
ralmente, el RDM posee el mismo tamaño 
del bus de datos. De la misma forma, el 
REM es un registrador de las direcciones 
de memoria y posee un tamaño igual al del 
bus de direcciones de la memoria.
Las interrupciones fueron una mane-
ra que los ingenieros de microprocesadores 
encontraron para lidiar con acontecimientos 
asincrónicos, es decir, el uso de los dispo-
sitivos de salida y de entrada no ocurren 
de manera ordenada, aún más en sistemas 
interactivos, como las computadoras actu-
ales. Las interrupciones son parte de los bus 
de control conectado a la UC. A seguir hay 
algunos ejemplos de control que provienen 
de este bus.
INT- Entrada que sirve para que los 
dispositivosexternos puedan interrumpir 
el microprocesador para ejecutar una tarea 
que no puede esperar el fin de un proce-
samiento.
NMI - Señal de la interrupción es-
pecial para ser utilizado en emergencias y 
debe ejecutarse inmediatamente.
INTA - Esta señal de salida del mi-
croprocesador sirve para indicar al dispositi-
vo que recibió su interrupción (Interruption 
Acknowledge).
En los microprocesadores el método 
de procesamiento se llama pipeline, es de-
cir, las ejecuciones de las instrucciones son 
hechas como en una línea de montaje. La 
ejecución de una instrucción se divide en 
etapas independientes, como, por ejemplo, 
la lectura, la escrita, la decodificación de 
instrucción son etapas distintas y deben 
durar el mismo tiempo para ser concluidas. 
Por lo tanto, al iniciar la ejecución de un 
programa, cada etapa de la ejecución, de un 
microprocesador, ocurre a cada pulso del 
reloj, siendo ejecutadas una de cada vez, 
como la imagen abajo.
Execução das instruções em pipeline.
Fonte: dosponível aqui
CISC x RISC
Se pueden clasificar los microproce-
sadores en lo que se refiere al tipo de ins-
trucciones que ellos poseen: CISC (Com-
plex Instruction Set Computer) que posee 
un conjunto complejo de instrucciones y 
el RISC (Reduced Instruction Set Com-
puter) que posee un conjunto reducido de 
instrucciones.
Al inicio de los microprocesadores, 
todos los procesadores eran RISC, lo que 
llevaba a los programadores a ser obligados 
24FUNDAMENTOS COMPUTACIONALES
a tener un conocimiento profundo sobre 
el procesador, porque todos los programas 
eran elaborados en lenguaje de máquina 
pura, o ensamblador. Los diseñadores de 
microprocesadores, para facilitar la vida 
de los programadores, resolvieron insertar 
en el propio procesador, programas para 
implementar algunas instrucciones más 
complejas. Esta técnica se llama micro-
programación.
A través de esta técnica, nuevas fun-
ciones fueron agregadas directamente en 
el hardware y, a medida que nuevas ne-
cesidades surgieron, nuevas instrucciones 
eran agregadas, llevando a una sobrecarga 
del microprocesador y dejándolos cada vez 
más complejos, por eso es el término CISC.
La sobrecarga en el procesador lo 
dejó más lento, siendo necesario buscar 
medios para aumentar la velocidad a través 
de mejoras en el hardware. Estas mejoras 
pronto llegarían al límite, siendo necesario 
aumentar su tamaño. Sin embargo, con base 
en investigaciones, se descubrió que el 85% 
de los programas utilizaban solamente tres 
instrucciones, atribuciones, comparaciones, 
llamadas de procedimientos, lo que dejaba 
desnecesario adicionar otras funciones a 
los procesadores que, raramente, irían a 
ser utilizadas.
Además de este hecho, dos otros 
factores llevaron a la industria de micro-
procesadores a volverse para la arquitec-
tura RISC: el aumento significativo de la 
velocidad de las memorias y mejora de las 
técnicas de compilación que generaron có-
digos, si no mejores, con la misma eficiencia 
de los micro códigos implementados en el 
hardware. Sin embargo, al implantarse fun-
ciones complejas en nivel del software, exige 
que el procesador ejecute más funciones 
en la unidad de tiempo, haciendo con que 
se disipe más energía. Otra desventaja de 
las máquinas RISC es que no son buenas 
para lidiar con los cálculos que involucran 
números en punto flotante.
RISC CISC
Instrucciones sencillas que llevan un ciclo del 
reloj
Instrucciones complejas que llevan múltiples 
ciclos del reloj
Apenas instrucciones LOAD/STORE referencian 
la memoria.
Todas las instrucciones pueden referenciar la
memoria.
Altamente pipeline No posee pipeline o se utiliza poco
Instrucciones ejecutadas por el hardware Instrucciones ejecutadas por el micro código
Instrucciones con formato fijo Instrucciones de diversos formatos
Pocas instrucciones y maneras Muchas instrucciones y maneras
La complejidad está en el compilador La complejidad está en el micro código
Múltiples conjuntos de registradores Conjunto único de registradores
Diferencias principales entre microprocesadores RISC y CISC
25FUNDAMENTOS COMPUTACIONALES
La tabla enumera las características 
principales que diferencian un procesador 
CISC de un RISC.
La gran mayoría de los micropro-
cesadores del mercado utiliza las mismas 
técnicas usadas desde el surgimiento de los 
primeros microprocesadores, así pudiendo 
ganar mayor poder de procesamiento cons-
truyendo UCP’s con varias UAL más lentas, 
dividiendo la ejecución de las instrucciones 
entre ellas. Una de las ventajas principales 
de este tipo de arquitectura es disminuir la 
disipación del calor, una vez que estas uni-
dades funcionan en una velocidad menor.
Las máquinas paralelas pueden clasi-
ficarse en tres diversas categorías, basadas en 
cómo los datos y las instrucciones transitan 
dentro de la CPU.
SISD Single Instruction, Single Data
Fo
nt
e:
 d
os
po
ní
ve
l a
qu
i
SIMD Single Instruction, Multiple Data
Fo
nt
e:
 d
os
po
ní
ve
l a
qu
i
MIMD Multiple Instruction, Multiple Data
Fo
nt
e:
 d
os
po
ní
ve
l a
qu
i
CUESTIONES DEL CAPÍTULO 1
1. ¿Las computadoras pueden 
funcionar sin BIOS y sin Memoria 
Principal? ¿Por qué?
2. Componentes del Procesador: 
Registradores, ULA, UCP, etc.
Especifique el funcionamiento de 
cada uno de los componentes de la 
computadora y relaciónelos.
3. Investigue cuál tipo de 
Microprocesador fue utilizado 
en estos últimos años en los 
videojuegos y en las computadoras 
personales. CISC o RISC.
4. ¿Quiénes son los peopleware? 
¿Cómo podemos identificarlos?
5. Explique la arquitectura de Von 
Neumann.
27FUNDAMENTOS COMPUTACIONALES
SISTEMAS 
OPERACIONALES
Representación de la información y de 
gestión
El sistema operacional es una capa de software que contro-
la los recursos del sistema y amplía las funcionalidades de estos 
recursos para apoyar diversos tipos de programa de usuarios, 
tales como compiladores, base de datos, interfaces amigables, 
redes de comunicación, entre otras aplicaciones. Todo el sistema 
operacional se desarrolla para un hardware específico, es decir, 
un sistema operacional de un Smartphone es diferente de un 
sistema operacional usado para una computadora personal.
Todo y cualquier Sistema Operacional tiene como fun-
ción principal distanciar los programadores o los usuarios de 
los detalles de la implementación de los dispositivos físicos 
conectados a la computadora, incluso del procesador, es decir, 
siempre que un usuario, o bien un programa de usuario, necesite 
alguna tarea, o del procesador o de los dispositivos de entrada 
y de salida, esta solicitud será hecha al sistema operacional 
por medio de una función denominada “Llamada al Sistema”. 
Esta función dispara una rutina que irá a comunicarse con el 
dispositivo, ejecutando una serie de otras tareas de control de 
28FUNDAMENTOS COMPUTACIONALES
aquel dispositivo.
Estructura de un Sistema 
Operacional
Un Sistema Operacional posee seis 
componentes básicos en su estructura, como 
muestra la figura. Cada uno de estos ele-
mentos posee una tarea importante para el 
funcionamiento y rendimiento del sistema 
operacional.
Aunque la complejidad de estos ele-
mentos se relacione con el tipo de pro-
cesamiento para el cual el sistema opera-
cional fue desarrollado, todos los sistemas 
operacionales de uso general tendrán estos 
elementos.
Drivers de dispositivos son progra-
mas específicos de control de los disposi-
tivos de entrada o de salida, como discos 
duros, los vídeos, los ratones, entre otros. 
Estos programas son necesarios para que 
el sistema operacional interactúe con los 
dispositivos. Al principio de los sistemas 
computacionales había pocas opciones de 
hardware disponibles y, por lo tanto, los 
drivers eran parte del código del sistema 
operacional. Actualmente, con la gran can-
tidad de diversos dispositivos que se pueden 
agregar a las computadoras, estos drivers 
son hechos por los propios fabricantes. Al 
instalar un nuevo dispositivo, es necesario 
registrar (instalar) eldriver en el sistema 
operacional para ser reconocido por él.
El Administrador de Procesos es res-
ponsable por la implantación de la mul-
tiprogramación basada en el intercambio 
de tiempo (time-sharing) en los sistemas 
operacionales modernos, permitiendo que 
diversos programas sean ejecutados en pa-
ralelo. La implantación del administrador 
de procesos se hace con heurísticas que 
garantizan el derecho de uso de los recursos, 
en un determinado momento, a cada uno 
de los procesos activos.
El Administrador de Memoria es 
responsable por la ubicación y retirada de 
los programas que están siendo ejecutados 
por el sistema operacional, siendo progra-
mas de usuarios o programas del propio 
sistema operacional. Además de eso, el 
administrador de memoria controla el es-
pacio de direccionamiento generado por 
el sistema operacional, ése, muchas veces, 
es superior al espacio físico disponible en 
la computadora.
 Con la multiprogramación 
fue necesario compartir el uso, además del 
procesador, de los dispositivos conectados 
a la computadora. El Administrador de 
Dispositivos garantiza el intercambio de 
los recursos entre los procesos activos en 
una computadora. Este intercambio, a pe-
sar de proporcionar un mayor desempeño 
e interactividad al sistema operacional, 
produce efectos indeseables a los siste-
mas operacionales, siendo uno de ellos el 
llamado deadlock que ocurre cuando una 
determinada secuencia de ubicación de 
recursos, por los procesos, lleva al bloqueo 
de la computadora. La solución para este 
tipo de problema, puede consumir muchos 
recursos financieros y de procesamiento y, 
Estrutura de um Sistema Operacional
29FUNDAMENTOS COMPUTACIONALES
por eso, los sistemas operacionales de uso 
general, no lo implementan normalmente.
Es a través del Administrador de Ar-
chivos de un sistema operacional que son 
administrados espacios ubicados, creados 
y borrados archivos ejecutables, mapeados 
archivos en disco y se hace la manipulación 
de archivos y de directorios. Los archivos 
del sistema de un sistema operacional son 
una abstracción para el almacenaje y la re-
cuperación de los datos generados durante 
la ejecución de una computadora. Estos 
datos pueden ser generados por progra-
mas de usuarios o por sistema operacional 
propio. Es a través del Administrador de 
Archivos de un sistema operacional que 
son administrados los espacios, la creaci-
ón y la exclusión de archivos ejecutables, 
directorios, mapeo de archivos, etc.
Otra tarea importante del adminis-
trador de archivos es garantizar la comu-
nicación entre los procesos activos durante 
la ejecución de una computadora.
El Interpretador de comandos es un 
interfaz sencillo y amigable que los sistemas 
operacionales ofrecen a los usuarios para 
que puedan interactuar. El intérprete de 
comandos es el prompt que aparece en la 
inicialización del sistema operacional.
Tipos de Sistemas 
Operacionales
• SO para Computadoras de Gran 
Tamaño
Son sistemas operacionales capaces 
de administrar un gran número de entradas 
y de salidas, miles de discos duros y con 
miles de Terabytes de datos que serán ma-
nipulados, conocidos también como main-
frames. Estas computadoras existen aún en 
grandes corporaciones y son aquellas que, 
ocupan generalmente los espacios de habi-
taciones enteras. Las aplicaciones de estos 
tipos de computadoras van desde grandes 
servidores Web, comercio electrónico a gran 
escala y transacciones electrónicas entre las 
grandes empresas (business-to-business).
Este tipo de sistema operacional es 
hecho para soportar y para ejecutar canti-
dades inmensas de Jobs simultáneamente 
y ofrece tres tipos de procesamiento:
• Procesamiento por lote, como, por 
ejemplo, el informe de ventas de ca-
denas de tiendas;
• Procesamiento de transacciones, que 
soportan a una gran cantidad de pe-
queñas solicitaciones, por ejemplo, 
sistema de reserva de pasajes aéreos;
• Procesamiento por intercambio de 
tiempo, que permite, simultánea-
mente, que los innumerables usuarios 
realicen sus trabajos en el sistema, 
como consultas a la base de datos. 
Un ejemplo de este tipo de sistema 
operacional es el OS/390 de IBM.
• SO para los Servidores
Son los sistemas operacionales que 
giran en máquinas de mediano porte e in-
cluso en mainframes, cuya función es aten-
der múltiples usuarios de una vez, en red, 
permitiendo así compartir los recursos del 
hardware y del software de aquel sistema. 
Se utilizan en servidores de Web, sistemas 
30FUNDAMENTOS COMPUTACIONALES
administradores de base de datos, servicios 
de correo e intercambio de archivos. Los 
sistemas típicos de uso en estas aplicaciones 
son Unix, Linux y Windows Server.
• SO de Multiprocesadores
Una manera común de desarrollar 
el poder computacional, es conectar varias 
CPUs y dividir las tareas entre ellas. Los 
sistemas multiprocesados se dividen en dos 
categorías, la primera es aquélla donde las 
varias CPUs están conectadas en un mis-
mo bus, y, para estos casos, los sistemas 
operacionales deben solamente ser capaces 
de identificar la presencia de más de un 
procesador y dividir las tareas entre ellas, 
compartiendo el resto de los recursos de la 
máquina, como memoria. Estos sistemas 
también pueden ser sistemas operacionales 
de servidores o de red.
Otra manera es conectar diversas 
máquinas con una red de comunicación 
y dividir las tareas del sistema operacio-
nal entre ellas. Sin embargo, este tipo de 
sistema operacional debe considerar las 
diversas máquinas conectadas a la red. Un 
ejemplo del sistema operacional multi-
procesado entre diversas máquinas es el 
Sistema Corba (Common Object Request 
Broker Architecture) de implementación 
de middlewares (programa de computadora 
que hace la mediación entre el software y 
las otras aplicaciones).
• SO de Computadoras Personales
Son sistemas operacionales mul-
tiprogramados que ofrecen un interfaz 
amigable a los usuarios y permiten que 
los programas aplicación se ejecuten en 
aquel ambiente. Pueden estar instalados 
en una red de computadoras, solicitando 
tareas o informaciones a los servidores. Es-
tos sistemas se llaman “Sistemas clientes”, 
que son versiones reducidas de los sistemas 
operacionales de Servidores. 
Linux, Windows, Mac y OS son ejem-
plos de los sistemas que operan en compu-
tadoras operacionales.
• SO de Tiempo Real 
Son sistemas operacionales que pose-
en restricciones de tiempo para la ejecución 
de determinadas tareas. Este tipo de sistema 
operacional es común en el control de los 
procesos industriales donde hay colecta 
de datos del proceso, lectura de entradas y 
escrita en las salidas, debe ocurrir en inter-
valos de tiempo bastante rigurosos. Estos 
sistemas se denominan sistemas operacio-
nales de tiempo real crítico, donde cualquier 
retraso en el proceso de una tarea causa una 
falla en el proceso.
 Hay otros sistemas de tiempo real no 
crítico, donde un ocasional retraso de una 
tarea es permitido. Los sistemas de audio 
de multimedia, como el VxWorks y QNX 
son ejemplos conocidos de esta categoría.
• SO Embarcados
Son sistemas operacionales instala-
dos en los dispositivos que generalmente 
caben en el bolsillo del usuario y permiten 
girar una cantidad limitada de aplicaciones, 
como agendas de direcciones, plantillas 
electrónicas entre otros. Las computado-
ras de a bordo automotor son ejemplos de 
equipos que poseen un sistema operacional 
31FUNDAMENTOS COMPUTACIONALES
embarcado, no obstante, no son las únicas, 
las televisiones, microondas, refrigeradores, 
teléfonos móviles, videojuegos, en fin, todos 
los equipos microprocesados necesitan una 
especie de sistema operacional para poder 
girar.
• SO de Tarjetas inteligentes
Nace una nueva categoría de siste-
mas operacionales, cuyas restricciones de 
consumo de energía y de seguridad son 
requisitos básicos. Las tarjetas de los ban-
cos son ejemplos del uso de este tipo de 
sistema operacional que, muchas veces, son 
orientados a Java, grabados en ROM e im-
plementadoscon multitareas e inclusión de 
nuevos applets a la tarjeta. Sin embargo, 
estos tipos de recursos debilitan la seguridad 
del sistema.
Sistemas Numéricos y 
Representación de Datos
Los números, como los conocemos 
hoy, surgieron a finales del Siglo VI, sin em-
bargo, durante este siglo no existía el cero 
en los números conocidos por el Occidente. 
El cero ya era aplicado en este siglo por 
los hindúes. Fue sólo en 825 d.C. que un 
sabio de Bagdad, llamado al-Khowarizmi, 
trabajando en la traducción de todos los 
libros de matemáticas de su reino, encontró 
- documentos hindúes que presentaban el 
sistema numérico decimal. Al-Khowarizmi, 
maravillado con el descubrimiento, escribió 
un libro llamado Arte Hindú para Calcular, 
que popularizó mundialmente este sistema, 
conocido como indoarábigos. El término 
número fue utilizado en homenaje a este 
sabio. Alguarismo (al-Khwarizmi, “el na-
cido en Khwarizm”)
La base del sistema numérico indo-
arábigo es 10, porque posee diez números. 
Sin embargo, otras bases surgieron en otras 
civilizaciones que son utilizadas aún en los 
días actuales. Ejemplo de eso es el sistema 
numérico inventado por los babilonios, po-
seían 60 números y aún hoy es utilizado 
para representar ángulos y tiempo. En los 
sistemas de Computadoras los sistemas 
numéricos más usados son los de base 2, 
conocidos como Binario, o de base 8, co-
nocido como octal y de base 16, conocido 
como hexadecimal.
Todo el número escrito en un deter-
minado sistema de numeración de base b 
puede se escrito con el polinomio siguiente:
N = anbn + an-1 bn-1 + ... + a1 b1+ a0 b0
N = número
a = cifra 
b = base
Para a < b, donde a 0 es el número 
menos significativo (a la derecha), es la cifra 
más significativa del número (a la izquier-
da) y b es la base del número. Esta fórmula 
sirve para convertir cualquier base, para la 
base decimal.
Sistema Decimal
Un sistema decimal utiliza diez nú-
meros (0 a 9). En este sistema, cada ele-
mento a la izquierda de un número posee 
un orden de grandeza 10 veces mayor que 
el de su derecha. Por lo tanto, considerando 
el polinomio de un sistema de numeración, 
podemos descomponer el número decimal 
32FUNDAMENTOS COMPUTACIONALES
1325 en el polinomio siguiente:
1325 = 1 . 103 + 3 . 102 + 2 . 101 + 5 . 100
Ejemplo: Tomando como referencia 
la base 5:
(4130)5
4*53 + 1*52 + 3*51 + 0*50 =
500 + 25 + 15 + 0 = (540)10
Dónde:
a3 = 4, a2 = 1, a1 = 3, a0 = 0
b = 5
Sistema Binario
Los sistemas binarios poseen sola-
mente dos números, cero y uno. Él simplifi-
ca y agiliza la manera que las computadoras 
realizan operaciones. Otra ventaja de este 
sistema es utilizar poco espacio de memo-
ria para almacenar los datos, si comparado 
con el sistema decimal. Cualquier número, 
representado en la base binaria, se inter-
pretará como el polinomio siguiente, para 
transformarlo en decimal:
N = bn2n + bn−1 2n−1 + ...+ b1 21 + b0 20
Ejemplo:
En las computadoras, el sistema bina-
rio, tiene la función de realizar operaciones 
lógicas, cuyo resultado es verdadero o falso, 
y para los cálculos matemáticos sencillos y 
complejos también. La representación de nú-
meros enteros, reales, complejos, etc., se hace 
a través de la combinación y la organización 
de los números binarios.
En la terminología de las computado-
ras, palabra es un grupo binario de números 
(bits) que pueden ocupar una localización en 
la memoria, y que pueden ser procesados de 
una sola vez, pudiendo ser un número binario, 
que es para ser manipulado como un dato, o 
una instrucción que le dice a la computadora 
cuál operación debe ejecutar. Puede ser tam-
bién un carácter ASCII representando una 
letra del alfabeto, o aún, una dirección que le 
diga al procesador dónde se localiza un dato.
De esta manera, tenemos los siguientes 
conjuntos de representación de datos:
• Bit (menor información tratada 
por la computadora)
• Nibble: 4 bits (16 variaciones);
• Dígito: 6 bits (36 variaciones);
• Byte: 8 bits (256 variaciones);
• Media palabra: 16 bits (65.536 
variaciones);
• Palabra ( Word): 32 bits 
(4.294.967.296 variaciones); 
• Palabra doble (dword): 64 bits 
(18.446.744.073.709.551.616 
variaciones).
• Palabra cuádruple: 128 bits
33FUNDAMENTOS COMPUTACIONALES
Unidades de Bytes y de conversiones
En sistemas computacionales el sistema de bytes posee denominaciones especí-
ficas de acuerdo con su cantidad. Vea en la tabla abajo algunas de ellas;
Unidades de Bytes
Por ejemplo: Tenemos 20MB y que-
remos descubrir cuántos bits hay en él, basta 
hacer el cálculo siguiente:
1 MB = 1024 KB, entonces, 20 MB * 1024 
= 20480 KB.
1KB = 1024 Bytes, entonces 20480 KB * 
1024 = 20.971.520 Bytes.
1 Byte = 8 bits, entonces 20.971.520 Bytes 
* 8 = 167.772.160 Bits
Sistema Octal
Un sistema Octal posee 8 números, 
0, 1, 2, 3, 5, 6, 7, es representado por el 
polinomio siguiente:
N= bn8n + bn−1 8n−1 + ... + b1 81 + b0 80
Ejemplo:
Fonte: dosponível aqui
34FUNDAMENTOS COMPUTACIONALES
Sistema Hexadecimal
Un Sistema Hexadecimal posee 16 
números, 0, 1, 2, 3, 5, 6, 7, 8, 9, A, B, C, D, 
E, F, donde los números alfabéticos equi-
valen a A = 10, B = 11, C = 12, D = 13, E 
= 14 y F = 15. Un número en un sistema 
hexadecimal es representado por el poli-
nomio siguiente:
N=bn16n+bn−116n−1+...+b1161+b0 160
Ejemplo:
El sistema numérico Hexadecimal 
también se utiliza en los sistemas de com-
putadoras, sin embargo, apenas para visu-
alizar de manera más amigable. Se utiliza 
mucho para la programación en lenguaje 
assembly pues cada dígito equivale a una 
palabra, dejando al programa un poco más 
legible.
Cambio de la Base 10 para la base Binaria
Para cambiar un número decimal 
para la base binaria, divida el número, su-
cesivamente, por 2 hasta encontrar un valor 
menor que 2.
Resultado: 10010112 
Cuanto mayor es la base de un sistema 
de numeración, menor es el número de 
cifras necesarios para representar un 
valor.
35FUNDAMENTOS COMPUTACIONALES
El resultado se obtiene con los restos 
de la división, y siempre desde la derecha 
para la izquierda, como lo indica la flecha 
para la lectura del número.
Cambio de la base 10 para la Base Octal
El cambio de la base decimal para 
la base octal se hace a través de divisiones 
sucesivas hasta encontrar un valor menor 
que 8. De hecho, esta regla también sirve 
para transformar un número decimal para 
cualquier otra base. Por ejemplo, para con-
vertir el número (75) 10, divida el número, 
sucesivamente, como muestra la imagen:
Resultado: (113)8
El resultado se obtiene con los restos 
de la división, y siempre desde la derecha 
para la izquierda, como lo indica la flecha 
para la lectura del número.
Cambio de la Base 10 para la Base 
Hexadecimal
Para cambiar un número decimal 
para el hexadecimal, divídalo, sucesivamen-
te, por 16 hasta encontrar un valor menor 
que 16. Por ejemplo, para convertir el nú-
mero 7510 para la base hexadecimal, haga.
Resultado: B416
El resultado se obtiene con los restos 
de la división, y siempre desde la derecha 
para la izquierda, como lo indica la flecha 
para la lectura del número. En éste es im-
portante recordar que los números necesi-
tan ser convertidos para Hexadecimal, por 
ejemplo, el 11 que se representa por letra 
B en la base hexadecimal.
Cambio entre las bases de potencia 2
La base binaria es siempre interme-
dia, por lo tanto, el número debe convertirse 
en la base de origen para la base binaria y de 
ésta para la base de la destinación, siempre 
observando la potencia 2 como agrupación 
de bits, que se agrupan siempre desde la 
derecha para la izquierda.
• De la base 2 para la base 8
Como 8 = 23, se usa agrupación de 
3 en 3 bits:
(111010111)2 = (?)8
111 010 111
 7 2 7
(111010111)2 = (727)8
• De la base 2 para la base 16 
36FUNDAMENTOS COMPUTACIONALES
Como 16 = 24, se usa agrupación de 
4 en 4 bits:
(1011011011)2 = (?)16
0010 1101 1011
 2 13 11
(1011011011)2 = (2DB)16
• De la base 8 para la base 16 
Es necesario utilizar la base binaria 
como intermedia.Como 8 = 23, cada dígito 
octal pasa a 3 bits para lograr el valor bina-
rio. Después, como 16 = 24, la agrupación 
de 4 bits se utiliza para el valor final.
 (2E7A)16 = (?)8
0010 1110 0111 1010
010 111 001 111 010
 2 7 1 7 2
(2E7A)16 = (27172)8
Aritmética No Decimal
Adición Binaria
La suma binaria es igual a la adición 
de los números decimales, no obstante, hay 
que recordar que existen solamente dos 
números en este sistema. A continuación 
tenemos todas las posibilidades en la suma 
binaria.
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0, e vai 1 ou 102
1 + 1 + 1 = 1, com “vai um” ou 112
Ejemplos:
Sustracción Binaria
En binario, la sustracción ocurre de 
la misma manera que en la base decimal. 
Ocurre el “préstamo” si el resultado es me-
nor que 0.
Cuando el minuendo es menor que 
el sustraendo, debe ocurrir el préstamo 
(borrow) en el valor de la base, en el caso 
2, del primer número diferente de cero a 
la izquierda.
37FUNDAMENTOS COMPUTACIONALES
Ejemplos:
Adición Octal
Se procede de la misma manera que 
en la base binaria, respetando el límite del 
número, en este caso 7. Si la suma es mayor 
que 7, éste se queda 0 y agrega 1 al número 
posterior.
Substracción Octal
Se procede de la misma manera que 
en la base binaria, observando la regla del 
préstamo de la base, en este caso 8, del pri-
mer número distinto de cero a la izquierda.
Adición Hexadecimal
Se procede de la misma manera que 
en la base binaria, respetando el límite del 
número, en este caso F (15). Si la suma es 
mayor que 15, éste queda siendo 0 y agrega 
1 al número posterior.
Substracción Hexadecimal
Se procede de la misma manera que 
en la base binaria, observando la regla del 
préstamo de la base, en este caso 16, del pri-
mer número distinto de cero a la izquierda.
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1, com “empréstimo” de 2
38FUNDAMENTOS COMPUTACIONALES
Representación en Tamaño 
Fijo
Consiste en la definición de un nú-
mero fijo de bits que será empleado para 
representar un número. Es lo que ocurre en 
las computadoras digitales, dependiendo 
de la arquitectura de la computadora, del 
tamaño del bus y de los registradores.
Exemplos:
El número (4) 10 representado en 
una arquitectura binaria del tamaño 6, se 
escribe de esta manera: 000100
En arquitectura de tamaño 8: 
00000100
El Overflow ocurre cuando no es 
posible almacenar un valor determinado en 
la cantidad de bits definida como tamaño 
en la arquitectura. En general, es resultado 
de operaciones matemáticas. En la práctica, 
puede corromper la memoria por escribir 
en una dirección que debe formar parte de 
otro dato.
Ejemplo, para la representación en 
4 bits.
Representación de Números 
Negativos
Para representar números negativos, 
se acordó el empleo de un bit de señal, el 
más significativo (más a la izquierda):
0 = positivo
1= negativo
Serán vistas dos maneras de repre-
sentar un número, que permitirán la defi-
nición de números positivos y negativos: 
Señal - Magnitud y Complemento de 2.
Señal-Magnitud
Una representación de números bi-
narios en señal-magnitud divide la infor-
mación en dos partes.
• 1 bit para la señal (el más significo)
• Los demás bits para la magnitud 
(valor absoluto del número)
De tal manera, el valor en binario 
usado para representar el número positivo 
o el número negativo es igual, variando 
apenas el bit de la señal.
Fonte: dosponível aqui
39FUNDAMENTOS COMPUTACIONALES
Si el tamaño determinado para la re-
presentación de un número es “n”, entonces 
será posible representar los valores de
-(2n-1 - 1) até (2n-1 - 1)
2n-1 porque se reserva un bit para 
la señal. Se resta 1, porque el primer valor 
a ser representado es el 0.
Ejemplo: Si “n” es 8, en un byte po-
demos representar los valores:
- (27 - 1) hasta (27 - 1)
-127 hasta 127
256 diversos valores
En este caso, serán dos representa-
ciones para el cero. Una inconveniencia de 
la representación señal-magnitud.
Complemento de 2
En matemáticas, el complemento 
de un número es la cantidad que falta para 
completar un valor. Por ejemplo, el com-
plemento de un ángulo agudo es el número 
de grados necesarios para llegar a los 90.
En operaciones aritméticas, el com-
plemento con base de un número N es el 
valor necesario para conseguir el valor má-
ximo representable para la base, y se obtiene 
de la siguiente manera:
• Se resta, de cada número, el mayor 
número de la base (complemento 
base-1)
• Se suma 1 al resultado (complemento 
de base).
Representación en el complemento 
de la base de 297
 999
-297
 702 1 = 703
La suma de un número con su com-
plemento siempre será el número de valores 
posibles de escribir en la representación. 
Ejemplo: 297 + 703 = 1000
En el caso de los números binarios, 
para llegar al complemento de base, o sea, 
el complemento de 2, se resta cada número 
de 1 y después se suma 1 al resultado. O, 
para simplificar, sólo es necesario invertir 
los bits del número y sumar 1 al resultado 
conseguido.
Ejemplo:
Representación en el complemento 
de 2 de 10010: 
1101 = 01110
La representación de números po-
sitivos en el complemento no se modifica, 
sólo se emplea el bit de la señal (igual a la 
representación de la Señal-Magnitud).
La representación de un número 
negativo se consigue haciendo el comple-
mento a la base del número positivo.
40FUNDAMENTOS COMPUTACIONALES
Tipo de 
representación
Representaciones 
para cero
Costo Velocidad
Señal - 
Magnitud
Dos Alto (componentes
separados para suma
y resta)
Baja (algoritmo de
verificación de 
señales,
suma y resta)
Complemento 
de 2
Una Bajo (un componente
único para suma)
Alto (algoritmo
sencillo y único para
suma)
Comparativo entre las dos representaciones
Fuente: Autor
CUESTIONES DEL CAPÍTULO 2
1. ¿Cuántos bits existen en 64KB?
2. ¿Cuántas palabras existen en 1KB?
3. ¿Cuántos bits existen en 1Mb?
4. ¿Cuántos KB existen en 65536 bits?
5. Convierta los valores de abajo para la 
base decimal
a. (1021)3 = 
b. (14501)7 = 
c. (387)9 =
d. (624)8 = 
e. (1011101)2 =
f. (1EB)16 =
g. (23AF)16 =
h. (74D32)16 =
i. (2C3A)16 =
j. (DBAC)16 =
k. (AAA)16 =
42FUNDAMENTOS COMPUTACIONALES
LENGUAJES Y 
ORGANIZACIÓN DE 
LA INFORMACIÓN
¿Ustedes conocen algún lenguaje de 
programación? ¿Sabían que ellos están 
presentes en todo lo que usted hace en la 
computadora?
Los lenguajes de programación son maneras de traducir 
una solución o reglas para encontrar la solución de los problemas 
que se pueden solucionar a través de sistemas computaciona-
les. Todo y cualquier programa, desde el sistema operacional 
hasta las aplicaciones de usuarios, se desarrollan en un lenguaje 
determinado. La opción del lenguaje determina el éxito o el 
fracaso en la construcción de una aplicación.
Los lenguajes de programación tienen como función 
traducir a un lenguaje cercano al del ser humano y a un lenguaje 
que se pueda entender por el procesador, es decir, un lenguaje 
de programación traduce, la prioridad, un texto representando 
un algoritmo para resolver un determinado problema, en un 
43FUNDAMENTOS COMPUTACIONALES
conjunto de instrucciones Lenguajes de 
Programación de máquina de un proce-
sador.
Lenguajes de Programación
Surgimientos de los principales lenguajes de programación
44FUNDAMENTOS COMPUTACIONALES
La figura muestra el surgimiento de 
algunos de los principales lenguajes de pro-
gramación existentes en el mercado.
Los lenguajes vienen desarrollándose 
a lo largo de los años con el objetivo de 
acercar la manera de programar el lenguaje 
humano, es decir, de dejarlos, cada vez más, 
comprensibles y menos complejos. Todo 
el lenguaje irá a convertir un archivo que 
contiene las expresiones lógicas, aritméticas, 
palabras reservadas al lenguaje, entre otros 
objetos, en una secuencia de instrucciones 
de máquinas que pertenecen a un determi-
nado procesador. Estos lenguajes pueden ser 
compilados o interpretados, o sea, pueden 
generar un archivo que contenga todo el 
código ejecutable de una única vez o puedentraducir respectivamente a medida que el 
programa es ejecutado. Esta tarea es hecha 
por los compiladores de un determinado 
lenguaje, sin embargo, las tareas ejecutadas 
para un compilador son básicamente las 
mismas, independiente del tipo de len-
guaje. El flujo muestra las etapas que los 
compiladores ejecutan antes de generar el 
archivo ejecutable, un código entendible 
para la computadora.
Analizador Léxico tiene como fun-
ción identificar las unidades léxicas del 
lenguaje, o sea, dividir lo que son pala-
bras-reservadas, variables, números, etc. 
Por ejemplo, el analizador léxico identifica 
operandos como IF, THEN, Mi Variable, 
entre otros.
Analizador Sintáctico, por su vez, 
verifica si la estructura del programa fue 
hecha según las reglas gramaticales del len-
guaje. El analizador sintáctico verifica si la 
secuencia de un comando de repetición es 
digitada correctamente como en el ejemplo 
WHILE. Mi Variable == 0 DO.
Analizador Semántico verifica si las 
expresiones del programa hacen sentido, 
como, por ejemplo: verificar si los tipos 
de variables están correctos con las atri-
buciones.
 El Generador de Código Intermedio 
genera una representación intermedia entre 
el lenguaje de alto nivel y el lenguaje de 
la máquina del procesador blanco, con el 
objetivo de facilitar esta traducción. Ésta 
no es obligatoria y algunos compiladores 
45FUNDAMENTOS COMPUTACIONALES
lo usan y otros no.
Optimizador de Código, algunos len-
guajes evalúan las expresiones para simpli-
ficarlas y dejar lo ejecutable más rápido. Un 
ejemplo de esto es verificar las expresiones 
aritméticas que involucran multiplicación 
y división de números por múltiplos de 
dos y sustituirlas por las instrucciones de 
desplazamiento evitando, así, el uso del 
procesador aritmético.
Es en esta etapa del Generador de 
Código Objeto que el programa es traduci-
do para el código blanco, es decir, traducido 
para el conjunto de instrucciones de un 
determinado microprocesador. Después de 
la generación del programa objeto es nece-
sario montarlo y encenderlo para generar 
el archivo ejecutable.
Los lenguajes pueden ser divididos a 
través de su acercamiento al lenguaje hu-
mano:
• Lenguajes de Bajo Nivel;
• Lenguajes no estructurados;
• Lenguajes Procedurales;
• Lenguajes Funcionales;
• Lenguajes Volcados para el Objeto;
• Lenguajes Específicos;
• Lenguajes de la Cuarta Generación o
• Visuales;
Lenguajes de Bajo Nivel
Son lenguajes cuyas instrucciones 
están más cerca del código de la máquina 
que del lenguaje humano. Puede decirse 
que para cada procesador hay un lenguaje 
correspondiente, es decir, un lenguaje que 
es determinado por el set de instrucciones 
de aquel microprocesador. Estos lenguajes 
son conocidos como Lenguaje Assembly.
Lenguajes No Estructurados;
Son Lenguajes que no poseen una 
relación directa con el Lenguaje Assem-
bly, o sea, el conjunto de instrucciones de 
estos lenguajes no es el mismo del código 
automático. Entonces, es posible desarrollar 
programas independientes del tipo de mi-
croprocesador que los ejecutará, y es sólo 
en la etapa de generar el código que esto 
es determinado. La no estructura de estos 
lenguajes ocurre porque no se pueden divi-
dir, de manera coherente, las diversas tareas 
de un programa, es decir, los programas se 
hacen en un único archivo.
Son ejemplos, los lenguajes: Cobol, 
Basic.
Lenguajes Procedurales
Los lenguajes procedurales son un 
subgrupo de lenguajes estructurados, don-
de sus controles y organización son más 
eficientes, volviéndolos más claros sobre 
Ejemplos de Lenguajes
46FUNDAMENTOS COMPUTACIONALES
el punto de vista sintáctico. Los lenguajes 
procedurales ordenan la construcción de 
los programas a través de una estructura 
de llamadas de procedimientos. Las más 
comunes son C, Paschal, Fortran, entre 
otros. Cada uno de estos lenguajes posee 
ventajas y desventajas, no obstante, son más 
especialistas que otros en determinadas 
tareas.
Ejemplos de Lenguajes
Los lenguajes funcionales, al revés 
de los procedurales, no están interesados 
en ejecutar comandos, pero, sí, en evaluar 
expresiones que combinan valores básicos 
(verdadero o falso). Algunos de estos len-
guajes no poseen la solución del problema 
insertado en su código, poseen las reglas 
que permiten encontrar la solución de un 
determinado problema.
Estos lenguajes, generalmente, se uti-
lizan de softwares especialistas como, por 
ejemplo, programas que juegan al ajedrez, 
no necesitan prever todas las jugadas en 
su código, es suficiente enseñar los movi-
mientos básicos de cada pieza.
Son ejemplos de lenguajes funcio-
nales: Prolog y Lisp.
Lenguajes Volcados al Objeto
El surgimiento de los lenguajes Vol-
cados al objeto se relaciona con las nue-
vas técnicas de la Ingeniería de Software 
que surgieron para orientar y organizar 
procesos, reducir al mínimo el tiempo de 
programación y promover la reusabilidad 
del código. Además de eso, no había, en la 
década del 90, un lenguaje de programaci-
ón igual al paradigma de la base de datos 
relacional.
Una de las principales cacterísticas de 
este paradigma es que todas las informa-
ciones, datos y códigos, están encapsulados 
y transitan con el flujo del programa. Una 
vez encapsulados en una clase, ésta define 
el comportamiento de todas las instancias 
de aquel objeto. Otras características como 
herencia se implementan en este tipo de 
paradigma de programación.
Smaltalk, C++ y Java son ejemplos 
de lenguajes orientadas a objeto.
Ejemplos de Lenguajes
Ejemplos de Lenguajes
Ejemplos de Lenguajes
47FUNDAMENTOS COMPUTACIONALES
Lenguajes Específicas
Son lenguajes desarrollados para su-
plir necesidades específicas como el tra-
tamiento de la base de datos, formato de 
textos, simulación, entre otros.
Por ejemplo, el lenguaje SQL (Struc-
tured Query Language) es un lenguaje para 
consulta a la base de datos basada en el 
modelo de la base de datos relacional. Este 
lenguaje está normalizado, y es incorpo-
rado por la mayoría de las bases de datos 
disponibles en el mercado. El estudio del 
lenguaje SQL se relaciona con la aritmética 
y la lógica relacional y posee relación directa 
para su conversión.
Otro ejemplo es el Matlab, que fue 
creado inicialmente para la enseñanza de 
la teoría matricial, del álgebra linear y del 
análisis numérico, en las Universidades de 
Standfor y de Nuevo México, en la déca-
da del 70. Actualmente este programa es 
suministrado por la Math Workx y se ha 
vuelto para las aplicaciones científicas y la 
simulación de sistemas. Su sintaxis es sufi-
cientemente fácil y posee una gran variedad 
de bibliotecas para las aplicaciones que van 
desde la simulación de sistemas digitales, 
el procesamiento de señales y de sistemas 
complejos como dinámica de fluidos com-
putacional. Su principal ventaja es proveer 
rápidamente los resultados al usuario.
Además de éstos, tenemos HTML, 
LÁTEX, Perl, entre otros.
Lenguajes de la Cuarta Generación o 
Visuales
Los lenguajes de la cuarta generación 
o visuales surgieron de sistemas operaciona-
les cuyas interfaces son gráficas. Windows 
fue uno de los responsables por el surgi-
miento de estos lenguajes y en la manera 
como son desarrollados los programas. Los 
usuarios, a través de los lenguajes 4GL, 
pueden crear sus propios sistemas con un 
mínimo de error y de tiempo de desarrollo.
Lenguaje Visual Basic, Simulink, 
Lenguaje Delphi son ejemplos de lenguajes 
visuales.
Estructura y Organización de 
la información
La estructura, de cómo los datos 
son almacenados, es una de las partes más 
importantes del proyecto de un sistema 
computacional, sea para el control de una 
empresa, sea dentro de un dispositivo móvil. 
Esta importancia se da por el hecho de que 
todos los procedimientos y funciones que 
se desarrollarán dentro del sistema depen-
derán de la definición de estas estructuras.
Además de la elección del lenguaje 
de programación correcta para resolver un 
determinado problema, es la opción de la 
estructura delos datos que garantizará un 
Ejemplos de Lenguajes
48FUNDAMENTOS COMPUTACIONALES
funcionamiento mejor del software cons-
truido. Para los sistemas de información 
para las empresas, en general, la estructura 
de datos de un programa modelará los da-
tos que representan los procesos reales de 
aquella empresa.
Los lenguajes de programación pro-
veen las herramientas para hacer este mo-
delado, que van desde tipos de datos ele-
mentales, como caracteres, enteros, reales, 
etc., hasta más complejo como archivos que 
son estructuras que agrupan diversos tipos 
de datos. A continuación, se presentarán 
algunas maneras de organizar los datos de 
un sistema.
Campo
El campo es la descripción de un 
atributo, de una entidad determinada. Los 
campos se pueden formar por cualquier tipo 
de dato elemental y están conectados a un 
área determinada del almacenaje, teniendo 
un significado lógico para el sistema.
Registro
El registro consiste en una agrupaci-
ón de campos que representa una ocurrencia 
de una determinada entidad. Generalmente, 
cada registro es representado por un campo 
de valor único dentro de una determinada 
colección de entidades. Es decir, cada re-
gistro tendrá una identificación, conocida 
como clave, que identificará una y solamen-
te una entidad. Los registros son comunes 
en archivos de base de datos.
La tabla muestra algunos ejemplos de 
la colección de los registros y de las claves 
que representan un único elemento dentro 
de la colección.
Archivos
Los archivos, además de ser im-
portantes para el mantenimiento de los 
sistemas operacionales (modelado de dis-
positivos, comunicación entre los procesos, 
etc.), poseen un papel importante en la 
abstracción para el almacenaje de datos en 
los sistemas computacionales. Un archivo 
que contiene datos almacenados de forma 
secuencial, es decir, un registro después 
del otro.
Aunque, todos los archivos conten-
gan datos, la relevancia de ellos es dada 
siempre a un nivel superior, o sea, a un 
nivel de usuario. Cuando un conjunto de 
Entidad Atributos
Libro
Título
Categoría
Autor
Cliente
Nombre
Apellido 
DI
Campo
Registro Chave
Registro de Coches Número del Chasis
Registro de Clientes Número del DI
Registro de Notas
Fiscales
Número de la Nota
Fiscal
Registro de
Empleados
Número de la 
Matrícula
Registro
49FUNDAMENTOS COMPUTACIONALES
datos agrupados tiene significado, esto se 
convierte en información. Por lo tanto, la 
diferencia entre datos e información es 
que éstas permiten la toma de decisión o 
la ejecución de tareas, de acuerdo con los 
objetivos de cada sistema o programas.
Métodos de Acceso a los Datos
El método de acceso a los datos son 
los algoritmos de la búsqueda, inserción, 
actualización, entre otros, utilizados para 
el sistema de información y la elección de 
un tipo de algoritmo en detrimento de otro 
determinará el grado de dificultad de aquel 
sistema.
• Acceso Serial
Los archivos de acceso serial son 
aquellos cuyos datos son almacenados en 
el archivo en el orden en que fueron creados 
y sus registros poseen tamaños y secuen-
cias de datos iguales. El acceso de este tipo 
de archivo se hace a través de la búsqueda 
secuencial del registro.
La característica del acceso serial es 
que un registro sólo es alcanzado después 
de la finalización de la lectura del anterior. 
Esta metodología genera tiempos de acce-
sos extremamente largos a medida que el 
archivo crece. La actualización del archivo 
en este método implica la creación de un 
archivo auxiliar dentro del sistema, dupli-
cando el área ocupada en el disco.
• Acceso Secuencial
La principal característica del acceso 
secuencial es que los registros son almace-
nados por orden de clasificación de la clave. 
Cuando almacenados en orden crecente 
de claves, el acceso se convierte en serial y 
fácilmente calculado, una vez que el tamaño 
de cada registro es igual.
Una de las maneras de garantizar que 
el archivo con los datos sea mantenido y 
ordenado es el uso de árboles binarios para 
mantener los datos en memoria antes de 
que los grabe en disco, garantizando, así, que 
la ordenación no afecte el funcionamiento 
del sistema.
Datos, Procesamiento e información
Fuente:Tanembaum, 2007
Organización de los datos en acceso serial
Fuente:Adaptado de Link.
Organización de los datos, ordenados para la clave
Fuente:Adaptado de Link.
Organización de los datos, ordenados para la clave
Fuente:Adaptado de Link.
50FUNDAMENTOS COMPUTACIONALES
• Acceso Secuencial Indexado
Este método consiste en mantener 
un archivo de índices que señala la posición 
del registro dentro del archivo. El archivo 
de índices se genera durante la creación del 
archivo o en el mantenimiento del mismo. 
Además de eso, este archivo de índices po-
drá ser mantenido ordenado o incluso usar 
una estructura en árbol binario cuando sea 
cargado en la memoria. La búsqueda en 
este tipo de método es muy rápida.
• Acceso directo
El método de acceso directo es defi-
nido por la correspondencia directa entre 
la clave del registro y la dirección física del 
registro en el dispositivo de almacenaje. De 
esta manera, al intentar localizar un registro, 
el software accesará directamente la direc-
ción donde aquel registro fue grabado. Este 
método garantiza gran funcionamiento en 
el acceso a los datos.
Base de Datos
Una manera simple de definir una 
base de datos es un conjunto de archivos, 
conteniendo registros, organizados para 
garantizar el mejor funcionamiento durante 
las consultas, inserciones, actualizaciones 
y la creación de datos. Al contrario de los 
archivos convencionales que poseen una 
diversidad de los datos que no poseen re-
lación entre sí mismos, una base de datos 
posee una relación entre los datos que dan 
al usuario informaciones relevantes. Por lo 
tanto una base de datos posee datos elemen-
tales y datos secundarios, proveniente de 
las relaciones entre los datos. Estos datos se 
pueden clasificar como: Datos principales; 
Datos de la estructura; Datos del índice; 
Datos del control; y Diccionario de datos.
Una base de Datos debe ser capaz 
de representar los datos del mundo real, 
es decir, la Base de Datos tendrá que ser 
capaz de modelar los datos principales, las 
relaciones y las transacciones entre los mis-
mos. Una Base de Datos posee diversos 
níveles de información, relacionados con 
cada etapa de su construcción. La figura 
muestra que la relación entra las etapas de 
la elaboración de una Base de Datos y las 
informaciones asociadas a cada una de ellas.
Un modelo de la base de datos se da 
a través de dos fases y de cuatro etapas con 
el fin de mantener una organización y una 
relación entre em mundo real y los datos 
representados dentro del sistema.
La primera fase se refiere a la concep-
tualización del modelo donde son levantas 
y analizadas las informaciones del mundo 
real, de sus relaciones y transacciones entre 
los procesos. A partir de eso es formulado el 
Organización de los datos a través de 
índices
Fonte:Adaptado de Link.
51FUNDAMENTOS COMPUTACIONALES
modelo conceptual de la Base de Datos, es 
decir, se definen las estructuras de la infor-
mación y de los métodos de manipulación.
La segunda fase ocurre cuando la 
Base de Datos es implementada, es decir, 
son definidos el modelo lógico y el modelo 
físico de los datos, las rutinas de consulta, 
actualización, inserción, entre otras de la 
Base de Datos.
Modelo Relacional
El modelo relacional de la Base de 
Datos se utiliza actualmente y ofrece gran-
des ventajas sobre los otros modelos de la 
Base de Datos y la base de su estructura son 
las matemáticas relacionales. Una Base de 
Datos relacional posee algunas terminolo-
gías que deben ser conocidas para entender 
el modelo.
Terminología Descripción
Dominio Es un grupo de valores legales que corresponden a una secuencia
de registros válidos, encontrados en un determinado conjunto de
atributos.
Tupla Es la línea de una tabla que posee los valores de cada atributo.
Atributo Es una columna de

Continuar navegando