Sunteți pe pagina 1din 64

Instituto de Formación Técnica Superior Nro.

12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

ARQUITECTURA DE LAS COMPUTADORAS

SIGNIFICADO DEL TERMINO COMPUTADORA

El nombre deriva del latín “Computare” que significa contar y se puede aplicar
a cualquier dispositivo de cálculo. Sin embargo el término computador o computadora
se refiere a un tipo especial de dispositivo de cálculo con características definidas. Es el
que ha ejercido y está ejerciendo, una influencia extraordinaria en campos tan diversos
de la actividad humana, que nos permite afirmar que estamos viviendo en la era de las
computadoras y la automatización.

A pesar de la variedad de tareas que realizan, no debemos creer que son super
cerebros, ya que, independientemente de su grado de desarrollo tecnológico y científico,
todas tienen en común el realizar fundamentalmente tres cosas básicas: leer datos,
elaborarlos, y escribir resultados.

COMPUTADORA
Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal
manera, que se realice un procesamiento sobre un conjunto de datos de entrada,
obteniéndose otro conjunto de datos de salida.
TIPOS DE COMPUTADORAS
Se clasifican de acuerdo al principio de operación de Analógicas y Digitales.

• COMPUTADORA ANALÓGICA

Aprovechando el hecho de que diferentes fenómenos físicos se describen por


relaciones matemáticas similares (v.g. Exponenciales, Logarítmicas, etc.)
pueden entregar la solución muy rápidamente. Pero tienen el inconveniente que
al cambiar el problema a resolver, hay que realambrar la circuitería (cambiar el
Hardware).

• COMPUTADORA DIGITAL

Están basadas en dispositivos biestables, i.e., que sólo pueden tomar uno de dos
valores posibles: ‘1’ ó ‘0’. Tienen como ventaja, el poder ejecutar diferentes
programas para diferentes problemas, sin tener que la necesidad de modificar
físicamente la máquina.

1
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

HISTORIA DEL PROCESAMIENTO DE DATOS

Los primeros archivistas y sus instrumentos.

Durante miles de años los seres humanos vivieron sobre la tierra sin registrar la
información en forma permanente. Sin embargo, al crecer las tribus y formar naciones,
se desarrolló el comercio. Alrededor de 3500 años antes de Cristo, los mercaderes
babilonios mantenían archivos en tablillas de barro. El ábaco fue uno de los primeros
instrumentos manuales para calcular, aunque tiene una antigüedad de mas de 3000 años,
se sigue utilizando en algunas partes del mundo, principalmente en Asia.

Las técnicas de archivado se siguieron desarrollando a través de los siglos,


presentándose innovaciones como las auditorias (Los Griegos) y los presupuestos (Los
Romanos).

En 1642 Blas Pascal, un brillante joven Francés, desarrolló la primera máquina


de calcular mecánica. Unos treinta años más tarde, el matemático alemán Gottfried Von
Leibniz mejoró el invento de Pascal produciendo una máquina que podía sumar, restar,
multiplicar, dividir y extraer raíces. Sin embargo, no existía la tecnología para fabricar
este tipo de instrumentos de precisión en forma masiva.

El tejedor estadístico y sus tarjetas.

La historia de las tarjetas perforadas data de 1801 cuando un tejedor Francés


llamado Joseph Jacquard las invento para controlar sus telares mecánicos. No obstante,
lo que hizo que se utilizaran para el medio de procesamiento de datos fue el problema
de completar el censo de 1880, el procesamiento de datos en EEUU con lápices, plumas
y reglas. El volumen de los archivos durante este período estaba creciendo rápidamente
y, como era de esperarse, los métodos manuales producían información relevante
inexacta y muchas veces tardía. Para desesperación de las oficinas de censos de Estados
Unidos, por ejemplo, el censo de 1880 no se termino hasta cuando ya era hora de
comenzar el censo 1890. Por fortuna para estas oficinas y para otros que querían
mejores métodos de procesamiento de datos, la oficina de censo contrato para encontrar
una solución al problema del censo 1887, a un estadístico el Dr. Herman Hollertih, este
desarrolló su concepto de tarjetas de lectura mecánica (tarjetas perforadas) y diseño un
dispositivo conocido como la máquina del censo. La tabulación con los métodos de
hollerith requería de una octava parte del tiempo que se necesitaba antes, por lo que
se adoptaron sus técnicas para el censo de 1890. Aunque la población había aumentado
de 50 a 63 millones, el censo se completó en menos de tres años (Naturalmente esto
significa una lentitud intolerable en estas épocas).

2
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Después del censo de 1890, Hollerith adaptó se equipo para utilizarlo


comercialmente y creó el sistema de estadística de cargas para dos ferrocarriles. En
1896 fundó la Tabulating Machine Company para fabricar y vender su invento. Mas
tarde, esta firma se fusionó con otras para formar la International Business Machine
(IBM) Corporation.

El procesamiento de tarjetas perforadas se basó en una idea sencilla: los datos de


entrada se registraban primero en forma codificada haciendo perforaciones en tarjetas.
Más tarde las tarjetas se introducen en una serie de máquinas electromecánicas que
realizan los pasos de procesamiento. El procesamiento de tarjetas perforadas era mucho
más rápido y exacto que los métodos manuales. No obstante requería todavía personas
que llevaran las cajas con las tarjetas de un paso al siguiente. Era necesario alimentar
cada una de las máquinas, echarlas a andar y detenerlas, la necesidad de intervención
humana era una desventaja importante.

Avances iniciales en el desarrollo de las computadoras.

Primera Generación
En esta generación había una gran desconocimiento de las capacidades de las
computadoras, puesto que se realizó un estudio en esta época que determinó que con
veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de
procesamiento de datos.
Esta generación abarco la década de los cincuenta. Y se conoce como la primera
generación. Estas máquinas tenían las siguientes características:
• Estas máquinas estaban construidas por medio de tubos de vacío.

• Eran programadas en lenguaje de máquina.

En esta generación las máquinas son grandes y costosas (de un costo aproximado de
ciento de miles de dólares).

La locura de Babbage unos 50 años antes de los trabajos de hollerith, Charles


Babbage, profesor de matemáticas en la Cambridge University, de Inglaterra, propuso
una máquina a la que dio el nombre de Máquina analítica. Babbage era un hombre
excéntrico y de mal carácter que paso gran parte de su vida trabajando en vano para
completar su increíble y compleja máquina. El sueño de Babbage –una unidad de
memoria o almacén, una unidad aritmético o molino, la impresión automática de salida,
el control secuencial por programa y una exactitud de 20 cifras.

En pocas palabras Babbage había diseñado un prototipo de computadora que


estaba adelantada en 100 años a su época. Lady Augusta Ada Lovelance, hija de Lord
Byron, el poeta, ayudó a Babbage, ella era una brillante matemática y corrigió algunos
de los errores en el trabajo de Babbage e inventó formas novedosas de enfocar el diseño
de programas empleando tarjetas perforadas. Por estos descubrimientos muchos la
consideran la primera programadora de computadoras. Al morir Babbage en 1871 el
desarrollo de las computadoras se detuvo hasta 1937; las tarjetas perforadas dominaron
el mundo del proceso de datos.

3
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

En 1937, Howard Aiken, profesor de la Universidad de Harvard, se fijó en la


meta de construir una máquina de calcular automática que combinara la tecnología
eléctrica y mecánica con las técnicas de tarjetas perforadas de Hollerith. Con ayuda de
estudiantes de postgrado e ingenieros de la IBM, el proyecto se completo en 1944. El
aparato terminado se denomino la computadora digital MARK I. Las operaciones
internas se controlaban automáticamente con relevadores electromagnéticos, y los
contadores aritméticos eran mecánicos; así, la mark I era una computadora
electromecánica. En muchos aspectos era el sueño de babbage hecho realidad. Esta
máquina medieval se exhibe actualmente en la universidad de Harvard.

El primer prototipo de computadora electrónica se concibió en el invierno de


1937-1938 por el doctor John Vincent Atanasoff, profesor de física y matemática en
towa state college. Como ninguna de las calculadoras disponibles en ese entonces era
adecuada para sus necesidades. Atanasoff decidió construir la suya. Empleando
conceptos de diseños que cristalizaron en su menta a altas horas de la noche de invierno
en un bar a la orilla de la carretera en Illinois, Atanasoff formó un equipo con Clifford
Berry, su asistente de postgrado, y comenzó a construir la primera computadora
electrónica. La llamaron “Computadora Atanasoff –Berry”, o ABC (Atanosoff-Berry
computer). La ABC empleaba bulbos al vacío para almacenar datos y efectuar
operaciones aritméticas y lógicas.

Durante 1940 y 1941 Atanasoff y Berry se unieron con John W. Mauchly y le


mostraron su trabajo, Mouchly que trabajaba en la school of Electrical Enginneering de
la Universidad de Pensylvania, comenzó a pensar en la forma de construir una
computadora de aplicación general. (la ABC se diseñó con el objetivo específico de
resolver sistemas de ecuaciones simultáneas) Mauchly formó un equipo con J. Presper
Eckert Jr. Estudiante de postgrado de ingeniería en Moore School, para organizar la
construcción de ENIAC a principio de la década de 1940.

ENIAC fue la primera computadora electrónica de aplicación general que entró


en funcionamiento. Financiada por él ejercito de los Estados Unidos, se construyó en
Moore School como proyecto secreto durante la guerra (al ejercito le interesaba la
preparación rápida de tabas de trayectorias de proyectiles). También se utilizaron bulbos
al vacío (18.000 de ellos) en ENIAC aunque pesaba 30 toneladas y ocupaba el espacio
de 150 metros cuadrados (una casa de tres habitaciones), ENIAC podía hacer 300
multiplicaciones por segundo, lo que la hacia 300 veces más rápida que cualquier otro

4
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

dispositivo de la época. Las instrucciones de operación de ENIAC no se almacenaban


internamente mas bien se introducían por medio de tableros de clavijas e interruptores
localizados en el exterior. Él ejercito utilizó la ENIAC hasta 1955.

A mediados de la década de 1940 colaborando con H. H. Goldstine y A. W.


Bruks, el genio matemático John Von Neumann escribió un trabajo sugiriendo.

1. Utilizar sistemas de numeración binario para construir computadoras


2. Que las instrucciones para la computadora, así como los datos que se
manipularán, se almacenarán internamente en la máquina.

La primera de esas ideas se habían utilizado ya en la ABC de Atanasoff y los


artículos de Von Neumann le dieron publicidad al concepto. Esta es una idea
importante, ya que el sistema de numeración binario utiliza únicamente dos dígitos (0 y
1) en ves de los 10 dígitos (0 al 9) del sistema decimal con el que todo el mundo está
familiarizado. Dado que los componentes electrónicos están normalmente en una de los
dos estados (encendido o apagado), el concepto binario significó el diseño del equipo.
La segunda idea fue un avance brillante en la época por que significaba que los
programas se podrían almacenar de la misma forma que se almacenaban los datos, ya no
había necesidad de cambia un sin número de interruptores y cables antes de ejecutar una
operación nueva. El origen de la idea de programa almacenado se discute todavía. Pero
se convirtió en una parte fundamental de la filosofía de diseño del las computadoras.

Aunque estas ideas no se incorporaron en ENIAC, Mauchly, Eckert y otros de


Moore School se dedicaron a construir una máquina que pudiera almacenar programas.
Esta máquina la EDVAC; no se terminó sino hasta varios años más tarde. La distinción
de ser la primera computadora electrónica de programa almacenado corresponde a la
EDSAC, terminada en 1949 en Cambridge University.

Una de las razones del retraso sufrido por EDVAC fue que Eckert y Mauchly
fundaron su propia compañía en 1946 y comenzaron a trabajar en Universal Automatic
Computer. A principios de 1951 la primera UNIVAC-1 comenzó a funcionar en las
oficinas del censo. (en 1963 se envió también a la Smithsonia institution , una reliquia
histórica después de solo 12 años). Cuando la UNIVAC desplazó al equipo de tarjetas
perforadas en la oficina del censo, Thomas J. Watson Jr. hijo del fundador de IBM en la
era de la computación.
La primera computadora adquirida por una organización de negocios para
procesar datos y archivar información fue otra UNIVAC-1 instalada en 1954 en
General Electric´s Appliance Park.

5
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

LA IMB 650 entro en servicio por primera vez en Boston afines de 1954. Siendo
una máquina relativamente barata para aquella época, tubo gran aceptación, y dio a la
IBM el liderazgo en la producción de computadoras en 1955.

En el período 1954 a 1959, mucho negocios adquirieron computadoras para


procesar datos, aún cuando estas máquinas de primera generación habían sido diseñadas
para aplicaciones científicas. Los no científicos solían considerar la computadora como
un instrumento de contabilidad y las primeras aplicaciones de negocios se diseñaron
para procesar tareas rutinarias como son las nóminas. Se subestimó el potencial real de
las computadoras, y muchas fueron adquiridas por prestigio que confería a la
organización. No obstante, no debe juzgarse con demasiada dureza a los primeros
usuarios de computadoras. Fueros los pioneros en el empleo de una herramienta nueva.
Tenían que contratar un nuevo tipo de trabajadores para sus instalaciones de cómputos;
tenían que preparar programas en un tedioso lenguaje de máquina. A pesar de estos
obstáculos se comprobó que la computadora era un procesador rápido, exacto e
incansable de grandes cantidades de información.

Las computadoras de la segunda generación, que comenzó a aparecer en 1959,


eran más pequeñas y rápidas y de una capacidad de cómputos mayor. La escritura de
programas de aplicación en leguaje de máquina fue desplazado por el uso de lenguajes
de programación del alto nivel y el bulbo al vacío, de vida relativamente corta, fue
desplazado por componentes compactos de estado sólido, como los transistores que
habían sido desarrollados por BEL Laboratories en 1947.

Segunda Generación
Cerca de la década de 1960, las computadoras seguían evolucionando, se reducía su
tamaño y crecía su capacidad de procesamiento. También en esta época se empezó a
definir la forma de comunicarse con las computadoras, que recibía el nombre de
programación de sistemas.
Las características de la segunda generación son las siguientes:

• Están construidas con circuitos de transistores.

• Se programan en nuevos lenguajes llamados lenguajes de alto nivel.

Al mismo tiempo que se desarrollaban los sistemas de segunda generación se


estaba creando una industria nueva, basada en la idea de integrar transistores y otros
componentes para formar circuitos que pudieran colocarse en pequeños trozos de silicio.
Una de las primeras compañías en esta industria fue Shockley semiconductor, fundada
en 1955 por william Shockley. Algunos empleados se separaron más tarde para formar
Fairchild semiconductor, y gente de Fairchild formó otras varias compañías,
incluyendo INTEL corporation.

6
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Tercera generación
Con los progresos de la electrónica y los avances de comunicación con las
computadoras en la década de los 1960, surge la tercera generación de las
computadoras. Se inaugura con la IBM 360 en abril de 1964.3
Las características de esta generación fueron las siguientes:

• Su fabricación electrónica esta basada en circuitos integrados.

• Su manejo es por medio de los lenguajes de control de los sistemas operativos.

Los sistemas de la segunda generación eran bastante especializados. Se les


diseñaban para procesar aplicaciones científicas como no científicas, pero no se
procuraba que funcionara adecuadamente en los dos ambientes, esa situación cambió en
1964 cuando IBM anunció una tercera generación de equipos. Se utilizan los circuitos
integrados (CHIPS) que son conjuntos monolíticos que contienen múltiples transistores
miniatura en sus comienzos contenían por ejemplo, 15 transistores por cada CHIPS.
Estaban equipadas por discos magnéticos, la entrada se hacia por tarjetas perforadas,
cassettes magnéticos o hacia fines de ese período por diskettes magnéticos. Su familia
360 de macrocomputadoras. Cada uno de los procesadores de esta familia tenían un
conjunto muy amplio de instrucciones internas que podían ejecutar. Algunas de esas
instrucciones eran especialmente útiles en aplicaciones científicas, mientras otras eran
más apropiadas para procesamiento de archivos. De ese modo era posible utilizar el
modelo 360 o 370 de una manera más eficiente en los dos ambientes. De 1964 a la fecha
se han introducido muchas otras familias mejoradas de procesadores. Están
caracterizados por la aparición de los circuitos integrados en gran escala (LSI) con
centenares de miles de transistores por CHIPS, por el desarrollo de los
microprocesadores (una unidad de proceso completa en un CHIPS) y por el
abastecimiento y la consecuente difusión. En forma colectiva se podría considerar a
estos procesadores como una cuarta generación, pero la industrian nunca se puso de
acuerdo en la designación de generaciones en los años subsecuentes.

Cuarta Generación
Aquí aparecen los microprocesadores que es un gran adelanto de la microelectrónica,
son circuitos integrados de alta densidad y con una velocidad impresionante. Las
microcomputadoras con base en estos circuitos son extremadamente pequeñas y baratas,
por lo que su uso se extiende al mercado industrial. Aquí nacen las computadoras
personales que han adquirido proporciones enormes y que han influido en la sociedad
en general sobre la llamada “revolución informática”.

7
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

El desarrollo de las minicomputadoras.

Las computadoras construidas antes de 1965 eran macrocomputadoras,


diseñadas para proporcionar en una localidad centralizada todo el poder de
procesamiento que requiera una organización. Este enfoque resolvió las necesidades de
algunas organizaciones, pero habían otras que no contaban con los fondos necesarios
para adquirir sistemas grandes o tenían aplicaciones especializadas que no podían ser
procesadas en forma eficiente por una máquina grande centralizada.

Existía una necesidad obvia de computadoras mínimas de bajo costo para llenar
los huecos que dejaba el enfoque de las máquinas más grandes, rápidas y centralizadas.
Varios innovadores se dieron cuenta de esa necesidad y formaron compañías nuevas en

la década de 1960, para producir estas máquinas mínimas. Los primeros procesadores
en recibir el nombre de minicomputadoras se desarrollaron y construyeron en 1965 por
la Digital Equipment Corporation, que es el actualmente más grande fabricante de
minis, otros fabricantes como Hewlett-Packard y Data General, siguieron rápidamente
la iniciativa de DEC.

En el ambiente de computación centralizado de principios de los sesenta, los


usuarios preparaban sus datos y sus programas y después los llevaban al centro de
cómputos para ser procesados, este reunía todas estas tareas y la introducía por lotes a la
computadora a intervalos programados. El retraso inevitable que resulta por este tipo de
procesamiento era muy frustránte para algunos usuarios, los retrasos eran demasiado
irritantes para los estudiantes con tareas de programación, que aveces tenían que esperar
varios días para localizar y corregir unos cuantos errores en sus programas.

Para remediar esta situación John Kemeny y Thomas Kurtz, decidieron llevar
mas lejos algunos conceptos de tiempo compartido, es un término que se emplea para
describir un sistema de proceso que cuenta con varias estaciones independientes, de baja
velocidad (relativamente), en línea y susceptibles de utilizarse en forma simultánea,
cada una de las estaciones proporciona al usuario acceso directo al procesador central.
Estos desarrollaron programas especiales que permitían al procesador conmutar entre
las distintas estaciones de estudiantes y llevar a cabo una parte del trabajo en el
segmento de tiempo asignado a cada una, hasta finalizar el trabajo.

La intención era proporcionar al estudiante la idea de que nadie mas estaba


utilizando la computadora.

Para mejorar el ambiente de cómputos interactivo que estaban creando, los


profesores desarrollaron un leguaje de programación fácil de aprender por parte de los
estudiantes, el objetivo era que todos tuvieran un incentivo para utilizar con cierta

8
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

frecuencia las estaciones de tiempo compartido. Este lenguaje –BASIC- fue todo un
éxito en ambos aspectos.

La creación de una industria de programación independiente. En 1965 los


fabricantes de computadoras vendían o alquilaban sus equipos, pero no cobraban los
programas que se proporcionaban a los clientes. Desde el punto de vista del usuario esos
programas eran gratuitos, existían unos cuantos proveedores independientes que
proporcionaban algunos más especializados o más eficientes que los suministrados por
los fabricantes. Pero esta situación cambió en 1969 cuando IBM y otros comenzaron a
cotizar de manera independiente sus equipos y sus programas. Esta separación de la
programación hizo que los usuarios tuvieran incentivos para buscar mejores compras en
materia de programas de cómputos, lo que provocó la creación de muchas empresas de
programación y una nueva apertura del mercado informático.

Desarrollo de las computadoras personales.

Quinta Generación

En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado


a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que
se manejan las computadoras. Surge la competencia internacional por el dominio del
mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han
podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora
en un lenguaje más cotidiano y no a través de códigos o lenguajes de control
especializados.
Japón lanzó en 1983 el llamado “programa de la quinta generación de computadoras”,
con los objetivos explícitos de producir máquinas con innovaciones reales en los
criterios mencionados. Y en los Estados Unidos ya está en actividad un programa en
desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente
manera:

• Procesamiento en paralelo mediante arquitecturas y diseños especiales y


circuitos de gran velocidad.

• Manejo de lenguaje natural y sistemas de inteligencia artificial.

El primer anuncio de una computadora personal construida alrededor de un


microprocesador apareció en el número de marzo 1974 en QST, una revista para
aficionados a la radio, el producto que se anunciaba era la Scelbi-8h, y solo se
vendieron cerca de 200 de estos microprocesadores. Pisándole los talones venia Altair
8800, diseñada sobre la base de una pastilla INTEL por una compañía de Albuquerque,
Nuevo México, llamada MITS, se ofrecía originalmente en forma de un equipo para
ensamblar por menos de 400 Dólares. El artículo principal del número de enero de 1975
de la revista Popular Electronics trataba de esta máquina y es posible que dicho artículo
haya iniciado la explosión de las computadoras personales. Por esas mismas fechas, dos
jóvenes programadores llamados Bill Gates y Paul Allen estaban completando un
programa que podía traducir instrucciones escritas en BASIC a los códigos de lenguaje
de máquina que requerían los microprocesadores INTEL, se creó la Microsoft
Corporation para vender el programa BASIC Gates-Allen y la licencia de Microsoft

9
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

BASIC se concedió a MITS a fines de 1975. Muchos de los competidores de la


industria actual de las computadoras personales son firmas de varios miles de millones
de dólares que cuentan con laboratorios de desarrollo bien equipados. En cambio, los
pioneros de 1975 eran en su mayoría aficionados e ingenieros autodidactas, a los que
les fascinaba la naciente tecnología. Construían prototipos de sistemas, los anunciaban
en revistas, utilizaban el dinero que obtenían de las órdenes recibidas para comprar
componentes y ensamblar sus procesadores en cocheras. Muy pocas de esas compañías
sobrevivieron a la fase inicial, pero los que lo hicieron cambiaron el mundo.

Algunas personas están convencidas que las grandes computadoras electrónicas,


gracias a su capacidad casi infinita de almacenar datos y elaborarlos a velocidad
elevadísima, podrán algún día tomar el lugar del hombre y convertirlo en su esclavo.
Seguramente todos hemos leído o visto algún relato de ciencia-ficción que basa su
argumento en esa idea. pero estas predicciones, de algunos años a esta parte, están
revelándose del todo infundadas. Las máquinas que han revolucionado el mundo de la
información penetrando en hogares y oficinas, son las nietas de las grandes
computadoras: las computadoras personales.

Más pequeña que un televisor, con un teclado similar al de una máquina de


escribir y un leguaje que puede aprenderse en pocas lecciones, la computadora personal
es como tener un amigo a mano: no le disgusta jugar y si estamos dispuesto a estudiar
un poco de programación, estará muy feliz de ayudarnos a crear juegos nuevos.

Además puede ayudarnos a archivar nuestras estampillas si nos gusta


coleccionarlas. Y si quisiéramos mejorar nuestros estudios, se convertirá en un
compañero de estudios excelente. Pero atención: es un tanto severo y no perdonará
ningún error.

La computadora personal puede llevar la contabilidad de la casa o de la oficina,


tener un inventario al día de los alimentos que hay en la casa, calcular una dieta para
adelgazar. Con una pequeña computadora personal es posible escribir un texto,
corregirlo sobre la pantalla y luego hacerlo imprimir en una impresora, sin necesidad de
acudir a una máquina de escribir.

La moderna tecnología electrónica ha llegado a un punto tal que la computadora


Cyber 205, fabricada en Estados Unidos por la compañía Control Data, elabora
cincuenta millones de informaciones en un segundo. Son valores como para
asombrarnos. O la computadora Cray-1, también fabricada en Estados Unidos que
realiza una operación aritmética elemental en la milésima parte de una millonésima de
segundo. A pesar de esto, todas las computadoras, desde el microprocesador más
pequeñas hasta el más grande y costoso, como el mismo Cray-1, serían máquinas mudas
e inútiles si el hombre no hubiera inventado un leguaje para poder comunicarse con
ellas y programas para poder resolver los problemas que frecuentemente se le presentan
a las computadoras.

MODELO DE VON NEUMANN

Las computadoras digitales actuales se ajustan al modelo propuesto por el matemático


John Von Neumann. De acuerdo con el, una característica importante de este modelo es

10
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

que tanto los datos como los programas, se almacenan en la memoria antes de ser
utilizados.

Una computadora sin su programa es como un automóvil sin combustible. No


funciona. Y todos los programas se escriben en leguaje simple basado en solamente dos
símbolos. Se trata del código binario.

¿Cómo se escriben los programas? ¿Cómo se hace para que una máquina nos
entienda? Bastará hablarle con un leguaje que les sea comprensible. ¿Pero cuál es?
Podría pensarse que es el Inglés ya que todas la computadora comprenden algunas
palabras del inglés (como “RUN”, que hace funcionar un programa o “PRINT” que le
ordena imprimir). En realidad, el lenguaje de máquina, que toda computadora
comprende, no importa cómo esté construido, es un alfabeto de dos símbolos 0 (cero) y
1 (uno): el “código binario”.
Todos conocemos la tabla de pitágoras, que enseña a multiplicar dos números.
Cada número que utilizaremos está formado por cifras que van del cero al nueve, con un
total de diez. ¿Por qué diez? La respuesta es sencilla: tenemos diez dedos. Todos
contamos con los dedos y nuestros números (aún aquellos muy grandes) se basan todos
en ellos en múltiplos de diez: uno, diez, cien, mil, diez mil etc.
Pero la computadora posee solo dos “dedos”: un valor más alto de la corriente o
tensión eléctrica que atraviesa sus componentes electrónicos (1) y un más bajo (0).
Podemos pensar en una lamparita encendida (1) o apagada (0), es el código más
simple que existe. Pero es muy poderoso. Cualquier número decimal puede escribirse en
un código binario, transformándose en una palabra, en la jerga electrónica, formada por
(0) cero y (1) uno. Pero no solo los números pueden transformarse. También las letras y
los signos de puntuación.
Para mostrar la potencia de este simplísimo alfabeto, veamos una ejemplo traído
de una de las ciencias más modernas, la astronomía con ondas de radio o
radioastronomía.
La gigantesca antena de Arecibo, construida en la islas de Puerto Rico fue
empleada para transmitir un mensaje destinado a los posibles habitantes inteligentes de
planetas de una región del espacio, en la que existe un cúmulo de estrellas llamado
cúmulo globular M-13 distante 24.000 años luz de la tierra lo cual significa que el
mensaje, transmitido llegará a destino dentro de aproximadamente 24.000 años. Quizás
ya no exista el hombre en ese momento.
El mensaje contiene información esencial sobre la tierra, sus habitantes y el
sistema solar al que pertenecemos, confeccionado solamente con símbolos 0 y 1. Una
cifra binaria (sea 0o1) se llama “bit” (Binary digiT).
La información del mensaje de arecibo está escrita en cifras binarias, es decir en
bits y es un código universal.

En la página de Internet: www.old-computers.com encontrara la más completa


información (inclusive un museo de la computadora) sobre computadoras hasta ahora
recopilada. Lamentablemente se encuentra en el idioma Ingles.

¿Cuál es la compuerta adecuada?

Veamos un poco mas de un código binario, dispone solamente de dos símbolos


0 y 1 si queremos traducir un número decimal en un número binario, para el cero no hay

11
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

problema: un 0 decimal es un 0 binario. Lo mismo puede decirse del 1: un 1 decimal es


un 1 binario. Pero, ¿cómo escribiremos el 2 decimal en código binario? Lo veremos en
la siguiente tabla.

24 23 22 2 2
2x2x2x 2x2x2 2x2 2 1
2
16 8 4 2 1
1 1
1 0 2
1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 0 1 1 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
1 0 0 0 0 16

Debido a que hay menos símbolos a nuestra disposición, para escribir un cierto
número debemos usar más cifras: un número en código binario es más largo que el
correspondiente número decimal.
A pesar de ello, se emplean menos símbolos y la máquina lo comprende
perfectamente.
Pero ¿por qué?
En realidad todas las computadoras están formadas por circuitos muy simples
llamados compuertas o gates en inglés. Estos circuitos poseen una o más entradas,
input en inglés. Cada entrada puede solamente asumir dos valores: 0, que es una
tensión eléctrica baja ó 1 que es una tensión eléctrica mas elevada. A su vez, el valor de
salida del circuito puede ser 0 (tensión baja) ó 1 (tensión alta).
El valor de la salida depende del valor de la entrada y del tipo de compuerta. Si
ésta es de tipo AND, que corresponde a la conjunción “Y” y en la entrada tenemos un 0
y otro 0 ó 1 y otro 1, el valor de salida será otro 1.
Para la compuerta OR que corresponde a “O”, la salida será un 1, si una u otra
entrada es un 1. Dando un paso adelante, diremos que si en la salida encontramos un 1,
la salida es verdad, si encontramos un 0 es falso.

Pongamos todo esto en la tabla siguiente:

12
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

número Valor de Valor de


tensión verdad
0 Baja Falso
1 Alta Verdadero

Lo que tenemos es algo que ya se conocía: se trata de álgebra de Boole. El


álgebra de Boole es un tipo particular de matemática que se basa en solamente dos
valores: el 0 y el 1.
Boole era un matemático inglés que había inventado este tipo de matemática
mucho antes de que aparecieran las computadoras. Vemos aquí la importancia del
código binario. Sus valores numérico conforman un álgebra de boole, que es la base
lógica de toda computadora electrónica no importa su forma, dimensión, fabricante o
país de origen.
La computadora es entonces una máquina muy potente y no solo para que pueda
resolver problemas complejos. también interesa el hecho de que se basa en un tipo de
matemáticas que posee un valor extremadamente general y por lo tanto, aplicable a
cualquier tipo de operación aritmética.

¿qué es la memoria?

Habíamos dicho conocer solo dos tipos de cifras en su interior: 0 y 1 ¿y si


cortamos la corriente?
Si no existe un dispositivo de memoria capaz de recordar los números, la
computadora pierde todo el contenido de la información. Entonces es necesario algún
sistema análogo al del papel sobre el cual escribimos con un lápiz, para conservar o
guardar el trabajo realizado y ponerlo a salvo de pérdidas accidentales. Si debemos
realizar un compleja secuencia de cálculos, es natural que descompongamos en muchos
cálculos simples, de los que conservaremos los resultados parciales.
También las memorias de las computadoras funcionan exactamente del mismo
modo, y están dotadas de una serie de riesgos en que la máquina guarda los resultados
parciales, para después echar mano de ellos cuando los necesita. Y como todos
nosotros, la computadora posee un anotador para hacer anotaciones urgentes, un
cuaderno para realizar los cálculos y libros en los que puede buscar información.
Podemos decir, entonces, que posee una jerarquía de memorias. Una es pequeña
y de consulta rápida (el anotador), una más grande (el cuaderno) y una aún más grande
y menos veloz (los libros).

Algunas de estas memorias son como los cuadernos, es decir, de lectura y


escritura y se llaman RAM (Random Access Memory: memoria de acceso al azar o
inmediato). Otras memorias se parecen a los libros en el hecho que son memorias de
lectura solamente y no pueden borrarse para escribir nuevos datos. Son las memorias
ROM (Read Only Memory: memoria de lectura solamente). Además, están las
memorias de masa, que contienen grandes cantidades de información (codificada en
forma de Bits, como ya vimos), comparables con las grandes enciclopedias.
En general vale la siguiente regla: las memorias de acceso rápido y de consulta
fácil contienen menos datos; las memorias de acceso más lento y consulta menos fácil,
contienen muchísimos más datos.

13
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Si comparamos la memoria de una computadora con una guía telefónica, gruesa


y voluminosa, es natural que conservemos una parte, los números de nuestros amigos o
parientes, bomberos, policía y otros números útiles en una pequeña libreta de fácil
consulta: la así llamada memoria operativa.

La memoria de gran tamaño, o memoria de masa se graba en un soporte


magnético. Las memorias veloces se guardan en chips, que son pequeñísimos trozos de
silicio cristalino en cuyo interior existe una arquitectura complicadísima, como rieles de
una inmensa estación ferroviaria en la que viajan no ya trenes, sino pulsos minúsculos
de corriente eléctrica.

Diferencia entre memoria y Almacenamiento

Muchas personas confunden los términos memoria y almacenamiento,


especialmente cuando se trata de la cantidad que tienen de cada uno. El término
“memoria” significa la cantidad de RAM instalada en la computadora mientras que
“almacenamiento” hace referencia a la capacidad del disco duro.
Para aclarar esta confusión, se puede comparar la computadora con una oficina
que tiene una mesa de trabajo y varios archivos.
La mesa de trabajo representa la memoria, la cual ofrece un acceso rápido y fácil
a los archivos con los que se está trabajando en ese momento determinado.
Otra diferencia importante entre la memoria y el almacenamiento, consiste en
que la información almacenada en el disco duro permanece intacta cuando se apaga la
computadora. En cambio, el contenido de la memoria queda borrado cuando se apaga la
computadora (como si se tirarán a la basura todos los archivos encontrados en la mesa
de trabajo al final del día).
Cuando se trabaja con un ordenador, se deben salvar el trabajo con frecuencia.
La memoria de la computadora salva las modificaciones introducidas en el documento
hasta que el usuario las salva en el disco duro. Si por cualquier razón se interrumpe la
operación de la computadora, por ejemplo, debido a un corte de luz o a un error del
sistema, se perderán todas las modificaciones realizadas que no fueron salvadas hasta
ese momento.

¿Qué es SIMM, DIMM y RIMM?

Las memorias se agrupan en módulos, que se conecta a la Motherboard o


también llamada Placa Madre. Según los tipos de conectores que lleven los modulos, se
clasifican en módulos SIMM (Single Inline Memory Module), módulos DIMM (Dual
Inline Memory Module), y módulos RIMM (Rambus Inline Module Memory).

SIMM: Un SIMM es una tarjeta de circuito impreso con chips DRAM y pines dorados
o plateados. Los SIMMs vienen en dos configuraciones 30 pines y 72 pines. Los pines
establecen cuantos datos se pueden transferir. Los pines en cada lado del SIMM
comparten la misma conexión eléctrica. Los de 30 contactos son para las placas 386 y
las primeras de 486, la de 72 contactos también en las placas 486 más modernas y en las
placas Socket 7 para Pentium y AMD. La memoria de 72 contactos hay que utilizarla de
a pares, no se puede utilizar un módulo solamente. Esta memoria ofrece 4 bytes por
acceso. La memoria de 72 puede ser de dos caras y no todas las placas bases la
soportan.

14
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

DIMM: Un DIMM es muy parecida a un SIMM. La diferencia entre las dos es que los
contactos de metal en el DIMM son electrónicamente independientes. Un DIMM es de
168 contactos y se puede colocar un único módulo, no hace falta colocarlos por pares.
Trabaja a 3.3v. Es la que se utiliza en las placas con procesadores a partir de Pentium III
y en las placas Super Socket 7. Esta conexión proporciona 8 bytes por acceso. Hay una
versión especial para portátiles llamada SO-DIMM, que es un DIMM de tamaño más
reducido con 140 contactos.

RIMM: Es el módulo de conexión de memoria basado en la tecnología Rambus, que


utiliza la memoria Direct RDRAM. Se caracteriza por presentar una topología física de
bus e incrementa por 3 o 4 la frecuencia de ciclo de reloj del bus de datos. Los módulos
RIMM vienen con frecuencias de reloj de 300 Mhz., 350 Mhz, y 400 Mhz. En cada
ciclo de reloj realiza dos operaciones, lo que permite aumentar su tasa de datos a los
estandares PC600, PC700 y PC800. Utilizan nuevos chips y se ensamblan en placas de
igual tamaño a los DIMM, pero con 184 contactos en lugar de 168 pines. Hay una
versión especial para portátiles llamada SO-RIMM con 160 contactos. La transferencia
de datos se efectúa por paquetes de 16 bits.

MEMORIA RAM – Diferentes tipos

DRAM: (Dynamic Random Access Memory). Es la memoria de trabajo, también


llamara RAM, esta organizada en direcciones que son reemplazadas muchas
veces por segundo. Esta memoria llegó a alcanzar velocidades de 80 y 70
nanosegundos (ns), esto es el tiempo que tarda en vaciar una dirección para
poder dar entrada a la siguiente, entre menor sea el número, mayor la
velocidad y fue utilizada hasta la época de los equipos 386.

SRAM: (Static Random Access Memory). Es el tipo de memoria que constituye lo que
se denomina caché. La ventaja de la memoria DRAM, es que es mucho más
barata y almacena mas cantidad de información que la memoria SRAM. A su
vez, la memoria SRAM es mucho más rápida que la DRAM, del orden de 4 a
6 veces más. La utilización de componentes estáticos de memoria RAM
(SRAM) resulta de gran ayuda puesto que no necesitan ningún refresco y, por
lo tanto, disponen de un tiempo de acceso que en parte es inferior a los 15
nanosegundos. En principio se podría pensar en la idea de que toda la memoria
de trabajo DRAM deba ser sustituida completamente por la memoria SRAM,
para así permitir intervalos de acceso más breves. Desgraciadamente la
fabricación de este tipo de chips resulta mucho más cara que en el caso de la
DRAM. Por esta razón es por lo que se utiliza caché en cantidades limitadas:
128, 256, 512 o 1024 Kb y en muy contadas ocasiones como complemento de
DRAM.

FPM: (Fast Page Mode). El nombre de esta memoria procede del modo en el que hace
la transferencia de datos, que también es llamado paginamiento rápido. Hasta
hace unos años ésta memoria era la más popular, en el tipo de memoria normal
para las computadores 386, 486 y los primeros Pentium, llego a fabricarse en
velocidades de 60 ns. Y la forma que presentaban era un módulo SIMM de 30

15
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

pines, para los equipos 386 y 486 y para los equipos Pentium era un SIMM de
72 pines.
EDO: (Extended Data Output). Esta memoria fue una innovación en cuestión de
transmisión de datos pudiendo alcanzar velocidades de hasta 45 ns, dejando
satisfechos a los usuarios. La transmisión se efectuaba por bloques de memoria
y no por instrucción como lo venia haciendo las memorias FPM. Se utiliza en
equipos con procesadores Pentium, Pentium Pro y Pentium II, además de su
alta compatibilidad, tiene un precio bajo y es una opción viable y económica
para aumentar la memoria en estos equipos. Su presentación puede ser en
SIMM o DIMM.

SDRAM: (Synchronous DRAM). Esta memoria funciona como su nombre lo indica, se


sincroniza con el reloj del procesador obteniendo información en cada ciclo de
reloj, sin tener que esperar como en los casos anteriores. La memoria SDRAM
puede aceptar velocidades de BUS de hasta 100 Mhz. (Se las llama en este
caso PC-100) lo que nos refleja una muy buena estabilidad y alcanzar
velocidades de 10 ns.. Se presentan en módulos DIMM, y debido a su
transferencia de 64 bits., no es necesario instalarlo en pares. Es la opción más
económica para poder tener mas cantidad de memoria RAM a un precio
accesible para procesadores a partir de Pentium III.

BEDO: (Bursa Extended Data Output). Fue diseñada para alcanzar mayors velocidades
de US. Trabaja de igual forma que la SDRAM, ó sea, la transferencia de datos
se hace en cada ciclo de reloj, pero esta memoria lo hace en ráfaga (burst)
haciendo que los tiempos de entrega sean despreciables.

RDRAM: (Rambus DRAM). Esta memoria tiene una transferencia de datos de 64 bits
que se pueden producir en ráfagas de 2 ns., además puede alcanzar una tasa de
transferencia de 533 Mhz con picos de 1.6 Gb/s. Es ideal para los Pentium IV
ya que evita los cuellos de botella entre la tarjeta gráfica y la memoria del
sistema. Es muy buena para los juegos y el diseño gráfico. Es muy rápida,
tiene la contra de ser muy cara.

DDR SDRAM: (Double Data Rate SDRAM). Esta memoria tiene el mismo aspecto que
un DIMM, pero la diferencia está en que tiene más pines, pasando de 168
pines del actual DIMM a 184 pines. Viendo un poco el tema del voltaje, la
DDR trabaja con tan sólo 2,5 V, siendo ésta una reducción del 30 % respecto a
los actuales 3.3 V de la SDRAM. Trabaja a velocidades de 200 Mhz.. Es
posiblemente la opción mas razonable en relación velocidad/precio para
Pentium IV.

DDR2 SDRAM: (Double Data Rate 2 SDRAM). Se basa en la tecnología DDR, con
velocidades superiores (tasa de transferencia a 400 hasta 1024 Mb/s), mayores
anchos de banda, bajo nivel de consume (Operación de 1.8 Voltios, lo que
reduce el consumo de energía en aproximadamente el 50 %), y menor
disipación térmica (calor). Posee latencias en la memoria más largas que la
DDR. Es su punto en contra. Ya que sus latencias son casi el doble que la
DDR.

16
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

ESDRAM: (Enchanced SDRAM). Esta memoria es una memoria SDRAM normal pero
además se le añade un módulo SRAM, como la memoria de la caché. Este
módulo viene a funcionar como la caché del procesador, con ello se consigue
un mejor tiempo de respuesta. Ha sido desarrollada por Ramton, es de 7.5 ns.,
3.3 V y tiempos de 2-1-1-1. Soporta 133 Mhz de bus. Este tipo de memoria se
ve encarecido debido a ese módulo adicional de SRAM.

DIRECT RDRAM: (Direct Rambus DRAM). Este tipo de memoria ya no está basado
en la SDRAM, sino que es un nuevo tipo de arquitectura propietaria de
Rambus, con lo cual todos aquellos fabricantes que fabrican este tipo de
memorias tienen que pagar derechos, por ello el precio de la memoria se
incrementa aun más. Las especificaciones hablan de 800 Mhz. De bus y ancho
de banda de 1.6 Gbs. También viene en un formato distinto, ya no viene en
DIMM sino en RIMM.

SLDRAM: (Synk Link SDRAM). Desarrollada por el consorcio SynkLink, es también


una nueva arquitectura pero no es propietaria, y nace como competencia de un
grupo de fabricantes a la RDRAM, propietaria de Rambus Inc.. Funciona
como la DDR SDRAM, se activa dos veces por ciclo de reloj. Esta memoria
tiene una menor latencia y mayor ancho de bus que la RDRAM, soporta hasta
400 Mhz. De bus y su voltaje es de 2.5 V.

SGRAM: (Synchronous Graphic RAM). Ofrece las mismas capacidades de la memoria


SDRAM pero para las tarjetas gráficas, se utiliza en las tarjetas gráficas
aceleradoras 3D.

Actualmente, en el mercado nos encontramos una rivalidad en cuanto a memorias DDR


vs. DDR2.

A la hora de decidir entre memorias DDR y DDR2, generalmente se optaría por elegir
memorias DDR2, pues en condiciones de memoria de calidad media nos ofrecerán
mayor rendimiento. Además las placas bases de altas prestaciones vienen preparadas
para memorias de este tipo.

MEMORIA ROM

La memoria ROM es una memoria de solo lectura. Contiene un patrón


permanente de datos que no puede alterarse. La ventaja de una ROM es que el programa
o los datos estarían permanentemente en memoria principal, y nunca sería necesario
cargarlos desde un dispositivo de memoria secundaria (disco rígido).
Distinto de la memoria principal (RAM), la ROM conserva su contenido incluso
cuando el ordenador se apaga. El contenido de la ROM es permanente, mientras que
RAM es volátil.
Una ROM se construye como cualquier otro chip de circuito integrado, con los
datos cableados en el chip durante el proceso de fabricación. Esto presenta dos
problemas:
• La etapa de inserción de datos implica unos costos fijos relativamente
grandes.

17
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

• No se permiten fallas.

Existen variaciones a la ROM convencional, tales como la PROM (ROM


programable), la EPROM (PROM borrable), la EEPROM (PROM borrable
electrónicamente).

MEMORIA VIRTUAL

Cuanto más programas utilicemos y más complejos sean, mas memoria


necesitaremos. Sólo la carga del Sistema Operativo puede consumir TODA la memoria
con la que se venden algunos ordenadores de bajo costo. Y para terminar de complicar
el tema, los sistemas operativos tienden a aumentar su tamaño y su consumo de
memoria según vamos instalando programas, ó sencillamente según pasa el tiempo, sin
instalar nada. La lógica dice que si se agota la memoria, el ordenador deja de trabajar.
Pese a esto, el hecho es que los ordenadores siguen trabajando cuando se les agota la
memoria RAM, algo que sería imposible si no fuera por la denominada “memoria
virtual”. La memoria virtual no es otra cosa que espacio del disco duro que se utiliza
como si fuera memoria RAM.
Sin embargo, esta memoria virtual tiene varios inconvenientes: el principal es su
velocidad, ya que es muchísimo mas lenta que la RAM. Mientras la velocidad de acceso
a la RAM se mide en nanosegundos, la de los discos rígidos se mide en milisegundos;
es decir, que se tarda casi un millón de veces más en acceder a un dato que se encuentra
en el disco rígido que a uno que se encuentra en la memoria RAM.
Además, el ancho de banda es también muy inferior; por ejemplo, en un
ordenador con memoria PC100 cada segundo pueden transmitirse 800 Mb. De datos que
se encuentren en dicha memoria, mientras que ningún disco rígido actual alcanza
siquiera los 40 Mb/s.. Por no hablar del considerable ruido que organizan algunos discos
rígidos, su elevado consumo, y los más importante: el hecho innegable y no pocas veces
lamentado de la escasa estabilidad del sistema Windows cuando realmente
sobrecargamos el “archivo de intercambio” (el que almacena los datos de la memoria
virtual). También tenemos que tomar en cuenta el desgaste que sufre el disco rígido al
estar leyendo permanentemente los datos que no puede utilizar la memoria RAM.

MEMORIA CACHÉ

La memoria caché es una clase de memoria especial de alta velocidad que esta
diseñada para acelerar el proceso de las instrucciones de memoria en la CPU (Unidad
Central de Proceso). La CPU puede obtener las instrucciones y los datos ubicados en la
memoria caché mucho más rápidamente que las instrucciones y datos almacenados en la
memoria principal (RAM). Por ejemplo, en una placa madre típica de 100 Mhs., el CPU
necesita hasta 180 nanosegundos para obtener información de la memoria principal,
mientras que la información de la memoria caché sólo necesita de 45 nanosegundos. Por
lo tanto, cuantas más instrucciones y datos la CPU pueda obtener directamente de la
memoria caché, más rápido será el funcionamiento de la computadora.
Las clases de memoria caché incluyen caché principal (también conocida como
caché de Nivel 1) y caché secundaria (también como conocida como caché de Nivel 2).
La memoria caché también puede ser interna o externa. La memoria caché interna esta

18
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

incorporada en la CPU del ordenador, mientras que la externa se encuentra fuera de la


CPU.
Anteriormente utilizamos la analogía de una oficina con una mesa de trabajo y
varios archivos para explicar la relación entre la memoria principal y el disco duro de la
computadora. Si la memoria es como la mesa de trabajo en la que se colocan los
archivos en uso para que estén siempre al alcance, la memoria caché es como un tablero
de anuncios en el que se colocan los papeles que se utilizan con mayos frecuencia.
Cuando se necesita la información del tablero de anuncios, simplemente se mira el
tablero.

El “cerebro” del sistema de la memoria caché es el llamado controlador de


memoria caché. Cuando un controlador de memoria caché accede a una instrucción de
la memoria principal, también almacena las instrucciones posteriores. Esto se hace
debido a que existe una alta probabilidad de que las instrucciones adyacentes también
sean necesarias. Esto aumenta la probabilidad de que el CPU encuentre las instrucciones
que necesita en la memoria caché, permitiendo así que la computadora funcione con
mayor rapidez.

ORGANIZACIÓN DE LOS COMPONENTES DE UNA CÓMPUTADORA

2
7
3

4
5
6

Componente que encontramos a simple vista dentro de una PC:

1- Fuente de Alimentación
2- Unidad Lecto Grabadora (CD/DVD)
3- Unidad Lectora de Disquette/Lector de Tarjetas.
4- Unidad de Almacenamiento: Disco Rígido (Ide/Sata)
5- Motherboard
6- Cables de conexión unidad de disco rígido, disqueteras y unidad lectoras
7- Procesador y Cooler.

19
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

8
1
9 11

4
2
10
7
12 5
6

Reconocimiento de componentes que se encuentran en una Motherboard o


también llamada Placa Madre:

1- Zocalo donde va encastrado el Microprocesador.


2- Bancos de Memoria Ram.
3- Conectores para: Teclado, Monitor, puertos USB, Sonido, Impresora, Cable de
Red, Mouse.
4- Pila.
5- Conectores IDE.
6- Conector para Disquetera
7- Conector para la Fuente de alimentación.
8- Ranuras PCI. (Slots)
9- Ranura para placa de video AGP/PCI-E
10- Bios.
11- Memoria Cache.
12- Conectores SATA.

20
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Clasificación

Unidad central de Placa madre Unidad


procesamiento aritmético/lógica
Memoria RA
M
RO
M
Unidad de
control
Placas Video
Hardware

controladoras Discos
Impresoras
Sonido
Unidades de alm. Discos rígidos
Disqueteras
Periféricos Unidades de entrada Teclado
Scanner
Unidades de entrada Unidades de disco
/salida Módem
Unidades de salida Monitor
Impresoras
Ploters

Unidad central de procesamiento.

Esta unidad es el corazón de todo el sistema de cómputos, contiene elementos de


almacenamiento primario, aritmético/lógica y control.

1) Sección de almacenamiento primario. Llamada también memoria principal, se


utiliza para cuatro funciones. Tres de ellas se relacionan con los datos que se están
procesando.
a) Los datos se introducen a un área de almacenamiento de entrada y permanecen
en ese lugar hasta el momento en que se utilicen en el procesamiento.
b) Un espacio de memoria de trabajo es como una hoja de papel para hacer cuentas
y contendrá los datos que se están procesando, así como los resultados
intermedios de dicho procesamiento.
c) Un área de almacenamiento de salida guarda los resultados finales del
procesamiento hasta que puedan ser liberados.
d) Además de estas áreas relacionadas con los datos, la sección de almacenamiento
primario también contiene un área de almacenamiento de programas, que guarda
las instrucciones de procesamiento.

Las distintas áreas que se destinan a las cuatro funciones generales mencionadas no
se fijan por límites físicos incorporados en la sección de almacenamiento primario,
sino que pueden variar en las distintas aplicaciones. De esta manera un espacio
físico determinado puede contener datos de entrada en una aplicación y resultados
de salida en otra.

21
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

2) Sección aritmético/lógica. Juntas las secciones aritmético/lógica y de control


constituyen la unidad central de procesamiento. Todos los cálculos y todas las
comparaciones se realizan en esta sección. Una vez que los dispositivos de entrada
introdujeron los datos a la memoria principal, se guardan y se transfieren a esta
sección, cuando es necesario, donde se realiza el procesamiento, los resultados
intermedios que se generan en la unidad aritmético lógica y se mantienen
temporalmente en un área que se denomina memoria de trabajo hasta que se vuelvan
a necesitar, solamente los datos finales se envían al área de almacenamiento de
salida y de allí a los dispositivos de salida.

3) Sección de control. Al seleccionar, interpretar y ordenar la ejecución de las


instrucciones del programa, la sección de control mantiene el orden y dirige la
operación de todo el sistema. Aunque la sección de control no procesa datos, actúa
como un sistema nervioso central para los demás componente manipuladores de
datos de la computadora. Al comenzar el procesamiento, se elige la primera
instrucción del programa y pasa del área de almacenamiento de programas a la
sección de control. Allí se la interpreta y se envían señales a los otros componentes
para que se lleven a cabo las acciones que se requieren. Se sigue eligiendo y
ejecutando las instrucciones del programa, una tras otra, hasta terminar el proceso.

Dispositivos de almacenamiento secundarios.

En casi todas las computadoras se emplean dispositivos de almacenamiento


secundario para completar la limitada capacidad de almacenamiento de la sección de
almacenamiento primario. Los dispositivos de almacenamiento secundario están en
línea con el coprocesador, aceptan datos o instrucciones del procesador, los conservan y
los vuelven a introducir en el procesador cuando este los necesita para llevar a cabo
tareas de procesamiento. Estos dispositivos de almacenamiento están integrados al
mismo mueble de la computadora personal. Es común que se utilicen discos flexibles y
discos rígidos, cinta magnética que generalmente se utilizan para backup o copias de
seguridad.

Dispositivos de salida.

Al igual que las unidades de entrada, los dispositivos de salida son instrumentos
que interpretan información y permiten la comunicación entre los seres humanos y las
computadoras. Estos dispositivos convierten los resultados que produce el procesador y
que están en código de máquina a una forma susceptible de ser empleados por las
personas (por ejemplo informes impresos o desplegados por pantalla) o como entrada
para otras máquinas que formen parte de un ciclo de procesamiento distinto. En los
sistemas personales de cómputo, los dispositivos de salida más populares son las
pantallas de exhibición y las impresoras de escritorio. Los dispositivos que aceptan las
salidas de sistemas mayores generalmente son impresoras más grandes y más rápidas,

22
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

muchas estaciones de trabajo en línea y discos rígidos. A las unidades de entrada/salida


y almacenamiento secundario se las llama en ocasiones dispositivos periféricos.

ALMACENAMIENTO PRIMARIO

DISPOSITIVO DISPOSITIVO
DE SECCION DE
ENTRADA ARITMETICO/LOGICA SALIDA

SECCION DE CONTROL

DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO

SECCION DE CONTROL

SECCION DE ALMACENAMIENTO PRIMARIO

AREA DE ALMACENAMIENTO
DISPOSITIVO AREA AREA DISPOSITIVO
DE PROGRMAS
DE DE
DE ALMACENAM. ALMACENA DE
DE M.
AREA DE ALMACENAMIENTO
ENTRADA ENTRADA DE SALIDA
DE
SALIDA
TRABAJO

SECCION ARITMETICO/LOGICA

23
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Redes

Una Red es una manera de conectar varias computadoras entre sí, compartiendo sus
recursos e información y estando conscientes una de otra. Cuando las PC´s comenzaron
a entrar en el área de los negocios, el conectar dos PC´s no traía ventajas, pero esto
desapareció cuando se empezó a crear los sistemas operativos y el Software
multiusuario.

A. Topología de redes: La topología de una red , es el patrón de interconexión entre


nodos y servidor, existe tanto la topología lógica (la forma en que es regulado el
flujo de los datos) ,como la topología física ( la distribución física del cableado
de la red).

Las topologías físicas de red más comunes son:

• Estrella.
• Bus lineal
• Anillo.

A.1) Topología de estrella: Red de comunicaciones en que la que todas las


terminales están conectadas a un núcleo central, si una de las computadoras no
funciona, ésto no afecta a las demás, siempre y cuando el "servidor" no esté caído.

ESTACION
ESTACION DE
DE TRABAJO
TRABAJO

NODO

CENTRAL ESTACION
DE
TRABAJO
ESTACION
DE
TRABAJO

ESTACION
DE ESTACION
TRABAJO DE
TRABAJO

24
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

A.2) Topología Bus lineal: Todas las computadoras están conectadas a


un cable central, llamado el "bus" o "backbone". Las redes de bus lineal son de

ESTACION ESTACION ESTACION


DE DE DE
TRABAJO TRABAJO TRABAJO

NODO

CENTRAL

ESTACION ESTACION ESTACION


DE DE DE
TRABAJO TRABAJO TRABAJO

las más fáciles de instalar y son relativamente baratas.

A.3) Topología de anillo: Todas las computadoras o nodos están


conectados el uno con el otro, formando una cadena o círculo cerrado.

ESTACION ESTACION ESTACION


DE DE DE
TRABAJO TRABAJO TRABAJO

NODO

CENTRAL

ESTACION ESTACION ESTACION


DE DE DE
TRABAJO TRABAJO TRABAJO

B. Protocolos de intercambio, en informática, como en las relaciones humanas,


señal mediante la cual se reconoce que puede tener lugar la comunicación o la
transferencia de información. Los protocolos de intercambio se pueden controlar
tanto con hardware como con software. Un protocolo de intercambio de
hardware, como el existente entre un ordenador o computadora con una
impresora o con un módem, es un intercambio de señales, a través de cables
específicos, en el que cada dispositivo señala su disposición para enviar o recibir
datos. Un protocolo de software, normalmente el que se intercambia durante las
comunicaciones del tipo módem a módem, consiste en una determinada
información transmitida entre los dispositivos de envío y de recepción. Un
protocolo de intercambio de software establece un acuerdo entre los dispositivos
sobre los protocolos que ambos utilizarán al comunicarse. Un protocolo de

25
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

intercambio de hardware es por tanto similar a dos personas que físicamente


estrechan sus manos, mientras que un protocolo de intercambio de software es
más parecido a dos grupos que deciden conversar en un lenguaje particular.
C. TCP/IP: (Transmission Control Protocol/Internet Protocol) Protocolo de control
de transmisiones/protocolo Internet. Conjunto de protocolos de comunicaciones
desarrollado por la Defense Advanced Research Projects Agency (DARPA -
Agencia de proyectos de investigación avanzada de defensa) para
intercomunicar sistemas diferentes. Se ejecuta en un gran número de
computadoras VAX y basadas en UNIX, y es utilizado por muchos fabricantes
de hardware, desde los de computadoras personales hasta los de
macrocomputadoras. Es empleado por numerosas corporaciones y por casi todas
las universidades y organizaciones federales de los Estados Unidos. El File
Transfer Protocol (FTP - Protocolo detransferencia de archivos) y el Simple
Mail Transfer Protocol (SMTP -Protocolo simple de transferencia de
correspondencia) brindan capacidades de transferencia de archivos y de correo
electrónico. El protocolo TELNET proporciona una capacidad de emulación de
terminal que permite al usuario interactuar con cualquier otro tipo de
computadora de la red. El protocolo TCP controla la transferencia de los datos, y
el IP brinda el mecanismo para encaminarla.

En el siguiente diagrama se muestran TCP/IP, junto con los modelos DOD y


OSI.

D. IPX: (Internet Packet EXchange) intercambio de paquetes entre redes Un


protocolo de comunicaciones del NetWare de Novell que se utiliza para
encaminar mensajes de un nodo a otro. Los programas de aplicación que
manipulan sus propias comunicaciones cliente/servidor o de igual a igual en una
red Novell pueden acceder directamente al IPX o al protocolo SPX de NetWare.
El IPX no garantiza la entrega del mensaje como lo hace el SPX.
E. NETBEUI: NetBEUI (NETBIOS Extended User Interface) Interfaz de usuario
extendido de NetBIOS La realización del protocolo de transporte NetBIOS en
LAN Manager y LAN Server. Se comunica con las tarjetas de interfaz de red
(NICs) vía NDIS (Network Driver Interface Specification). El término fue
originalmente usado para definir el protocolo NetBIOS después que éste fue
mejorado para soportar la Token Ring Network.

F. Tipos de Redes: Según el lugar y el espacio que ocupen, las redes, se pueden
clasificar en dos tipos:

1.Redes LAN (Local Area Network) o Redes de área local


2.Redes WAN (Wide Area Network) o Redes de área amplia
1.- LAN - Redes de Área Local:
Es una red que se expande en un área relativamente pequeña. Éstas se encuentran
comúnmente dentro de una edificación o un conjunto de edificaciones que estén
contiguos. Así mismo, una LAN puede estar conectada con otras LANs a cualquier
distancia por medio de línea telefónica y ondas de radio.
Pueden ser desde 2 computadoras, hasta cientos de ellas. Todas se conectan entre sí por
varios medios y topología, a la computadora(s) que se encarga de llevar el control de la

26
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

red es llamada "servidor" y a las computadoras que dependen del servidor, se les llama
"nodos" o "estaciones de trabajo".
Los nodos de una red pueden ser PC´s que cuentan con su propio CPU, disco duro y
software y tienen la capacidad de conectarse a la red en un momento dado; o pueden ser
PC´s sin CPU o disco duro y son llamadas "terminales tontas", las cuales tienen que
estar conectadas a la red para su funcionamiento.
Las LANs son capaces de transmitir datos a velocidades muy rápidas, algunas inclusive
más rápido que por línea telefónica; pero las distancias son limitadas.
2. - WAN - Redes de Área Amplia:
Es una red comúnmente compuesta por varias LANs interconectadas y se encuentran en
una amplia área geográfica. Estas LANs que componen la WAN se encuentran
interconectadas por medio de líneas de teléfono, fibra óptica o por enlaces aéreos como
satélites.
Entre las WANs mas grandes se encuentran: la ARPANET, que fue creada por la
Secretaría de Defensa de los Estados Unidos y se convirtió en lo que es actualmente la
WAN mundial: INTERNET, a la cual se conectan actualmente miles de redes
universitarias, de gobierno, corporativas y de investigación.
G.) Componentes de una red:
De lo que se compone una red en forma básica es lo siguiente:
1.-Servidor (server):
El servidor es la máquina principal de la red, la que se encarga de administrar los
recursos de la red y el flujo de la información. Muchos de los servidores son
"dedicados" , es decir, están realizando tareas específicas, por ejemplo , un servidor de
impresión solo para imprimir; un servidor de comunicaciones, sólo para controlar el
flujo de los datos...etc. Para que una máquina sea un servidor, es necesario que sea una
computadora de alto rendimiento en cuanto a velocidad y procesamiento, y gran
capacidad en disco duro u otros medios de almacenamiento.

2.- Estación de trabajo (Workstation):


Es una computadora que se encuentra conectada físicamente al servidor por medio de
algún tipo de cable. Muchas de las veces esta computadora ejecuta su propio sistema
operativo y ya dentro, se añade al ambiente de la red.
3. - Sistema Operativo de Red:
Es el sistema (Software) que se encarga de administrar y controlar en forma general la
red. Para ésto tiene que ser un Sistema Operativo Multiusuario, como por ejemplo:
Unix, Netware de Novell, Windows NT, etc.
4. - Recursos a compartir:
Al hablar de los recursos a compartir, estamos hablando de todos aquellos dispositivos
de Hardware que tienen un alto costo y que son de alta tecnología. En éstos casos los
más comunes son las impresoras, en sus diferentes tipos: Láser, de color, plotters, etc.
5. - Hardware de Red
Son aquellos dispositivos que se utilizan para interconectar a los componentes de la red,
serían básicamente las tarjetas de red (NIC-> Network Interface Cards) y el cableado
entre servidores y estaciones de trabajo, así como los cables para conectar los
periféricos.

1. Routers y bridges: Los servicios en la mayoría de las LAN son muy


potentes. La mayoría de las organizaciones no desean encontrarse con

27
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

núcleos aislados de utilidades informáticas. Por lo general prefieren


difundir dichos servicios por una zona más amplia, de manera que los
grupos puedan trabajar independientemente de su ubicación. Los routers
y los bridges son equipos especiales que permiten conectar dos o más
LAN. El bridge es el equipo más elemental y sólo permite conectar
varias LAN de un mismo tipo. El router es un elemento más inteligente y
posibilita la interconexión de diferentes tipos de redes de ordenadores.
Las grandes empresas disponen de redes corporativas de datos basadas
en una serie de redes LAN y routers. Desde el punto de vista del usuario,
este enfoque proporciona una red físicamente heterogénea con aspecto de
un recurso homogéneo.
2. Brouters: Un disco dispositivo de comunicaciones que realiza funciones
de puente (bridge) y de encaminador (router). Como puente, las
funciones del "brouter" son al nivel de enlace de datos (estrato 2),
independientemente de protocolos más altos, pero como encaminador,
administra líneas múltiples y encamina los mensajes como corresponde.
3. Gateway: pasarela, puerta de acceso Una computadora que conecta dos
tipos diferentes de redes de comunicaciones. Realiza la conversión de
protocolos de una red a otra. Por ejemplo, una puerta de acceso podría
conectar una red LAN de computadoras. Nótese la diferencia con bridge,
el cual conecta redes similares.

H.) Transmisión de datos en las redes:


La transmisión de datos en las redes, puede ser por dos medios:
1. - Terrestres: Son limitados y transmiten la señal por un conductor físico.
2. - Aéreos: Son "ilimitados" en cierta forma y transmiten y reciben las señales
electromagnéticas por microondas o rayo láser.
1.- Terrestres:

a. Cable par trenzado: Es el que comúnmente se utiliza para los cables de


teléfonos, consta de 2 filamentos de cobre, cubiertos cada uno por plástico
aislante y entrelazados el uno con el otro, existen dos tipos de cable par
trenzado: el "blindado", que se utiliza en conexiones de redes y estaciones de
trabajo y el "no blindado", que se utiliza en las líneas telefónicas y protege muy
poco o casi nada de las interferencias.
b. Cable coaxial: Este tipo de cable es muy popular en las redes, debido a su poca
susceptibilidad de interferencia y por su gran ancho de banda, los datos son
transmitidos por dentro del cable en un ambiente completamente cerrado, una
pantalla sólida, bajo una cubierta exterior. Existen varios tipos de cables
coaxiales, cada uno para un propósito diferente.

c. Fibra óptica: Es un filamento de vidrio sumamente delgado diseñado para la


transmisión de la luz. Las fibras ópticas poseen enormes capacidades de
transmisión, del orden de miles de millones de bits por segundo. Además de que
los impulsos luminosos no son afectados por interferencias causadas por la
radiación aleatoria del ambiente. Actualmente la fibra óptica está remplazando
en grandes cantidades a los cables comunes de cobre.

28
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

SOFTWARE

La palabra significa blando, lo no tangible a diferencia del hardware, y se le


atribuye a los programas y conjunto de instrucciones necesarias para la elaboración
electrónica de los datos.

Clasificación :

De base Dos
Unix
Zennix
Os/2
De programación Alto nivel
Bajo nivel
De aplicación Bases de datos
Planillas de cálculo
Software

Procesadores de texto
Graficadores
Estadísticos
Animación
Paquetes integrados
Utilitarios Antivirus
Organizadores y servidores de
discos
Organizadores de recursos
Redes

Software de base: Son los sistemas operativos, que contienen los programas base para
el funcionamiento de la computadora, como organizar el disco, copiar archivos y crear
el ambiente necesario para poder programar.

Software de programación: Son aquellos que hacen de interlocutor entre el


programador y la máquina, permiten escribir instrucciones bajo las reglas del lenguaje.
Cuanto más amigable es el lenguaje, es decir cuanto en más fácil es programar en él,
sube el nivel del lenguaje, pero esto hace también que sean mas acotados en la variedad
de cosas que se pueden hacer con los programas realizados.

Software de aplicación: Son aquellos en los que no necesito saber programar para
utilizarlos, tienen un buen sistema de dialogo entre el usuario y la computadora y son
específicos para cada tarea.

Software utilitario: Son aquellos que me permiten realizar funciones técnicas sin serlo
como los servidores de disco y los organizadores de recursos.

SISTEMAS OPERATIVOS O SOFTWARE DE BASE

29
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sin embargo,


es un programa muy especial, quizá el más complejo e importante en una computadora.
El SO despierta a la computadora y hace que reconozca a la CPU, la memoria, el tecla
do, el sistema de vídeo y las unidades de disco. Además, proporciona la facilidad para
que los usuarios se comuniquen con la computadora y sirve de plataforma a partir de la
cual se corran programas de aplicación.
Cuando enciendes una computadora, lo primero que ésta hace es llevar a cabo un
autodiagnóstico llamado autoprueba de encendido (Power On Self Test, POST).
Durante la POST, la computadora identifica su memoria, sus discos, su teclado, su
sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguiente que la
computadora hace es buscar un SO para arrancar (boot).
Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte de
éste en su memoria en todo momento. Mientras la computadora esté encendida, el SO
tiene 4 tareas principales:

1. Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al


usuario, para que este último se pueda comunicar con la computadora. Interfaz
de línea de comando: tú introduces palabras y símbolos desde el teclado de la
computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI),
seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras
llamadas iconos o seleccionar opciones de los menús.
2. Administrar los dispositivos de hardware en la computadora · Cuando corren los
programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los
puertos de Entrada/Salida (impresoras, módems, etc). El SO sirve de
intermediario entre los programas y el hardware.

3. Administrar y mantener los sistemas de archivo de disco · Los SO agrupan la


información dentro de compartimientos lógicos para almacenarlos en el disco.
Estos grupos de información son llamados archivos. Los archivos pueden
contener instrucciones de programas o información creada por el usuario. El SO
mantiene una lista de los archivos en un disco, y nos proporciona las
herramientas necesarias para organizar y manipular estos archivos.

4. Apoyar a otros programas. Otra de las funciones importantes del SO es


proporcionar servicios a otros programas. Estos servicios son similares a
aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar
los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible, etc.
Cuando los programadores escriben programas de computadora, incluyen en sus
programas instrucciones que solicitan los servicios del SO. Estas instrucciones
son conocidas como "llamadas del sistema"

El Kernel y el Shell.

Las funciones centrales de un SO son controladas por el núcleo (kernel) mientras que la
interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte más
importante del DOS es un programa con el nombre "COMMAND.COM" Este programa
ti ene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el
código máquina de bajo nivel para manejar la administración de hardware para otros
programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM
el shell, el cual es el interprete de comandos.

30
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Las funciones de bajo nivel del SO y las funciones de interpretación de comandos están
separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una
interfaz de usuario diferente. Esto es exactamente lo que sucede cuando carga Microsoft
Windows, el cual toma el lugar del shell, reemplazando la interfaz de línea de comandos
con una interfaz gráfica del usuario. Existen muchos shells diferentes en el mercado,
ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a
partir de la versión 5.0 incluyó un Shell llamado DOS SHELL.

A.) Categorías de Sistemas Operativos

A.1) MULTITAREA: El término multitarea se refiere a la capacidad del SO para correr


mas de un programa al mismo tiempo. Existen dos esquemas que los programas de
sistemas operativos utilizan para desarrollar SO multitarea, el primero requiere de la
cooperación entre el SO y los programas de aplicación.
Los programas son escritos de tal manera que periódicamente inspeccionan con el SO
para ver si cualquier otro programa necesita a la CPU, si este es el caso, entonces dejan
el control del CPU al siguiente programa, a este método se le llama multitarea
cooperativa y es el método utilizado por el SO de las computadoras de Machintosh y
DOS corriendo Windows de Microsoft. El segundo método es el llamada multitarea con
asignación de prioridades. Con este esquema el SO mantiene una lista de procesos
(programas) que están corriendo. Cuando se inicia cada proceso en la lista el SO le
asigna una prioridad. En cualquier momento el SO puede intervenir y modificar la
prioridad de un proceso organizando en forma efectiva la lista de prioridad, el SO
también mantiene el control de la cantidad de tiempo que utiliza con cualquier proceso
antes de ir al siguiente. Con multitarea de asignación de prioridades el SO puede
sustituir en cualquier momento el proceso que esta corriendo y reasignar el tiempo a una
tarea de mas prioridad. Unix OS-2 y Windows NT emplean este tipo de multitarea.

A.2) MULTIUSUARIO: Un SO multiusuario permite a mas de un solo usuario accesar


una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de
efectuar multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a
que Unix fue originalmente diseñado para correr en una minicomputadora, era
multiusuario y multitarea desde su concepción.
Actualmente se producen versiones de Unix para PC tales como The Santa Cruz
Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de
Unix para la Machintosh llamada: A/UX.Unix
Unix proporciona tres maneras de permitir a múltiples personas utilizar la misma PC al
mismo tiempo.
1.) Mediante Módems.
2.) Mediante conexión de terminales a través de puertos seriales
3.) Mediante Redes.

A.3) MULTIPROCESO: Las computadoras que tienen mas de un CPU son llamadas
multiproceso. Un sistema operativo multiproceso coordina las operaciones de la
computadoras multiprocesadoras. Ya que cada CPU en una computadora de
multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado
para procesar otras instrucciones simultáneamente.

31
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Al usar una computadora con capacidades de multiproceso incrementamos su velocidad


de respuesta y procesos. Casi todas las computadoras que tienen capacidad de
multiproceso ofrecen una gran ventaja.
Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:

• Multiproceso asimétrico: Una CPU principal retiene el control global de la


computadora, así como el de los otros procesadores. Esto fue un primer paso
hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU
principal podía convertirse en un cuello de botella.
• Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una
CPU controladora única. La barrera a vencer al implementar el multiproceso
simétrico es que los SO tienen que ser rediseñados o diseñados desde el
principio para trabajar en u n ambiente multiproceso. Las extensiones de Unix,
que soportan multiproceso asimétrico ya están disponibles y las extensiones
simétricas se están haciendo disponibles. Windows NT de Microsoft soporta
multiproceso simétrico.

B.) Historia de los Sistemas Operativos más comunes.

CP/M y D.O.S., el comienzo

CP/M (Control Program for Microcomputers), desarrollado por Gary Kildall fue el
primer sistema operativo que podía ejecutarse en PCs de diferentes fabricantes. Cuenta
una anécdota que ejecutivos de IBM fueron a visitar a Kildall para ofrecerle un acuerdo
para poner el CP/M en la IBM PC, pero Kildall al parecer estaba ocupado en una sesión
de vuelo, y no los pudo atender. Resultado: IBM llegó a un acuerdo con un joven
llamado Bill Gates para que desarrollara un sistema operativo, que se dio en llamar MS-
DOS.
Para muchos de los que hoy nos encontramos trabajando con una computadora el
sistema operativo D.O.S (Disk Operating System) fue el primero que nos tocó utilizar.
De la misma manera, fue también el comienzo para Bill Gates y su empresa Microsoft.
En sus principios fue desarrollado junto con la empresa IBM, pero diferencias entre las
partes hicieron que no fuera un lanzamiento en conjunto. Por el contrario, cada una de
las empresas presentó "su" sistema operativo: PC-DOS (IBM) y MS-DOS (Microsoft).
Un tercer competidor para estos sistemas operativos (y de muy buena calidad) fue el
DR-D.O.S. de la empresa Digital Research que incluía comandos más prolijos y de
mayor funcionalidad, pero que con el tiempo, y gracias a las campañas publicitarias de
Microsoft fue quedando relegado a un segundo lugar compartido con el PC-DOS de
IBM. Luego de unos años DR-D.O.S. fue adquirido por Novell que presentó una nueva
versión conocida como Novell D.O.S. que realmente casi no tuvo cabida en el mercado,
aunque era muy buena.
D.O.S. era simplemente una pantalla de texto con una línea de comandos que nos
indicaba en qué directorio nos encontrábamos como único dato orientativo. Uno tenía
que "saber" que "cosas" había que escribir para que la máquina "hiciera algo". No había
menúes contextuales, ni pantallas gráficas que nos guiaran. Carecía por completo de

32
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

algún nivel intuitivo. D.O.S. todavía hoy utiliza antiguos comandos CP/M tales como
DIR, REN y TYPE que aun hoy funcionan bajo la máquina virtual D.O.S. de Windows.
Las versiones que lo hicieron famoso en el mundo entero fueron la 3.0 y la 3.3, mientras
que la más utilizada fue la 5.0, que introdujo muchos cambios a sus antecesoras. La
versión 4.0 de D.O.S. estuvo plagada de errores, por lo cual casi no se uso (los usuarios
se mantuvieron con la versión 3.30).
La última versión del producto como tal fue la 6.22, ya que luego apareció Windows 95
que en su corazón incluía la versión 7.0

OS/2.

Desarrollado inicialmente por Microsoft Corporation e International Business


Machines (IBM), después de que Intel introdujera al mercado su procesador 80286.
Pero la sociedad no duro mucho ya que IBM veía a Windows como una amenaza para el
SO/2.
Pero IBM continuo desarrollando este sistema operativo. El OS/2 al principio
fue muy parecido al MS-DOS, tiene una línea de comando, pero la diferencia que existe
con el DOS es el intérprete de comandos, el cual es un programa separado del kernel del
sistema operativo y aparece únicamente cuando se hace clic en uno de los iconos “OS/2
prompt” dentro del Workplace Shell. Otra diferencia es que este sí en un sistema
operativo multitarea.
En el OS/2 muchos de los comandos son idénticos a los de su contra parte pero
tiene más comandos debido a que es más grande, completo y moderno.
El ambiente gráfico es el Workplace Shell (WS), es el equivalente a un
administrador del área de trabajo para el WS.

MACINTOSH OS.

El sistema operativo constituye la interfaz entre las aplicaciones y el hardware


del Macintosh. El administrador de memoria obtiene y libera memoria en forma
automática para las aplicaciones y el sistema operativo. Esta memoria se encuentra
normalmente en un área llamada cúmulo. El código de procedimientos de una
aplicación también ocupa espacio en el cúmulo. Ahora se presenta una lista de los
principales componentes del sistema operativo.
° El cargador de segmentos carga los programas por ejecutar. Una aplicación se
puede cargar completa o bien puede dividirse en segundos individuales que se pueden
cargar de manera dinámica conforme se necesiten.
° El administrador de eventos del sistema operativo informa de la ocurrencia de
diversos eventos de bajo nivel, como la presión de un botón del mouse o el tecleo. En
condiciones normales, el administrador de eventos de la caja de herramientas transfiere
estos eventos a las aplicaciones.
° El administrador de archivos se encarga de la entrada / salida de archivos; el
administrador de dispositivos se encarga de la entrada / salida de dispositivos.
° Los manejadores de dispositivos son programas con los cuales los diversos tipos de
dispositivos pueden presentar interfaces uniformes de entrada / salida a las aplicaciones.
Tres manejadores de dispositivo están integrados al sistema operativo en ROM: el
manejador de disco se encarga del acceso a la información en discos, el manejador de

33
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

sonido controla los generadores de sonido, y el manejador en serie envía y recibe datos
a través de los puertos seriales (estableciendo así la comunicación con dispositivos
periféricos en serie como impresoras y módems).
° Con el manejador de impresoras las aplicaciones pueden imprimir datos en diversas
impresoras.
° Con el administrador de AppleTalk las aplicaciones pueden transmitir y recibir
información en una red de comunicaciones AppleTalk.
° El Administrador de retrazado vertical programa las actividades por realizar
durante las interrupciones de retrazado vertical que ocurren 60 veces cada segundo
cuando se refresca la pantalla de vídeo.
° El manejador de errores del sistema toma el control cuando ocurre un error fatal del
sistema y exhibe un cuadro de error apropiado.
° Los programas de utilidad general del sistema operativo ofrecen diversas funciones
útiles como la obtención de la fecha y la hora, la comparación de cadenas de caracteres
y muchas más.
° El paquete de iniciación es llamado por el paquete de archivos estándar para iniciar
y nombrar discos; se aplica con más frecuencia cuando el usuario inserta un disco al que
no se le han asignado valores iniciales.
° El paquete de aritmética de punto flotante ofrece aritmética de doble precisión. El
paquete de funciones trascendentales ofrece un generador de números aleatorios, así
como funciones trigonométricas, logarítmicas, exponenciales y financieras. Los
compiladores de Macintosh generan en forma automática llamadas a estos paquetes para
realizar manipulaciones numéricas.

UNIX.

Es un sistema operativo multiusuario que incorpora multitarea. Fue


desarrollado originalmente por Ken Thompson y Dennis Ritchie en los laboratorios de
AT&T Bell en 1969 para su uso en minicomputadoras. El sistema operativo UNIX tiene
diversas variantes y se considera potente, más transportable e independiente de equipos
concretos que otros sistemas operativos porque esta escrito en lenguaje C. El UNIX esta
disponible en varias formas, entre las que se cuenta AIX, una versión de UNIX adaptada
por IBM (para su uso en estaciones de trabajo basadas en RISC), A/ux (versión gráfica
para equipos Apple Macintosh) y Mach (un sistema operativo reescrito, pero
esencialmente compatible con UNIX, para las computadoras NeXT).
El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su
sistema de archivos proporciona un método sencillo de organizar archivos y permite la
protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas.
Este sistema ofrece una serie de utilidades muy interesantes, como las
siguientes:
° Inclusión de compiladores e interpretes de lenguaje.
° Existencia de programas de interfase con el usuario, como ventanas, menús, etc.
° Muchas facilidades a la hora de organización de ficheros.
° Inclusión de lenguajes de interrogación.
° Facilidades gráficas.
° Programas de edición de textos.

WINDOWS, EL INICIO DE UNA INTERFAZ GRÁFICA

34
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Las dos primeras versiones de este "Entorno Operativo" (nótese que no era un sistema
operativo en sus principios) no tuvieron mucho éxito entre el público consumidor. Lo
único que logró fue que Apple le iniciara un juicio a Microsoft por su semejanza con su
sistema operativo MacOs.
El boom de Windows se produjo con su versión 3.0 (y más aún con la 3.1) cuando
comenzó a aprovechar las capacidades de los procesadores "386" y le dio un mejor
manejo a la memoria hacia el año 1991
Fue simplemente un "shell" para DOS, ya que sin este no funcionaba. Y por esa razón
no es un sistema operativo, sino un "entorno operativo". El atractivo que tuvo para con
la gente fue su "casi real" facilidad de uso y su "cara" gráfica que hacía olvidar "las
pantallas negras" de DOS.
Un tiempo más tarde se le agregaron capacidades para trabajar con redes y pasó a la
versión 3.11 (para grupos de trabajo). Esta fue la última versión comercial que salió al
mercado antes de que Windows 95 hiciera su aparición.

WINDOWS 95: EL ENTORNO OPERATIVO

Desde el principio, Windows 95 se publicitó como un sistema operativo de 32 bits. Pero


cuando salió a la luz se pudo ver que esto no era totalmente verdad: era un sistema
operativo (ya no un entorno), porque no necesitaba de ningún otro programa para poder
funcionar (aunque se incluía el DOS 7.0 "completo" y alguien dijo que "sí" lo
necesitaba). Por otro lado, la promesa de los 32 bits (programas más rápidos y mejor
aprovechamiento de la memoria) no se cumplió. Muchas de las "partes" de este sistema
operativo fueron de 16 bits como sus antecesores. Esto se explicó diciendo que era así
por la cantidad de programas "heredados" de las versiones anteriores (Windows 3.1).
Casi en el mismo momento (un año antes) apareció en el mercado un verdadero sistema
operativo de 32 bits que sería la competencia directa al tan publicitado Windows 95:
OS/2 de IBM. En principio fue desarrollado en cooperación entre IBM y Microsoft
(como años atrás con el DOS), y como años atrás surgieron diferencias que hicieron que
cada empresa presentara su producto.
OS/2 fue un sistema operativo totalmente de 32 bits que muchos expertos consideran
mejor, más estable y con mayores prestaciones que Windows 95, pero que
(nuevamente) las campañas publicitarias relegaron a un segundo lugar, ya que la gran
mayoría de los desarrolladores decidieron hacer sus programas "compatibles" con
Windows 95 y no con OS/2.

WINDOWS 98/NT: YA NADA SERÍA IGUAL

Windows 98 no representó para los usuarios comunes ningún cambio significativo. Sólo
un poco de retoque gráfico y alguna que otra utilidad nueva o mejorada (como el
"liberador de espacio" o el viejo "defrag"). Pero si trajo algunas cosas nuevas: el soporte
completo para los 32 bits, y la “eliminación” del DOS como sistema independiente (ya
que no incluyó una nueva versión, sino un emulador del mismo).
En esta época no podemos dejar de mencionar Windows NT (Windows Nueva
Tecnología). Windows NT fue un sistema operativo de 32 bits especializado en redes
que utilizó otro sistema para el manejo de los archivos (NTFS), y por lo tanto
"incompatible" con Windows 95/98.

35
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Versiones de Windows NT: 3.1, 3.5, 3.51, 4; está ultima versión tuvo estas variantes:
Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded.

WINDOWS 2000/WINDOWS ME

Windows 2000 fue el sucesor de NT, por lo que estuvo orientado a empresas y heredó
muchas de las características de este; hasta llegar a su última versión 2003 Server.
Su gran estabilidad, su soporte para varios procesadores, su alto nivel de seguridad,
además de sus impresionantes capacidades para desenvolverse como server lo hicieron
la mejor opción para una empresa. Era rápido y lo suficientemente fácil de configurar
casi para cualquier persona, pero hay que tener en cuenta que tiene poco soporte para el
agregado de periféricos como tarjetas de video o de sonido. Es decir, este no fue un
sistema operativo totalmente apto para la multimedia.
Al ser de esta manera, es no fue aconsejable su uso en hogares, donde comunmente
encontraremos juegos, música en la PC, enciclopedias multimedia y demás.
Ahí es donde entró Windows Millennium Edition (ME), sucesor de Windows 98: Fue
un sistema operativo donde primó la facilidad de uso, las mejoras en multimedia,
comunicaciones e Internet.
Aunque no contó con la estabilidad de Windows 2000 fue más seguro que Windows 98
y 98 SE (segunda edición) ya que se incorporaron una serie de utilidades para proteger
el sistema operativo y hacerlo más resistente a las instalaciones de programas y drivers
de terceros que, en definitiva, fueron las principales causas de cuelgues y pantallas
azules en sus predecesores.
Una de las cosas interesantes con que nos encontramos en Windows ME es que el modo
DOS, tal como lo conocimos, había dejado de existir. Ya no era posible iniciar el
sistema en "sólo símbolo del sistema" o apagar el sistema "reiniciando en modo MS-
DOS". Tanto es así, que los archivos AUTOEXEC.BAT y CONFIG.SYS ya no tuvieron
ninguna función en ME (salvo durante la instalación). Lo que realmente se eliminó de
Windows ME fue el soporte para aplicaciones DOS de 16 bits en modo real.
En su momento, la elección de uno u otro sistema dependió del uso que deseaba hacer
de la PC, siendo lo más lógico Windows 2000 para empresas y Windows ME para
hogares.
El tiempo también dijo que Windows Millennium Edition fue el mas inestable de los
sistemas operativos post Windows 95.
La línea Windows 2000 Server fué reemplazada por Windows Server 2003, y Windows
2000 Professional con Windows XP Professional.
Versiones de Windows 2000: Professional, Server, Advanced Server y Datacenter
Server.

WINDOWS XP/WINDOWS 2003 SERVER, LA NUEVA GENERACIÓN DEL


ESCRITORIO

Windows XP fue la mejora mas importante técnicamente desde Windows 9x, y unificó
en cierto modo las versiones separadas que hubo estos años: WINDOWS 9x/ME para

36
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

usuarios hogareños y SOHO contra Windows NT/2000 para usuarios corporativos con
requerimientos de trabajo en redes de alto nivel.
Windows XP se distribuyó en 2 versiones principales: Windows XP Home Edition y
Windows XP Profesional. La versión Home no tenía tanto soporte para redes, lo que si
incluyó la versión Profesional.
Esto S.O., además de constituirse en la unión de los entornos mencionados, es en
realidad la continuación de Windows NT/2000. Se destacó en este producto su alto
grado de integración con las redes e Internet, además de proveer una nueva interfase
gráfica que se hizo notar ni bien se comienza a utilizar. Los cambios de interfaz fueron
básicamente estéticos. La diferencia real con sus predecesores estuvo dada por el
soporte LAN, soft de grabación de CDs, multimedia, escritorio remoto y manejo de
usuarios.
Algo muy importante es el hecho de que Microsoft con esta versión de su S.O. ha puso
especial énfasis en los drivers. WXP fué muchísimo mas renuente que sus predecesores
a instalar drivers no certificados para el mismo. Con esto Microsoft pretendió reducir al
máximo las ya tan conocidas (y sufridas) "pantallas azules", aduciendo que la mayoría
de las causas de inestabilidad de las versiones anteriores estaba dada por el uso de
drivers no certificados, obsoletos o mal desarrollados. Debido a esto, se destaca la
búsqueda inteligente de controladores que hace el S.O. al momento de instalar un
dispositivo nuevo, escaneando unidades en busca de los drivers correctos.

Windows XP contó con las actualizaciones más profundas a nivel seguridad que ningún
otro sistema operativo Microsoft: prueba de ello fueron los Service Pack 1 y 2. También
fue el primero en adoptar un sistema de verificación de autenticidad del S.O.: WGA
(Windows Genuine Advantage)
Windows 2003 Server estuvo basado en el núcleo de Windows XP, al que se le
añadieron una serie de servicios, y se le han bloqueado algunas características. A
grandes rasgos, Windows Server 2003 es un Windows XP simplificado, no con menos
funciones, sino que estas están deshabilitadas por defecto para obtener un mejor
rendimiento y para centrar el uso de procesador en las características de servidor.

Versiones de Windows XP:


Windows XP 64 Bits: Uso en procesadores de 64 bits.
Windows XP Media Center Edition
Windows XP Tablet PC Edition: Tablet PC
Windows XP Embedded: ATM, terminales.
Windows Fundamentals for Legacy PCs: Versión simplificada de XP para uso en
hardware obsoleto.
Windows XP Starter Edition: distribuida solo en determinados países, (una versión tan
básica y limitada que por momentos se torna bastante impráctica al momento de
utilizarla).
Versiones de Windows 2003 Server: Web Edition, Standard Edition, Enterprise Edition,
Datacenter Edition

WINDOWS VISTA, LA ERA POST XP DE MICROSOFT

37
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Windows Vista requiere de hardware realmente potente para ejecutarse en toda su


dimensión o con una performance aceptable; incluso para las versiones mas "básicas" de
este S.O.

Las versiones disponibles son varias: Enterprise, Business, Ultimate (para usuarios
corporativos), Starter (solo comercializada en países emergentes, una versión reducida
que si es similar a su homónima de Windows XP); y por último las versiones Home
Basic y Home Premium (para usuarios domésticos).

LINUX

Cuando Linus Torvalds comenzó a trabajar sobre Minix para obtener su propio sistema
operativo no tenía ni la más remota idea de lo que su trabajo llegaría a ser en todo el
mundo. Este sistema operativo es totalmente distinto a los vistos anteriormente por un
montón de razones. He aquí algunas de ellas:

* No fue desarrollado por una gran empresa:


Linus Torvalds desarrolló el kernel (el corazón) del sistema y luego liberó el código
fuente del mismo en Internet para que cualquier programador que se animara pudiera
modificarlo y agregarle lo que quisiera. Así, el Linux que hoy se conoce fue creado por
cientos de programadores "libres" alrededor del mundo y no por una empresa.

* Es gratis y abierto:
Todo el sistema operativo es totalmente gratuito (al igual que muchísimos de sus
programas), si posee una conexión a Internet es posible bajarlo a su máquina. Lo que
algunas empresas hacen es "empacar" el sistema y algunos programas y grabarlos en
CD’s, que junto con algún manual es lo que luego "venden". Esto se conoce como
Distribuciones.
Además, junto con el sistema vienen los códigos fuentes del mismo (y de algunos
programas) para que pueda ser modificado a gusto del usuario (si este es un
programador experimentado), es por esto que se dice que es "abierto".

* Nació a partir de otro sistema operativo:


Es una modificación del sistema Minix, que a su vez nació como una "reducción" de
UNIX, "el único sistema operativo verdadero, a partir del cual se crearon los demás"
(incluido DOS) según la opinión de muchos Hackers.
Este sistema operativo es el elegido por las empresas que proveen acceso a Internet,
debido a su gran estabilidad y eficiencia. Además, posee un muy buen manejo de redes
y seguridad, lo que está haciendo que muchas empresas e instituciones (escolares sobre
todo) lo tengan en cuenta para reemplazar sus sistemas actuales.
En un principio, Linux también era una "pantalla negra" en modo texto y muy poco
intuitivo (al igual que DOS, al igual que UNIX). Pero desde hace un tiempo se
desarrollaron entornos gráficos (varios: KDE, Gnome, etc.) que no tienen nada que
envidiarle a Windows 95/98 y que hacen que más usuarios (menos experimentados) se
"animen" a usarlo.
Por lo anterior y el gran auge de Internet este es el sistema operativo que más
crecimiento ha tenido en los últimos años, y el que se perfila quizá como una alternativa
válida para el futuro.

38
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

Algunas distribuciones de Linux conocidas: Red Hat, Debian, Fedora, Gentoo,


Mandriva, Rxart, Slackware, Suse, Ubuntu, Kubuntu

39
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

A continuación veremos algunas interfaces de los 1985: AMIGAOS 3.5


sistemas Operativos arriba mencionados y muchos
más:

1983 APPLE LISA

1983: VISICORP VISI ON 1985: MICROSOFT WINDOWS 1.0

1986: MACINTOSH SYSTEM 3


1984: MACINTOSH SYSTEM 1

40
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

1987: MICROSOFT WINDOWS 2.0 1991: MACINTOSH SYSTEM 7

1992: MICROSOFT WINDOWS 3.1


1990: MICROSOFT WINDOWS 3.0

LINUX
1992: MACINTOSH SYSTEM 7.1

41
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

1998: MICROSOFT WINDOWS 98


1995: MACINTOSH SYSTEM 7.5

1998: KDE 1.0

1995: MICROSOFT WINDOWS 95

1999: MACINTOSH SYSTEM 9.2

1997: MAC OS 8

42
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

2000: KDE 2.0 2006: GNOME C/XGL

2001: MAC OS X 10
2007: MICROSOFT WINDOWS VISTA

DEBIAN LINUX 4.0


2001: MICROSOFT WINDOWS XP

43
Instituto de Formación Técnica Superior Nro. 12 – Año2009 Tecnicatura Superior en Análisis de Sistemas

WINDOWS 7 (Anunciada su salida para el año 2009)

Conclusión

Sin el sistema operativo nada funcionaria... por lo tanto no cabe mucho mas que acotar. Solo
es de esperarse que la evolución se mantenga y quizás avizorar mas alternativas a nuestro
nunca tan bien ponderado y muchas veces vapuleado “Windows”.

44
Instituto de Formación Técnica Superior Nro. 12 – Año2009

LENGUAJES DE PROGRAMACION

a.) Historia de los lenguajes; Los lenguajes de programación cierran el abismo entre las
computadoras, que sólo trabajan con números binarios, y los humanos, que preferimos
utilizar palabras y otros sistemas de numeración.

Mediante los programas se indica a la computadora qué tarea debe realizar y como
efectuarla, pero para ello es preciso introducir estas ordenes en un lenguaje que el
sistema pueda entender. En principio, el ordenador sólo entiende las instrucciones en
código máquina, es decir, el especifico de la computadora. Sin embargo, a partir de
éstos se elaboran los llamados lenguajes de alto y bajo nivel.

Generaciones de los lenguajes

LENGUAJES DE BAJO NIVEL:


Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración
de programas muy potentes y rápidos, pero son de difícil aprendizaje.

LENGUAJES DE ALTO NIVEL:


Por el contrario, son de uso mucho más fácil, ya que en ellos un solo comando o
instrucción puede equivaler a millares es código máquina. El programador escribe su
programa en alguno de estos lenguajes mediante secuencias de instrucciones. Antes de
ejecutar el programa la computadora lo traduce a código máquina de una sola vez
(lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes
intérpretes). Ejemplos de lenguajes de alto nivel: Pascal, Cobol, Basic, Fortran, C++ Un
Programa de computadora, es una colección de instrucciones que, al ser ejecutadas por
el CPU de una máquina, llevan a cabo una tarea ó función específica. Este conjunto de
instrucciones que forman los programas son almacenados en archivos denomina dos
archivos ejecutables puesto que, al teclear su nombre (o hacer clic sobre el icono que los
identifica) logras que la computadora los cargue y corra, o ejecute las instrucciones del
archivo. El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya
que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo
lea.
Los archivos de programas ejecutables contienen el código máquina, que la CPU
identifica como sus instrucciones. Son lo que conocemos como Programas Objeto.
Dado que sería muy difícil que los programadores crearan programas directamente en
código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente.
El programador teclea instrucciones en un editor, que es un programa parecido a un
simple procesador de palabras, estas instrucciones son almacenadas en archivos
denominados programas fuentes (código fuente). Si los programadores necesitan hacer
cambios al programa posteriormente vuelven a correr el editor y cargan el programa
fuente para modificarlo.
El proceso de conversión de programas fuente a programas objeto se realiza mediante
un programa denominado compilador. El compilador toma un programa fuente y lo
traduce a programa objeto y almacena este último en otro archivo.

PROGRAMA FUENTE:
Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje
de la maquina, es decir el programa que no está en código de máquina y que por lo tanto
no puede ser ejecutable.

45
Instituto de Formación Técnica Superior Nro. 12 – Año2009

PROGRAMA OBJETO:
Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por la
misma.

COMPILADOR: Es un programa que traduce un lenguaje de alto nivel al lenguaje


máquina. Un programa compilado indica que ha sido traducido y está listo para ser
ejecutado. La ejecución de los programas compilados es más rápida que la de los
interpretados, ya que el interprete debe traducir mientras está en la fase de ejecución
(saca todos los errores). Un compilador es un programa que traduce el programa fuente
(conjunto de instrucciones de un lenguaje de alto nivel, por ejemplo BASIC o Pascal) a
programa objeto (instrucciones en lenguaje máquina que la computadora puede
interpretar y ejecutar). Se requiere un compilador para cada lenguaje de programación.
Un compilador efectúa la traducción, no ejecuta el programa. Una vez compilado el
programa, el resultado en forma de programa objeto será directamente ejecutable.
Presentan la ventaja considerable frente a los intérpretes de la velocidad de ejecución,
por lo que su uso será mejor en aquellos programas probados en los que no se esperan
cambios y que deban ejecutarse muchas veces. En caso de que se opte por un
interpretador se debe considerar que el intérprete resida siempre en memoria.

INTERPRETE: Traductor de lenguajes de programación de alto nivel, los interpretes


ejecutan un programa línea por línea. El programa siempre permanece en su forma
original(programa fuente) y el interprete proporciona la traducción al momento de
ejecutar cada una de la s instrucciones. Un intérprete es un programa que procesa los
programas escritos en un lenguaje de alto nivel, sin embargo, está diseñado de modo
que no existe independencia entre la etapa de traducción y la etapa de ejecución. Un
intérprete traduce cada instrucción o sentencia del programa escrito a un lenguaje
máquina e inmediatamente se ejecuta. Encuentran su mayor ventaja en la interacción
con el usuario, al facilitar el desarrollo y puesta a punto de programas, ya que los errores
son fáciles de detectar y sobre todo de corregir.

LENGUAJE MÁQUINA: Lenguaje original de la computadora, un programa debe


estar escrito en el lenguaje de la máquina para poder ser ejecutado. Este es generado por
software y no por el programador. El programador escribe en un lenguaje de
programación, el cual es traducido al lenguaje de máquina mediante interpretes y
compiladores.

Case: (Computer-Aided Software Engineering o Computer- Aided Systems


Engineering) Ingeniería de Software Asistida por Computadora o Ingeniería de Sistemas
Asistida por computadora Software que se utiliza en una cualquiera o en todas las fases
del desarrollo de un sistema de información, incluyendo análisis, diseño y
programación. Por ejemplo, los diccionarios de datos y herramientas de diagramación
ayudan en las fases de análisis y diseño, mientras que los generadores de aplicaciones
aceleran la fase de programación.
Las herramientas CASE proporcionan métodos automáticos para diseñar y documentar
las técnicas tradicionales de programación estructurada. La meta última de CASE es
proveer un lenguaje para describir el sistema completo, que sea suficiente para generar
todos los programas necesarios.

46
Instituto de Formación Técnica Superior Nro. 12 – Año2009

CONCEPTO DE SISTEMA

El término sistema se utiliza de muchas maneras. Todo el mundo comprende


expresiones como “no hay quien entienda el sistema de calificaciones del profesor
severo”, o “Manuel tiene un sistema infalible para apostar en el hipódromo”. No
obstante, para los usuarios de computadoras, un sistema es un conjunto de partes que
están integradas con el propósito de lograr un objetivo. Las siguientes tres
características son fundamentales.

♦ Un conjunto de partes. Un sistema tiene más de un elemento, un volante no es un


sistema, pero sí una parte vital de un sistema muy conocido denominado automóvil.
♦ Partes integradas. Debe existir una relación lógica entre las partes de un sistema.
Los sistemas mecánicos y electrónicos, como son los lavarropas y los juegos de
video, tienen muchos componentes que trabajan juntos. Un sistema de
administración de personal cuenta con los procedimientos integrados para contratar
y adiestrar empleados.
♦ El propósito de lograr algún objetivo en común. El sistema se diseña para
alcanzar uno o más objetivos. Todos los elementos del sistema deben estar ligados y
controlados de manera que se logre el objetivo del sistema.

Conveniencia de la instalación de una computadora.

La necesidad de resolución en el menor tiempo posible de los grandes problemas


de nuestra era, desde la realización de las grandes obras de ingeniería, mantener bajo
control complejas destilerías de petróleo, agilizar la investigación en el área científica a
organizar las tareas administrativas de una fábrica. Solo pueden resolverse en forma ágil
y dinámica con la utilización de computadoras.

Los grandes volúmenes de información que deben elaborarse y la diversidad de


elementos decisorios necesarios para poder contrarrestar las rápidas variaciones del
entorno en el que operan las organizaciones comerciales, plantean exigencias muy
concretas respecto a los tiempos de reacción a las medidas de control interno. Estas
exigencias solo son satisfechas cuando se dispone de información oportuna, adecuada y
confiable, que puede ser lograda contando con las computadoras como herramienta
fundamental de trabajo.

Análisis de Sistemas

Todas los problemas a resolverse con o sin la utilización de computadora tienen en


común que, para arribar a la solución de los mismos, deberán seguir los siguientes pasos
fundamentales.

¾ Definición administrativa del problema.

El analista de sistemas debe requerir al usuario el manual de procedimientos


administrativo de las tareas a sistematizar. Este manual puede o no estar
confeccionado, si se encuentra con este elemento y se verifica que se ajusta a la
realidad, se parte del mismo para realizar el análisis de sistemas. De no existir este

47
Instituto de Formación Técnica Superior Nro. 12 – Año2009

manual tendrá que relevar todo él tramite administrativo del problema y luego
discutirlo con el usuario, aprobado este recién comenzará el análisis de sistemas.

¾ Análisis de sistemas.

Tomando como base la descripción administrativa, se definen los datos que el


sistema tendrá como entrada, las planillas y archivos magnéticos que el sistema
tendrá como salida, la elaboración que sufrirán los datos que alimentan al sistema.
Todos estos datos componen lo que llamaremos “memoria descriptiva del
sistema” y tendrá que ser discutido con el usuario y aprobado por el mismo.

Aprobada la memoria descriptiva se comienza a diagramar el sistema, es decir se


comienzan a definir los programas que compondrán el sistema.

Todos los programas que componen el sistema son definidos en detalle, y las
carpetas que contienen estas definiciones son entregadas a los programadores para la
confección de los programas.

El programador confecciona el programa y luego prueba con elementos por él


ideados el correcto funcionamiento de su programa.

¾ Implementación del sistema.

Una vez que el analista aprobó las pruebas de los programas que componen el
sistema, se realiza la prueba integral del mismo, es decir, la prueba en conjunto de
todos los programas.

Después de comprobar de este modo el funcionamiento, se realiza la prueba con


datos reales, ejecutando los programas. tras lo cual se pone en uso el sistema.

¾ Documentación del sistema.

Finalizada la Implementación del sistema se tendrá que reunir toda la


información referente al mismo, armar la carpeta de sistema de acuerdo a los puntos
enunciados anteriormente, (Definición de funciones del analista de sistemas) y
controlar la carpeta de programas.

Esta etapa adquiere cada vez mayor importancia debido al aumento de la


magnitud y complejidad de los problemas que se resuelven con el empleo de
computadoras.

Capacidad de procesamiento.

El proceso de cómputos consiste en la manipulación de los símbolos que la gente


utiliza para representar cosas. Los seres humanos han estado utilizando letras, números
y otros símbolos taquigráficos durante miles de años, y el proceso de cómputo no es
más que una forma más rápida y exacta para realizar esta labor humana tan familiar.

48
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Diferencia entre datos e información.

Los datos son hechos, la materia prima de la información. Los datos se


representan por medios de símbolos, pero solo pueden considerarse como información
en un sentido muy limitado. En la forma que el término se utiliza en el procesamiento
de datos, la información consta de datos organizados en una forma que nos es útil para
las personas que la reciben. En otras palabras, la información consiste en conocimientos
importantes producidos como resultado de las operaciones de procesamiento de datos;
asimismo las personas los adquieren para mejorar su comprensión y para lograr
objetivos específicos.

Actividades de procesamiento de datos.

1. Captura de los datos de entrada. Los datos deben registrarse o capturarse


de alguna manera antes de poder procesarse. Pueden registrarse
inicialmente en documentos fuente de papel, o pueden capturarse por un
dispositivo de entrada directa, por ejemplo la caja registradora de un
supermercado.
2. Manipulación de los datos. Quizás sea necesario realizar después una o
más de las siguientes operaciones con los datos recolectado:
(a) Agrupación. Se denomina así al proceso de organizar elementos
similares para formar grupos o clases. La agrupación se lleva a cabo,
por lo general, al asignar abreviaturas o códigos, previamente
determinados, a los elementos que se van a organizar. Los códigos
utilizados son de tres tipos: Numéricos, Alfabéticos y Alfanuméricos.
(b) Cálculo. La manipulación aritmética de los datos se denomina Cálculo
y es una actividad de procesamiento muy común.
(c) Clasificación. Casi siempre es más fácil trabajas con los datos si están
ordenados en una secuencia lógica. La secuencia puede ser del primero
al último, del más grande al mas chico, del más antiguo al más nuevo.
Se denomina clasificación al ordenamiento de los datos agrupados,
según una secuencia de este tipo.
(d) Síntesis. Se denomina síntesis a la reducción de grandes volúmenes de
datos a una forma más concisa y manejable.

3. Manejo de los resultados de salida. Después de captar y manipular los


datos, quizá sea necesario realizar después una o más de las siguientes
operaciones con los datos recolectado:

a) Almacenamiento y recuperación. Se denomina almacenamiento a la


conservación de los datos para consultarlos en el futuro. La
recuperación consiste en obtener los datos o informaciones
almacenadas.
b) Comunicación y reproducción. La comunicación es la transferencia
de datos de una localidad u operación a otra, para utilizarlos o para
seguir procesando y este proceso continúa hasta que la información en
forma útil llega hasta el usuario final. Es natural que en ocasiones sea
necesario copiar o duplicar la información, y este procedimiento se
denomina reproducción.

49
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Operaciones de proceso de las computadoras.

Las siguientes cuatro operaciones son las únicas que pueden llevara cabo las
computadoras, pero bastan para poder ejecutar las actividades de procesamiento de
datos que se acaban de describir.

• Operaciones de entrada/salida. Una computadora puede tanto aceptar datos


(entrada) como emitirlos (salidas), a partir de una gran variedad de
dispositivos, los mismos hacen posible la comunicación entre los seres
humanos y las máquinas.
• Operaciones de cálculo y manipulación de texto. Los circuitos de las
computadoras efectúan cálculos con los números y son igualmente capaces
de manipular caracteres no numéricos y los demás símbolos que se utilizan
en las palabras y enunciados.
• Operaciones de lógica/comparación. La computadora también es capaz de
efectuar operaciones lógicas, realizando comparaciones y tomando
decisiones programadas para terminar su labor. Esta facultad de realizar
comparaciones es una propiedad importante de las computadoras, ya que es
posible responder a preguntas más complejas utilizando combinaciones de
decisiones de comparación.
• Operaciones de almacenamiento y recuperación de la información.
Tanto los datos como las instrucciones de programas se almacenan dentro de
la computadora. Una vez almacenados, pueden llamarse o recuperarse
rápidamente para ser utilizados.

ESTRUCTURAS DE DATOS

Campo.

Para guardar información referente a algo o a alguien debemos pensar que datos
queremos y para que los queremos, si quisiéramos por ejemplo, guardar datos de las
personas que trabajan en una empresa, para informatizar la oficina de personal,
deberíamos tomar el legajo de un empleado y ver la solicitud de ingreso a la empresa o
la ficha de incorporación que contiene un formato estandarizado para todos los
empleados, cada uno de esos datos que se le piden al empleado, para nosotros desde
ahora se denominarán campos y tendremos un campo para cada dato que
incorporaremos, trataremos también de hacer la desagregación de los datos para su
mejor manipulación.

Diremos también que un campo por si mismo no dice nada y debemos ponerle
un nombre que lo identifique del resto, como mencionamos anteriormente la ficha o
solicitud estaba estandarizada y cada dato pedido estaba de alguna manera resaltado del
resto para buscar rápidamente en forma visual el dato que necesitamos, lo mismo
haremos con la computadora por medio del nombre de campo por ejemplo.

50
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Ficha de personal
Legajo N°:...................................... Fecha de Incorporación:...../....../......

Apellido:.......................................... Nombre:............................................... Tipo de Doc. DNI LC LE

Dirección:......................................... Código Postal:.................. Teléfono:......................................

Localidad:......................................... Provincia:........................ Fecha de Nacimiento:..../..../.....

Nacionalidad :..................................

Para informatizar esta ficha a cada dato que solicitaremos le datemos un nombre
y este tendrá que identificar de alguna manera el contenido por ejemplo.

PERSONAL
LEG_NRO FEC_I APELL NOM TIP_D DIRECC COD_P TEL_ LO PROV
NC IDO BRE OC ION OS NRO CA INC
L
1
2
3
4

Ahora podemos realizar búsquedas por datos en particular igualando el nombre


del campo por el que queremos realizar la búsqueda con el dato buscado y nos traería el
resto de los datos asociados a este por ejemplo.

BUSCAR LEG_NRO=9457

También diremos que tendremos en cuenta el tipo de campo al que estamos


haciendo referencia, por una cuestión de simplicidad, para facilitar las operaciones
matemática, los campos que albergaran solo números serán creados como numéricos y
los que albergan números y letras arbitrariamente, como alfa-numéricos. Esto hace a la
diferenciación para su enunciado, cuando estamos buscando datos del segundo tipo
entrecomillaremos el campo para distinguirlo y decirle a la computadora que no estamos
buscando un número sino una cadena de caracteres, por ejemplo.

BUSCAR APELLIDO=”GOMEZ”

Con respecto a la cantidad de letras o números que albergará dicho campo,


tendremos que decírselo al diseñarlo ya que al igual que la ficha el limite estará dado
por el espacio que reservemos para cada uno y tendremos que acotarlo para que sea
universal. Queremos decir con esto que si estamos hablando del apellido de una persona
debemos tener en cuenta que cantidad de letras tendrá un apellido extremadamente largo

51
Instituto de Formación Técnica Superior Nro. 12 – Año2009

para que pueda entrar en el campo, ya que no podemos hacer la letra mas chica como en
la ficha manual.

Registro.

Denominaremos registro al conjunto de datos o campos que posee las cualidades


de una cosa o una persona y nos permiten individualizarla, como en el ejemplo que
vimos anteriormente la ficha de un empleado que estaba compuesta de varios campos
con datos de la misma persona, será para nosotros el registro de esa persona.

PERSONAL
LEG_N FEC_I APELL NOMBRE TIP_ NRO_ COD_ TEL_ LOCAL PROV
RO NC IDO DOC DOC POS NRO INC
1 9457 24/2/6 GOME JUAN DNI 10125 1427 4698- CAPITA
8 Z CARLOS 8784 5841 L
2 9458 15/7/9 MARTI ALBERTO DNI 14578 2154 4897- CAPITA
8 NEZ 4515 5481 L
3 9459 24/3/9 ALVAR IGNACIO DNI 25784 2648 4215- LANUZ Bs.As.
7 EZ 1457 5412
4 9460 30/5/9 GIMEN FABIAN DNI 27845 4028 4687- PALOM Bs. As.
0 EZ 1542 5514 AR

Como vemos en este ejemplo tengo cuatro registros de empleados y linealmente


tenemos la información correspondiente a cada una de estas personas y los nombres de
campos como embazado de columna.

Archivo.

El conjunto de los registros de un mismo tipo o formato se denominará archivo


al igual que con la fichas, el conjunto de las fichas almacenadas en un cajón, era mi
archivo de personal manual y ahora pasará a ser mi archivo de personal informatizado,
cada archivo al igual que los campo tendrá un nombre que lo identificará, como en el
archivo manual el cajón donde estaban guardadas las fichas de los empleados tenía una
etiqueta que decía “PERSONAL” y cada cajón etiquetado con el contenido del mismo.
En los archivos informatizados pasará lo mismo hagamos de cuenta que estamos
hablando de cajones con fichas o registros.

Introducción a Bases de Datos

Las bases de datos se pueden definir como una colección de datos interrelacionados
entre si, almacenados en conjunto sin redundancias perjudiciales e innecesarias. Su
finalidad es servir a una aplicación o más, de la mejor manera posible, los datos se
almacenan de modo que resulten independientes de los programas que los usan; se
emplean métodos bien determinados para incluir datos nuevos y para modificar o
extraer los datos almacenados.

Redundancia y Duplicidad

52
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Si se revisara una biblioteca de cintas, discos e información concerniente a las bases nos
encontraríamos con que en estas existe una enorme redundancia y duplicación en los
datos.

Generalmente esta duplicidad se genera con la finalidad de hacer más accesible la


información o facilitar la reconstrucción de ésta en caso de perdida accidental. Al hablar
de redundancia debemos hablar de NO redundancia, aunque es mejor, referirse a
redundancia controlada o mínima en lugar de no redundancia.

Una base de datos bien organizada debe permitir una buena reestructuración al agregar
nuevos tipos, es decir, esto no debe originar el volver a escribir los programas de
aplicación, ni provocar complicaciones.

Independencia

Generalmente se habla de la independencia como un gran atributo de las bases de datos.


La independencia se refiere a que los programas de aplicación y los datos que de ellos
se sirven son mutuamente independientes. Esto significa que el modificar los programas
no afecta los datos o su organización (claro que no siempre existe una buena
independencia en los datos).

El software de base de datos debe proporcionar formas de hacer transformaciones según


la estructura del archivo que le interesa al programador de aplicaciones en la estructura
física que en verdad se almacena y viceversa. El grado de necesidad de que el
programador de aplicaciones conozca los detalles de los datos físicos varía de un
sistema a otro.

Características de una Base de Datos

La DBMS (Data Base Management System) es la herramienta que las computadoras


utilizan para realizar el procesamiento y almacenamiento ordenado de los datos. Una
base de datos es un recipiente para colecciones relacionadas de datos. Cualquier
conjunto de datos organizados para su almacenamiento en la memoria de un ordenador
o computadora, diseñado para facilitar su mantenimiento y acceso de una forma
estándar. Los datos suelen aparecer en forma de texto, números o gráficos. Desde su
aparición en la década de 1950, se han hecho imprescindibles para las sociedades
industriales. Hay cuatro modelos principales de bases de datos: el modelo jerárquico, el
modelo en red, el modelo relacional (el más extendido hoy en día; los datos se
almacenan en tablas a los que se accede mediante consultas escritas en SQL) y el
modelo de bases de datos deductivas. Otra línea de investigación en este campo son las
bases de datos orientadas a objeto, o de objetos persistentes. Por ejemplo, un a agenda
puede ser una base de datos donde se almacenan los nombres, direcciones y números
telefónicos de amigos y contactos de negocios. La Base de Datos de una Compañía
puede contener información acerca de los consumidores, vendedores, empleados, venta
s en inventario.
Ejemplos de Bases de Datos: Access, FoxPro, Approach.

A. Base de datos relacional, en informática, tipo de base de datos o sistema de


administración de bases de datos, que almacena información en tablas (filas y

53
Instituto de Formación Técnica Superior Nro. 12 – Año2009

columnas de datos) y realiza búsquedas utilizando los datos de columnas


especificadas de una tabla para encontrar datos adicionales en otra tabla. En una
base de datos relacional, las filas representan registros (conjuntos de datos
acerca de elementos separados) y las columnas representan campos (atributos
particulares de un registro). Al realizar las búsquedas, una base de datos
relacional hace coincidir la información de un campo de una tabla con
información en el campo correspondiente de otra tabla y con ello produce una
tercera tabla que combina los datos solicitados de ambas tablas. Por ejemplo, si
una tabla contiene los campos NÚM-EMPLEADO, APELLIDO, NOMBRE y
ANTIGÜEDAD y otra tabla contiene los campos DEPARTAMENTO, NÚM-
EMPLEADO y SALARIO, una base de datos relacional hace coincidir el campo
NÚM-EMPLEADO de las dos tablas para encontrar información, como por
ejemplo los nombres de los empleados que ganan un cierto salario o los
departamentos de todos los empleados contratados a partir de un día
determinado. En otras palabras, una base de datos relacional utiliza los valores
coincidentes de dos tablas para relacionar información de ambas. Por lo general,
los productos de bases de datos para microcomputadoras o microordenadores
son bases de datos relacionales.
B. Cliente/servidor: En vez de construir sistemas informáticos como elementos
monolíticos, existe el acuerdo general de construirlos como sistemas
cliente/servidor. El cliente (un usuario de PC) solicita un servicio (como
imprimir) que un servidor le proporciona (un procesador conectado a la LAN).
Este enfoque común de la estructura de los sistemas informáticos se traduce en
una separación de las funciones que anteriormente forman un todo. Los detalles
de la realización van desde los planteamientos sencillos hasta la posibilidad real
de manejar todos los ordenadores de modo uniforme.

Las bases de datos tienen muchas formas de organización pero deben tener
determinadas características:

• Versatilidad para la representación de relaciones


• Desempeño
• Costo mínimo
• Redundancia mínima
• Capacidad de búsqueda
• Integridad
• Seguridad de acceso a los datos y protección de la información almacenada
• Interfaz con el pasado
• Interfaz con el futuro
• Modificable en el tiempo
• Migración de datos
• Simplicidad

Organizaciones de Datos

Una base de datos es una colección de información. Y su característica principal es que


los datos los organiza de acuerdo a modelos de datos.
Se considera la definición de Modelo de datos como "un conjunto de conceptos y de
reglas de composición de esos conceptos que permite describir unos datos", es decir,

54
Instituto de Formación Técnica Superior Nro. 12 – Año2009

proveen un marco teórico que sustenta una metodología bien definida para el
almacenamiento y recuperación de la información.

En la práctica existen tres modelos principales de datos: el modelo jerárquico, el modelo


red, y el modelo relacional. Este último esta relacionado con las bases de datos
relacionales y el enfoque Entidad-Relación, al cual está enfocado este estudio.
Visual Basic es capaz de interactuar tanto con bases de datos relacionales, en particular
en forma natural con MS-Access y con cualquier otro tipo de Bases de datos
relacionales como Oracle, SQL Sever, etc. que soporte ODBC (Open Data Base
Conectibity) y también en forma natural con algunas Xbases : Dbase III y IV, FoxPro,
Paradox, Btrieve.
En el contexto de este curso nos referiremos al estudio de MS-Access como base de
datos nativa de Visual Basic. Antes de pasar a estudiar Access como ambiente de base
de datos relacional es necesario definir algunos conceptos sobre bases de datos
relacionales.

5.2.1 Bases de Datos Relacionales


El modelo relacional data de 1970 (CODD-IBM-San José), está basado en conceptos
muy sencillos. El modelo relacional tiene asociada una teoría que no puede ser separada
del modelo: la teoría de la normalización de las relaciones. Esta teoría tiene por objeto
eliminar los comportamientos anormales de las relaciones durante las actualizaciones.
También permite eliminar los datos redundantes y facilita la comprensión de las
relaciones semánticas entre los datos.

5.2.1.1 Los Conceptos Básicos del Modelo Relacional


Una entidad es un objeto que existe y puede distinguirse de otros objetos. Una entidad
puede ser concreta, por ejemplo una persona o un libro, o abstracta, como un día festivo
o un concepto. Una entidad identifica en forma unívoca al objeto que representa en el
universo, por ejemplo Cuenta Corriente 143-2343-34-21.
Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo, el
conjunto de todas las personas que tienen una cuenta en el banco puede definirse como
el conjunto de entidades CuentaCorrentistas del banco. Así mismo, el conjunto de
entidades Cuenta podría representar el conjunto de todas las cuentas en un banco
determinado. Las entidades pueden pertenecer a más de un conjunto, por ejemplo, la
entidad Persona puede pertenecer a los conjuntos Empleado, Cliente, Asociado, etc.
Las entidades están representadas y tienen sentido por sus atributos. Los posibles
atributos del conjunto de entidades CuentaCorrentista son Nombre, Rut, Calle, Número,
Ciudad. Los valores permitidos para un atributo constituyen su dominio. El dominio de
el atributo Nombre podría ser el conjunto de todas las cadenas de caracteres de una
determinada longitud.
Fuera del marco teórico, un conjunto de entidades es lo que llamamos Tabla. Cada
Columna en la tabla corresponde a un atributo, suele recibir el nombre de Campos.
Cada Fila en la tabla corresponde a los datos de una entidad del mundo real, se le llama
habitualmente Registro. La siguiente tabla ilustra esto:

Número Rut cliente Saldo Giros Dépositos


cuenta

55
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Cuando se analiza un problema informático una de las primeras tareas es reconocer el


universo de información. Si se pudiera almacenar y recuperar mágicamente toda la
infomación que constituye el universo tendriamos resuelto nuestro problema. Sin
embargo, es necesario dar una estructuración adecuda a la infomación para evitar los
problemas de redundancia y duplicidad. Esta estructuración significa identificar y
definir las entidades que costituyen el universo. Para ello se aplica una descomposición
a al universo de modo que:

1. Las entidades sean conceptualmente puras, es decir, sólo contengan información


sobre el conjunto de entidades del mundo real que representa. Por ejemplo, en
una tabla que contenga infomación sobre la cuenta corriente bancaria no deberá
contener información sobre la previsión de salud de las personas. Para manejar
esta información se deben llevar dos tablas: Cuenta_corriente e Previsión_Salud.
2. Los datos almacenados en una tabla deben ser "atómicos", es decir, la
intersección de una columna con una fila no prodrá contener más de un valor.
Por ejemplo:

Si una tabla contiene un campo definido como edades de cargas familiares se


podría definir para que contuviera una cadena de caracteres con esos valores: 5;
11; 18 lo que no sería correcto. En tal caso sería necesario definir una columna
para carga o una tabla que permita almacenarlas.

Relaciones

• Asociación entre Entidades (relación)

Es la asociación entre varias entidades. Por ejemplo, es posible definir una relación que
asocia al CuentaHabiente "Harris" con la cuenta 323. Esto especifica que Harris es un
CuentaHabiente con la cuenta bancaria 323.

• Conjunto de Asociaciones (relaciones)

Un conjunto de relaciones es un grupo de relaciones del mismo tipo. Formalmente es


una relación matemática de N mayor o igual que 2 (posiblemente idénticos) conjuntos
de entidades. Por ejemplo, se puede definir la relación CtHabCta para notar la
asociación entre los cuentahabientes y las cuentas bancarias. Una relación también
puede tener atributos, por ejemplo, fecha podría ser un atributo del conjunto de
relaciones CtHabCta; esto especifica la última vez que el Cuenta Habiente tuvo acceso a
su cuenta.

56
Instituto de Formación Técnica Superior Nro. 12 – Año2009

• Limitantes

Una limitante importante es la de las cardinalidades de mapeo entre las distintas


entidades, es decir, el Nº de entidades con las que puede asociarse otra entidad a través
de una asociación. Para un conjunto binario de relaciones se tiene lo siguiente:

Relación Asociación Descripción

Una a Una (1 : 1) Función inyectiva de A en B

Una a Muchas (1 : n) Una entidad A está relacionada con varias entidades


de B.
Muchas a Una (n : 1) Muchas entidades de A está solo relaciona con una
entidad de B.
Muchas a Muchas (n : n) Varias entidades de A están relacionadas con varias
entidades de B.

A continuación se muestran gráficamente dichas asociaciones:

Otra limitante es la dependencia de existencia. Si X depende de Y, entonces si elimino Y


también elimino X. Se dice que X es una entidad subordinada o débil y que Y es una
entidad dominante o fuerte. Por ejemplo considere la entidad fuerte CuentaHabiente y
la entidad débil Cuenta.

• Llaves Primarias

Como ya se ha mencionado anteriormente las llaves permiten identificar una entidad o


un grupo. La llave está constituida por atributos (puede ser 1 o un grupo). Una entidad
fuerte posee una llave primaria. Una llave primaria me permite identificar una entidad y
la llave secundaria me permite identificar un grupo de entidades.

• Llaves Foráneas

Corresponden a un atributo de una tabla relacionada que es llave primaria en una tabla
principal, es decir, es el atributo de una entidad, que es clave primaria de otra.

• Integridad referencial

57
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Conjunto de reglas que se siguen para preservar las relaciones establecidas entre las
tablas cuando se introducen o se agregan registros. Si se exige integridad referencial el
SABDR (Sistema Administrador de Bases de Datos Relacionales) impedirá agregar
registros a una tabla relacionada para la cual no hay un registro principal; también
impedirá cambiar valores en una tabla principal cuando el resultado de la modificación
implica dejar registros huérfanos en la tabla relacionada, así como eliminar registros
cuando existen registros coincidentes en una tabla relacionada.

• La Aproximación por Descomposición

La aproximación por descomposición para concebir esquemas relacionales parte de una


relación compuesta de todos los atributos, llamada la relación universal para
descomponer después esta relación en sub relaciones que no padecen las anomalías
anteriormente descritas. El proceso es un proceso de depuración sucesiva que debe
lograr aislar unas entidades y unas asociaciones del mundo real. Debe estar realizado
por un algoritmo a partir de una buena comprensión semántica de los datos.

• Resumen

Se puede definir una base de datos relacional como una base de datos que el usuario
percibe como un conjunto de relaciones normalizadas que varían con el tiempo, de
diversos grados. En otras palabras, el término base de datos relacional significa una
base de datos para la cual los operadores a disposición del usuario operan sobre
estructuras relacionales. No significa por fuerza que los datos estén almacenados en
forma de tablas físicas.
En resumen, puede decirse que, en términos tradicionales, una relación se asemeja a un
archivo, una tupla a un registro y un atributo a un campo .Sin embargo, estas
correspondencia son a lo sumo aproximadas. Dicho de otra manera, las relaciones
pueden considerarse archivos "altamente disciplinados". Esta disciplina se traduce en
una simplificación considerable de las estructuras de datos que el usuario debe manejar,
y, por tanto, en una simplificación correspondiente de los operadores necesarios para
manipularlas.
Los conceptos de bases de datos relacionales constituyen una base robusta para el
modelamiento de bases de datos que garantizan calidad en el almacenamiento y
recuperación de la información. La utilización del modelo entidad relación permite
obtener una estructura normalizada para la base de datos.

Programa.

Es un conjunto de órdenes o instrucciones organizadas en secuencia lógica y en


un leguaje entendible por la computadora para resolver un problema determinado, con
estas herramientas podremos hacer que la computadora mediante un programa realice
tareas rutinarias y a mayor velocidad, como cálculos o actualización de información.

La computadora automática debe su derecho a existir, su utilidad, precisamente a


su capacidad de efectuar vastos cálculos que no pueden realizar los seres humanos.
Deseamos que la computadora efectúe lo que nunca podríamos hacer nosotros, y la
potencia de las maquinas actuales es tal, que inclusive los cálculos pequeños, por su
tamaño, escapan al poder de nuestra imaginación limitada.

58
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Sin embargo debemos organizar el cálculo de manera tal que nuestros limitados
poderes sean suficientes para asegurar que se establecerá el efecto deseado. Esta
organización incluye la composición de los programas.

Los avances en la tecnología siempre van parejos con progresos en los lenguajes
de programación y con nuevas ayudas para simplificar el uso del computador, con lo
cual un numero mayor de usuarios se beneficia del. Pero la necesidad de hacer
programas para resolver problemas específicos quizás nunca desaparecerá.

CONCEPTO DE PROGRAMACION ESTRUCTURADA

El creciente empleo de los computadores ha conducido a buscar un


abaratamiento del desarrollo des software, paralelo a la reducción del costo del
hardware obtenido gracias a los avances tecnológicos. Los altos costos del
mantenimiento de las aplicaciones en producción normal también han urgido la
necesidad de mejorar la productividad del personal de programación.

En la década del sesenta salieron a la luz publica los principios de lo que más
tarde se llamo Programación Estructurada, posteriormente se libero el conjunto de las
llamadas "Técnicas para mejoramiento de la productividad en programación" (en ingles
Improved Programming Technologies, abreviado IPTs), siendo la Programación
Estructurada una de ellas.

Los programas computarizados pueden ser escritos con un alto grado de estructuración,
lo cual les permite ser mas fácilmente comprensibles en actividades tales como pruebas,
mantenimiento y modificación de los mismos. Mediante la programación Estructurada
todas las bifurcaciones de control de un programa se encuentran estandarizadas, de
forma tal que es posible leer la codificación del mismo desde su inicio hasta su
terminación en forma continua, sin tener que saltar de un lugar a otro del programa
siguiendo el rastro de la lógica establecida por el programador, como es la situación
habitual con codificaciones desarrolladas bajo otras técnicas.

EN programación Estructurada los programadores deben profundizar mas que lo


usual al procederá realizar el diseño original del programa, pero el resultado final es
más fácil de leer y comprender, el objetivo de u programador profesional al escribir
programas de una manera estructurada, es realizarlos utilizando solamente un numero
de bifurcaciones de control estandarizados.

EL resultado de aplicar la sistemática y disciplinada manera de elaboración de


programas establecida por la Programación Estructurada es una programación de alta
precisión como nunca antes había sido lograda. Las pruebas de los programas,
desarrollados utilizando este método, se acoplan mas rápidamente y el resultado final
con programas que pueden ser leídos, mantenidos y modificados por otros
programadores con mucho mayor facilidad.

DEFINICIONES

59
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Programación Estructurada es una técnica en la cual la estructura de un


programa, esto es, la interpelación de sus partes realiza tan claramente como es posible
mediante el uso de tres estructuras lógicas de control:

a) Secuencia: Sucesión simple de dos o mas operaciones.


b) Selección: bifurcación condicional de una o mas operaciones.
c) Interacción: Repetición de una operación mientras se cumple una
condición.

Estos tres tipos de estructuras lógicas de control pueden ser combinados para
producir programas que manejen cualquier tarea de procesamiento de información.

Un programa estructurado esta compuesto de segmentos, los cuales puedan estar


constituidos por unas pocas instrucciones o por una pagina o más de codificación. Cada
segmento tiene solamente una entrada y una salida, estos segmentos, asumiendo que no
poseen lazos infinitos y no tienen instrucciones que jamas se ejecuten, se denominan
programas propios. Cuando varios programas propios se combinan utilizando las tres
estructuras básicas de control mencionadas anteriormente, el resultado es también un
programa propio.

La programación Estructurada esta basada en el Teorema de la Estructura, el


cual establece que cualquier programa propio (un programa con una entrada y una
salida exclusivamente) es equivalente a un programa que contiene solamente las
estructuras lógicas mencionadas anteriormente.
Una característica importante en un programa estructurado es que puede ser
leído en secuencia, desde el comienzo hasta el final sin perder la continuidad de la tarea
que cumple el programa, lo contrario de lo que ocurre con otros estilos de
programación. Esto es importante debido a que, es mucho más fácil comprender
completamente el trabajo que realiza una función determinada, si todas las instrucciones
que influyen en su acción están físicamente contiguas y encerradas por un bloque. La
facilidad de lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres
estructuras de control y de eliminar la instrucción de desvío de flujo de control, excepto
en circunstancias muy especiales tales como la simulación de una estructura lógica de
control en un lenguaje de programación que no la posea.

Pero primero para poder programar debemos incorporar algunos conceptos


básicos para entender la manipulación de datos que necesitamos realizar, dijimos
anteriormente que la computadora maneja el lenguaje binario de ceros y unos y cada
uno de estos estados los denominaremos bit, que es la menor información que podemos
almacenar.

El conjunto de 8 bits conformarán un byte que con lo que formaremos un dígito,


este podrá albergar una letra o un número de la “A” a la “Z” o del “1” al “9”, ahora ya
sabemos que un dígito es un byte y a partir de este parámetro podremos entender el
siguiente concepto.

Programación Orientada a Objetos: La programación orientada a objetos no es un


concepto nuevo, sus inicios y técnicas de programación se iniciaron a principios de los
70. Se puede definir programación orientada a objetos (OOPS) como una técnica de
programación que utiliza objetos como bloque esencial de construcción. La OOPS, es

60
Instituto de Formación Técnica Superior Nro. 12 – Año2009

un tipo de programación más cercana al razonamiento humano. La OOPS surge como


una solución a la programación de grandes programas, y para solventar el
mantenimiento de dichas aplicaciones, ya que en la programación estructura el más
mínimo cambio supone la modificación de muchas funciones relacionadas, en cambio
con la OOPS solo es cuestión de añadir o modificar métodos de una clase o mejor, crear
una nueva clase a partir de otra (Herencia). Dos lenguajes destacan sobre el resto para
programar de esta forma, Smalltalk y C++.

Concepto de Objeto: Desde un punto de vista general un Objeto es una estructura de


datos de mayor o menor complejidad con las funciones que procesan estos datos. Dicho
de otra forma, sería Datos más un Código que procesa estos datos. A los datos se les
denomina miembros dato y a las funciones miembro o miembro funciones. Los datos
están ocultos y sólo se puede acceder a ellos mediante las funciones miembro.

Clases: Las Clases son como plantillas o modelos que describen como se construyen
ciertos tipos de Objeto. Cada vez que se construye un Objeto de una Clase, se crea una
instancia de esa Clase("instance"). Una Clase es una colección de Objetos similares y un
Objeto es una instancia de una Clase. Se puede definir una Clase como un modelo que
se utiliza para describir uno o más Objetos del mismo tipo.

Herencia: Una característica muy importante de los Objetos y las Clases es la Herencia,
una propiedad que permite construir nuevos Objetos (Clases) a partir de unos ya
existentes. Esto permite crear "Sub-Clases" denominadas Clases Derivadas que
comparten las propiedades de la Clase de la cual derivan (Clase base). Las Clases
derivadas heredan código y datos de la clase base, asimismo incorporan su propio
código y datos especiales. Se puede decir que la herencia permite definir nuevas Clases
a partir de las Clases ya existentes.

Polimorfismo: En un sentido literal, Polimorfismo significa la cualidad de tener más de


una forma. En el contexto de POO, el Polimorfismo se refiere al hecho de que una
simple operación puede tener diferente comportamiento en diferentes objetos. En otras
palabras, diferentes objetos reaccionan al mismo mensaje de modo diferente. Los
primeros lenguajes de POO fueron interpretados, de forma que el Polimorfismo se
contemplaba en tiempo de ejecución. Por ejemplo, en C++, al ser un lenguaje
compilado, el Polimorfismo se admite tanto en tiempo de ejecución como en tiempo de
compilación

Decimos entonces que:


El tema de la Programación Orientada a Objetos (Object Oriented Programming O-O-P)
sigue siendo para el que escribe un territorio inquietante, interesante y en gran medida
desconocido, como parece ser también para la gran mayoría de los que estamos en el
campo de la programación. Sin tratar de excluir a aquellos que han afrontado este
desarrollo desde el punto de vista académico y formal (maestrías y doctorados) el tema
se antoja difícil para los no iniciados. Con este breve artículo me dirigiré en particular a
la gran base de programadores prácticos que andamos en búsqueda de mejores
herramientas de desarrollo de programas, que faciliten el trabajo de nuestros usuarios y
a la vez disminuyan la gran cantidad de considerandos que aparecen al empeñarnos en
un proyecto de cómputo.

61
Instituto de Formación Técnica Superior Nro. 12 – Año2009

Como muchos de ustedes, me topé con el concepto de O-O-P como parte de esa
búsqueda y al explorarlo apareció el gusanillo de la curiosidad. A lo largo de mi
actividad como programador, y cuando se dio la necesidad, no tuve ningún problema en
convertir mis habilidades de programación en FORTRAN de IBM 1130 al BASIC de la
PDP, pues sólo era cuestión de aprender la sintaxis del lenguaje, ya que las estrategias
de programación y los algoritmos eran iguales. Posteriormente, al manejar el PASCAL
se requirió un importante esfuerzo en entender la filosofía de las estructuras, lo cual
modificaba la manera de ver (conceptualizar) a los datos y a las partes constitutivas de
un programa.
Posteriormente aparece el QuickBasic, que adopté inmediatamente por la familiaridad
con el BASIC (ley del menor esfuerzo). Ofrecía estructuras de datos (tipos y registros
complejos), además de estructuras de instrucciones en procedimientos y módulos; editor
"inteligente" que revisa la sintaxis y ejecución de las instrucciones mientras se edita el
programa, generación de ejecutable una vez terminado (.EXE), existencia de bibliotecas
externas y enlace con módulos objeto generados en otro lenguaje. ¿Qué más podía yo
pedir?
Pero la necesidad de estar en la ola de moda es más fuerte que el sentido común. Las
aplicaciones en Windows siempre han despertado la envidia de los programadores, al
hacer ver sus programas pálidos e insulsos por comparación. Solución: programar en
Windows.
Originalmente programar en Windows representaba un largo y tedioso camino para
dominar las complejas herramientas de desarrollo. Sólo recientemente han aparecido
desarrolladores de aplicaciones para Windows que le permiten al programador pintar
sus ventanas y realizar los enlaces entre los objetos con programación tradicional,
evitando en gran medida involucrarse con los conceptos complicados de los objetos. Sin
embargo no dejaron de inquietarme algunos conceptos marcados por O-O-P, según los
cuales serán los pilares del futuro de la programación de componentes y de objetos
distribuidos en redes, en donde la actual programación cliente/servidor pareciera por
comparación el FORTRAN o el COBOL de ahora.
Pidiendo perdón de antemano a los puristas de las definiciones y conceptos de O-O-P,
expondré el resultado de mis propias indagaciones sobre este campo, esperando que al
paciente lector y posible programador le resulte menos complicado que a mí asimilar los
elementos básicos de O-O-P.
Los principales conceptos que se manejan en la Programación Orientada a Objetos son:
1. encapsulado, 2. herencia y 3. Polimorfismo.
Según esto, la encapsulación es la creación de módulos autosuficientes que contienen
los datos y las funciones que manipulan dichos datos. Se aplica la idea de la caja negra y
un letrero de "prohibido mirar adentro". Los objetos se comunican entre sí
intercambiando mensajes. De esta manera, para armar aplicaciones se utilizan los
objetos cuyo funcionamiento está perfectamente definido a través de los mensajes que
es capaz de recibir o mandar. Todo lo que un objeto puede hacer está representado por
su interfase de mensajes. Para crear objetos, el programador puede recurrir a diversos
lenguajes como el C++, el Smalltalk, el Visual Objects y otros. Si se desea solamente
utilizar los objetos y enlazarlos en una aplicación por medio de la programación
tradicional se puede recurrir al Visual Basic, al CA-Realizer, al Power Builder, etc.
El concepto de herencia me pareció sencillo de entender una vez que capté otro
concepto de O-O-P: las clases. En O-O-P se acostumbra agrupar a los objetos en clases.
Esto es muy común en la vida diaria. Todos nosotros tendemos a clasificar los objetos
comunes por clases. Manejamos la clase mueble, la clase mascota, la clase alimento,
etc. Obviamente en el campo de la programación esta clasificación es más estricta.

62
Instituto de Formación Técnica Superior Nro. 12 – Año2009

¿Cuál es el sentido de las clases? Fundamentalmente evitar definir los objetos desde
cero y facilitar su reutilización. Si trabajamos con clases, al querer definir un nuevo
objeto, partimos de alguna clase definida anteriormente, con lo que el objeto en cuestión
hereda las características de los objetos de su clase. Imaginemos que creamos una clase
"aves" y describimos las características de las aves (plumas, pico, nacen de huevo, etc.).
Más adelante necesitamos una clase "pingüino". Como pertenece a "aves" no
requerimos volver a declarar lo descrito sino marcamos que "pingüino" es una subclase
de "aves" con lo que "pingüino" hereda todas sus características. A continuación sólo
declaramos los detalles que determinan lo que distingue a "pingüino" de "aves".
Asimismo podemos declarar "emperador" como una subclase de "pingüino", con lo que
"emperador" heredará todas las características de las superclases "pingüino" y "aves"
más las características que nosotros declaremos en particular para "emperador". En un
programa (imaginario por supuesto) yo puedo utilizar estas clases (aves, pingüino y
emperador). El hecho de colocar a un individuo en particular en estas clases es lo que se
llama objeto y se dice que es una instancia de una clase. Así, si yo coloco a Fredy (un
pingüino emperador) en mi programa, se dice que el objeto Fredy es una instancia de la
clase emperador. Fredy aparecerá en mi programa con todas las características
(herencia) de aves, de pingüino y de emperador.
Por otra parte, entender el concepto de Polimorfismo implicó un buen número de horas
de indagación y búsqueda de ejemplos. Espero que éste resulte claro: supóngase que
declaramos un objeto llamado Suma. Este objeto requiere dos parámetros (o datos)
como mensaje para operar. En la programación tradicional tendríamos que definir el
tipo de datos que le enviamos, como por ejemplo dos números enteros, dos números
reales, etc. En O-O-P el tipo de dato se conoce hasta que se ejecuta el programa.

¿Cómo haremos para programar?

El primer paso en la programación es entender, que quiero decir con esto,


comprender el problema a resolver y saber solucionarlo en forma manual, no podemos
resolver problemas administrativos si no conocemos de administración, podemos saber
a fondo un leguaje de programación, pero si no conocemos como se resuelve el
problema jamás podremos utilizarlo.

El segundo paso es aplicar la lógica, ¿que es esto?, es simplemente aplicar los


pasos que seguiríamos para resolver el problema , de ahora en mas empezaremos a
practicar esto que es automático para nosotros, pero cuando uno tiene de desglosar estos
procedimientos cuesta darse cuenta de lo que es evidente para nosotros y no para la
computadora, que hay que describirle hasta el último detalle de lo que debe hacer, para
hace lo que queremos que haga.

Programación lógica.

Este es un mecanismo por el cual ejercitaremos el dar ordenes a la computadora


mediante simbología, con una secuencia lógica. Utilizaremos para ello símbolos o
figuras que representan procedimiento que a continuación detallamos

INICIO Inicio de una secuencia lógica o programa

Finalización de una secuencia lógica o programa


FIN

63
Instituto de Formación Técnica Superior Nro. 12 – Año2009

ARCHIVO Lectura de archivos

A=B SI bifurcación o decisión

NO

A=(B+C)/D Procedimiento u operación

Ingresar datos por teclado

Desplegar datos por pantalla

Imprimir

LINEA
Llamado a sub-programa o sub-rutina

1 Conector dentro de página

Conector fuera de página


A

GRABAR Grabación de datos en archivo

Con estos doce símbolos estamos en condiciones de resolver problemas


utilizando diagramación lógica

64

S-ar putea să vă placă și