fundamentos de la computación antología - upiicsa

Anuncio
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
DEPARTAMENTO DE ESTUDIOS PROFESIONALES GENÉRICOS
ACADEMIAS DE TECNOLOGÍA INFORMÁTICA
LICENCIATURA EN CIENCIAS DE LA INFORMATICA
FUNDAMENTOS DE LA COMPUTACIÓN
ANTOLOGÍA
M. en C. ÁNGEL GUTIÉRREZ GONZÁLEZ
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
INDICE:
UNIDAD I: INTRODUCCIÓN.
1.1
ANTECEDENTES Y RAZÓN DE SER.
6
1.2
DEFINICION DE COMPUTADORAS
13
1.3
GENERACIONES DE COMPUTADORAS
14
1.4
UTILIZACIÓN DE LAS COMPUTADORAS EN DIFERENTES SECTORES.
19
1.5
COMPUTADORAS DIGITALES, ANÁLOGAS E HÍBRIDAS.
29
1.6
CONCEPTOS DE HARDWARE, SOFTWARE Y FIRMWARE.
33
UNIDAD II: COMPONENTES PRINCIPALES DE UNA COMPUTADORA.
2.1
ESTRUCTURA GENERAL DE UNA COMPUTADORA.
39
2.2
UNIDAD CENTRAL DE PROCESO.
43
2.3
LA MEMORIA Y SU CLASIFICACIÓN.
46
2.4
DISPOSITIVOS E/S.
48
2.5
CONCEPTOS ASINCRONO Y SINCRONO.
52
2.6
EL MODELO DE VON NEWMAN.
53
2.7
CLASIFICACIÓN DE LAS COMPUTADORAS POR SU CAPACIDAD DE PROCESO. 57
UNIDAD III: CONCEPTOS DE PROGRAMACIÓN.
3.1
COMO DETERMINAR QUE UN PROBLEMA SEA RESUELTO POR COMPUTADORA.
61
3.2
SOLUCIONES LOGICAS.
63
3.3
DIAGRAMAS LOGICOS.
64
2
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
3.4
QUE ES UN LENGUAJE DE PROGRAMACIÓN.
66
3.5
QUE ES UN LENGUAJE MÁQUINA.
73
3.6
QUÉ ES UN TRADUCTOR DE LENGUAJES.
76
3.7
ELEMENTOS DE PROGRAMACIÓN.
78
3.8
PROGRAMACIÓN ESTRUCTURADA.
81
UNIDAD IV: AMBIENTES DE PROCESAMIENTO DE DATOS.
4.1
PROCESAMIENTO EN BATCH.
89
4.1.1
DESCRIPCIÓN.
90
4.1.2
EVOLUCIÓN.
91
4.1.3
CARACTERISTICAS.
91
4.1.4
VENTAJAS Y DESVENTAJAS.
92
4.2
PROCESAMIENTO EN LINEA.
92
4.2.1
DESCRIPCIÓN.
92
4.2.2
EVOLUCIÓN.
93
4.2.3
CARACTERISTICAS.
94
4.2.4
VENTAJAS Y DESVENTAJAS.
94
4.3
PROCESAMIENTO EN TIEMPO REAL.
94
4.3.1
DESCRIPCIÓN.
95
4.3.2
EVOLUCIÓN.
95
4.3.3
CARACTERISTICAS.
95
4.3.4
VENTAJAS Y DESVENTAJAS.
96
4.4
PROCESAMIENTO EN PARALELO.
96
4.4.1
DESCRIPCIÓN.
96
4.4.2
EVOLUCIÓN.
97
3
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
4.4.3
CARACTERISTICAS.
97
4.4.4
VENTAJAS Y DESVENTAJAS.
97
4.5
PROCESAMIENTO DISTRIBUIDO.
103
4.5.1
DESCRIPCIÓN.
104
4.5.2
EVOLUCIÓN.
105
4.5.3
CARACTERISTICAS.
105
4.5.4
VENTAJAS Y DESVENTAJAS.
106
4.6
FASES PARA EL PROCESAMIENTO DE UNA APLICACIÓN.
107
UNIDAD V: SISTEMA OPERATIVO.
5.1
QUE ES EL SISTEMA OPERATIVO DE UN COMPUTADOR.
112
5.1.2
PRINCIPALES FUNCIONES Y USOS.
117
5.1.3
TRADUCTORES DE LENGUAJES DE PROGRAMACIÓN.
126
5.2
CONTROL DE MANEJO DE INTERRUPCIONES.
129
5.2.1
DENTRO DE UN COMPUTADOR.
130
5.2.2
INTERRUPCIONES DE E/S.
130
5.2.3
INTERRUPCIONES DE PROGRAMA.
132
5.2.4
INTERRUPCIONES EXTERNAS.
134
5.3
METODOS DE ACCESO.
135
5.4
MULTIPROGRAMACIÓN.
136
5.5
TELEPROCESO.
139
UNIDAD VI: TOPICOS.
6.1
CULTURA Y DESARROLLO ORGANIZACIONAL.
142
6.2
MEMORIA CACHE.
145
4
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
6.3
ARQUITECTURAS CISC Y RISC.
149
6.4
SISTEMAS DE MULTIPROCESAMIENTO.
158
6.5
SISTEMAS DE PROCESAMIENTO DISTRIBUIDO.
162
6.6
REDES DE COMPUTADORAS.
168
6.7
PROTOCOLOS ESTANDARES.
173
6.8
SISTEMAS ABIERTOS.
187
ANEXO DE SEGURIDAD INFORMATICA.
190
BIBLIOGRAFÍA.
192
5
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
UNIDAD I: INTRODUCCIÓN.
1.1 ANTECEDENTES Y RAZON DE SER.
La computadora representa, de alguna manera, el genio encerrado en la botella, pues es capaz de cumplir los
deseos de rapidez y eficiencia en el cálculo y la organización de grandes masas de datos. Es ya común oír que
la sociedad moderna depende de las computadoras, y cada vez con mayor frecuencia se escucha que nuestro
futuro está ligado al de estas máquinas. Por ello, resulta interesante averiguar de dónde surgieron las
computadoras, y más aun enterarse de cómo surgió la idea que las sustenta, porque está claro que ningún
invento de alguna importancia surge aislado de una conceptualización previa, que a veces lo antecede por
muchos años.
En el caso de las computadoras, aunque aparecen a finales de la década de 1950, las ideas de las que
provienen son en realidad tan básicas y primordiales para el ser humano que no deja de ser extraño que
muchos estudiantes y usuarios no las conozcan. Además, al ignorarlas se corre el peligro de creer que las
computadoras son meros artefactos para calcular, con lo que se pierde el acceso a un gran conjunto de
conceptos filosóficos.
Aunque parezca extraño, la filosofía es el punto de partida de este libro sobre computación, y en un somero
análisis se explicará el porqué.
Si se piensa en los medios de que los humanos disponemos para conocer el mundo, hay que considerar en
primer lugar la percepción que otorgan los sentidos; y al analizar esto con detenimiento se encuentra que, en
principio, no percibimos el mundo en forma directa, sino a través del complejo mecanismo de los sentidos,
que confiere a nuestra interpretación características propias. Cuando el ser humano adquiere el manejo del
lenguaje, a los pocos años de edad, la situación da un giro radical; entonces, la percepción del mundo es aun
menos directa que antes y se convierte, en buena medida, en un conjunto de descripciones acerca de él en
términos del lenguaje. Estas descripciones son imágenes mentales estructuradas que todo el tiempo nos dicen
qué y cómo es el mundo en un permanente ―dialogo interno‖.
Se puede entonces postular que uno de los mecanismos mediante los cuales el ser humano conoce el mundo
es el de las descripciones que de él constantemente hace, y que estas descripciones están construidas mediante
el lenguaje.
6
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Una característica primordial de este mecanismo es que podemos transmitir las descripciones a alguien más y
esperar que éste las procese de tal forma que sea capaz de comprender que la descripción emitida hace
referencia a una misma realidad percibida por ambos.
El proceso mediante el cual se logra esta comprensión extrae, mediante una representación, el contenido
original de la descripción, y va de regreso al punto de partida inicial. De esta manera es como se puede
establecer un primer nivel de comunicación acerca de mundo, cuando se analice el problema de la
computabilidad, que en principio se dedica a explorar en términos matemáticos los límites del esquema
descripción representación, y que ha obtenido resultados sorprendentes por lo insospechados.
Una vez que está claro que es posible representar una descripción, y cuando se han tomado medidas para
eliminar los errores de comunicación y las posibilidades de ambigüedad, queda establecido un sistema en el
que ya no es indispensable que sea un humano el responsable de realizar la representación; y aquí radica el
origen de las computadoras, que está de entrada delimitando por el problema de la computabilidad. En efecto,
la computadora no es más que el medio mecánico (o electrónico) con el que se representan descripciones
libres de ambigüedad y se obtiene un resultado útil. Estas descripciones, por lo general, se formulan en
términos de problemas por resolver mediante un método que la máquina se encarga de representar o llevar a
la práctica.
Uno de los problemas que siempre ha fascinado al hombre es el relacionado con la actividad de contar y con
el concepto de número. Y ahí que entre las primeras herramientas que inventó está u ingeniero mecánico
capaz de liberarlo de la pesada tarea de calcular a mano. Es más, la misma palabra cálculo proviene del latín
calculus, que nombra las pequeñas piedras que se usaban hace miles de años como auxiliares en las cuentas
(en un especial de ábaco formado con ranuras en el suelo y operado manualmente por medio de ellas), y que
se han encontrado en excavaciones arqueológicas.
El ábaco representa la primera calculadora mecánica, aunque no se le puede llamar computadora porque
carece de un elemento fundamental: el programa, que no se logrará sino hasta mucho tiempo después.
Otro ingenio mecánico, que tampoco es una computadora, fue la máquina de calcular inventada por Blaise
Pascal (1623-1662). Se trata de una serie de engranes en una caja, que
proporcionan resultados de
operaciones de suma y resta en forma directa–mostrando un número a través de una ventanita- y que por este
simple hecho tiene la ventaja de que evita tener que contar, como en el ábaco; además, presenta los resultados
en forma más accesible y directa.
7
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La computadora nace, de hecho, alrededor de 1830, con la invención de la máquina analítica de Charles
Babbage (1791-1871). Este diseño, que nunca se llevó por completo a la práctica, contenía todos los
elementos que configuraban a una computadora moderna, y que la diferencian de una calculadora.
La máquina analítica estaba dividida funcionalmente en dos grandes partes: una que ordenaba y otra que
ejecutaba las órdenes. La que ejecutaba las órdenes era una versión muy ampliada de la máquina de Pascal,
mientras que la otra era la parte clave. La innovación consistía en que el usuario podía, cambiando las
especificaciones del control, lograr que la misma máquina ejecutara operaciones complejas, diferentes de las
que había hecho antes.
Esta verdadera antecesora de las computadoras contaba también con una sección en la que se recibían los
datos con los que se iba a trabajar. La máquina seguía las instrucciones dadas por la unidad de control, las
cuales indicaba qué hacer con los datos de entrada, para obtener luego los resultados deseados.
La aplicación fundamental para la que el gran inventor inglés desarrolló su máquina era elaborar tablas de
funciones matemáticas usuales (logaritmos, tabulaciones trigonométricas, etc.) que requería mucho esfuerzo
manual.
Esta primera computadora ―leía‖ los datos (argumentos) de entrada por medio de las tarjetas perforadas que
había inventado el francés Joseph M. Jacquard, y que habían dado nacimiento a la industria de los telares
mecánicos durante la Revolución Industrial.
Tarjeta perforada.
Conceptualmente, el mecanismo era sencillo: evaluar la primera función f1(x1); determinar el nuevo
argumento de la serie, x2, y pedir ala máquina que calcula otra vez la misma función con el nuevo dato. Está
claro que si la máquina puede calcular f1(x1), no le será difícil calcular f1(x1), no lesera difícil calcular f1(x2), y
de la misma manera podrá generar toda la serie de valores f1(x1), f1(x2),...,F1(xn).
8
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Del mismo modo, si se deseaba cambiar una misma función f2 sobre un argumento x1, f2(x1), había que
cambiar las especificaciones de f1 por las de f2, supuestamente, se lograba alterando la disposición de ciertos
elementos mecánicos en la sección de control de la maquina.
No obstante, la maquina analítica nunca se puso en funcionamiento, precisamente, por la dificultad para
lograr dichos cambios. Es perfectamente valido, sin embargo, referirse a esta maquina como la primera
computadora digital.
Se explicará ahora el significado de la palabra digital. Los procesos naturales comparten la característica de
ser de tipo continuo; es decir, la escala de manifestaciones de un fenómeno cualquiera no tiene singularidades
ni puntos muertos, sino que se extiende de manera continua desde la parte inferior a la superior. La
temperatura del agua, por ejemplo, puede variar entre cero y cien grados antes de que ésta cambie de estado;
lo importante es que en algún momento el agua puede estar en cualquier punto intermedio de la escala, sin
más determinantes que la cantidad de calor que reciba. Así mismo, la velocidad del viento puede fluctuar de
manera continua entre cero y cuarenta Km /h en un día normal, pudiendo, en cualquier momento, ocupar una
posición en esa escala, sin más limitación que las diferencias de presión atmosférica. Esta característica de
poder ocupar cualquier punto intermedio en la escala de manifestaciones, como se mencionó, es común a los
fenómenos naturales.
Esto es, en la naturaleza los fenómenos no se limitan a unas cuantas posiciones fijas de sus respectivas escalas
de manifestación, sino más bien a una variación, continua entre dos límites, el superior y el inferior. Los
fenómenos que se comportan así reciben el nombre de analógicos.
No ocurre lo mismo, sin embargo, con algunos fenómenos creados por el hombre. Piénsese en un automóvil:
si se supone de transmisión estándar, entonces se dará el caso que, en algún momento determinado, la caja de
velocidades ocupe alguna posición predeterminada (1a, 2a,3a,
etc.), no pudiendo más que de manera
transitoria ocupar una posición intermedia. Un automóvil no puede marchar en "primera y tres cuartos"; o lo
hace en la primera velocidad o lo hace en la segunda, de manera discreta (i ,e, discontinua).
Estos fenómenos reciben el nombre de digitales (al menos en el contexto de la ingeniería), tal vez porque dan
la idea de que se pueden cuantificar con los dedos de la mano.
9
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Así, puede hablarse de computadoras analógicas y computadoras digitales: son computadoras digitales
aquellas que manejan la información de manera discreta en unidades que se llaman bits (BInary digiTS,
dígitos binarios), y son analógicas las que trabajan por medio de funciones continuas generalmente
representación de señales eléctricas.
Hoy día, prácticamente todas las computadoras en uso son digitales, ya que el empleo de las analógicas se ve
restringido a aplicaciones muy particulares en la ingeniería o la biología.
A continuación se describe el esquema elemental de la máquina inventada por Charles Babbage, para explicar
algunas de las características más importantes de toda computadora digital moderna.
ENTRADA
(Tarjetas
perforadas)
ALMACEN O
MEMORIA
CALCULOS
SALIDA
CONTROL
Esquema básico de la máquina analítica.
La sección de control se convierte en concepto fundamental, pues es la parte que dirige el procesamiento de
acuerdo con un programa previamente introducido en el "almacén" (como llamo Babbage a la memoria) de la
máquina. Así, una computadora está formada por una unidad de entrada , que recibe tanto la información a
procesar como las instrucciones (programa); la unidad de memoria, que almacena la información; la unidad
de procesamiento (aritmética y 1ogica), que ejecuta los cálculos sobre la información; la unidad de control ,
que dirige a todas las demás unidades, determinando cuándo se debe leer la información, en qué lugares debe
almacenarse, cuándo debe funcionar la unidad aritmética, etc.; y una unidad de salida, que muestra la
información ya procesada, en forma de números o gráficas.
Tiempo después, en 1944, se construyo en la universidad de Harvard, en los Estados Unidos, la computadora
IBM Mark I, diseñada por un equipo encabezado por Howard H. Aiken. No obstante, esta máquina no califica
para ser considerada la primera computadora electrónica, porque no era de propósito general y su
funcionamiento estaba basado en dispositivos electromecánicos, llamados relevadores.
10
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Luego de casi cien años de Babbage, en 1947, se diseño la primera computadora electrónica que tenía gran
parecido funcional con la máquina analítica y esto habla de su genio. Un equipo dirigido por los ingenieros
John Mauchly y John Eckert, de la universidad de Pennsylvania, construye una gran máquina electrónica
llamada ENIAC (Eúctronic Numerical intengrator And Calculator) que, efectivamente, es la primera
computadora digital electrónica de la historia.
Esta máquina era enorme: ocupaba todo un sótano en la universidad, tenía más de 18000 tubos de vacío,
consumía 200 KW de energía eléctrica y requería todo un sistema de aire acondicionado industrial. Pero era
capaz de efectuar alrededor de cinco mil operaciones aritméticas en un segundo, dejando para siempre atrás
las limitaciones humanas de velocidad y precisión, e inaugurando una nueva etapa en las capacidades de
procesamiento de datos.
ENIAC
El proyecto, auspiciado por el Departamento de Defensa de Estados Unidos, cu1minó dos años después,
cuando se integró a ese equipo el ingeniero y matemático húngaro naturalizado norteamericano, John Von
Neumann (1903-1957). Las ideas de Von Neumann resultaron tan fundamentales para su desarrollo posterior,
que es considerado el padre de las computadoras.
11
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
John von Neumann.
La computadora diseñada por este nuevo equipo se llamó EDVAC (Electronic Discrete Variable Automatic
Computer); tenía cerca de cuatro mil bulbos y usaba un tipo de memoria basado en tubos llenos de mercurio
por donde circulaban señales eléctricas sujetas a retardos.
La nueva idea fundamental resulta muy sencilla: permitir que en la memoria coexistan datos con
instrucciones, para que entonces la computadora pueda ser programada de manera "suave", y no por medio de
alambres que eléctricamente interconectaban varias secciones del control, como en la ENIAC.
Esta idea, que incluso obliga a una completa revisión de la arquitectura de las computadoras, recibe desde
entonces el nombre de modelo de Von Neumann. Alrededor de este concepto gira toda la evolución posterior
de la industria y la ciencia de la computación, por lo que se le dedicará un capítulo aparte.
De 1947 a la fecha las cosas han avanzado muy rápido, más que cualquier otro proceso en la historia de la
ciencia y la tecnología; a tal grado que en la actualidad hay computadoras mucho más poderosas que la
ENIAC y que no ocupan sino un circuito de silicio tan pequeño que es casi invisible.
Como contraste inicial, antes de proceder a describir lo que ha sucedido en los cuarenta años desde la
invención de la computadora, he aquí una comparación entre dos máquinas, la ENIAC y uno de los primeros
microprocesadores (ya obsoleto):
12
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
ENIAC
Año
Intel 8080
1947
1973
Componentes
Electrónicos.
18 000 bulbos
un circuito integrado
con mÁs de 100 000
transistores.
Tamaño
2
Decenas de m
Menos de 1 cm2
Requerimientos de
Potencia
200 kilowatts
Pocos miliwatts
Velocidad
5 000 sumas/s
1500 sumas/s
Costo
Varios millones Cincuenta dólares
de dólares
en 1974
1.2 DEFINICIÓN DE COMPUTADORA.
La computadora es un sistema electrónico que lleva a cabo operaciones de aritmética y de lógica a alta
velocidad de acuerdo a las instrucciones internas, que son ejecutadas sin intervención humana. Además, tiene
la capacidad de aceptar y almacenar datos de entrada, procesarlos y producir resultados de salida
automáticamente. Su función principal es procesar datos.
Ordenador o Computadora, dispositivo electrónico capaz de recibir un conjunto de instrucciones y ejecutarlas
realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de
información.
El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador o
computadora. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, para el almacenamiento y
manipulación de datos. Los equipos informáticos han abierto una nueva era en la fabricación gracias a las
técnicas de automatización, y han permitido mejorar los sistemas modernos de comunicación. Son
herramientas esenciales prácticamente en todos los campos de investigación y en tecnología aplicada.
13
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
1.3 GENERACIONES DE COMPUTADORAS.
PRIMERA GENERACIÓN (1945-1958).
Las computadoras de la primera Generación emplearon bulbos para procesar información. Los operadores
ingresaban los datos y programas en código especial por medio de tarjetas perforadas. El almacenamiento
interno se lograba con un tambor que giraba rápidamente, sobre el cual un dispositivo de lectura / escritura
colocaba marcas magnéticas. Esas computadoras de bulbos eran mucho más grandes y generaban más calor
que los modelos contemporáneos.
Eckert y Mauchly contribuyeron al desarrollo de computadoras de la 1era Generación formando una Cía.
privada y construyendo UNIVAC I, que el Comité del censó utilizó para evaluar el de 1950. La IBM tenía el
monopolio de los equipos de procesamiento de datos a base de tarjetas perforadas y estaba teniendo un gran
auge en productos como rebanadores de carne, básculas para comestibles, relojes y otros artículos; sin
embargo no había logrado el contrato para el Censo de 1950.
Usaban tubos al vacío para procesar información.
Usaban tarjetas perforadas para entrar los datos y los programas.
Usaban cilindros magnéticos para almacenar información e instrucciones internas.
14
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Comenzó entonces a construir computadoras electrónicas y su primera entrada fue con la IBM 701 en 1953.
Después de un lento pero excitante comienzo la IBM 701 se convirtió en un producto comercialmente viable.
Sin embargo en 1954 fue introducido el modelo IBM 650, el cual es la razón por la que IBM disfruta hoy de
una gran parte del mercado de las computadoras.
La administración de la IBM asumió un gran riesgo y estimó una venta de 50 computadoras. Este número era
mayor que la cantidad de computadoras instaladas en esa época en E.U. De hecho la IBM instaló 1000
computadoras. El resto es historia. Aunque cara y de uso limitado las computadoras fueron aceptadas
rápidamente por las compañías privadas y de gobierno. A la mitad de los años 50‘ s IBM se consolido como
líder en la fabricación de computadoras.
SEGUNDA GENERACIÓN (1959 – 1964):
Transistor Compatibilidad limitada El invento del transistor hizo posible una nueva generación de
computadoras, más rápidas, más pequeñas y con menores necesidades de ventilación. Sin embargo el costo
seguía siendo una porción significativa del presupuesto de una Compañía.
Las computadoras de la segunda generación también utilizaban redes de núcleos magnéticos en lugar de
tambores giratorios para el almacenamiento primario.
Estos núcleos contenían pequeños anillos de material magnético, enlazados entre sí, en los cuales podrían
almacenarse datos e instrucciones. Los programas de computadoras también mejoraron. El COBOL
desarrollado durante la 1era generación estaba ya disponible comercialmente. Los programas escritos para
una computadora podían transferirse a otra con un mínimo esfuerzo. El escribir un programa ya no requería
entender plenamente el hardware de la computación.
Las computadoras de la 2da Generación eran substancialmente más pequeñas y rápidas que las de bulbos, y
se usaban para nuevas aplicaciones, como en los sistemas para reservación en líneas aéreas, control de tráfico
aéreo y simulaciones para uso general.
15
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las empresas comenzaron a aplicar las computadoras a tareas de almacenamiento de registros, como manejo
de inventarios, nómina y contabilidad. La marina de E.U. utilizó las computadoras de la Segunda Generación
para crear el primer simulador de vuelo (Whirlwind I). HoneyWell se colocó como el primer competidor
durante la segunda generación de computadoras. Burroughs, Univac, NCR, CDC, HoneyWell, los más
grandes competidores de IBM durante los 60s se conocieron como el grupo BUNCH (siglas).
Usaban transistores para procesar información.
Los transistores eran más rápidos, pequeños y más confiables que los tubos al vacío.
Usaban pequeños anillos magnéticos para almacenar información e instrucciones.
Se mejoraron los programas de computadoras que fueron desarrollados durante la primera
generación.
TERCERA GENERACIÓN (1964-1971).
Circuitos integrados Compatibilidad con equipo mayor Multiprogramación Minicomputadora. Las
computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados (pastillas de
silicio) en las cuales se colocan miles de componentes electrónicos, en una integración en miniatura. Las
computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran
energéticamente más eficientes. Antes del advenimiento de los circuitos integrados, las computadoras estaban
diseñadas para aplicaciones matemáticas o de negocios, pero no para las dos cosas. Los circuitos integrados
permitieron a los fabricantes de computadoras incrementar la flexibilidad de los programas, y estandarizar sus
modelos. La IBM 360 una de las primeras computadoras comerciales que usó circuitos integrados, podía
realizar tanto análisis numéricos como administración ó procesamiento de archivos. Los clientes podían
escalar sus sistemas 360 a modelos IBM de mayor tamaño y podían todavía correr sus programas actuales.
16
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las computadoras trabajaban a tal velocidad que proporcionaban la capacidad de correr más de un programa
de manera simultánea (multiprogramación).
Por ejemplo la computadora podía estar calculando la nómina y aceptando pedidos al mismo tiempo.
Minicomputadoras, Con la introducción del modelo 360 IBM acaparó el 70% del mercado, para evitar
competir directamente con IBM la empresa Digital Equipment Corporation DEC redirigió sus esfuerzos hacia
computadoras pequeñas. Mucho menos costosas de comprar y de operar que las computadoras grandes, las
Minicomputadoras se desarrollaron durante la segunda generación pero alcanzaron su mayor auge entre 1960
y 70.
Se desarrollaron circuitos integrados para procesar información.
Se desarrollaron los "chips" para almacenar y procesar la información.
Un "chip" es una pieza de silicio que contiene los componentes electrónicos en miniatura llamados
semiconductores.
Otra vez las computadoras se tornan más pequeñas, más ligeras y más eficientes.
Consumían menos electricidad, por lo tanto, generaban menos calor.
CUARTA GENERACIÓN (1971-1988).
Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el reemplazo de
las memorias con núcleos magnéticos, por las de Chips de silicio y la colocación de muchos más
componentes en un Chic: producto de la microminiaturización de los circuitos electrónicos.
17
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El tamaño reducido del microprocesador de Chips hizo posible la creación de las computadoras personales.
(PC) Hoy en día las tecnologías LSI (Integración a gran escala) y VLSI (integración a muy gran escala)
permiten que cientos de miles de componentes electrónicos se almacén en un clip. Usando VLSI, un
fabricante puede hacer que una computadora pequeña rivalice con una computadora de la primera generación
que ocupara un cuarto completo.
Se desarrolló el microprocesador.
Se colocan más circuitos dentro de un "chip".
Se reemplaza la memoria de anillos magnéticos por la memoria de "chips" de silicio.
Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
QUINTAGENERACIÓN (1983-al presente).
INTELIGENCIA ARTIFICIAL.
Fue ideada en Japón en el año de 1983, como un programa llamado de la Quinta Generación, que involucraba
a la inteligencia artificial y al desarrollo de nuevas arquitecturas de computadoras. La inteligencia artificial es
el campo de estudio que trata de aplicar los procesos del pensamiento humano usados en la solución de
problemas ala computadora.
ROBÓTICA.
La robótica es el arte y ciencia de la creación y empleo de robots.
Un robot es un sistema de computación híbrido independientemente que realiza actividades físicas y de
cálculo. Están siendo diseñados con inteligencia artificial, para que puedan responder de manera más efectiva
a situaciones no estructuradas.
18
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
SISTEMAS EXPERTOS.
Un sistema experto es una aplicación de inteligencia artificial que usa una base de conocimiento de la
experiencia humana para ayudar a la resolución de problemas.
REDES DE COMUNICACIONES.
Los canales de comunicaciones que interconectan terminales y computadoras se conocen como redes de
comunicaciones; todo el "hardware" que soporta las interconexiones y todo el "software" que administra la
transmisión.
1.4 UTILIZACIÓN DE LAS COMPUTADORAS EN DISTINTOS SECTORES.
Cada 10 horas se venden más computadoras que las que existían en todo el mundo hace 25 años (casi 50,000).
En aquel entonces, las computadoras se fabricaban sólo en un tamaño: el enorme. Hoy, las computadoras se
producen en gran variedad de tamaños. En esta sección, trataremos las capacidades y usos de computadoras
delas cuatro categorías básicas: computadoras personales, estaciones de trabajo, mainframes y
supercomputadoras.
MICROCOMPUTADORAS: EL ENTORNO PERSONAL.
La microcomputadora, como otras computadoras, es muy flexible y se ha utilizado para todo, desde la
comunicación con compañeros de trabajo hasta el control de aparatos eléctricos en el hogar.
Dato que la microcomputadora o PC probablemente será el centro de su experiencia computacional, este tipo
de sistema y sus aplicaciones se tratan con mayores detalles en este capítulo y los subsecuentes. A lo largo del
libro, analizaremos las aplicaciones para las PCs personales y las relaciones con recursos compartidos en una
red de computadoras. Recuerde que todas las computadoras realizan básicamente las mismas funciones, luego
entonces, cualquier concepto que aprenda acerca de una PC puede aplicarse a los otros tipos de computadoras.
Tome nota de que los términos computadora personal, PC, microcomputadora y micro se usan indistintamente
a lo largo del libro, tal y como sucede en la vida real.
La familia de las PCs: Las computadoras personales se producen en cuatro tamaños físicos diferentes: de
bolsillo, laptop, de escritorio y de torre.
19
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las computadoras de bolsillo son ligeras y compactas, al grado de que literalmente pueden llevarse en el
bolsillo del saco o en una bolsa de mujer; en esta categoría caben las llamadas palm top y las hand held. Las
laptop son un poco mayores y generalmente tienen más capacidad de cómputo de las de bolsillo; algunas de
las más recientes de esta clasificación son conocidas como note books, ya que sus dimensiones físicas son
parecidas a las de una libreta profesional. A todas las anteriores puede calificárseles de portátiles, pues sus
tamaños y pesos (que van de unos cuantos gramos hasta alrededor de 4.5 Kg.) permiten llevarlas de un lado a
otro. Además, todas ellas pueden funcionar sin estar conectadas a una fuente externa de energía eléctrica. Las
computadoras de escritorio o de torre no están diseñadas para su traslado frecuente y, por ello, no se les
considera portátiles. Es habitual que el monitor de las PCs de escritorio se coloque sobre el gabinete; en el
caso de las PCs de torre, el gabinete está diseñado para colocarse en el piso, usualmente bajo el escritorio o
junto a esté, y se parece al de una computadora de escritorio colocado en forma vertical.
El poder una PC o siempre se relaciona directamente con su tamaño físico; algunas PCs portátiles son más
poderosas que ciertas PCs de escritorio. Sin embargo, el usuario sacrifica cierto grado de comodidad al usar
una computadora portátil. Por ejemplo, los dispositivos de entrada como el teclado y el ratón cuentan con
menos espacio y ello puede dificultar su uso. Esto es particularmente cierto en las computadoras de bolsillo,
en las cuales los teclados miniaturizados hacen que la introducción de datos y la interacción con la
computadora sean lentas y difíciles.
La pantalla de algunas computadoras portátiles es monocromática (banco y negro) y puede dificultarse la
lectura bajo ciertas circunstancias de iluminación. Las computadoras portátiles ocupan menos espacio y, por
ello, tienen menor capacidad de almacenamiento permanente de datos y programas. Sin embargo, la mayor
preocupación de los usuarios de este tipo de computadoras, especialmente los de notebook, es la corta vida de
las baterías que pueden ir desde un par de horas en los viejos modelos hasta 20 horas en la más vanguardistas
y modernas baterías recargables de litio (es probable que el problema de la duración de una batería se resuelva
en la siguiente generación de PCs portátiles; se espera que en el futuro cercano las baterías recargables
permitan trabajar una semana completa, lo cual debe bastar incluso al empleado más exigente que trabaje
fuere de la oficina).
En términos portátil puede incitar al abuso. Como consumidores, suponemos que el equipaje, los automóviles
o cualquier objeto que se mueva con frecuencia son indestructibles.
Los fabricantes reconocen que las computadoras portátiles y sus estuches están expuestos a circunstancias
potencialmente dañinas (derrames de café, almacenamiento en el portaequipajes de aviones, caídas), y de
20
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
hecho, una compañía diseño una máquina que resiste la lluvia, temperaturas extremas e incluso hongos. Se
espera que el mercado para esta PC sea el ejército, policía, trabajadores de mantenimiento y otros obreros
móviles. No obstante, también podría resultar útil entre los universitarios.
Una innovación reciente en la PC 2 en, que puede utilizar como PC portátil y PC de escritorio. Esta PC
consiste en dos partes: una PC tipo notebook completamente funcional y una estación de acoplamiento. Esta
última se puede configurar con un disco de alta capacidad, varias opciones de discos intercambiables, una
unidad de cinta magnética para respaldos, un monitor de tamaño normal, capacidad de memoria, y otras
características que no pueden ser parte de un PC tipo notebook. La configuración de un sistema de
computación consiste en sus componentes internos (por ejemplo, tamaño de la RAM y algunas capacidades
especiales) y sus periféricos (impresora, varios dispositivos de almacenamiento en disco, monitores, etc.). las
PC 2 en 1 tienen una configuración que permite a los usuarios disfrutar lo mejor de ambos mundos: la
portatibilidad y las funciones ampliadas de los equipos para escritorio. La computadora tipo notebook, que
contiene al procesador, simplemente se inserta en la estación de acoplamiento o se desconecta de ésta,
conforme a las necesidades del usuario.
COMPUTADORAS DE PLUMA. Es reciente el número de empleados móviles que utilizan este tipo de
computadoras. Dichas máquinas utilizan plumas electrónicas en lugar de teclados. Los usuarios seleccionan
las opciones, capturan datos y dibujan con la pluma. La empresa de mensajes UPS (United Parcel Service)
utiliza este tipo de máquinas; los mensajeros piden al destinatario que firme la recepción los paquetes con una
pluma electrónica, en una pantalla sensible al tacto.
Las computadoras de pluma están destinadas a entrar en el mundo de los profesionales móviles que no pueden
o que no quieren utilizar PCs portátiles provistas de teclado. Muchos profesionales no son hábiles con los
teclados, además de que el ruido que se produce al escribir con el teclado de una computadora tipo notebook
es simplemente impráctico. Los agentes y ajustadores se seguros que requieren trabajar en el sitio de
accidentes o desastres han observado que trabajar con PCs de pluma se adecua mucho más a su entorno
laboral
ASISTENTES DIGITALES PERSONALES. Conocidas como PDAs, son computadoras como las palmtop
y de pluma, que pueden tener muchas formas. Muchas de estas PDAs, como la Newton, de Apple Computer
Company, funcionan con una pluma óptica. Pueden incluir un teléfono celular para enviar o recibir faxes,
mensajes de correo electrónico y correo de voz. Las PDAs, también conocidas como comunicadores
personales, pueden llevarse en el bolsillo, el bolso de mano, el portafolio o mediante correas, en diversas
partes del cuerpo (la mano, el brazo, la pierna o la cintura).
21
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En general, las PDAs admiten diversos sistemas de información personal, como agenda, directorio, lista de
pagos, diario, y así sucesivamente. Claro que también aceptan varias aplicaciones usadas en las PCs. Por
ejemplo un distribuidor de bebidas puede equipar a sus empleados con PDAs, con lo que podrían mejorar la
administración de sus territorios. Los técnicos recurren a las PDAs cuando necesitan mayor información sobre
una reparación en particular. Las PDAs también pueden almacenar el equivalente a miles de páginas de
manuales técnicos. Se pronostica que algún tipo de PDA podría reemplazar a los actuales libros de texto.
CONFIGURACIÓN DE UNA PC: Colocar todo junto Normalmente, se llama a profesionales de la
computación para que seleccionen, configuren e instalen el hardware relacionado con los mainframes. Sin
embargo, en el caso de las PCs, el usuario es quien selecciona, configura e instala su propio sistema; por ello,
es importante que sepa qué contiene un sistema de computación personal y cómo poner cada cosa en su lugar.
La configuración de una microcomputadora y los componentes que se instalan en la PC o se conecta con ella
varían mucho.
Actualmente, la PC típica está configurada para ejecutar aplicaciones multimedia, en las cuales se combinan
texto, audio, gráficos, video o animaciones. Las enciclopedias computarizadas son un buen ejemplo de tales
aplicaciones; con ellas, pueden regresar al 20 de julio de 1969 y ver cómo el módulo Eagle del Apolo 11
alunizaba en el Mar de la Tranquilidad. Silo desea, podrá escuchar al comandante Neil Armstrog cuando, al
pisar el suelo lunar, pronunció su famosa frase: ―Este es u pequeño paso para un hombre, pero es un enorme
salto para la humanidad.‖ Por su puesto, la enciclopedia contiene texto de apoyo, en el que se explica que
Amstrog intentó decir ―un hombre‖. Debido a que una creciente cantidad de aplicaciones se diseñan para
utilizar sonido y video, muchas PCs modernas se configuran para las aplicaciones multimedia. Una
microcomputadora multimedia típica incluye los siguientes componentes:
1.
Microcomputadora (Unidad Central de Procesamiento)
2.
Teclado.
3.
Dispositivo de señalamiento (suele ser el ratón )
4.
Monitor para la presentación transitoria de la salida
5.
Impresora para la salida en copia impresa
6.
Disco duro de alta capacidad para almacenamiento permanente de datos y programas
7.
Unidad de discos flexibles de baja capacidad, donde puede insertarse un disquete
8.
Unidad de CD-ROM, donde pueden insertarse los CD-ROM, similares a los CDs de audio
9.
micrófono (entrada de audio)
10. Bocinas (salida de audio)
22
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En las PCs de escritorio y de torre, estos componentes generalmente se adquieren por separado y luego se
conectan. Las PCs tipo notebook suelen incluir todo, excepto la impresora, en una sola unidad. Casi todas las
microcomputadoras brindan al usuario la flexibilidad de configurarlas con una gran variedad de periféricos
(de entrada, salida y almacenamiento).
Un sistema de sonido estereofónico nos permitirá hacer una buena analogía para ilustrar la flexibilidad en la
configuración de las PCs. En tales sistemas, el amplificador es el componente central, donde se conectan los
ecualizadores, grabadoras / reproductores de casetes, sintonizadores de radio, reproductoras de radio,
reproductoras de CDs, bocinas, etc. Una computadora se configura al conectar dispositivos con el procesador.
Aquí se muestran los dispositivos más comunes con que se configuran las PCs . Por ejemplo, si gusta de la
meteorología, puede conectar con su PC dispositivos que le muestren continuamente la dirección y velocidad
del viento, temperatura, humedad, precipitación pluvial y presión atmosférica. Tome en cuenta que las PCs
pueden conectarse con aparatos de fax (facsímil), cámaras de video, teléfonos y otras computadoras.
ESTACIONES DE TRABAJO: los bólidos de la computadora.
¿Qué se parece a una PC y no lo es? Una estación de trabajo (y es muy rápida). La velocidad o capacidad de
cómputo es una de las características que distinguen a las estaciones de trabajo de las PCs. De hecho, existen
quienes piensan que las estaciones de trabajo son ―PCs con potencia incrementada‖. La PC, es adecuada para
el procesamiento de palabras, hojas de cálculo y juegos; pero se queda corta para los ―usuarios
verdaderamente avanzados‖. Como los ingenieros que utilizan el CAD (Diseño Asistido por Computadora) o
utilizan la computadora en procesos de diseño, científicos, y otros ―trituradores de Números‖. Los usuarios
avanzados necesitan la velocidad de un, mainframe a una fracción de su costo. La estación de trabajo que
surgió a principios de los ochenta llenó ese hueco. Hoy, las estaciones de trabajo de alto rendimiento tienen
capacidad de procesamiento similar a la de mainframes que sirven a unas 2,000 terminales.
Los dispositivos de entrada salida también diferencian a las estaciones de las PCs. Una estación de trabajo
típica tiene monitor a color de pantalla grande que puede mostrar gráficos de alta resolución (la resolución es
el grado de definición de la imagen en la pantalla del monitor). En cuanto a los dispositivos de señalamiento
y dibujo, el usuario de una estación de trabajo puede usar varios dispositivos especializados que combinan la
precisión de la mira de un rifle con la comodidad de operación de un ratón. Las expansiones de teclado
amplían la cantidad de teclas de funciones disponibles para el usuario.
Las capacidades actuales de las PCs de alto rendimiento son muy similares a las de estaciones de trabajo de
bajo rendimiento. En unos cuantos años, las PCs tendrán las capacidades de una estación de trabajo. Ambos
tipos de sistemas se fundirán en uno sólo conforme se reduzcan las diferencias entre ellos. El tiempo dirá si al
resultado le llamaremos PC, estación de trabajo o algo más.
23
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
MAINFRAME: los caballos de tiro corporativo.
Las dos computadoras multiusuario más grandes, con sus capacidades expandidas de procesamiento,
proporcionan recursos de cómputo que pueden compartir muchas personas. Los mainframes generalmente
son parte de sistemas de cómputo corporativos, es decir, sistemas que dan servicio a todas las entidades de
una compañía; por ejemplo, la información de recursos humanos, contabilidad e inventarios que se procesa en
redes basadas en un mainframe.
Los usuarios se comunican con un mainframe central, conocida como host, mediante VDTs (terminales de
video) o PCs. Al igual que la PC, la VDT (o simplemente terminal) cuenta con teclado para la entrada de
datos y monitor para la salida. De acuerdo con el tamaño de la organización, desde una decena hasta 10,000
personas pueden compartir los recursos del sistema al interactuar con él mediante sus terminales o PCs. A
fines de los sesenta todas las computadoras eran mainframe y eran muy costosas, demasiado caras, excepto
para las grandes compañías que podían compararlas. Estas empresas gastaban más de 1.5 millones de dólares
en adquirir un mainframe con una capacidad de cómputo mucho menor que la de las PCs modernas (las
cuales cuestan 1,000 dólares). Al finalizar la década, los fabricantes introdujeron computadoras más pequeñas
y accesibles para empresas de menor tamaño; este tipo de máquina se conoció como minicomputadora o
―mini‖. El termino se utilizo hasta hace poco, cuando la distinción entre las minicomputadoras y las
mainframe empezó a desvanecer. Hoy, se usa muy poco; se denomina computadoras medianas a las
mainframe más pequeñas.
Las computadoras mainframe están diseñadas específicamente para el entorno multiusuario, a diferencia de
las PCs y estaciones de trabajo, que se usan con frecuencia como computadoras autónomas. Los mainframes
están orientados a aplicaciones limitadas por la entrada / salida, es decir, la cantidad de trabajo que puede
realizar el sistema se restringe principalmente por las velocidades de funcionamiento de los dispositivos de
almacenamiento E / S. Los trabajos de procesamiento de datos administrativos, como generar estados de
cuenta mensuales de las cuentas de cheques bancarias, requieren cálculos relativamente mínimos y E / S de
datos considerable. En aplicaciones limitadas E / S, la computadora a menudo tiene que esperar a que se
capturen datos o a que algún dispositivo de salida complete su trabajo.
Es poco probable que se encuentre con dos mainframes configuradas exactamente igual. Por ejemplo, el
gobierno de un municipio muy grande genera grandes volúmenes de información para salida externa ( es
decir, dirigida a personas que no son parte del propio gobierno, como los recibos para el pago de impuestos y
servicios públicos) y requiere varias impresoras de alta velocidad. Encontraste, una empresa de desarrollo de
software podría capturar y procesar todos los datos desde terminales, con necesidades mínimas de impresión.
24
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
SUPERCOMPUTADORAS: LOS GIGANTES DEL PROCESAMIENTO.
A principios de los 70, el procesamiento de datos administrativos predominaba entre las aplicaciones de
computación. Los banqueros, directores de universidades y ejecutivos de publicidad están sorprendidos por la
enorme velocidad que los mainframes de millones de dólares procesaban los datos; ingenieros y científicos
también estaban agradecidos por este gran adelanto tecnológico, aunque sus necesidades no se veían
completamente satisfechas. Cuando los ejecutivos de negocios hablaban de capacidad limitada, los ingenieros
y los científicos sabían que debían esperar mejoras futuras para utilizar las computadoras en la solución de
problemas verdaderamente complejos.
Los ingenieros automotrices aun no podían crear prototipos tridimensionales de los automóviles en
computadoras, las físicos tampoco podían explorar las actividades de un átomo durante la exploración
nuclear; las comunidades de ingenieros y científicos tenían una desesperante necesidad de maquinas mas
poderosas. Respuesta a sus necesidades, los diseñadores empezaron a trabajas en lo que ahora se conoce
como supercomputadoras.
Las supercomputadoras se enfocan principalmente en aplicaciones limitadas por el procesador. Tales
aplicaciones, muy útiles para los científicos y los ingenieros, requieren muy poca E / S. En ves de ello, el
volumen de trabajo que puede llevar a cabo el sistema de computo esta restringido principalmente por la
velocidad de la computadora. Encontraste, los mainframes se encuentran en aplicaciones limitadas por la E/S.
Una tarea científica típica precisa la manipulación de modelos matemáticos complejos, cuya resolución con
frecuencia requiere bolones de operaciones. A principios de los setentas, algunas tareas científicas complejas
limitadas por el procesador saturaban durante días enteros grandes computadoras mainframe en universidades
importantes, lo cual, por supuesto, era inaceptable.
Se conoce a las supercomputadoras tanto por sus aplicaciones como por su velocidad y capacidad de
cómputo, que puede ser hasta 10 veces la correspondiente a un mainframe grande. Las siguientes son
aplicaciones representativas de supercomputadoras.
25
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las supercomputadoras hacen posible la simulación del flujo de aire alrededor de un avión a diferentes
velocidades y altitudes.
Los fabricantes de automóviles usan las supercomputadoras para simular accidentes automovilísticos en las
pantallas de video. (Es más barato, más revelador y más seguro que las colisiones con automóviles reales).
Los meteorólogos emplean las supercomputadoras para estudias la formación de tornados.
Los estudios cinematográficos de Hollywood utilizan aplicaciones avanzadas de gráficos para crear efectos
especiales en películas como Parque Jurásico y comerciales de televisión.
Las supercomputadoras ordenan y analizan grandes volúmenes de datos sísmicos obtenidos durante la
exploración en busca de petróleo. Los físicos utilizan las supercomputadoras para estudiar los resultados de
exploraciones de armas nucleares. Seria impráctico, sino imposible, usar mainframes para estas aplicaciones.
Al
buscar
una
computadora
personal, esta ejecutiva pensó en la portabilidad y flexibilidad como
criterios primordiales. Eligio una estación de acoplamiento para la
con su notebook. Tinkpatd, de IBM. Cortesía
oficina, que utiliza conjuntamente
de internacional bussines machines corparatión.
26
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Esta agenda es de las muchas aplicaciones de la PC controlada con pluma óptica de este ejecutivo.
Esta evaluadora de vienes raíces utiliza una computadora tipo notebook, powerbook, de apple, junto con
una cámara digital (en primer plano) para preparar sus avaluos. Inserta directamente las fotografías digitales
del inmueble en un documento electrónico que, luego imprime y entrega a su cliente.
Estos médicos emplean una palmtop de alto rendimiento para ejecutar las mismas aplicaciones que en
computadoras de escritorio.
27
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Estos estudiantes utilizan un asistente digital personal modelo newton, de apple para tomar notas para
una presentación.
Cada año millones de personas adquieren computadoras de escritorio para su hogar, como esta compaq
presario.
28
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los trabajadores de mckesson corporation Usan PCs de muñecas. Estas se colocan en el brazo, pesan
unos 400g, tienen pantalla y teclado pequeños y pueden leer códigos de barras, todo ello mientras se
tienen las manos libres para cargar y mover cajas.
Esta
PC de torre Prosignia de Compaq, puede colocarse abajo, al lado o encima del escritorio. La
impresora conectada a ella se comparte a otras PCs de esta oficina.
1.5 COMPUTADORAS DIGITALES, ANALÓGICAS E HÍBRIDAS.
En la actualidad se utilizan dos tipos principales de ordenadores: analógicos y digitales. Sin embargo, el
término ordenador o computadora suele utilizarse para referirse exclusivamente al tipo digital. Los
ordenadores analógicos aprovechan la similitud matemática entre las interrelaciones físicas de determinados
problemas y emplean circuitos electrónicos o hidráulicos para simular el problema físico. Los ordenadores
digitales resuelven los problemas realizando cálculos y tratando cada número dígito por dígito.
Las instalaciones que contienen elementos de ordenadores digitales y analógicos se denominan ordenadores
híbridos. Por lo general se utilizan para problemas en los que hay que calcular grandes cantidades de
ecuaciones complejas, conocidas como integrales de tiempo. En un ordenador digital también pueden
introducirse datos en forma analógica mediante un convertidor analógico digital, y viceversa (convertidor
digital a analógico).
29
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Ordenadores analógicos
Son las que manejan señales eléctricas y se aplican a problemas de simulación, su programación esta
plasmada en
los
circuitos que lo integran ejemplo: un termómetro (la temperatura), el tiempo.
El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para manipular la entrada de datos
en términos de, por ejemplo, niveles de tensión o presiones hidráulicas, en lugar de hacerlo como datos
numéricos. El dispositivo de cálculo analógico más sencillo es la regla de cálculo, que utiliza longitudes de
escalas especialmente calibradas para facilitar la multiplicación, la división y otras funciones. En el típico
ordenador analógico electrónico, las entradas se convierten en tensiones que pueden sumarse o multiplicarse
empleando elementos de circuito de diseño especial. Las respuestas se generan continuamente para su
visualización o para su conversión en otra forma deseada.
Ordenadores digitales
Admite su programación por medio de lenguajes que manejan un alfabeto que seria el código binario
mediante el cual a través de cadenas de ceros y unos se puede representar cualquier carácter e
información ejemplo: ( teclado ) almacenar datos por tiempo indefinido procesar los datos, ejecutar
instrucciones
actualizarlos modificarlos, reintentar operaciones lógicas, editar borrar modificar la
información imprimir es lo que podemos hacer con estos datos.
Todo lo que hace un ordenador digital se basa en una operación: la capacidad de determinar si un
conmutador, o ‗puerta‘, está abierto o cerrado. Es decir, el ordenador puede reconocer sólo dos estados en
cualquiera de sus circuitos microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 0 o
1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan sencillo lo que lo convierte en
una maravilla de la tecnología moderna. Las velocidades del ordenador se miden en megahercios, o millones
de ciclos por segundo. Un ordenador con una velocidad de reloj de 100 MHz, velocidad bastante
representativa de un microordenador o microcomputadora, es capaz de ejecutar 100 millones de operaciones
discretas por segundo. Las microcomputadoras de las compañías pueden ejecutar entre 150 y 200 millones de
operaciones por segundo, mientras que las supercomputadoras utilizadas en aplicaciones de investigación y
de defensa alcanzan velocidades de miles de millones de ciclos por segundo.
La velocidad y la potencia de cálculo de los ordenadores digitales se incrementan aún más por la cantidad de
datos manipulados durante cada ciclo. Si un ordenador verifica sólo un conmutador cada vez, dicho
conmutador puede representar solamente dos comandos o números.
30
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Así, ON simbolizaría una operación o un número, mientras que OFF simbolizará otra u otro.
Sin embargo, al verificar grupos de conmutadores enlazados como una sola unidad, el ordenador aumenta el
número de operaciones que puede reconocer en cada ciclo. Por ejemplo, un ordenador que verifica dos
conmutadores cada vez, puede representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una de las
cuatro operaciones, una para cada uno de los siguientes modelos de conmutador: OFF-OFF (0), OFF-ON (1),
ON-OFF (2) u ON-ON (3).
En general, los ordenadores de la década de 1970 eran capaces de verificar 8 conmutadores simultáneamente;
es decir, podían verificar ocho dígitos binarios, de ahí el término bit de datos en cada ciclo. Un grupo de ocho
bits se denomina byte y cada uno contiene 256 configuraciones posibles de ON y OFF (o 1 y 0). Cada
configuración equivale a una instrucción, a una parte de una instrucción o a un determinado tipo de dato;
estos últimos pueden ser un número, un carácter o un símbolo gráfico.
Por ejemplo, la configuración 11010010 puede representar datos binarios, en este caso el número decimal 210
(véase Sistemas numéricos), o bien estar indicando al ordenador que compare los datos almacenados en estos
conmutadores con los datos almacenados en determinada ubicación del chip de memoria.
El desarrollo de procesadores capaces de manejar simultáneamente 16, 32 y 64 bits de datos ha permitido
incrementar la velocidad de los ordenadores. La colección completa de configuraciones reconocibles, es
decir, la lista total de operaciones que una computadora es capaz de procesar, se denomina conjunto, o
repertorio, de instrucciones. Ambos factores, el número de bits simultáneos y el tamaño de los conjuntos de
instrucciones, continúa incrementándose a medida que avanza el desarrollo de los ordenadores digitales
modernos.
3.- Híbrida. La combinación de las dos anteriores la
entrada de datos suele estar controlada por un
convertidor analógico digital la información es procesada, por un computador digital y la salida es
analizada a través de un convertidor digital analógico ejemplo: cosas científicas.
31
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
CRITERIOS DE
COMPARACIÓN
Número de los mecanismos de
cálculo
¿Se necesita almacenamiento?
Posibilidades del mecanismo de
cálculo
Exactitud en la representación de
la información
Exactitud del resultado
Velocidad para las diferentes
operaciones
Tiempo total de cálculo
Flexibilidad para un nuevo
planeamiento del problema
Programación
Campo de aplicación
Posibilidades de evolución
CALCULADORA
ANALÓGICA
Muchos (sencillos)
CALCULADORA DIGITAL
uno (complicado)
No
Adición y sustracción:
Multiplicación
Integración
1 a 1/10 por 100
Si
Adición (sustracción,
multiplicación y división se refiere
a la adición)
Todo lo elevado que se desea (por
elección del correspondiente
elevado número de cifras)
resultado tanto más exacto
Es prácticamente independiente del
cuanto menos complicada sea problema a ser resuelto
la operación
Relativamente baja
Muy alta
Pequeño por efectuarse
mucho trabajo en paralelo
Se requiere de una nueva
conmutación de los
diferentes mecanismos de
cálculo
Sencilla
campos específicos:
por ej.: solución de
ecuaciones diferenciales
(problemas de oscilaciones,
simulaciones de vuelo)
Prácticamente ninguna
Frecuentemente más elevado por
tratarse de un funcionamiento en
paralelo.
Confeccionar nuevos programas
Complicada
Aplicación universal:
técnico – científico
económico – comercial
Muy extensa: mayor velocidad
Las híbridas proporcionan grandes posibilidades de evolución frente a la analogía.
32
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
1.6 CONCEPTOS DE HARWARE SOFTWARE Y FIRMWARE.
HARDWARE
Hardware, equipo utilizado para el funcionamiento de una computadora. El hardware se refiere a los
componentes materiales de un sistema informático. La función de estos componentes suele dividirse en tres
categorías principales: entrada, salida y almacenamiento. Los componentes de esas categorías están
conectados a través de un conjunto de cables o circuitos llamado bus con la unidad central de proceso (CPU)
del ordenador, el microprocesador que controla la computadora y le proporciona capacidad de cálculo.
El soporte lógico o software, en cambio, es el conjunto de instrucciones que un ordenador emplea para
manipular datos: por ejemplo, un procesador de textos o un videojuego. Estos programas suelen almacenarse
y transferirse a la CPU a través del hardware de la computadora. El software también rige la forma en que se
utiliza el hardware, como por ejemplo la forma de recuperar información de un dispositivo de
almacenamiento. La interacción entre el hardware de entrada y de salida es controlada por un software
llamado BIOS (siglas en inglés de 'sistema básico de entrada / salida').
Aunque, técnicamente, los microprocesadores todavía se consideran hardware, partes de su función también
están asociadas con el software. Como los microprocesadores tienen tanto aspectos de hardware como de
software, a veces se les aplica el término intermedio de microprogramación, o firmware.
33
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
HARDWARE DE ENTRADA
El hardware de entrada consta de dispositivos externos —esto es, componentes situados fuera de la CPU de la
computadora— que proporcionan información e instrucciones. Un lápiz óptico es un puntero con un extremo
fotosensible que se emplea para dibujar directamente sobre la pantalla, o para seleccionar información en la
pantalla pulsando un botón en el lápiz óptico o presionando el lápiz contra la superficie de la pantalla. El lápiz
contiene sensores ópticos que identifican la parte de la pantalla por la que se está pasando. Un mouse, o ratón,
es un dispositivo apuntador diseñado para ser agarrado con una mano. Cuenta en su parte inferior con un
dispositivo detector (generalmente una bola) que permite al usuario controlar el movimiento de un cursor en
la pantalla deslizando el mouse por una superficie plana. Para seleccionar objetos o elegir instrucciones en la
pantalla, el usuario pulsa un botón del mouse. Un joystick es un dispositivo formado por una palanca que se
mueve en varias direcciones y dirige un cursor u otro objeto gráfico por la pantalla de la computadora. Un
teclado es un dispositivo parecido a una máquina de escribir, que permite al usuario introducir textos e
instrucciones. Algunos teclados tienen teclas de función especiales o dispositivos apuntadores integrados,
como trackballs (bolas para mover el cursor) o zonas sensibles al tacto que permiten que los movimientos de
los dedos del usuario dirijan un cursor en la pantalla.
Un digitalizador óptico emplea dispositivos fotosensibles para convertir imágenes (por ejemplo, una
fotografía o un texto) en señales electrónicas que puedan ser manipuladas por la máquina. Por ejemplo, es
posible digitalizar una fotografía, introducirla en una computadora e integrarla en un documento de texto
creado en dicha computadora.
Los dos digitalizadores más comunes son el digitalizador de campo plano (similar a una fotocopiadora de
oficina) y el digitalizador manual, que se pasa manualmente sobre la imagen que se quiere procesar. Un
micrófono es un dispositivo para convertir sonidos en señales que puedan ser almacenadas, manipuladas y
34
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
reproducidas por el ordenador. Un módulo de reconocimiento de voz es un dispositivo que convierte palabras
habladas en información que el ordenador puede reconocer y procesar.
Un módem es un dispositivo que conecta una computadora con una línea telefónica y permite intercambiar
información con otro ordenador a través de dicha línea. Todos los ordenadores que envían o reciben
información deben estar conectados a un módem. El módem del aparato emisor convierte la información
enviada en una señal analógica que se transmite por las líneas telefónicas hasta el módem receptor, que a su
vez convierte esta señal en información electrónica para el ordenador receptor.
HARDWARE DE SALIDA
El hardware de salida consta de dispositivos externos que transfieren información de la CPU de la
computadora al usuario informático. La pantalla convierte la información generada por el ordenador en
información visual. Las pantallas suelen adoptar una de las siguientes formas: un monitor de rayos catódicos
o una pantalla de cristal líquido (LCD, siglas en inglés). En el monitor de rayos catódicos, semejante a un
televisor, la información procedente de la CPU se representa empleando un haz de electrones que barre una
superficie fosforescente que emite luz y genera imágenes. Las pantallas LCD son más planas y más pequeñas
que los monitores de rayos catódicos, y se emplean frecuentemente en ordenadores portátiles.
Las impresoras reciben textos e imágenes de la computadora y los imprimen en papel. Las impresoras
matriciales emplean minúsculos alambres que golpean una cinta entintada formando caracteres. Las
impresoras láser emplean haces de luz para trazar imágenes en un tambor que posteriormente recoge
pequeñas partículas de un pigmento negro denominado tóner. El tóner se aplica sobre la hoja de papel para
producir una imagen. Las impresoras de chorro de tinta lanzan gotitas de tinta sobre el papel para formar
caracteres e imágenes.
35
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
HARDWARE DE ALMACENAMIENTO
El hardware de almacenamiento sirve para almacenar permanentemente información y programas que el
ordenador deba recuperar en algún momento. Los dos tipos principales de dispositivos de almacenamiento
son las unidades de disco y la memoria.
Existen varios tipos de discos: duros, flexibles, magneto-ópticos y compactos. Las unidades de disco duro
almacenan información en partículas magnéticas integradas en un disco. Las unidades de disco duro, que
suelen ser una parte permanente de la computadora, pueden almacenar grandes cantidades de información y
recuperarla muy rápidamente. Las unidades de disco flexible también almacenan información en partículas
magnéticas integradas en discos intercambiables, que de hecho pueden ser flexibles o rígidos. Los discos
flexibles almacenan menos información que un disco duro, y la recuperación de la misma es muchísimo más
lenta. Las unidades de disco magneto-óptico almacenan la información en discos intercambiables sensibles a
la luz láser y a los campos magnéticos. Pueden almacenar tanta información como un disco duro, pero la
velocidad de recuperación de la misma es algo menor. Las unidades de disco compacto, o CD-ROM,
almacenan información en las cavidades grabadas en la superficie de un disco de material reflectante. La
información almacenada en un CD-ROM no puede borrarse ni sustituirse por otra información. Los CD-ROM
pueden almacenar aproximadamente la misma información que un disco duro, pero la velocidad de
recuperación de información es menor.
La memoria está formada por chips que almacenan información que la CPU necesita recuperar rápidamente.
La memoria de acceso aleatorio (RAM, siglas en inglés) se emplea para almacenar la información e
instrucciones que hacen funcionar los programas de la computadora. Generalmente, los programas se
transfieren desde una unidad de disco a la RAM.
36
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La RAM también se conoce como memoria volátil, porque la información contenida en los chips de memoria
se pierde cuando se desconecta el ordenador. La memoria de lectura exclusiva (ROM, siglas en inglés)
contiene información y software cruciales que deben estar permanentemente disponibles para el
funcionamiento de la computadora, por ejemplo el sistema operativo, que dirige las acciones de la máquina
desde el arranque hasta la desconexión. La ROM se denomina memoria no volátil porque los chips de
memoria ROM no pierden su información cuando se desconecta el ordenador.
Algunos dispositivos se utilizan para varios fines diferentes. Por ejemplo, los discos flexibles también pueden
emplearse como dispositivos de entrada si contienen información que el usuario informático desea utilizar y
procesar. También pueden utilizarse como dispositivos de salida si el usuario quiere almacenar en ellos los
resultados de su computadora.
CONEXIONES DEL HARDWARE
Para funcionar, el hardware necesita unas conexiones materiales que permitan a los componentes
comunicarse entre sí e interaccionar. Un bus constituye un sistema común interconectado, compuesto por un
grupo de cables o circuitos que coordina y transporta información entre las partes internas de la computadora.
El bus de una computadora consta de dos canales: uno que la CPU emplea para localizar datos, llamado bus
de direcciones, y otro que se utiliza para enviar datos a una dirección determinada, llamado bus de datos.
Un bus se caracteriza por dos propiedades: la cantidad de información que puede manipular simultáneamente
(la llamada 'anchura de bus') y la rapidez con que puede transferir dichos datos.
Una conexión en serie es un cable o grupo de cables utilizado para transferir información entre la CPU y un
dispositivo externo como un mouse, un teclado, un módem, un digitalizador y algunos tipos de impresora.
Este tipo de conexión sólo transfiere un dato de cada vez, por lo que resulta lento. La ventaja de una conexión
en serie es que resulta eficaz a distancias largas.
Una conexión en paralelo utiliza varios grupos de cables para transferir simultáneamente más de un bloque de
información. La mayoría de los digitalizadores e impresoras emplean este tipo de conexión.
37
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las conexiones en paralelo son mucho más rápidas que las conexiones en serie, pero están limitadas a
distancias menores de 3 m entre la CPU y el dispositivo externo.
SOFTWARE
Son las instrucciones responsables de que el hardware (la máquina) realice su tarea. Como concepto general,
el software puede dividirse en varias categorías basadas en el tipo de trabajo realizado. Las dos categorías
primarias de software son los sistemas operativos (software del sistema), que controlan los trabajos del
ordenador o computadora, y el software de aplicación, que dirige las distintas tareas para las que se utilizan
las computadoras. Por lo tanto, el software del sistema procesa tareas tan esenciales, aunque a menudo
invisibles, como el mantenimiento de los archivos del disco y la administración de la pantalla, mientras que el
software de aplicación lleva a cabo tareas de tratamiento de textos, gestión de bases de datos y similares.
Constituyen dos categorías separadas el software de red, que permite comunicarse a grupos de usuarios, y el
software de lenguaje utilizado para escribir programas.
Además de estas categorías basadas en tareas, varios tipos de software se describen basándose en su método
de distribución. Entre estos se encuentran los así llamados programas enlatados, el software desarrollado por
compañías y vendido principalmente por distribuidores, el freeware y software de dominio público, que se
ofrece sin costo alguno, el shareware, que es similar al freeware, pero suele conllevar una pequeña tasa a
pagar por los usuarios que lo utilicen profesionalmente y, por último, el infame vapourware, que es software
que no llega a presentarse o que aparece mucho después de lo prometido.
FIRMWARE
Firmware, en informática, rutinas de software almacenadas en memoria de sólo lectura (ROM). A diferencia
de la memoria de acceso aleatorio (RAM), la memoria de sólo lectura permanece intacta incluso cuando no
existe un suministro de energía eléctrica. Las rutinas de inicio de la computadora y las instrucciones de
entrada/salida de bajo nivel se almacenan como firmware. En cuanto a la complejidad que supone
modificarlo, el firmware se encuentra a medio camino entre el software y el hardware.
38
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
UNIDAD II: COMPONENTES PRINCIPALES DE UNA COMPUTADORA.
2.1 ESTRUCTURA GENERAL DE UNA COMPUTADORA.
En general, el diseño de un sistema informático se conoce como arquitectura y de ella depende su velocidad
de proceso, su capacidad de memoria, la forma en que se administra esa memoria, el manejo de los procesos y
el tipo de dispositivos que se pueden conectar ala computadora.
En cuanto ala organización básica de una computadora de aplicación general, independientemente de su
tamaño y capacidad, consiste en la capacidad de entrada, a través de la cual se introducen datos e
instrucciones, la unidad central de proceso, donde se opera sobre los datos de acuerdo con la instrucciones
dadas, y la unidad de salida, por medio de la cual se presenta la información resultante a el usuario.
UNIDAD DE ENTRADA.
La unidad de entrada permite la introducción de datos e instrucciones y en la mayoría de las computadoras
personales tiene como elemento principal el teclado, aunque también son dispositivos de entrada muy
importantes la unidad de disquetes en su modalidad de lectura, el ratón o mouse y el digitalizador. En las
computadoras especiales para juegos, se usan diversos tipos de bastones y botones para introducir las ordenes
del usuario, en este caso tal vez un empedernido jugador.
UNIDAD CENTRAL DE PROCESO (CPU).
La unidad central de proceso o CPU (del ingles Central Processing Unit) es la computadora propiamente
dicha y esta diseñada a realizar las operaciones más importantes, que son el proceso y almacenamiento de
datos e instrucciones. Esta formada por:
 UNIDAD ARITMÉTICA Y LOGICA. La unidad aritmética y lógica que se ocupa de procesar
los datos. Para esto, se realizan dos tipos de operaciones, las primeras son de tipo aritmético y se
basan en la gran velocidad a la que la computadora puede sumar algebraicamente. El segundo tipo se
refiere a operaciones lógicas, que son la s comparaciones que servirán, entre otras cosas, para seguir
un camino u otro.
39
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Es precisamente esta ultima capacidad la que hace que la computadora sea distinta de cualquiera de
los dispositivos de calculo lo que la antecedieron y la que posibilita toda la conceptualización
relacionada con la inteligencia artificial. En realidad, la computadora es mucho más que lo que este
nombre indica, ya que va más allá de al veloz realización de cálculos y cómputos; otro de los
nombres que se le ha dado, ordenador, tampoco le hace justicia ya que no solo puede ordenar
elementos sino que hace mas que esto y ya emula algunos procesos de pensamiento lógico.
 UNIDAD DE CONTROL. La unidad de control se encarga de localizar, analizar, seleccionar y
controlar el orden en que se ejecutan las instrucciones, así como de controlar el flujo de los datos.
También controla las actividades de los periféricos de la computadora.
 MEMORIA PRINCIPAL. La memoria principal se usa para almacenar el programa, los datos y
los resultados activos, es decir, aquellos que se están procesando en un momento dado.
MEMORIA ROM. Los chips no volátiles siempre conservan los mismos datos; los datos
en ellos no pueden cambiarse. De hecho, poner datos en forma permanente en esta clase de
memoria se llama ―marcar a fuego los datos, y por la general se hace en la fabrica. Los
datos en estos chips solo pueden ser leídos y usados, no pueden ser cambiados, así que la
memoria se llama memoria de solo lectura ( read-only memory: ROM ).
Una razón importante por lo que una computadora necesita la ROM es que así sabe que
hacer cuando se conecta la energía por primera vez. Entre otras cosas, la ROM contiene un
conjunto de instrucciones de inicio que aseguran que el resto d la memoria este funcionando
de manera apropiada verifica los dispositivos del hardware y busca un sistema operativo en
las unidades de disco de la computadora.
La ROM por lo general consiste en un pequeño chip, localizado cerca de la CPU en la
tarjeta madre.
MEMORIA RAM. La memoria que puede ser cambiada se llama memoria de acceso
aleatorio ( Random - access memory: RAM). Cuando la gente habla de la memoria de la
computadora en relación con la microcomputadoras, por lo general se refiere a la RAM
volátil. El propósito de la RAM es conservar programas y datos mientras están en uso.
Desde el punto de vista físico, la RAM consiste de algunos chips en una pequeña tarjeta de
circuitos.
40
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En las computadoras personales, los chips de RAM por lo general están montados en una
pequeña tarjeta de circuitos, la cual se conecta en la tarjeta madre.
Tipos de memoria RAM
 DRAM (Dinamic-RAM): es la original, y por lo tanto la más lenta, usada hasta la época del 386, su
velocidad de refresco típica era de 80 ó 70 nanosegundos (ns), tiempo éste que tarda en vaciarse para
poder dar entrada a la siguiente serie de datos. Físicamente, en forma de DIMM o de SIMM, siendo
estos últimos de 30 contactos.
 FPM (Fast Page): más rápida que la anterior, por su estructura (el modo de Página Rápida) y por ser
de 70 ó 60 ns. Usada hasta con los primeros Pentium, físicamente SIMM de 30 ó 72 contactos (los de
72 en los Pentium y algunos 486).
 EDO (Extended Data Output-RAM): permite introducir nuevos datos mientras los anteriores están
saliendo lo que la hace un poco más rápida que la FPM. Muy común en los Pentium MMX y AMD
K6, con refrescos de 70, 60 ó 50 ns. Físicamente SIMM de 72 contactos y DIMM de 168.
 SDRAM (Sincronic-RAM): Funciona de manera sincronizada con la velocidad de la placa base (de
50 a 66 MHz), de unos 25 a 10 ns. Físicamente solo DIMM de 168 contactos, es usada en los
Pentium II de menos de 350 MHz y en los Celeron.
 PC100: memoria SDRAM de 100 MHz, que utilizan los AMD K6-II, III, Pentium II y micros más
modernos. Ofrecen una transferencia de 8 bytes/ciclo x 100 MHz = 800 MB/seg. (0,8 GB/seg).
 PC133: memoria SDRAM de 133 MHz, similar a la anterior, con la diferencia de que funciona a 133
MHz en vez de 100 MHz como la PC100 (valga la redundancia). Y provee de un ancho de banda de
8 bytes/ciclo x 133 MHz = 1066 MB/seg (1,06 GB/seg).
 PC200: también DDR-SDRAM ó PC1600, memoria de 184 contactos que funciona en un principio a
2,5 V. Su funcionamiento consiste en enviar los datos 2 veces por cada señal de reloj, una vez en
cada extremo de la señal (el ascendente y el descendente), en lugar de enviar datos sólo en la parte
ascendente de la señal. Así 100 MHz físicos funcionan como si fueran 200 MHz, (de ahí el nombre
PC200) y ofrece 1,6 GB de transferencia (también de ahí el nombre PC1600). Este tipo de memoria
la utilizan los Athlon de AMD, y los últimos Pentium 4 aunque este ultimo con pésimo rendimiento.
 PC266: también DDR-SDRAM ó PC2100, y sin mucho que agregar a lo dicho anteriormente,
simplemente es lo mismo con la diferencia de que en vez de 100 MHz físicos se utilizan 133 MHz
obteniendo así 266 MHz y 2,1 GB de ancho de banda.
 PC600: o también RDRAM, de Rambus, memoria de alta gama y muy cara que utilizan los Pentium
4, se caracteriza por utilizar dos canales en vez de uno y ofrece una transferencia de 2 x 2 bytes/ciclo
x 266 MHz que suman un total de 1,06 GB/seg.
41
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
 PC700: también RDRAM, de Rambus, como la anterior, también utilizada por los últimos Pentium
4, que provee una transferencia de 2 x 2 bytes/ciclo x 356 MHz, lo que suman un total de
1,42 GB/seg.
 PC800: también RDRAM, de Rambus, la ultima de la serie y obviamente la de mejor rendimiento,
ofreciendo 2 x 2 bytes/ciclo x 400 MHz que hacen un total de 1,6 GB/seg. y como utiliza dos
canales, el ancho de banda total es de 3,2 GB/seg.
Memoria tipo RIMM
UNIDAD DE
ENTRADA
UNIDAD CENTRAL
DE PROCESO
Unidad de control
Unidad Aritmética y
Lógica.
Memoria Principal
RAM
ROM
Memoria Auxiliar
42
UNIDAD DE
SALIDA
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Nombre
Significado / Símbolo
Valor
Bit
Binary Digit: Digito Binario
1 digito binario (0 o1)
Byte
b, palabra
Por lo general 8 bits y equivale a
un solo carácter.
Kilobyte
Kb
1,024 bytes
Megabyte
Mb
1,024 kilobytes
Gigabyte
Gb
1,024 megabytes
Terebyte
Tb
1,024 gigabytes
2.2 UNIDAD CENTRAL DE PROCESO.
Unidad central de proceso o UCP (conocida por sus siglas en inglés, CPU), circuito microscópico que
interpreta y ejecuta instrucciones. La CPU se ocupa del control y el proceso de datos en las computadoras.
Generalmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene
millones de componentes electrónicos.
El microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y
comparaciones, y toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante las reglas
del álgebra de Boole); por una serie de registros donde se almacena información temporalmente, y por una
unidad de control que interpreta y ejecuta las instrucciones. Para aceptar órdenes del usuario, acceder a los
datos y presentar los resultados, la CPU se comunica a través de un conjunto de circuitos o conexiones
llamado bus. El bus conecta la CPU a los dispositivos de almacenamiento (por ejemplo, un disco duro), los
dispositivos de entrada (por ejemplo, un teclado o un mouse) y los dispositivos de salida (por ejemplo, un
monitor o una impresora).
FUNCIONAMIENTO DE LA CPU
Cuando se ejecuta un programa, el registro de la CPU, llamado contador de programa, lleva la cuenta de la
siguiente instrucción, para garantizar que las instrucciones se ejecuten en la secuencia adecuada. La unidad de
control de la CPU coordina y temporiza las funciones de la CPU, tras lo cual recupera la siguiente instrucción
desde la memoria. En una secuencia típica, la CPU localiza la instrucción en el dispositivo de
almacenamiento correspondiente. La instrucción viaja por el bus desde la memoria hasta la CPU, donde se
almacena en el registro de instrucción. Entretanto, el contador de programa se incrementa en uno para
prepararse para la siguiente instrucción. A continuación, la instrucción actual es analizada por un
descodificador, que determina lo que hará la instrucción. Cualquier dato requerido por la instrucción es
43
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
recuperado desde el dispositivo de almacenamiento correspondiente y se almacena en el registro de datos de
la CPU. A continuación, la CPU ejecuta la instrucción, y los resultados se almacenan en otro registro o se
copian en una dirección de memoria determinada.
La CPU es el control central o ―cerebro‖ de la computadora. Sus funciones se dividen es tres categorías
unidad de control unidad, aritmética lógica y memoria principal.
La unidad aritmético-lógica, la unidad de control, la memoria, la entrada y la salida. La unidad aritméticológica realiza operaciones aritméticas y compara valores numéricos. La unidad de control dirige el
funcionamiento de la computadora recibiendo instrucciones del usuario y transformándolas en señales
eléctricas que puedan ser comprendidas por los circuitos del ordenador. La combinación de la unidad
aritmético-lógica y la unidad de control se denomina unidad central de procesamiento, o CPU (siglas en
inglés).
1.- Unidad de control.- Esta unidad controla las señales eléctricas que pasan en la computadora.
2.- Unidad aritmética lógica.- En esta parte se realizan todas las operaciones lógicas y aritméticas.
3.- Memoria principal.- Esta unidad sirve de almacén temporal de información, ya sea que entre el sistema,
o que sea producto de cálculos internos. A demás, se usa para almacenar los programas de la computadora.
44
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
UNIDAD ARITMÉTICA Y LOGICA.
La unidad aritmética y lógica que se ocupa de procesar los datos. Para esto, se realizan dos tipos de
operaciones, las primeras son de tipo aritmético y se basan en la gran velocidad a la que la computadora
puede sumar algebraicamente. El segundo tipo se refiere a operaciones lógicas, que son la s comparaciones
que servirán, entre otras cosas, para seguir un camino u otro. Es precisamente esta ultima capacidad la que
hace que la computadora sea distinta de cualquiera de los dispositivos de calculo lo que la antecedieron y la
que posibilita toda la conceptualización relacionada con la inteligencia artificial. En realidad, la computadora
es mucho más que lo que este nombre indica, ya que va más allá de al veloz realización de cálculos y
cómputos; otro de los nombres que se le ha dado, ordenador, tampoco le hace justicia ya que no solo puede
ordenar elementos sino que hace mas que esto y ya emula algunos procesos de pensamiento lógico.
UNIDAD DE CONTROL.
La unidad de control se encarga de localizar, analizar, seleccionar y controlar el orden en que se ejecutan las
instrucciones, así como de controlar el flujo de los datos. También controla las actividades de los periféricos
de la computadora.
MEMORIA PRINCIPAL.
La memoria principal se usa para almacenar el programa, los datos y los resultados activos, es decir, aquellos
que se están procesando en un momento dado.
45
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
2.3 LA MEMORIA.
La CPU contiene las instrucciones básicas necesarias para operar la computadora, pero no tiene la capacidad
para almacenar programas enteros o conjuntos grandes de datos en forma permanente. La CPU contiene
registros, pero estos son áreas pequeñas que pueden conservar solo unos cuantos bytes a la vez. A demás de
los registros, la CPU necesita tener millones de bytes despacio donde pueda guardar los programas y datos
que esta manipulando mientras esta en uso. Esta área se llama memoria.
Desde el punto de vista físico, la memoria consiste de chips, ya sea en la tarjeta madre o en un pequeño
tablero de circuitos conectado a la tarjeta madre. Esta memoria electrónica permite a la CPU almacenar y
recuperar datos muy rápido.
Hay dos tipos de memoria incorporada: permanente y no permanente. Algunos chips de memoria siempre
conservan los datos que contienen, aun cuando la computadora este apagada; este tipo de memoria se llama
no volátil. Otros chips – de hecho, la mayor parte de la memoria en una microcomputadora -, pierden su
contenido cuando se interrumpe el suministro de energía de la computadora; estos chips tienen memoria
volátil.
La CPU esta conectada a dos clases de memoria: la RAM, que es volátil, y la ROM, que es no volátil.
MEMORIA ROM.
Loa chips no volátiles siempre conservan los mismos datos; los datos en ellos no pueden cambiarse. De
hecho, poner datos en forma permanente en esta clase de memoria se llama ―marcar a fuego los datos, y por la
general se hace en la fabrica. Los datos en estos chips solo pueden ser leídos y usados, no pueden ser
cambiados, así que la memoria se llama memoria de solo lectura ( read-only memory: ROM ).
46
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Una razón importante por lo que una computadora necesita la ROM es que así sabe que hacer cuando se
conecta la energía por primera vez. Entre otras cosas, la ROM contiene un conjunto de instrucciones de inicio
que aseguran que el resto de la memoria este funcionando de manera apropiada verifica los dispositivos del
hardware y busca un sistema operativo en las unidades de disco de la computadora.
La ROM por lo general consiste en un pequeño chip, localizado cerca de la CPU en la tarjeta madre.
MEMORIA RAM.
La memoria que puede ser cambiada se llama memoria de acceso aleatorio ( Random- access memory:
RAM). Cuando la gente habla de la memoria de la computadora en relación con la microcomputadoras, por lo
general se refiere a la RAM volátil. El propósito de la RAM es conservar programas y datos mientras están en
uso. Desde el punto de vista físico, la RAM consiste de algunos chips en una pequeña tarjeta de circuitos.
En las computadoras personales, los chips de RAM por lo general están montados en una pequeña tarjeta de
circuitos, la cual se conecta en la tarjeta madre.
Configuración de memoria
La memoria reside en la tarjeta del sistema principal del PC o en tarjetas de expansión de memoria. A
continuación se describen los tipos de memoria que podría tener un PC:
Memoria convencional: Hasta los primeros 640 KB de memoria de un equipo. Debido a que DOS administra
por sí mismo la memoria convencional, no necesita un administrador adicional.
Area de memoria superior: Son los 384 KB de memoria que se encuentran a continuación de los 640 KB de
memoria convencional. El área de memoria superior es utilizada por el hardware del sistema, como por
ejemplo el adaptador de vídeo.
47
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las partes de la memoria superior que no se usan se llaman bloques de memoria superior (UMB). Los bloques
UMB se podrán utilizar para ejecutar controladores de dispositivos y programas residentes en memoria.
Memoria extendida (XMS): Es la memoria que se encuentra por encima de 1 MB. Esta memoria requiere un
administrador de memoria extendida.
Area de memoria alta (HMA): Son los primeros 64 KB de memoria extendida.
Memoria expandida (EMS): Es la memoria extra (además de la convencional) que pueden utilizar algunas
aplicaciones basadas en DOS. La mayoría de los equipos pueden acomodar memoria expandida. La memoria
expandida se instala en una tarjeta de memoria expandida y viene incorporada en el administrador de
memoria expandida. Los programas emplean memoria expandida en bloques de 64 KB dirigiéndose a una
parte del área de memoria superior llamada marco de página EMS. Debido a que un administrador de
memoria expandida proporciona acceso a sólo una cantidad limitada de memoria expandida a un tiempo, el
uso de ésta será más lento que el de la memoria extendida.
Esta estructura de memoria ha desaparecido con el DOS, ya que OS/2, Windows 95 y Windows 98 tienen un
esquema de memoria plano.
2.4 DISPOSITIVOS DE ENTRADA Y SALIDA.
Las computadoras serian inútiles sino proporcionaran un medio para interactuar con los usuarios. No podrían
recibir instrucciones ni entregar los resultados de su trabajo.
Los dispositivos de entrada aceptan datos e instrucciones del usuario; los dispositivos de salida devuelven los
datos procesados a el usuario. El termino genérico dispositivo se refiere a cualquier pieza de hardware.
48
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El dispositivo de entrada más común es el teclado, el cual acepta letras, números y comandos del usuario.
Además, las personas a menudo usan un ratón, el cual les permite dibujar en la pantalla y dar comandos
moviendo el ratón sobre una superficie plana y oprimiendo sus botones. Algunos otros dispositivos de
entrada son la traskballs, la palanca de juegos (o joystick), los escáneres, las cámaras digitales y los
micrófonos. El teclado, el ratón y el micrófono se muestran a continuación.
El ratón y la trackball permiten dibujar o señalar en la pantalla. La palanca de juegos es adecuada en especial
para jugar juega de video de movimientos rápidos. Un escáner puede copiar una pagina impresa en la
memoria de la computadora, eliminando el tiempo que consume mecanografiar estos datos. Las cámaras
digitales graban imágenes en vivo que pueden verse y editarse en la computadora.
Del mismo modo, conectar un micrófono o un reproductor de discos compactos a la computadora le permite
agregar a esta el sonido de una voz a una pieza musical.
La función de un dispositivo de salida es presentar datos procesados al usuario.
Los dispositivos de salida más comunes son la pantalla de visualización, conocida como monitor, y la
impresora. La computadora envía salida al monitor cuando el usuario solo necesita ver la salida. Envía salida
a la impresora cuando el usuario necesita una copia en papel, también llamada ―copia impresa‖. A demás, de
igual manera que las computadoras pueden aceptar sonido como entrada, pueden incluir altavoces
estereofónicos como dispositivos de salida para producir sonido. El monitor, la impresora y los altavoces se
muestran a continuación.
49
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
DISPOSITIVOS DE ENTRADA:
TECLADO.
MOUSE.
SCANNER.
LÁPIZ ÓPTICO.
MICRÓFONO.
WEB CAM.
LECTOR DE CÓDIGO DE BARRAS.
TABLETA DIGITALIZADORA.
CD-ROM.
DVD.
DISQUETTE.
DIGITALIZADOR.
DISPOSITIVOS DE ENTRADA/SALIDA.
PANTALLA AL TACTO.
CAMARA DIGITAL.
PALM.
CELULAR.
FAX-MODEM.
50
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
UNIDAD DE LECTURA / ESCRITURA DE DISQUETTE.
UNIDAD DE LECTURA / ESCRITURA D CD‘S.
DIADEMA DE ENTRADA / SALIDA (CON AUDIFONO Y MICROFONO INTEGRADO).
UNIDAD DE CINTA MAGNETICA.
UNIDAD DE LECTURA / ESCRITURA ZIP.
INTERFAZ INDUSTRIAL.
TARJETA DE RED.
TARJETA PARA CONEXIÓN A ENTORNO CENTRALIZADA.
MODEM.
DISPOSITIVOS DE SALIDA.
IMPRESORA.
MONITOR.
BOCINAS.
PLOTTER (GRAFICADOR).
PROYECTOR.
SALIDA DE SEÑAL DE VIDEO.
PANTALLA DE DESPLIEGUE VISUAL.
SISTEMA GRAFICO.
TRAZADOR (PLOTTER).
.
51
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
2.5 CONCEPTOS ASÍNCRONO / SINCRONO.
TRANSMISIÓN ASINCRONA.
Hay dos formas de transmitir series de caracteres. En la transmisión asíncrona el intervalo entre dos
caracteres no es fijo, aunque el tiempo entre dos bites consecutivos dentro del mismo carácter si lo es. Una
persona que tecleé en una terminal de tiempo compartido no escribe a velocidad uniforme y, por tanto, el
intervalo entre dos caracteres consecutivos no será constante.
Esto nos conduce al problema de cómo el receptor puede reconocer el primer bit de un carácter. Un carácter
que constara totalmente de ceros pasaría inadvertido. De la misma manera, un carácter consiste en un 1
seguido de 7 ceros no se podría distinguir de otro que tuviera 7 ceros seguidos de uno, ya que el receptor no
tendría forma de reconocer el comienzo del carácter.
Para que le receptor reconozca el comienzo de un carácter, se transmite un bit de arranque inmediatamente
antes de cada carácter. Para aumentar la confiabilidad se mandan uno o dos bits de parada de tras de cada
carácter. Normalmente la línea se mantiene en 1 cuando no se están transmitiendo datos, para que se pueda
detectar un circuito eléctrico. Por tanto, el bit de arranque es cero. Los bits de parada son 1 para diferenciarlos
del bit de arranque. Entre los bits de arranque y parada, los bits de datos se transmiten a intervalos regulares.
Cuando llega el bit de arranque se arranca un cronometro en el modem receptor, permitiéndole identificar a
cada bit.
Las velocidades usadas en transmisión asíncrona van de 110 a 19200 bps. A 110 bps se utilizan dos bits de
parada, de modo de un carácter ASCII de 7 bits más uno de paridad, uno de arranque y dos de parada suman
11 bits por carácter. A si pues, 110 bps corresponden a 10 caracteres / seg. Las velocidades más altas utilizan
un solo bit de parada.
Tiempo variable entre caracteres
A
S
Y
Tiempo
N

52
C
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
TRANSMISIÓN SINCRONA.
En transmisión sincronía se prescinde de los bits de arranque y parada, que no llevan información. El
resultado es un incremento en la velocidad de la transmisión. La comunicación sincronía suele operar a
velocidades de 4800 bps, 9600 bps o aun mayores . con este sistema, una vez que los modem se han
sincronizado, continúan enviando caracteres para mantener la sincronización aunque no haya datos que
transmitir. Cuando no hay datos se manda un carácter especial de relleno. En la transmisión sincronía,
contrariamente a la asíncrona, el intervalo entre dos caracteres es siempre exactamente el mismo.
La transmisión sincronía requiere que los relojes del transmisor y el receptor parezcan sincronizados largos
tiempos, al contrario de lo que ocurre en la transmisión asíncrona, dado que el comienzo de cada carácter esta
explícitamente indicado por el bit de arranque.
El tiempo en le que se puede llevar a cabo la transmisión si necesidad de resincronizar el receptor a la fase
del transmisor depende de la estabilidad de los relojes. Por lo general, los relojes son lo suficientemente
estables como para permitir el envió de bloques de cientos de caracteres sin tener que sincronizarse. Estos
bloques a menudo utilizan códigos de hanming u otras técnicas para detectar y corregir errores de
transmisión.
S
Y
N
C
H
Tiempo
R
O
N
O
U
S

Tiempo constante entre caracteres
2.6 EL MODELO DE VON NEWMAN.
La idea central del modelo de computación producto de John Von Newman es almacenar las instrucciones del
programa de una computadora en su propia memoria, logrando con ello que la maquina siga las pasos
definidos por su programa almacenado.
Una computadora de programa almacenado (que es otro nombre para una, maquina que funciona con el
modelo de Von Newmam) tiene la siguiente configuración general, muy parecida, como se decía en el
capitulo anterior, al diseño original de Charles Babbage, aunque no esta basada en el:
53
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
MEMORIA
UNIDAD
DE
ENTRADA
UNIDAD CENTRAL
DE
PROCESAMIENTO
UNIDAD
DE
SALIDA
Esquema básico de la computadora actual
En este esquema se observan las relaciones estructurales que existen entre las diversas unidades que
configuran la maquina, y que se emplean en prácticamente todos los modelos de computadoras. La unidad
central d procesamiento (UCP, de aquí en adelante, aunque también es común referirse a ella como CPU, por
sus siglas en ingles) contiene a la unidad aritmética y lógica (que hace los cálculos) y a la unidad de control.
Para poder operar bajo le modelo de Jon Von Newman es necesario resolver el problema de comunicar a la
computadora las operaciones por efectuar sobre los datos previamente almacenados en la memoria se
abordara el problema del almacenamiento de números recordando que la función de la memoria es guardar
datos.
Para nuestros propósitos, la memoria será un conjunto de celdas (o casillas) con las siguientes características:
a) cada celda puede contener un valor numérico, y b) cada celda tiene la propiedad de ser direccionable, es
decir, se puede distinguir una de otra por medio de un número univoco que es su dirección.
Esto implica que las celdas de la memoria tienen que estar organizadas de modo que faciliten la localización
de cualquiera de ellas con un esfuerzo mínimo. La forma más sencilla de hacer esto es organizando las celdas
en forma de vector, que no es más que un conjunto de celdas numerado secuencialmente.
Como se dijo, se puede hacer referencia a una celda por medio de su dirección. Se usara un apuntador para
dirigirse a una celda cualquiera.
Un arreglo (que es otro nombre para un vector) en memoria se ve como sigue.
54
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Apuntador.
51
52
53
54
55
4
0
1
9
7
Cada celda tiene una dirección. La celda 51 contiene un 4. Se dispone ya de una manera de almacenar ( y
recuperar ) valores en la memoria por medio de una dirección univoca.
Es posible definir dos operaciones elementales sobre ella: leer el contenido de una celda y escribir un valor en
una celda.
Si se supone que la memoria de una computadora es una especie de almacén atendido por un empleado que
seguirá nuestras órdenes, estos serán los pasos necesarios para poder efectuar las dos operaciones primitivas.
Para leer:
a) Decir cual celda se va a leer (esto es, proporcionar su dirección).
b) Espera un tiempo fijo para que el empleado vaya a la memoria y traiga el valor depositado en esa celda (
la celda no pierde ese valor;: solo se trae una copia del dato y no el dato mismo ).
c) Recoger ese dato y dar por terminada la operación de lectura.
Y para escribir: Proporcionar al ayudante el dato que se desea depositar en una celda.
Proporcionar la dirección de la celda sobre la que se desea hacer la escritura del dato.
Esperar un tiempo fijo para que el empleado vaya a la memoria y deposite el dato en la celda designada, para
dar por terminada la operación de escritura. (Si la celda en cuestión tenía ya un valor, este se pierde, pues es
remplazado por el nuevo).
Ahora hay que resolver el segundo problema: como almacenar las instrucciones en la memoria. Considerando
lo anterior, habrá que encontrar una manera de hacer caber las instrucciones en las celdas.
55
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Esto lleva necesariamente al concepto de codificación. En efecto, si en las celdas de memoria solo caben
números, entonces habrá que traducir las instrucciones a números para poder almacenarla. Para codificar las
instrucciones se debe considerar cuantas y cuales son las instrucciones y que esquema de codificación se
empleara.
El primer factor depende fundamentalmente de la capacidad de la unidad de control del procesador central
para hacer operaciones; cuanto más compleja – y costosa – sea la unidad central de procesamiento, tanto
mayor será el número de instrucciones diferentes que podrá efectuar.
Después se debe encontrara un código adecuado para que a cada instrucción definida corresponda uno, y solo
un, valor numérico. Para este segundo caso se usara una especie de diccionario electrónico ( que forma parte
de la unidad de control ), que contendrá, lo siguiente.
De aquí en adelante se empleara el nombre lenguaje de maquina para referirse al código que maneja la unidad
central de procesamiento de la computadora.
UN PRIMER PROGRAMA.
Ahora es posible escribir un primer programa completo, usando el modelo recién descrito. Se continuara con
el problema de sumar 5 +7.
Primer consideración: Se requieren tres casillas, dos para los datos ( 5 y 7 ) y una para depositar el
resultado. Se escogen las casillas 21, 22, 23. (No hay ninguna razón especial para haberla escogido; para
nuestros fines, tres casillas cualesquiera son adecuadas).
Segunda consideración: Hay que definir con detalle las operaciones por efectuar y su orden, así como
obtener una codificación adecuada (o sea, traducirlas a instrucciones para la maquina).
Tercera consideración: Hay que introducir todos los datos (e instrucciones) en la memoria.
56
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Analizando el programa de la pagina 30 se llaga a la conclusión de que es necesario definir varias operaciones
sobre al maquina. Se requiere, por lo pronto, una instrucción para llevar el contenido de una celda al
acumulador (que es una celda especial, o registro, contenido en la UCP); otra para hacer la suma, y otra para
devolver el contenido del acumulador a una celda de memoria
2.7 CLASIFICACIÓN DE LAS COMPUTADORAS POR SU CAPACIDAD DE
PROCESO
Por introducción veremos que las computadoras por su capacidad de proceso se toman criterios demasiados
ambiguos para marcar los tipos; así se tiene;
Las microcomputadoras o PC.
Minicomputadoras.
Macrocomputadoras o Mainframe.
Supercomputadoras.
1.- Las microcomputadoras se utilizan para aplicaciones caseras y de oficina normalmente para una sola
persona por eso se les llama personales.
2.- Las minicomputadoras emplean en aplicaciones de tamaño y medio usualmente para 30 o 40 usuarios, una
escuela etc.
3.- En la categoría de las macrocomputadoras se utilizan para aplicaciones grandes tales como sistemas
bancarios, administración, vuelos etc.
4.- Supercomputadoras. Se utilizan para aquellos problemas cuya solución requieren de una gran capacidad
de cómputo, como una respuesta rápida por ejemplo: el control terrestre de un satélite, la administración de
un rector nuclear etc.
SUPERCOMPUTADORAS. Una supercomputadora es el tipo de computadora más potente y más rápida
que existe en un momento dado. Estas máquinas están diseñadas para procesar enormes cantidades de
información en poco tiempo y son dedicadas a una tarea específica.
57
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Una de las llamadas supercomputadoras es capaz de procesar a la asombrosa velocidad de 600 megaflops
(millones de flops).
Sistemas de cómputo caracterizados por su gran tamaño y enorme velocidad de procesamiento normalmente
se utilizan en aplicaciones científicas y complejas. Dado que las súper computadoras se construyen para
procesar aplicaciones científicas complejas la velocidad del cálculo del sistema es de primordial importancia.
Para elevar al máximo la velocidad de los cálculos cada una de estas maquinas tienen procesadores de hasta
64 bits.
Así mismas son las más caras, sus precios alcanzan los 30 millones de dólares y más; y cuentan con un
control de temperatura especial, esto para disipar el calor que algunos componentes alcanzan a tener.
Unos ejemplos de tareas a las que son expuestas las supercomputadoras son los siguientes:
Búsqueda y estudio de la energía y armas nucleares.
Búsqueda de yacimientos petrolíferos con grandes bases de datos sísmicos.
El estudio y predicción de tornados.
El estudio y predicción del clima de cualquier parte del mundo.
La elaboración de maquetas y proyectos de la creación de aviones, simuladores de vuelo etc.
MINICOMPUTADORAS. En 1960 surgió la minicomputadora, una versión más pequeña de la
Macrocomputadora. Al ser orientada a tareas específicas, no necesitaba de todos los periféricos que necesita
un Mainframe, y esto ayudo a reducir el precio y costos de mantenimiento.
Las minicomputadoras, en tamaño y poder de procesamiento, se encuentran entre los mainframes y las
estaciones de trabajo.
En general, una minicomputadora, es un sistema multiproceso (varios procesos en paralelo) capaz de soportar
de 10 hasta 200 usuarios simultáneamente. Actualmente se usan para almacenar grandes bases de datos,
automatización industrial y aplicaciones multiusuario.
Estaciones de trabajo o Workstations: Las estaciones de trabajo se encuentran entre las minicomputadoras y
las macrocomputadoras (por el procesamiento). Las estaciones de trabajo son un tipo de computadoras que se
utilizan para aplicaciones que requieran de poder de procesamiento moderado y relativamente capacidades
de gráficos de alta calidad. Son usadas para:
58
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
-
Aplicaciones de ingeniería.
-
CAD (Diseño asistido por computadora).
-
CAM (manufactura asistida por computadora).
-
Publicidad.
-
Creación de Software.
En redes, la palabra "workstation" o "estación de trabajo" se utiliza para referirse a cualquier computadora
que está conectada a una red de área local.
MACROCOMPUTADORAS o MAINFRAMES.
Las macrocomputadoras son también conocidas como Mainframes. Los mainframes son grandes, rápidos y
caros sistemas que son capaces de controlar cientos de usuarios simultáneamente, así como cientos de
dispositivos de entrada y salida.
Los mainframes tienen un costo que va desde 350,000 dólares hasta varios millones de dólares. De alguna
forma los mainframes son más poderosos que las supercomputadoras porque soportan más programas
simultáneamente. Pero las supercomputadoras pueden ejecutar un sólo programa más rápido que un
mainframe.
59
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En el pasado, los Mainframes ocupaban cuartos completos o hasta pisos enteros de algún edificio, hoy en día,
un Mainframe es parecido a una hilera de archiveros en algún cuarto con piso falso, esto para ocultar los
cientos de cables de los periféricos, y su temperatura tiene que estar controlada.
En los 60s las computadoras principales vienen de arriba hacia abajo operación muy especial estas se les
puede definir como computadoras conectadas en terminal llamada también computadora principal‖ después
como macrocomputadoras es la que le daba servicio a varias terminales computadora grande con
capacidades superiores a las demás llega hacer igual a una macro o supercomputadoras.
MICROCOMPUTADORA.
Las microcomputadoras que se diseñaban con microprocesadores con base en circuitos de alta densidad son
extremadamente pequeñas y baratas un microprocesador y elementos de almacenamiento y entrada /salida
asociados.
Una microprocesadora se convierte en una microcomputadora al agregársele una unidad de memoria mas
unos circuitos de entrada/salida (y /o) llamados ports.
La unidad de memoria contiene dos tipos de almacenadoras, fabricadas con material semiconductor memoria
de libre acceso (RAM) y memoria de lectura sola (ROM).
La primera es una memoria de alta velocidad en donde el sistema de la computadora lo mismo pude
almacenar (escribir) que facilitar (leer) información fundamentalmente el sistema RAM se utiliza para
almacenar sobre 64.000 bytes.
60
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
UNIDAD III: CONCEPTOS DE PROGRAMACIÓN.
3.1 COMO DETERMINAR QUE UN PROBLEMA SEA RESUELTO POR
COMPUTADORA.
El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su
ejecución en la misma. Aunque el proceso de diseñar programas es esencialmente un proceso creativo, se
pueden considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los
programadores.
Los pasos a seguir son:
1. Planteamiento del problema
2. Análisis del problema
3. Diseño del algoritmo
4. Codificación
5. Compilación y ejecución
6. Verificación
7. Depuración
8. Documentación
1. Planteamiento del problema: este proceso inicia cuando surge la necesidad de resolver algún problema
mediante la computadora. Se debe identificar el problema y comprender la utilidad de la solución que se
alcance. Es necesario tener una visión general del problema estableciendo las condiciones iniciales y los
límites del problema. Dónde empieza y dónde termina.
2. Análisis del problema: es necesario entender en detalle el problema en cuestión, para obtener una
radiografía del mismo en términos de los datos disponibles como materia prima, y definir el proceso necesario
para convertir los datos en la información requerida.
3. Diseño del algoritmo: durante este paso se procede a diseñar la lógica para la solución al problema a
través del siguiente procedimiento:
61
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
a) Elaborar el algoritmo. Se diseña el algoritmo de la solución al problema; se estructura la secuencia lógica
y cronológica de los pasos que la computadora deberá seguir, alguna técnica convencional como el diagrama
de flujo, el pseudocódigo y los diagramas de Warnier.
b) Prueba de escritorio. Se simula el funcionamiento del algoritmo con datos propios respecto al problema,
y se comprueban a mano los resultados a fin de validar la correcta operación del algoritmo.
4. Codificación: en este paso se procede a codificar el programa en el lenguaje que se vaya a utilizar. Este
proceso es sencillo dado que ya tenemos diseñado el programa, sólo nos concretamos a convertir las acciones
del algoritmo en instrucciones de computadora.
5. Compilación y ejecución: El programa codificado debe compilarse, probarse y depurarse; es decir se
ejecuta para verificar su buen funcionamiento y se hacen las correcciones o los ajustes pertinentes hasta que
quede correcto.
6. Verificación: aquí se verifica si tiene un buen funcionamiento, en caso de que no sea así se hacen las
correcciones necesarias para que quede correcto.
7. Depuración: una vez que el programa ha sido introducido a la computadora es probable que se encuentre
por lo menos un error de sintaxis o un error lógico. Al proceso de eliminar estos errores se le conoce como
proceso de depuración.
8. Documentación: durante la vida del sistema, los procedimientos y requerimientos de programación
cambian. Para mantenerse al tanto de estos cambios, los programas deben actualizarse periódicamente, o
mantenerse. El mantenimiento de un programa puede ser difícil si la documentación no está completa o
actualizada. La buena documentación en el presente ayuda a desarrollar hábitos de un buen trabajo.
La documentación se divide en tres partes:
Documentación Interna: son los comentarios o mensajes que se añaden al código fuente para hacer
más claro el entendimiento de un proceso.
Documentación Externa: Se define en un documento escrito los siguientes puntos: Descripción del
Problema, Nombre del Autor, Algoritmo (diagrama de flujo o pseudocódigo), Diccionario de Datos,
Código Fuente (programa).
Manual del Usuario: describe paso a paso la manera como funciona el programa, con el fin de que
el usuario obtenga el resultado deseado.
62
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
3.2 SOLUCIONES LÓGICAS
ALGORITMO.
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe ALkhÔwarÎzmi, nombre de un
matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el
siglo IX.
Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definidos y
finitos.
Características de un algoritmo.

Preciso(indicar el orden de realización en cada paso)

Definido(si se sigue dos veces, obtiene el mismo resultado cada vez)

Finito(tiene fin; un número determinado de pasos)
Para la construcción de un algoritmo se realizan tres módulos:
1. ENTRADA DE DATOS.
Acción u operación que permite el ingreso de los datos del problema.
2. PROCESAMIENTO DE DATOS.
Operación u operaciones secuénciales, lógicas y organizadas, cuyo objetivo es obtener la solución al
problema al procesar los datos de entrada.
3. SALIDA DE RESULTADOS.
Operación o conjunto de operaciones que permiten comunicar al exterior los resultados alcanzados.
Ejemplo:
ENTRADA DE DATOS
Estado de la puerta = cerrado
63
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
PROCESAMIENTO DE DATOS
Introducir la llave
Giro de la llave a la derecha
Le damos vuelta
Se abre la puerta
SALIDA DE DATOS
Estado de la puerta abierta.
Por otra parte la programación estructurada define la solución a cualquier problema utilizando las siguientes
estructuras: secuencial, selectiva y repetitiva.
ESTRUCTURA SECUENCIAL
Se utiliza cuando queremos mostrar que una acción le sigue otra y así sucesivamente, hasta el final del
proceso. Para indicar el proceso utilizamos el rectángulo y en la parte interna la descripción de la acción.
ESTRUCTURA SELECTIVA
Se utiliza cuando se requiere tomar una decisión lógica, por ello también se le llama estructura de decisión o
alternativa. En estas estructuras se evalúa una condición utilizando expresiones lógicas y dependiendo del
resultado de ésta, se realiza una opción u otra. Su representación gráfica se expresa utilizando un rombo.
ESTRUCTURA REPETITIVA
Permite repetir una o varias acciones un número determinado de veces. A las estructuras que repiten una
secuencia de instrucciones, un número determinado de veces, se denomina bucles, y se les llama iteración al
hecho de repetir la ejecución de una secuencia de acciones.
3.3 DIAGRAMAS LÓGICOS.
DIAGRAMA DE FLUJO
Es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora Un
diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir para producir
resultados.
64
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora),
se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los
símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).
SÍMBOLO
DESCRIPCIÓN
Indica el inicio y el final de nuestro
diagrama de flujo
Indica la entrada y salida de datos.
Símbolo de proceso y nos indica la
asignación de un valor en la memoria y/o
la ejecución de una operación aritmética.
Símbolo de decisión indica la realización
de una comparación de valores.
Se utiliza para representar los
subprogramas.
Conector dentro de página. Representa la
continuidad del diagrama dentro de la
misma página.
Conector fuera de página. Representa la
continuidad del diagrama en otra página.
Indica la salida de información por
impresora.
Indica la salida de información en la
pantalla o monitor.
Líneas de flujo o dirección. Indican la
secuencia en que se realizan las
operaciones.
65
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Recomendaciones para el diseño de Diagramas de Flujo
Se deben se usar solamente líneas de flujos horizontales y/o verticales.
Se debe evitar el cruce de líneas utilizando los conectores.
Se deben usar conectores solo cuando sea necesario.
No deben quedar líneas de flujo son conectar.
Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a
derecha.
Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas
palabras.
Ejemplo: Elaborar el diagrama e flujo de la suma de dos números.
INICIO
A,B
C=A+B
C
FIN
3.4 LENGUAJES DE PROGRAMCIÓN.
Introducción
Las personas piensan y calculan simbólicamente con palabras e ideas, mientras que las computadoras
calculan eléctricamente por medio de pulsos de corrientes y voltaje que representan números. Por tal motivo,
es necesario contar con algún medio que permita entablar la comunicación entre ambos.
66
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Dicho medio se conoce como ―lenguajes de programación‖, que son muy similares a los lenguajes que
manejamos en nuestra vida diaria, formados por los mismos conceptos elementales.
La comunicación con la computadora es por medio de un conjunto de instrucciones preparadas por el usuario,
con las cuales realizará el trabajo necesario para resolver un problema determinado.
Este conjunto de instrucciones debe estar bien definidas y en ningún momento sujetas a error o ambigüedad.
La computadora sólo hará lo que se le indique, pues en ningún momento podrá razonar o resolver el
problema.
Un lenguaje de computación está formado por una secuencia de instrucciones, que se ejecutan una después de
otra. Estas instrucciones, también llamadas enunciados, se ejecutan a menos que el orden de la ejecución sea
alterado por una ―condición a prueba o una instrucción de ramificación‖.
Las instrucciones deben darse en un lenguaje de programación, es decir, en una determinada configuración de
información digital binaria. En los primeros computadores, la programación era una tarea difícil y laboriosa
ya que los conmutadores ON-OFF de las válvulas de vacío debían configurarse a mano. Programar tareas tan
sencillas como ordenar una lista de nombres requería varios días de trabajo de equipos de programadores.
Desde entonces se han inventado varios lenguajes informáticos, algunos orientados hacia funciones
específicas y otros centrados en la facilidad de uso.
PROGRAMA: Conjunto de instrucciones que deben ser ejecutadas por la computadora para resolver un
problema.
TIPOS DE PROGRAMAS:
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.
PROGRAMA OBJETO: Aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por
esta.
67
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
CONCEPTO DE LENGUAJES DE PROGRAMACIÓN:
Los lenguajes de programación son conjuntos de palabras y de reglas de sintaxis para facilitar la
comunicación con la computadora.
Los lenguajes de programación se pueden clasificar, en función de que se parezcan más al lenguaje máquina o
a los lenguajes humanos en dos tipos: lenguajes de alto nivel y lenguajes bajo nivel.
LENGUAJE MÁQUINA.
Los lenguajes máquina son aquellos cuyas instrucciones son directamente entendibles por el ordenador sin la
necesidad de traducción alguna. Sus instrucciones no son más que cadenas de ceros y unos (bits). Estas
especifican la operación a realizar, los registros del procesador y celdas de memoria implicados, etc.
Obviamente, este tipo de lenguajes serán fáciles de comprender para un ordenador pero muy difíciles para el
hombre. Esta razón nos lleva a buscar otro lenguaje para comunicarnos con el ordenador.
LENGUAJES DE BAJO NIVEL
El lenguaje de bajo nivel más característico es el ensamblador. Consta de una serie de términos extraídos del
inglés. Los programas que traducen dichas instrucciones a lenguaje máquina se llaman programas
ensambladores. 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.
LENGUAJE ENSAMBLADOR. Es un lenguaje de programación de bajo nivel, en que las
instrucciones y las direcciones de memoria están representados por símbolos. Permite la utilización
de nombres simbólicos en lugar de ceros y unos.
De esta manera se podrá utilizar la palabra "suma" para indicarle a la computadora que se requiere
sumar dos números. Este lenguaje es utilizado raramente para el desarrollo de software de aplicación
y con frecuencia es llamado lenguaje de segunda generación.
LENGUAJES DE ALTO NIVEL
Este tipo de lenguajes son más parecidos al lenguaje humano. Los programas escritos en un lenguaje de alto
nivel, como Cobol o Clipper, tienen una serie de ventajas para los programadores:
68
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Son mucho más cortos, ya que una vez confeccionado el programa, cada una de sus instrucciones se
traduce y equivale a múltiples instrucciones de lenguaje máquina.
Se pueden utilizar en muchos tipos de computadoras diferentes.
No es necesario conocer a fondo la arquitectura de la computadora para poder utilizarlos.
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 denominados archivos
ejecutables puesto que, al teclear su nombre (o hacer clic sobre el icono que los identifica) se logra 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.
También se le conoce como lenguaje de tercera generación. Generalmente se utiliza para el desarrollo de
programas o software de aplicación. Su principal característica es que una instrucción codificada en lenguaje
de alto nivel equivale a varias instrucciones en lenguaje maquina o ensamblador.
69
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Además, las personas pueden comprender mejor las instrucciones, y esto hace que se reduzcan el tiempo y el
costo para realizar programas.
Los programas escritos en este lenguaje requieren su traducción o compilación a lenguaje maquinal a través
de unos programas denominados compiladores. Ejemplos de estos lenguajes son PASCAL, C, LOGO,
BASIC, COBOL entre otros.
LENGUAJE DE CUARTA GENERACIÓN (4GL).
Es el lenguaje de muy alto nivel cuya característica principal es permitir a los usuarios con poco
conocimiento sobre computación y lenguajes de programación, desarrollar sus propios programas de
aplicación sin la participación operativa del personal del departamento de informática.
Este tipo de programas o sistemas se conoce como cómputo de usuario final. De manera común son lenguajes
que permiten la interacción directa del usuario en funciones de consulta y actualización de información.
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 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ían 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.
70
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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 (Programación Orientada a Objetos), 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
Estos son los lenguajes más representativos y utilizados dadas sus características de sintaxis, poder de sus
instrucciones y velocidad de proceso:
LENGUAJES DE PROGRAMACION:
FLASH
JAVA
SOAP
HTML
DELPHI
JAVA
SCRIPT
XML
LENGUAJE C++
ADA, que debe su nombre a Ada Lovelace, asistente de Babbage en el desarrollo de la máquina analítica.
Definitivamente se trata de un lenguaje de características avanzadas, que incluye manejo dinámico de
memoria y recursividad, así como facilidades integradas para manejo de programación concurrente, pero la
71
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
realidad es que no a tenido la difusión prevista, y es solo uno más en la gran familia de lenguajes de
programación, a causado una gran polémica en términos académicos, por que se discute que el lenguaje es
demasiado grande y poco elegante, que la tendencia moderna en lenguajes de programación es que sean
pequeños y funcionales.
ALGOL, poderoso lenguaje de aplicaciones científicas que surge en la década de 1960. Este lenguaje fue el
primero con sintaxis definida de manera formal y matemática, y puede ser considerado como el iniciador de
la familia de lenguajes de programación estructurada. Un programa en ALGOL consiste en módulos
conocidos como: procedures, que pueden estar anidados y pueden ser llamados recursivamente.
BASIC, lenguaje dedicado fundamentalmente a la programación de máquinas pequeñas. Fue diseñado en
1964, es casi el único de los lenguajes de programación no estandarizado. En programa en BASIC consta de
un conjunto de renglones numerados (aunque hay versiones que ya o requieren esto) se puede llamar a
subrutinas.
C, lenguaje especializado en la programación de sistemas. Diseñado a principio de la década de 1970, se
emplea para escribir compiladores y sistemas operativos; su manejo de memoria es dinámico.
COBOL, uno de los primeros lenguajes de programación, fue diseñado en 1958 dentro de un comité
norteamericano llamado CODASYL, y se sigue usando mucho para aplicaciones comerciales y
administrativas. Un programa un COBOL consta de cuatro ―divisiones‖ (identification, environment data y
procedure), que tienen que ser especificadas siempre. Los programas tienden a ser grandes y están llenos de
palabras y frases cortas en inglés, sin bastante legibles, su manejo de memoria es estático.
FORTRAN, fue el primer lenguaje de programación diseñado en 1957 por IBM, y su principal aplicación es
en las áreas de ingeniería. Un programa en FORTRAN puede estar constituido por un programa principal
varias subrutinas, su manejo de memoria es estático.
PASCAL, es un lenguaje de programación muy popular, sobre todo para máquinas pequeñas; consiste en
módulo que pueden ser anidados y llamados recursivamente, permite la definición de estructuras de datos que
van más allá de las tradicionales su presta para la programación estructurada.
PL / I, es un lenguaje de programación muy amplio y extenso que IBM propuso en 1965 como alternativa
para trabajos científicos y comerciales. Un programa en PL / I consiste en un procedimiento principal, dentro
72
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
del cual se pueden anidar bloques, su manejo de memoria puede ser estático o totalmente dinámico y
recursivo.
RPG, es un lenguaje diseñado por IBM para producir como su nombre lo indica informes administrativos y
comerciales. Los programas en RPG no son legibles ni claros y tienen que ser codificados en hojas especiales.
APL, es un poderoso lenguaje de aplicación especial y matemática, usado sobre todo en máquinas IBM y que
data de 1961. El lenguaje esta basado en una unificación y extensión consistente de las notaciones
matemáticas existentes, y en una extensión sistemática de un pequeño conjunto de operaciones matemáticas y
lógicas sobre vectores, matrices y árboles.
LISP, es un lenguaje muy usado en la comunidad académica dedicada a la investigación en inteligencia
artificial, maneja en forma dinámica conjuntos llamados listas, por medio de elementos primitivos llamados
átomos. Fue diseñado a principios de la década de 1960.
LOGO, es un lenguaje basado en los mismos principios de LISP, pero expresados en otra forma, es mucho
más fácil de manejar aunque menos poderoso.
PROLOG, este lenguaje fue creado en 1972, a sido adoptado como vehículo de creación de los sistemas y
programas para manejo de inteligencia artificial.
FORTH, es un lenguaje para microcomputadoras que intenta combinar características del lenguaje
ensamblador con una metodología de diseño de software conocida como ―código hilvanado‖.
3.5 LENGUAJE MÁQUINA.
El lenguaje máquina es un grupo de instrucciones que son identificadas directamente por la computadora y le
permiten realizar un proceso. El programa que se almacena en la memoria principal y que permite operar a la
computadora está integrado por instrucciones legibles para está. Es el 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 intérpretes y compiladores.
Fue utilizado en las primeras computadoras. Es un lenguaje de programación que trabaja sin símbolos y hace
referencia a las direcciones reales de la memoria y a los códigos binarios de las instrucciones
Este lenguaje interactúa con el hardware y constituyen el nivel más bajo de programación.
73
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Programar en lenguaje de máquina resulta sumamente complicado ya que es necesario señalar en forma
explicita:
Direcciones de memoria donde debe cargarse cada instrucción del programa.
Direcciones de memoria donde deben reservarse registros para operaciones de entrada/salida.
Direcciones donde deben almacenarse los datos constantes y variables que usará el programa.
Consiste en cadenas de números binarios que es lo único que el CPU entiende directamente. Una instrucción
preparada en cualquier lenguaje máquina tiene al menos dos partes:
Comando operación: le dice a la computadora cual es la función que realizará. Cada componente
tiene un código de operación ―op code‖ para cada una de sus funciones.
Operando: le dice a la computadora donde encontrar o almacenar los datos de las instrucciones que
vayan a ser manejadas.
Asimismo, un lenguaje de máquina compuesto de un número limitado de ―palabras‖ se desarrolla con base en
los bits de la computadora. Estas palabras, a las que se les llama conjunto de instrucciones de la computadora,
permiten al usuario instruir y manipular a la computadora para formar tareas.
Aunque el lenguaje de máquina permite instruir a la computadora para que resuelva nuestros problemas, es
mucho menos eficiente y más difícil de manejar en la comunicación humana. Una simple instrucción en el
lenguaje humano, requiere de muchas palabras en lenguaje de máquina.
Es el lenguaje propio de la computadora, basado en el sistema binario, o código máquina, resulta difícil de
utilizar para las personas. El programador debe introducir todos y cada uno de los comandos y datos en forma
binaria, y una operación sencilla como comparar el contenido de un registro con los datos situados en una
ubicación del chip de memoria puede tener el siguiente formato: 11001010 00010111 11110101 00101011.
La programación en lenguaje máquina es una tarea tan tediosa y consume tanto tiempo que muy raras veces lo
que se ahorra en la ejecución del programa justifica los días o semanas que se han necesitado para escribir el
mismo.
Es utilizado muy raramente para el desarrollo de programas de aplicación. También es conocido como
lenguaje de primera generación. Todas las instrucciones y datos se especifican en ceros y unos (binario). En
la actualidad es poco frecuente su uso.
74
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los lenguajes maquina son aquellos cuyas instrucciones son directamente entendibles por la computadora y
no necesitan traducción posterior para que la UCP pueda comprender y ejecutar el programa. Las
instrucciones en lenguaje máquina se expresan en términos de la unidad de memoria mas pequeña, el bit
(digito binario 0 o bien 1), en esencia una secuencia de bits que especifican la operación y las celdas de
memoria implicadas en una operación. Una serie de instrucciones en lenguaje máquina son:
0010 0000 0000 1001
1001 0001 1001 1110
Como se puede observar, estas instrucciones serán fáciles de leer por la computadora y difíciles por un
programador, y viceversa. Esta razón hace difícil escribir programas en código o lenguaje máquina y requiere
buscar otro lenguaje para comunicarse con la computadora, pero que sea más fácil leer o escribir y leer por el
programador. Para evitar la tediosa tarea de escribir programas en lenguaje máquina se ha diseñado otros
lenguajes de programación que facilitan la escritura y posterior ejecución de los programas. Estos programas
son los de bajo y alto nivel.
La programación en lenguaje máquina es difícil, por ello se necesitan lenguajes que permitan simplificar este
proceso. Los lenguajes de bajo nivel han sido diseñados para ese fin.
Dirección
Contenido
0100
0010
0000
0000
0100
0101
0100
0000
0000
0101
0102
0011
0000
0000
0110
.
.
.
.
.
.
.
.
.
.
Instrucciones en lenguaje máquina
75
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
3.6 ¿QUÉ ES UN TRADUCTOR DE LENGUAJES?
Se han desarrollado algunos lenguajes de alto nivel para facilitar la programación a los usuarios. Sin embargo,
antes de que se ejecuten los programas en estos lenguajes, se deben traducir a lenguaje de máquina, que la
computadora entiende. El software de sistemas conocido como traductor de lenguajes realiza esta tarea.
Existen dos tipos comunes de traductores de lenguajes en las computadoras personales: los intérpretes y los
compiladores.
Compilador
Es un programa que lee el código escrito en un lenguaje (lenguaje origen), y lo traduce o traduce en un
programa equivalente escrito en otro lenguaje (lenguaje objetivo). Como una parte fundamental de este
proceso de traducción, el compilador le hace notar al usuario la presencia de errores en el código fuente del
programa.
Programa Fuente
Compilador
Programa Objeto
La compilación de programas.
Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel al
lenguaje máquina. Los programas escritos en lenguajes de alto nivel se llaman programas fuente y el
programa traducido programa objeto o código objeto. El compilador traduce sentencia a sentencia el
programa fuente. Los lenguajes compiladores típicos son: C, C++, PASCAL, FORTRAN, COBOL.
La compilación y sus fases.
La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto
obtenido de la compilación a sido traducido normalmente a código máquina.
76
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador
(linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable.
Interprete
Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. Los
interpretes en lugar de producir un Lenguaje objetivo, como en los compiladores, lo que hacen es realizar la
operación que debería realizar el Lenguaje origen. Un intérprete lee el código como esta escrito y luego lo
convierte en acciones, es decir, lo ejecuta en ese instante. Los programas interpretes clásicos son: Basic, Q
Basic y QuickBASIC. La siguiente figura muestra el funcionamiento de un intérprete.
Programa Fuente
Interprete
Traducción y ejecución
línea a línea
77
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Diferencia entre Compilador e Intérprete
Los compiladores difieren de los intérpretes en varios aspectos: Un programa que ha sido compilado puede
correr por si solo, pues en el proceso de compilación se lo transformo en otro lenguaje (lenguaje máquina).
Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en
acciones. La ventaja del intérprete es que dado cualquier programa se puede interpretarlo en cualquier
plataforma (sistema operativo), en cambio el archivo generado por el compilador solo funciona en la
plataforma en donde se lo ha creado. Pero por otro lado un archivo compilado puede ser distribuido
fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el
intérprete. Hablando de la velocidad de ejecución un archivo compilado es de 10 a 20 veces más rápido que
un archivo interpretado.
3.7 ELEMENTOS DE PROGRAMACIÓN.
Los principales elementos de la programación son: Algoritmo, Pseudocódigo, Diagrama de Flujo.
Algoritmo: Es un procedimiento paso a paso para resolver un problema en una cantidad finita de tiempo.
Cada paso debe requerir sólo un tiempo finito y recurso de cómputo finito

Debe realizar una tarea específica.

Debe ser claro y inequívoco.

Debe definir la secuencia de pasos lógicos requeridos para llevar a cabo la tarea, es decir, debe
especificar los pasos en orden.

El número de pasos debe ser finito
Para la construcción de un algoritmo se realizan tres módulos:
1. ENTRADA DE DATOS.
Acción u operación que permite el ingreso de los datos del problema.
2. PROCESAMIENTO DE DATOS.
Operación u operaciones secuénciales, lógicas y organizadas, cuyo objetivo es obtener la solución al
problema al procesar los datos de entrada.
78
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
3. SALIDA DE RESULTADOS.
Operación o conjunto de operaciones que permiten comunicar al exterior los resultados alcanzados.
Ejemplo:
El algoritmo tendrá como objetivo especifico realizar la suma de dos números.
Inicio
Introducir el primer número.
Introducir el segundo número.
Realizar la suma del primer número con el segundo número.
Imprimir resultado.
Fin.
Pseudocódigo
Es un lenguaje de especificación, la descripción de algoritmos y diagramas de flujo, permitiendo pasar a la
traducción de un lenguaje de programación. Esta compuesto de frases escritas en lenguaje natural.
En la conversión de los diagramas de flujo a pseudocódigos, es fundamental el uso de las llamadas estructuras
de control o algorítmicas.
El pseudocódigo traduce todos los símbolos y funciones representados en el diagrama de flujo, para ser
traducidos generalmente en un lenguaje de alto nivel. Con base en esto tenemos que:
El pseudocódigo es compacto
Puede modificarse fácilmente.
Se utilizan palabras claves en mayúsculas en español.
Se construye de manera estructurada (de arriba hacia abajo).
Ejemplo: Pseudocódigo de la suma de dos números.
Comienza
Lee (N1)
Lee (N2)
Suma = N1 + N2
Escribe (suma)
Termina.
79
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Diagrama de Flujo.
Es una de las técnicas de representación gráfica de algoritmos más antigua y a la vez más utilizada, aunque su
empleo ha disminuido considerablemente, sobre todo desde la aparición de lenguajes de programación
estructurados. Un diagrama de flujo es un diagrama que utiliza los símbolos estándar mostrados a
continuación:
TERMINAL O INICIAL
PROCESO
ENTRADA/SALIDA DE DATOS
CONECTOR REDONDO ESTE ES INTERNO Y VA ADENTRO DE UNA
PAG.
PROCESO DEFINIDO.
ENTRADA MANUAL
MANUAL DE OPERACIÓN.
DECISIÓN
FLECHAS DE DIRECCION DEL DIAGRAMA.
Un diagrama de flujo tienen los pasos a seguir de un algoritmo escrito dentro de estos símbolos unidos por
flechas denominadas líneas de flujo que indican la secuencia en que se deben ejecutar.
80
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
INICIO
N1, N2
S = N1 + N2
S
FIN
3.8 PROGRAMACIÓN ESTRUCTURADA.
La programación estructurada permite la escritura de programas fáciles de leer y modificar. En un programa
estructurado el flujo lógico se gobierna por las estructuras de control básicas: - secuénciales, repetitivas y
selectivas.
Se refiere a un conjunto de técnicas que han ido evolucionando. Estas técnicas aumentan considerablemente
la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los
programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan
la complejidad de los problemas y que reducen los errores. Esta incorpora: diseño descendente, recursos
abstractos y estructuras básicas.
Recursos abstractos: Consiste en descomponer una determinada acción compleja en términos de un número
de acciones más simples capaz de ejecutarlas.
Diseño descendente: Consiste en efectuar una relación entre las sucesivas etapas de estructuración. Es decir,
se descompone el problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada
estructura desde dos puntos de vista: ¿lo que hace? y ¿cómo lo hace?
Los objetivos de la programación estructurada son:
Establecer procesos de diseños
Establecer lógicas sencillas y comprensibles
81
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Realizar estructuras fáciles de modificar
Elaborar objetivo del programa que resuelva las necesidades
Realizar programas de alta calidad
Los elementos que forman la programación estructurada:
MODULARIDAD
ESTRUCTURAS DE
CONTROL
PROGRAMACIÓN
ESTRUCTURADA
ESTRUCTURAS DE
DATOS
DISEÑO
ASCEDENTE
DESEÑO
DESCENDENTE
DISEÑO ESTRUCTURADO
Define que un programa puede ser dividido en módulos para lograr mejor calidad dentro de la programación.
Se le llama programación modular.
Un módulo es una secuencia de instrucciones que se agrupan con un objetivo único: desarrollar una tarea
específica.
Modularidad: es un método que tiene la función de dividir un sistema o programa de mayor tamaño en
pequeñas unidades o subrutinas que desarrollen procesos individuales para lograr la resolución de problemas.
El diseño modular se fundamenta en la siguiente estructura:
Cohesión. Hace referencia al grado de integración de las instrucciones de un módulo.
Acoplamiento. Muestra y precisa el grado de relación entre módulos.
Este diseño permite que los sistemas tengan más lógica y sean más comprensibles manejando solamente los
siguientes parámetros:
 Datos de entrada
 Datos de salida
82
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
 Proceso que realiza el módulo.
Entre más cohesión y menor acoplamiento un módulo estará mejor construido.
La definición de cada módulo dentro de un programa o sistema debe de tener las siguientes características:
 Nombre asignado al módulo
 Proceso que realiza el módulo
 Comunicación que tiene con otros módulos.
ESTRUCTURAS DE CONTROL
Permiten establecer el flujo de la información, a través de condiciones y acciones que al ejecutarse, nos dan
un resultado. La programación estructurada define la solución a cualquier problema utilizando las siguientes
estructuras: secuencial, selectiva y repetitiva.
SECUENCIAL: Ejecuta los procesos en orden jerárquico, uno tras otro, cada proceso se define como el
conjunto de instrucciones unidos por la estructura dada.
A
B
C
SELECTIVA: Ejecuta un proceso dependiendo del resultado de la condición, si la condición fue verdadera
ejecuta el proceso 1, pero si el valor de la condición es falso, ejecuta el proceso 2, uniéndose posteriormente
en un proceso 3.
a) Si entonces o alternativa simple.
Se ejecuta una acción cuando se cumple una condición. Esta estructura en inglés se conoce como (if then), su
representación es: IF – THEN
83
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
F
V
F
V
?
?
E
D
b) Si – entonces – sino o alternativa doble
Se permite elegir entre dos opciones o alternativas posibles, de tal forma que si el resultado es verdadero se
sigue por el camino correspondiente y se procede a ejecutar las acciones, pero si el resultado de la condición
es falso entonces se sigue el otro camino y se procede a ejecutar las acciones. Esta estructura en inglés se
conoce como (if then else).
IF – THEN – ELSE
?
C
D
c) Según _ sea, caso de o alternativa múltiple
Permite que el flujo del diagrama se divida por varios caminos en el punto de la toma de decisión,
dependiendo el valor d que tome el resultado es la acción que se ejecutará. Si el resultado toma el valor de 1,
se ejecutará la acción 1, si el resultado toma el valor n, se ejecutará la acción n.
84
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
CASE (EN CASO DE)
?
C
R
D
ESTRUCTURA REPETITIVA
Permite repetir una o varias acciones un número determinado de veces. A las estructuras que repiten una
secuencia de instrucciones, un número determinado de veces, se denomina bucles, y se les llama iteración al
hecho de repetir la ejecución de una secuencia de acciones.
Este tipo de estructura esta conformada en tres partes:
a) Estructura mientras (en inglés while o do while).
Es aquella que se ejecuta mientras la condición evaluada resulte verdadera, esta estructura es adecuada para
utilizar un ciclo que se aplica un número determinado de veces, repitiendo una operación, acción o tarea. Si la
condición es falsa de entrada, no se realizará ninguna de las acciones asignadas.
b) Estructura repetir (en inglés repeat)
Se ejecuta un número definido de veces y se ejecuta hasta que se cumpla una condición determinada, que se
comprueba al final del bucle. En esta estructura el cuerpo del bucle se ejecuta al menos una vez. Cuando la
instrucción repetir se ejecuta, se hace la ejecución del bucle y se evalúa la expresión booleana resultante de la
condición, si es falsa el cuerpo del bucle se repite y la expresión se vuelve a evaluar, después de cada
iteración del cuerpo del bucle, se evalúa, si resulta verdadera el bucle termina y pasa a la siguiente
instrucción.
85
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
WHILE DO
REPEAT UNTIL
F
F
?
?
c) Estructura desde / para (en inglés for)
Se utiliza cuando se conoce el número de veces que se desea ejecutar las acciones de un bucle en el que el
número de interacciones es fijo. Comienza con un valor inicial índice (contador inicial) y las acciones
especificadas se ejecutan si el valor inicial es menor que el valor final (contador final). La variable índice se
incremente en uno y si el valor no excede al final, se ejecuta de nuevo las acciones.
Ci ≤ Cf
ACCIONES
INCREMENTAR Ci
AUTOMATICAMENTE
86
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA
Con la programación estructurada elaborar programas de computador sigue siendo un albor que demanda
esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes
ventajas:
Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba
hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de
programación. La estructura del programa es más clara puesto que las instrucciones están mas ligadas o
relacionadas entre sí, por lo que es más fácil comprender lo que hace cada función.
Reducción del esfuerzo en las pruebas. El programa se puede tener listo para producción normal en un tiempo
menor del tradicional; por otro lado, el seguimiento de las fallas ("debugging") se facilita debido a la lógica
más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente. Reducción de los
costos de mantenimiento. Programas más sencillos y más rápidos Aumento de la productividad del
programador Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en
programación Los programas quedan mejor documentados internamente.
TIPOS DE DISEÑO
Técnica que se emplea en la creación de programas utilizando las estructuras de control y la modularidad.
Dentro de ésta técnica se manejan el diseño TOP-DOWN y BOTTOM-UP.
TOP-DOWN
En este diseño se trabajan los módulos de arriba hacia abajo, iniciando por el módulo principal o programa
principal.
Características: define el diseño de cada módulo para la resolución del problema, a través de sus instrucciones
y estructuras de control. Definir que función realiza cada módulo sin entrar a detalle, esto es, como realizan
las operaciones.
87
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Ejemplo de la estructura del modelo Top-Down:
MODULO PINCIPAL
EMPRESA
PERSONAL
CONTRATOS
FINANZAS
NOMINA
CUENTAS POR
COBRAR
CUENTAS
POR PAGAR
BOTTOM-UP
En este diseño se trabajan los módulos de abajo hacia arriba, inicia por identificar los procesos elementales.
Características: identificar cada módulo y, las funciones que realizarán para atacar cada problema. Manejar a
detalle los procesos de cada módulo que se está creando y la comunicación que tendrá con los elementos
externos. Se obtiene buen resultado si se combina con la técnica TOP-DOWN.
UNIDAD IV: AMBIENTES DE PROCESAMIENTO DE DATOS.
Los ambientes de procesamientos de datos más utilizados dentro del campo de la informática son: ―El
Procesamiento en Batch, el cual es una técnica en la cual un número de transacciones de datos es colectado
durante un periodo y agregado por un procesamiento secuencial‖; el siguiente es: ―El Procesamiento en Línea,
el cual es donde las operaciones de procesamiento permiten la interacción directa de los usuarios con sus
sistemas de computo‖; el siguiente es: ―El Procesamiento en Tiempo Real, el cual es un sistema complejo de
procesamiento en línea en que la información se procesa y los archivos se consultan inmediatamente, es decir,
que un sistema de tiempo real es aquel que puede recibir datos, procesarlos y regresar los datos al usuario en
forma bastante rápida‖; el siguiente es: ―El Procesamiento en Paralelo, es aquel en donde se refiere a los
conceptos de acelerar la ejecución de un programa dividiendo el programa en múltiples fragmentos que se
pueden ejecutar simultáneamente, cada uno con su propio ordenador‖; el siguiente es: ―El Procesamiento
Distribuido, que es aquel método de procesamiento de la información en el que varios programas en ejecución
en paralelo, en la misma máquina o que son distribuidos entre los ordenadores o computadoras
interconectados a través de una red de comunicaciones, colaboran en la realización de una sola tarea
especifica‖ y por último: ―Las Fases para el Procesamiento de una Aplicación las cuales están especificadas
para el procesamiento de datos.
88
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
4.1 PROCESAMIENTO EN BATCH
Técnica en la cual un número de transacciones de datos es colectado durante un periodo y agregado por
procesamiento secuencial. Procesamiento por lotes o batch. Es un modo de procesamiento que funciona en el
sistema operativo de una computadora, donde los trabajos son procesados de manera secuencial o por lotes; es
decir, el primer programa que entra es el primero que se ejecuta, luego el segundo y así sucesivamente hasta
que se procesan todos los programas.
Esta técnica no es muy utilizada para trabajar con una computadora, ya que consiste en introducir los
programas, datos y órdenes deseados por medio de tarjetas perforadas, para que el sistema de computo los
procese en estricto orden secuencial y en un tiempo que no es el del usuario, sino que esta determinado por
las colas de servicio y la cantidad de proceso pendientes en el sistema.
En esta modalidad los registros son agrupados y después procesados todos a la vez. Es decir, es el
procesamiento de un grupo de transacciones de una sola vez. En este tipo de procesamiento las transacciones
se juntan en lotes y se procesan como un solo grupo. Este procesamiento implica el reagrupamiento de datos
para su procesamiento posterior. Puede usar el sistema de acceso secuencial o acceso directo. Este tipo de
procesamiento comienza con un documento fuente (forma en la cual se inscribió la transacción original, por
ejemplo: pedidos, pagarés en base a tarjetas de crédito, solicitudes, etc.). Luego, la información es examinada
por un programa editor (se asegura que la información sea registrada propiamente) y finalmente el lote es
procesado.
En el procesado en lotes, como su nombre lo indica, todos los datos y las transacciones se codifican y reúnen
en grupos (lotes) antes de ser procesadas. El procesamiento de los datos es por lo tanto periódico: según
determinado intervalos o periodos, se procesan datos que han sido clasificados en lotes. El procesado puede
hacerse cada hora, cada dos horas, cada ocho horas y así sucesivamente.
Cuando los documentos fuente se introducen juntos en la computadora, el conjunto se procesa luego por lotes.
Un lote puede variar de tamaño desde unas pocas transacciones hasta varias miles de ellas.
El proceso por lotes se puede utilizar, por ejemplo, para archivos como las cuentas por cobrar, y se almacenan
en cinta magnética.
89
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El procesamiento por lotes incluye dos variantes: El procesamiento secuencial y el procesamiento aleatorio.
Supongamos que un archivo maestro va a ser leído según el modo de procesamiento por lotes en forma
secuencial.
Antes del proceso de lectura, que puede implicar la comprobación de las nuevas cantidades de las ventas a
crédito o los pagos de contado que se hicieron en la cuenta, los registros de las transacciones deben ser
clasificadas en el mismo orden en que se encuentran los registros en el archivo maestro. Las transacciones son
agrupadas en un lote, dispuestas en orden adecuado para un acceso eficiente, y posteriormente procesadas
contra el archivo maestro. Es mucho más eficiente tener tanto las transacciones, como los archivos maestros,
en el mismo orden puesto que de esta manera el archivo maestro puede ser leído secuencialmente, registro por
registro de otra forma tendría que ser recorrido hacia delante y hacia atrás para cada transacción.
En el proceso aleatorio por lotes, las transacciones de entrada se pueden procesar contra al archivo sin tener
que ser preclasificado. Esta capacidad es muy útil con las organizaciones aleatorias en las cuales es posible
almacenar los registros con acceso directo, de la misma manera que los archivos en un disco y un tambor
magnético. Puesto que no es necesaria la clasificación previa ni el examen de cada uno de los registros, el
procesado por lotes en forma aleatoria es un modo de procesamiento comparativamente mucho más rápido.
Sin embargo, si un alto porcentaje del archivo va ser accedido durante una solo corrida de proceso,
probablemente se ahorrara tiempo clasificando previamente el archivo y procesándolo posterior mente en
lotes secuénciales. Este procedimiento es mas rápido que el tener que calcular las direcciones para todos los
registros accedidos.
Se establece cuando las características de la información a procesar sean tales que no requieren un tiempo de
respuesta inmediato.
Un proceso por lotes es una técnica mediante la cual, un número de tareas se agrupan y se procesan en un
orden determinado. Una lista de tareas en espera de ser procesadas es conocida como cola de espera y el
orden de ejecución de cada uno de los procesos es controlado por el administrador de trabajos del sistema
operativo.
4.1.1
DESCRIPCIÓN.
Es una manera de ejecutar programas y someterlos en una fila de ejecución sin que este conectado a la
máquina. Este modo de procesamiento es conocido como batch o procesamiento en lote.
90
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los programas en batch son ejecutados de acuerdo con la carga y disponibilidad del sistema, con límites de
memoria en CPU especificados por el usuario de acuerdo con las necesidades de su aplicación. La siguiente
tabla muestra, de forma resumida, el sistema de filas y comandos para manipulación de tareas en lote.
Sistema de Filas
NQS
Sumisión
Qsub
Remoción
Qdel
Monitoración
Qstat
Jstat
4.1.2
EVOLUCIÓN.
El procesamiento por lotes (batch processing) se inicio alrededor de los años 60 con las primeras y enormes
computadoras. Su manejo era tan complicado que solo expertos programadores tenían la capacidad de
operarlas y dado su elevado costo, era solo posible de ser adquiridas por bancos y entidades de gobierno.
Dentro de este tipo de procesamiento, la forma de comunicarse con las computadoras eran las tarjetas
perforadas. Aquellas tarjetas de esquina recortada y agujeros rectangulares eran la programación, es decir las
instrucciones que le indicaban, una vez dentro, lo que la máquina debía hacer.
Todos los trabajos asignados a la computadora no podían ser efectuados al mismo tiempo, por lo que era
necesario determinar horarios y cantidades de tarjetas para ser procesadas secuencialmente y por lotes; es así
como nace el nombre "procesamiento por lotes". Modalidad de procesamiento en que el usuario envía lotes de
información para ser procesados y espera la respuesta, la que puede demorar algunos minutos, horas o quizás
días, dependiendo de la instalación.
4.1.3
CARACTERISTICAS.
Las características principales son: La no existencia de interacción entre el usuario y la maquina y el
agrupamiento de equipos de computo. Se retrasa un poco.
91
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Cuando se desarrollaron por primera vez, estaban caracterizados por la "agrupación en bloques" de trabajos
similares. Los modernos sistemas utilizan otras características. El rasgo característico de un sistema por lotes
es la ausencia de interacción entre el usuario y el trabajo mientras éste se ejecuta. El trabajo se prepara y se
envía. Tiempo después aparece la salida.
4.1.4
VENTAJAS Y DESVENTAJAS.
Dentro de las ventajas tenemos:
Es confiable, puede manejar gran cantidad de registros y procesa los datos simultáneamente.
Dentro de las desventajas tenemos:
El inconveniente de este modo de procesamiento es que si se desea ejecutar un programa con alta prioridad,
tendrá que esperar a que se procesen todos los programas que se encuentren antes que éste. Era confiable,
pero no tenía la rapidez del procesamiento en línea. Produce retraso lo cual impide que los usuarios reciban
información vital que quisieran tener inmediatamente. No se ejecutan dos a la vez.
4.2
PROCESAMIENTO EN LINEA.
Son operaciones de procesamiento que permiten la interacción directa de los usuarios con sus sistemas de
cómputo. Procesamiento general de datos en el que, una vez que se ha tenido acceso a la computadora, todos
los datos son introducidos directamente desde el punto de origen y procesados de inmediato; en estos sistemas
existen archivos llamados dinámicos que se están actualizando constantemente. Ejemplo de este tipo de
procesamiento son las transacciones bancarias y las telereservaciones aéreas.
4.2.1
DESCRIPCION
El procesado en línea es virtualmente el opuesto al procesado en lotes. Según este modo las transacciones no
necesitan ser reunidas en grupos o lotes para ser leídas a la memoria.
A diferencia del procesamiento por lotes o batch, el procesamiento en línea implica que los programas se
ejecuten de tal forma que los datos se actualicen de inmediato en los archivos de la computadora. En un
sistema de cómputo, los componentes de entrada, salida y almacenamiento de datos reciben datos
provenientes del procesador y se los transmite a través de cables eléctricos, o ―líneas‖. Por ello se dice que
estos componentes de hardware están en línea con el procesador. Aquellos dispositivos de hardware que no
sean accesibles al procesador o que no estén bajo el control del mismo se dice que están fuera de línea.
92
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En línea y fuera de línea es un concepto que también se aplica a los datos. Se considera que los datos están en
línea si el procesador puede obtener acceso a ellos y manipularlos. Todos los otros están fuera de línea
Una forma más para acelerar la máquina consiste en conformar el hardware con varias unidades funcionales
y después unirlas para que trabajen en línea o en forma escalonada (pipeline).
El procesamiento en línea implica que las actividades y la interacción con el procesador puedan ocurrir desde
ubicaciones remotas, pero desde luego esto también implica que los archivos estén en línea. Esto significa que
los archivos se almacenen en un dispositivo de acceso directo de manera que una persona pueda tener acceso
rápido o inmediato a los datos solicitados.
Los factores que deben ser considerados para determinar cuando un procesamiento en línea es el más
adecuado para una aplicación son los siguientes:
 Tiempo de respuesta: es el número de segundos , minutos o bien horas que transcurren entre el
tiempo en que ocurre una transacción o una pregunta entra al flujo del proceso, y el tiempo en que el
CPU emite una información o una respuesta a todo lo anterior.
 Detalles de los reportes: la cantidad de detalle y el número de línea en los reportes elaborados por
computadora son muy significativos en la determinación del modo de procesamiento. Desde luego
las impresoras en línea funcionan a una velocidad mucho más alta que la mayoría de los dispositivos
terminales.
 Volumen de entradas: el número de elementos que se van a introducir en un sistema para ser
procesados debe también ser considerado cuando se seleccionan un modo de procesamiento. Si el
número de os elementos es muy grande, puede ser mucho más efectivo ingresarlos directamente a un
medio de almacenamiento magnético.
 Utilización de un archivo.
4.2.2 EVOLUCION
El procesamiento en línea se ha convertido en el enfoque preferido en computación debido a la velocidad con
la que se maneja la información. Sin embargo, no es la única modalidad de procesamiento de datos
disponibles.
Mucho antes de que fuera posible el procesamiento en línea, el procesamiento por lotes (batch) era el método
usado por muchas organizaciones
93
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
4.2.3
CARACTERISTICAS
El punto fuerte del procesamiento en línea es la capacidad del usuario de interactuar directamente con la
computadora. El usuario puede trabajar directamente con el procesador a través de una terminal o de una
estación de trabajo. Siempre podemos estar conectados.
En el procesamiento en línea no se necesita de un intermediario entre el usuario y la computadora. El
procesado en línea implica la comunicación directa entre el CPU y el usuario tanto para las entradas como
para el resultado de salida.
4.2.4
VENTAJAS Y DESVENTAJAS.
Por ventajas tenemos:
El usuario tiene acceso inmediato a la información lo que le permite responder rápidamente a las necedades
de su organización y reaccionar con velocidad ante situaciones críticas. Se pueden utilizar dos a la vez, son
muy rápidos.
Los usuarios utilizan una línea de comunicación para trabajar directamente con su computadora. Pueden
interactuar con los programas que estén siendo procesados
y realizar muchas labores de información,
seleccionando datos de uno o varios archivos computarizados.
Por desventajas tenemos:
Puesto que se requiere de trabajo extra para eliminar un gran número de registros de un archivo, existe la
tendencia de dejar en esté grandes porciones de datos obsoletos o no utilizables de cualquier otra forma, lo
que hace que el tamaño del archivo crezca continuamente. El usuario irremediablemente pagara este costo en
pequeñas cantidades debido al tiempo de acceso cada vez más largo. En si no hay desventajas a salvo que los
programas estén jalando mal.
4.3
PROCESAMIENTO EN TIEMPO REAL
Es un sistema complejo de procesamiento en línea en que la información se procesa y los archivos se
consultan inmediatamente.
Un sistema de tiempo real es aquel que puede recibir datos, procesarlos, y regresare los datos al usuario en
forma bastante rápida para afectar las actividades del usuario, esto es, lo suficientemente pronto para permitir
94
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
que los resultados sean utilizados en el trabajo que se está desarrollando. Esto contrasta con el atraso
inherente que es la característica de retardo normal en todos los sistemas de procesado por lotes.
4.3.1
DESCRIPCION
Este tipo de procesamiento incorpora la interconectividad entre un usuario y las bases de datos con las que
trabaja, donde la información se actualiza en forma automática para estar inmediatamente accesible para
cualquier otra persona que la requiera, lo que, además de permitir una atención eficaz y una excelente gestión
de la información lo que favorece la toma oportuna de decisiones.
Esta modalidad está diseñada para responder en forma inmediata a las transacciones del usuario. Tiempo real
significa sin demora y respuesta instantánea. Se procesa cada transacción, según va entrando a la
computadora, y le transmite la información resultante al operador, es decir, actualiza la información.
Requiere archivos de acceso directo. Ejemplo: muchas agencias de viajes utilizan este proceso para hacer las
reservaciones porque los precios y los espacios disponibles están cambiando constantemente y hay que
actualizarlos. Otro ejemplo son los mini bancos (ATH, ATM, máquinas automáticas).
Las aplicaciones de tiempo real son indispensables en aquellos casos en que los datos contenidos en los
archivos se modifican varias veces en el transcurso de un día y se consultan en forma casi inmediata con las
modificaciones que se efectuaron. Un ejemplo de lo anterior es un sistema de reservaciones en alguna línea
aérea.
4.3.2 EVOLUCION
Las formas más elaboradas y rápidas de procesamiento en línea son los sistemas de tiempo real. Se puede
decir que el procesamiento en tiempo real se desarrollo a partir del procesamiento en línea con la necesidad de
no sólo proporcionar al usuario acceso inmediato a una amplia gama de archivos sino también permitir que
varios usuarios tengan acceso a los sistemas de computo.
4.3.3 CARACTERISTICAS
El procesado en tiempo real no puede identificarse únicamente en términos de segundos o minutos. En su
lugar depende del contexto en el cual el procesamiento ocurra.
El factor importante no es el tiempo de respuesta absoluto, sino el tiempo transcurrido relativo o con
referencia a las necesidades del usuario y sus actividades especificas de trabajo.
El término tiempo real puede tener diferentes significados. Debe distinguirse entre sistemas que aceptan datos
en tiempo real y aquellos que procesan en tiempo real.
95
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Se caracteriza porque permite que el usuario tener una interacción directa con el proceso, permitiendo que se
introduzcan datos y se obtengan resultados casi de inmediato.
4.3.4 VENTAJAS Y DESVENTAJAS
Las ventajas son:
Los sistemas de tiempo real ofrecen acceso inmediato a la información y manejan todas las transacciones en
el momento que ocurren.
Cada sistema en tiempo real da apoyo a una organización dinámica, que maneja información que cambia
rápidamente y que proviene de diferentes fuentes. La información se procesa en el momento en que se
produce, proporcionando a los usuarios información lo más actualizada posible.
Las desventajas son:
Los sistemas de procesamiento en tiempo real son configuraciones complejas y costosas, pues aportan
operaciones de cómputo que requieren de un alto grado de protección.
4.4 PROCESAMIENTO EN PARALELO
Otra corriente del pensamiento sobre la producción de computadoras más rápidas es construirlas con más de
un procesador. Esta no es una idea nueva en el campo de las Mainframe y las Supercomputadoras. De hecho,
la IBM 3090 tenía de 2 a 4 procesadores, y la Cray X MP 4 tenía 4 procesadores. Algunas compañías están
desarrollando computadoras con 256, 512 e incluso miles de microprocesadores, conocidos como
procesadores paralelos masivos. Por ejemplo INTEL, junto con el Laboratorio Nacional Sandia del
departamento de Estados Unidos contribuyo lo que se conoce como la supercomputadora más grande del
mundo. Esta incluye más de 7200 procesadores Pentium Pro y alcanza velocidades de 1.06 teraflops, es decir
billones de operaciones de punto flotante por segundo.
4.4.1
DESCRIPCION
Uso coordinado de múltiples procesadores para realizar tareas computacionales. El procesamiento paralelo
puede ocurrir en una computadora con múltiples procesadores o en una red de estaciones de trabajo o PCs.
Procesamiento en paralelo, se refieren a los conceptos de acelerar la ejecución de un programa dividiendo el
programa en múltiples fragmentos que se pueden ejecutar simultáneamente, cada uno con su propio
procesador.
96
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Un programa ejecutado a través de x procesadores va a ejecutar la misma operación x veces más rápido que
si se usara un solo procesador. Tradicionalmente, los múltiples procesadores han sido especialmente
diseñados para hacer procesos paralelos.
Las arquitecturas paralelas tienen un notable incremento en la velocidad de procesamiento.
4.4.2 EVOLUCION
Se tomo como punto de partida el procesamiento en tiempo real, atendiendo a la necesidad de una mayor
velocidad, de acceso a la información, dando como resultado menor tiempo de espera.
4.4.3 CARACTERISTICAS
En computación, el procesamiento paralelo es la ejecución de diferentes procesos en dos o más procesadores
al mismo tiempo, donde estos procesos juntos resuelven un problema completamente. Un proceso debe
entenderse como un fragmento de código en ejecución que convive con otros fragmentos.
4.4.4
VENTAJAS Y DESVENTAJAS.
El procesamiento paralelo ofrece una gran ventaja en cuanto a costos. Sin embargo, su principal beneficio es
la escalabilidad entendiéndose como crecer hacia arquitecturas de mayor capacidad. Esto se debe a que
conforme se añaden procesadores, las disputas por los recursos compartidos se intensifican.
97
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Una ventaja es que puede proveer una ejecución al igual que las supercomputadoras para algunos programas
que ejecutan complejos procesos de datos y operan grandes volúmenes de información.
Aunque el proceso en paralelo ha sido usado durante muchos años en muchos sistemas, es aun de alguna
manera no muy familiar para algunos usuarios.
Algunos diseños diferentes de procesamiento paralelo enfrentan este problema fundamental:

Multiprocesamiento simétrico

Procesamiento masivamente paralelo

Procesamiento paralelo escalable
Cada diseño tiene sus propias ventajas y desventajas.
MULTIPROCESAMIENTO SIMETRICO
El Multiprocesamiento simétrico (symmetric multiprocessing / SMP) tiene un diseño simple pero aún así
efectivo. En SMP, múltiples procesadores comparten la memoria RAM y el bus del sistema. Este diseño es
también conocido como estrechamente acoplado (tightly coupled), o compartiendo todo (shared everything).
98
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
SMP es uno de los diseños de procesamiento paralelo más maduro. Apareció en los supercomputadores Cray
X-MP y en sistemas similares hace década y media (en 1983).
PROCESAMIENTO MASIVAMENTE PARALELO
El Procesamiento masivamente paralelo (Massively parallel processing / MPP) es otro diseño de
procesamiento paralelo. Para evitar los cuellos de botella en el bus de memoria, MPP no utiliza memoria
compartida. En su lugar, distribuye la memoria RAM entre los procesadores de modo que se semeja a una red
(cada procesador con su memoria distribuida asociada es similar a un computador dentro de una red de
procesamiento distribuido). Debido a la distribución dispersa de los recursos RAM, esta arquitectura es
también conocida como dispersamente acoplada (loosely coupled), o compartiendo nada (shared nothing).
99
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
PROCESAMIENTO PARALELO ESCALABLE
¿Cómo superar las dificultades de SMP y MPP? La última arquitectura paralela, el Procesamiento paralelo
escalable (Scalable parallel processing / SPP), es un híbrido de SMP y MPP, que utiliza una memoria
jerárquica de dos niveles para alcanzar la escalabilidad. La primera capa de memoria consiste de un nodo que
es esencialmente un sistema SMP completo, con múltiples procesadores y su memoria globalmente
compartida.
100
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
CLUSTER RECIEN INSTALADO EN HOUSTON, USA EN OFICINAS DE KERR
MCGEE
101
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
A pesar de que el uso de múltiples procesadores puede acelerar muchas operaciones, la mayoría de las
aplicaciones no pueden aun beneficiarse de este proceso, básicamente el procesamiento en paralelo es
apropiado solo si: Su aplicación tiene las instrucciones de paralelismo necesario para hacer uso de múltiples
procesadores. En parte, este es asunto de identificar las porciones del programa que pueden ser ejecutadas
independientemente y simultáneamente en procesadores separados, sin embargo se encontraran algunas cosas
que pueden ser ejecutadas en paralelo y son mas lentas, dependiendo del sistema. Por ejemplo un programa
que dure 4 segundos en ser ejecutado en una maquina puede ser ejecutado 1 segundo de tiempo de procesador
en cuatro maquinas distintas, pero no se consigue mas velocidad ya que si se tomo 3 segundos o mas a estas
maquinas para coordinar sus acciones. Ya sea que la aplicación que se desee, ya ha sido paralelizada (reescrita para tomar ventaja de su procesamiento en paralelo) o si se desea agregar nuevos códigos para tomar
ventaja del procesamiento en paralelo.
Con unas pocas excepciones, el hardware para redes no esta diseñado para procesamiento en paralelo.
Por lo tanto la historia básica es que los clusters ofrecen gran potencial, pero ese potencial puede ser muy
difícil de conseguir para la mayoría de las aplicaciones. La buenas noticias es de que hay mucho software de
soporte que ayudara a conseguir buen desempeño para los programas mejores dotados para este medio
ambiente y hay también redes diseñadas específicamente para agrandar el rango de programas que pueden
conseguir buen desempeño.
102
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
CLUSTER DE PCs RECIEN INSTALADO EN HOUSTON, OFICINAS EL PASO ENERGY
4.5
PROCESAMIENTO DISTRIBUIDO.
Método de procesamiento de la información en el que varios procesos (programas en ejecución) en paralelo,
en la misma máquina o distribuidos entre ordenadores o computadoras interconectados a través de una red de
comunicaciones, colaboran en la realización de una tarea.
103
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Esta colaboración puede ser tan sencilla como distribuir la carga de trabajo entre procesos idénticos, en el
caso de una red de cajeros automáticos, o tan compleja como multitud de procesos distintos,
interdependientes, controlando el vuelo de una nave espacial.
Las redes de procesamiento distribuido facilitan la conexión entre diferentes lugares para transmitir los datos,
permitiendo a la vez poder compartir los diferentes recursos. Los sistemas distribuidos usan una red de
comunicación así como un estrato de software que controla las actividades de la red y del procesamiento. Los
lugares remotos en una red distribuida comparten los datos, transmiten información, o bien, comparten la
carga de procesamiento. Se espera que los sistemas distribuidos aumenten cada vez mas a medida que el
equipo de computo y la tecnología de comunicaciones mejoren capacidad y reduzcan costos.
Procesamiento de datos en el cual dos o más computadoras combinan sus recursos para realizar las
operaciones indispensables.
Es la colocación de servicios de tratamiento de datos dentro de cada grupo de trabajo en una empresa; estos
servicios están interconectados de modo que la información es transportada y compartida eficientemente entre
los grupos.
Sistemas de cómputo que utilizan más de una computadora o procesador para ejecutar una aplicación

Esta definición incluye el procesamiento paralelo: varios CPUs ejecutan una aplicación

El procesamiento distribuido se refiere generalmente a computadoras conectadas en red
4.5.1
DESCRIPCION.
Una colección de computadoras independientes que aparecen ante los usuarios como una computadora única

Esta definición abarca dos aspectos:

Hardware: las computadoras son independientes

Software: los usuarios piensan que el sistema es una única computadora
Aplicaciones distribuidas

Diferentes partes de la aplicación se ejecutan en computadoras diferentes

Ejemplo: framework de integración del ICA
104
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS

El procesamiento distribuido consiste en procesos que se comunican unos con otros

En una arquitectura de un solo procesador (un solo computador) los procesos se comunican mediante
servicios del sistema operativo

La comunicación entre procesos que se ejecutan en diferentes computadoras, se puede ver como una
extensión de los mecanismos de comunicación entre procesos de un sistema operativo
4.5.3
CARACTERISTICAS
Las características más importantes que hay que tener presente en un sistema distribuido para tratamiento en
un sistema, o sea un conjunto de componentes relacionados que comparten la misma finalidad. Una manera
de ver los componentes de un sistema distribuido para el procesamiento es como sigue:
Base de datos.
Funciones del procesamiento de datos.
Centros de procesamiento.
Puntos de acceso para el usuario.
Controles para el procesamiento de datos.
105
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En un sistema distribuido estos componentes se encuentran mezclados, emparejados y diseminados por zonas
geográficas extensas, existiendo tantas maneras de conectarlos entre sí como puedan imaginar los analistas del
procesamiento de datos.
Sin embargo, el comportamiento del sistema resulta afectado por su distribución geográfica en solo tres de
estos componentes:
Las bases de datos, las funciones del procesamiento de datos y los controles para su procesamiento.
Control distribuido.
La disponibilidad muy extendido de canales baratos de comunicación a hecho posible que las empresas cuyas
sucursales están geográficamente separadas, gocen de control y contabilidad sobre su propia rentabilidad a la
vez que mantienen comunicación constante con el departamento central.
Función distributiva.
El término de función distributiva se refiere a la asignación de funciones distintas a las diferentes partes de la
red. La función distributiva hace posible que el procesamiento local significativo permanezca próximo a
quienes lo originan y, por tanto, aseguran mayor exactitud y puntualidad de los datos.
Base de datos.
El término de Base de Datos alude a conjunto entero de los datos almacenados por una empresa. La base de
datos comprende únicamente aquella información que puede ser considerada como recurso común y que es
tratada y esta almacenada en un punto único de la red y puesta a disposición de todos los componentes de la
empresa.
El beneficio del procesamiento distribuido de datos consiste en que los grupos de trabajo distribuido, dentro
de la empresa, puedan realizar procesamiento local a la vez que ganan acceso a las base de datos, y mantienen
tales bases al día con información exacta sobre los productos, servicios, clientes y empleados de la empresa.
4.5.4
VENTAJAS Y DESVENTAJAS.
Las ventajas principales del procesamiento distribuido consisten en que se puede asignar el control y cada
tarea al punto del trabajo mejor situado para garantizar la exactitud de la información; se puede hacer crecer
el sistema entero sin sobre cargar a un servicio único y centralizado; los usuarios disponen de mayor control
sobre las prioridades del procesamiento y, finalmente, el personal vinculado a cada punto de procesamiento
puede estar implicado directamente en las actividades que le afecta.
106
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las redes distributivas permiten que un gran número de sistemas de cómputo puedan estar disponibles y sean
compartidos por todos los usuarios. El procesamiento distribuido permite compartir sistemas a través de
redes de comunicación, de tal manera que una cantidad adecuada de potencia de cómputo se encuentre
disponible para todos los usuarios.
Por el contrario, las mayores desventajas del procesamiento distribuido consisten en que la pericia funcional
debe estar fragmentada a lo largo y a lo ancho de toda la compañía para estar disponible en cada nodo que
algún procesamiento tienen que estar duplicado en el sistema y que las interrupciones de la red pueden afectar
al procesamiento del nodo principal además del que quedó fuera de servicio. También puede consistir en
cálculos extremadamente largos realizados a través de relativamente pequeñas cantidades de datos de entrada.
Ventajas de los Sistemas Distribuidos

Respuesta predecible

Compartición de recursos

Extensibilidad (crecimiento incremental)

Replicación

Disponibilidad continuada
Inconvenientes de los Sistemas Distribuidos
 Pérdida de flexibilidad en la asignación de recursos de procesamiento y memoria
 Dependencia de la fiabilidad y prestaciones de la red
 Falta de información de estado global
 Debilidades de seguridad
4.6
FASES PARA EL PROCESAMIENTO DE UNA APLICACIÒN
Para poder llevar a cabo las fases del procesamiento de una aplicación implica realizar una serie de pasos de
forma secuencial y cronológica que comienza con la detección y definición de un problema que conduce a la
implantación de un programa que lo solucione.
107
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Las fases por las que pasa una aplicación son:
 Análisis: es necesario entender el problema en detalle para poder obtener un valoración del mismo
en términos de los datos disponibles como materia prima, y definir el proceso necesario para
convertir los datos en la información requerida.
 Diseño: se consideran todas las posibles opciones elaborando las especificaciones detalladas del
programa.
 Desarrollo: intervienen la programación de los equipos de cómputo y las pruebas del programa que
sean necesarias para una óptima implementación del mismo.
 Implementación: en esta etapa se da una capacitación y se ve si el sistema funciona o no, además si
el programa esta terminado se pone en marcha. Si llega a haber un error existe una retroalimentación
hacia el desarrollo para detectar posibles fallas.
 Liberación: es cuando el programa ya esta en operación.
 Mantenimiento: un programa que este en operación podría requerir cambios o ajustes en sus datos,
proceso o resultados; esto implica que eventualmente necesitara mantenimiento para adecuarlo a la
dinámica cambiante de los problemas. Lo anterior nos sitúa en una dinámica infinita, ya que si surge
la necesidad de darle mantenimiento tenemos que regresar al punto 1 para definir de nuevo el
problema y si la modificación es pequeña podríamos ir al paso 2, al 3 o a cualquier otro.
DOCUMENTACIÓN
ANALISIS
DISEÑO
DESARROLLO
IMPLEMENTACIÓN
LIBERACIÓN
Programación y
Pruebas
MANTENIMIETNO
Capacitación
MADURACIÓN
Retroalimentación
108
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
OTROS CONCEPTOS:
Multiprogramación. Un solo usuario no puede, en general, mantener todo el tiempo ocupado a
la UCP o a los dispositivos de E/S. La multiprogramación aumenta la utilización de la UCP
organizando los trabajos de manera que ésta siempre tenga algo que ejecutar. El S.O. escoge uno de
los trabajos del depósito y comienza a ejecutarlo. En algún momento el trabajo tendrá que esperar,
ya que el sistema ha pasado el control a otro programa y así sucesivamente. Mientras haya otro
trabajo por ejecutar, la UCP nunca estará inactiva. Se plantea en un sistema de cómputo que puede
tener varios procesos en estado de ejecución simultáneamente. La multiprogramación es una técnica
que permite procesar dos o más programas en forma concurrente mediante la distribución del tiempo
de ejecución entre ellos.
Multiprocesamiento. Es la técnica que permite procesar varios programas el mismo tiempo
mediante la interconexión de dos o mas procesadores centrales que operan simultáneamente o en
combinación.
Monousuario: Esta modalidad implica la atención del sistema la disponibilidad de todos los
recursos única y exclusivamente para los trabajos generados por un solo usuario.
Multiusuario: Varios usuarios trabajan con la misma CPU a través de terminales de trabajo
propias. Los recursos del sistema con compartidos por todos los usuarios y el sistema operativo da
atención conjunta a todos ellos.
El proceso de la información se realiza mediante el uso de técnicas de multiprogramación, tiempo
compartido, multiproceso y memoria virtual.
Tiempo compartido. Utiliza la planificación de la UCP y la multiprogramación para
proporcionar a cada usuario, que tiene su propio programa en memoria, una pequeña porción de un
computador de tiempo compartido. La E/S interactiva es demasiado lenta para un computador por lo
que, para que la UCP no permanezca inactiva, el S.O. la cambiará al programa de otro usuario. Esto
ocurre tan rápidamente que cada usuario tiene la impresión de que cuenta con su propio computador,
cuando en realidad todos lo comparten.
109
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
UNIDAD V: SISTEMA OPERATIVO
El sistema operativo está formado por un conjunto de programas que ayudan a los usuarios a explotar un
ordenador, simplificando por un lado su uso y permitiendo por otro lado obtener un buen rendimiento en la
explotación. Su función principal es gestionar y distribuir los recursos del ordenador.
Un sistema operativo se puede caracterizar desde el punto de vista funcional por varios factores de los cuales
los más representativos son el interfaz de usuario, la capacidad multitarea, la seguridad y la capacidad de
emular otros sistemas operativos.
El sistema operativo original de los PCs es el DOS y todavía está presente en la mayoría de equipos
instalados, acompañando a las primeras versiones de Windows 95. Presenta ventajas importantes, sobre todo
las derivadas de la existencia de un extenso catálogo de aplicaciones desarrolladas por fabricantes y
compañías independientes. Sin embargo DOS posee también una serie de limitaciones importantes,
especialmente si se tiene en consideración la potencia de las unidades de proceso actuales. Los dos principales
inconvenientes son la limitación del tamaño máximo de memoria disponible para la ejecución de un programa
(640 KB), su interfaz de usuario orientado a carácter y su modo natural de operación: monotarea.
Para superar la limitación natural de DOS en relación a la gestión de memoria se han desarrollado técnicas
tales como EMS (Expanded Memory Specification) o XMS (Extended Memory Specification) que permiten
elevar el tamaño máximo de memoria utilizable hasta el límite teórico del procesador.
Existen tres versiones diferenciadas de DOS: MS-DOS (de Microsoft), PC-DOS (de IBM) y DR-DOS (de
Novell), entre las cuales se pueden encontrar diferencias a nivel de órdenes del sistema, integración en redes y
modo de funcionamiento, pero que mantienen compatibilidad a nivel de código. Sobre este punto es
importante indicar que MS-DOS constituye el punto de referencia obligado para los demás fabricantes de
DOS cuyos productos deben demostrar que son compatibles con él.
Para solucionar los problemas inherentes a DOS apareció el sistema operativo Windows 3. Es una extensión
de DOS que ofrece como ventajas más significativas un interfaz gráfico de usuario más amistoso, la
capacidad de multitarea, la compartición de recursos en redes de igual a igual y la capacidad de ejecutar la
gran mayoría de aplicaciones DOS disponibles. No obstante su capacidad de multitarea es muy limitada. Su
éxito en el mercado ha sido innegable, con una cuota que se equiparó a DOS.
110
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La siguiente versión de Windows se denominó Windows 95, y supuso una auténtica revolución dentro de
mundo de los sistemas operativos de los ordenadores PC compatibles. En sus primeras versiones se trataba de
una actualización de Windows 3, que se instalaba sobre éste, pero posteriormente aparecieron versiones que
constituían un auténtico sistema operativo ya independiente de DOS, pero conservando la compatibildad con
áquel. Además, una gran parte de su código estaba desarrollado con código de 32 bits, y pasaba a emplear una
FAT (File Allocation Table, Tabla de Localización de Ficheros) de 32 bits, con lo cual se optimizaba la
capacidad de los discos duros, además de permitir otra serie de ventajas, como nombres de ficheros con más
de 8 caracteres (hasta 256). También se mejoraba la capacidad multitarea, la conectividad Plug & Play, etc.
Este sistema operativo relegó a DOS y Windows 3 a un segundo plano.
La más reciente versión de Windows es Windows 98, que constituye una mejora y actualización de Windows
95, siendo la gran mayoría de su código de 32 bits, teniendo mayor robustez y una mejor gestión de la
memoria virtual que su predecesor.
Otras alternativas a DOS y Windows son los sistemas operativos Windows NT, OS/2 o UNIX. Sin embargo,
sus respectivas cuotas de mercado son sensiblemente inferiores a DOS y Windows.
Windows NT es un sistema operativo que posee las mismas características que Windows y otra serie de
importantes ventajas que le convierten más en una interesante opción como sistema operativo de red que
como sistema operativo de propósito general. Requiere un coste considerable en utilización de recursos, que
se ve compensada por su facilidad de uso (su interfaz gráfico es idéntico al de Windows). La versión 4.0 de
Windows NT es la equiparable a Windows 95, mientras que la versión 5.0 es una actualización mejorada de la
anterior, al igual que sucede con Windows 98 respecto a su predecesor. Windows NT aparece en dos
versiones, Windows NT Workstation, orientada a estaciones de trabajo que precisan de un sistema operativo
más potente y robusto que Windows, y Windows NT Server, empleada en servidores de red y que ofrece
mayores facilidades en las tareas que este tipo de servidor debe acometer.
OS/2 (Operating System/2) es un avanzado sistema operativo multitarea que posee un interfaz gráfico de
usuario, la capacidad de multitarea y la capacidad de ejecutar la mayoría de las aplicaciones desarrolladas
para DOS y Windows (no Windows NT). Sin embargo muchos analistas del mercado de productos
informáticos consideran que, aún siendo un excelente producto, proporciona escasos beneficios a sus usuarios
finales, debido al limitado número de programas de aplicación existentes que son capaces de explotar sus
potenciales capacidades.
111
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La última alternativa la constituyen los sistemas operativos basados en UNIX. Este sistema operativo
multitarea/multiusuario es sólido y fiable, siendo notablemente más maduro que los anteriores aunque no fue
específicamente diseñado para PCs. UNIX posee unas excelentes facilidades para las comunicaciones que le
permiten integrarse perfectamente con las estaciones de trabajo.
System es un sistema operativo que tiene gran repercusión dentro del mundo Macintosh, tanto si se basan en
una unidad central de proceso Motorola como en un procesador PowerPc, si bien sus últimas versiones se
orientan hacia este último tipo de procesadores. Sus prestaciones se orientan a proporcionar a los usuarios una
solución de trabajo completa de fácil manejo. Sus principales ventajas son la facilidad de manejo de su
interfaz gráfico de usuario, las capacidades avanzadas de color, la intercomunicación entre aplicaciones, la
compartición de recursos en redes de igual a igual y su capacidad de multitarea. Su principal desventaja es su
arquitectura propietaria limitada a los ordenadores Apple y la dificultad de interoperar con los sistemas DOS
y Windows.
MacOS es un sistema operativo empleado también por los ordenadores Macintosh, similar al System, aunque
sus versiones más recientes son principalmente empleadas por equipos con procesador Motorola.
5.1 ¿QUE ES EL SISTEMA OPERATIVO DE UN COMPUTADOR?
Sistema operativo: (OS: Operating System) El software que controla la ejecución de todas las aplicaciones y
programas de software de sistemas.
Un sistema operativo es el encargado de brindar al usuario una forma amigable y sencilla de operar,
interpretar, codificar y emitir las ordenes al procesador central para que este realice las tareas necesarias y
especificas para completar una orden. El sistema operativo, es la herramienta indispensable para hacer de la
computadora un objeto útil. Es un programa o conjunto de programas que administran y rigen los recursos de
la computadora y permiten a los usuarios la utilización de este enredo de cables y circuitos, que de otra
manera serian difíciles de controlar como pasaba antes. Un sistema operativo se define como un conjunto de
procedimientos manuales y automáticos, que permiten a un grupo de usuarios compartir una instalación de
computadora eficazmente.
Se usa el término de software para designar programas que dirigen las actividades del software de
computadora. Todo el software cae en dos categorías generales: Aplicaciones y Sistemas.
112
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El software de aplicaciones esta diseñado y escrito para realizar tareas especificas de procesamiento de
negocios o científico.
Sistema operativo, software básico que controla una computadora. El sistema operativo tiene tres grandes
funciones: coordina y manipula el hardware del ordenador o computadora, como la memoria, las impresoras,
las unidades de disco, el teclado o el Mouse; organiza los archivos en diversos dispositivos de
almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas, y gestiona los
errores de hardware y la pérdida de datos.
El software de sistemas es más general que el de aplicaciones y comúnmente es independiente de cualquier
área específica de aplicación. Los programas del software de sistemas apoyan a todo el software de
aplicaciones al dirigir las funciones básicas de la computadora. Por ejemplo, cuando la computadora se
enciende, un programa de iniciación prepara y deja listos todos los dispositivos para el procesamiento.
El sistema operativo: El jefe. Los objetivos de diseño de un sistema operativo, núcleo de toda la actividad de
software, son minimizar el tiempo total, maximizar la productividad y optimizar el empleo de los recursos de
la computadora. Los sistemas operativos están orientados
a un tipo específico de medio ambiente de
procesamiento tal como el procesamiento de tiempo compartido, por lote o distribuido. Programa de control
maestro que proporciona una interfaz para que un usuario se comunique con la computadora; administra
dispositivos de hardware; administra y mantiene sistemas de archivo en disco y soporta programas de
aplicación.
El propósito del sistema operativo es crear un entorno en el que un usuario pueda ejecutar programas. El
objetivo primario de un sistema operativo es hacer al sistema de computador cómodo de usar.
El programa fundamental de todos los programas de sistema es el sistema operativo (SO), que controla todos
los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de
aplicación.
El sistema operativo, es el instrumento indispensable para hacer de la computadora un objeto útil. Bajo este
nombre se agrupan todos aquellos programas que permiten a los usuarios la utilización de este enredo de
cables y circuitos, que de otra manera serian difíciles de controlar.
Un sistema operativo se define como un conjunto de procedimientos manuales y automáticos, que permiten a
un grupo de usuarios compartir una instalación de computadora eficazmente.
113
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Un sistema operativo es el encargado de brindar al usuario una forma amigable y sencilla de operar,
interpretar, codificar y emitir las ordenes al procesador central para que este realice las tareas necesarias y
especificas para completar una orden.
Además, el tiempo requerido para introducir un programa en aquellas grandes máquinas de lento proceso
superaba por mucho el de ejecución y resultaba poco provechosa la utilización de computadoras para
resolución de problemas prácticos.
Desde su creación, las computadoras digitales han utilizado un sistema de codificación de instrucciones en
sistema de numeración binaria, es decir con los 0S. Esto se debe a que los circuitos integrados funcionan con
este principio, es decir, hay corriente o no hay corriente.
En el origen de la historia de las computadoras, los sistemas operativos no existían y la introducción de un
programa para ser ejecutado se convertía en un increíble esfuerzo que solo podía ser llevado a cabo por muy
pocos expertos. Esto hacia que las computadoras fueran muy complicadas de usar y que se requiriera tener
altos conocimientos técnicos para operarlas. Era tan complejo su manejo, que en algunos casos el resultado
llegaba a ser desastroso.
Se buscaron medios más elaborados para manipular la computadora, pero que a su vez simplificaran la labor
del operador o el usuario. Es entonces cuando surge la idea de crear un medio para que el usuario pueda
operar la computadora con un entorno, lenguaje y operación bien definido para hacer un verdadero uso y
explotación de esta. Surgen los sistemas operativos.
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 teclado, el sistema de vídeo y las unidades de disco, y en general
cualquier dispositivo. 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 se enciende 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).
114
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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. Apoyar a otros programas. Otra de las
funciones importantes del SO es proporcionar servicios
CATEGORÍAS DE LOS SISTEMAS OPERATIVOS.
Sistema Operativo Multitareas.
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora
procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos
(context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo
tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el
usuario).
Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o
pantalla que contenga esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema operativo
Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea
que se encuentra en primer plano (por ejemplo, cuando esta aplicación esta esperando información del
usuario), y siempre que esta aplicación lo permita.
115
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del
microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un
nivel de prioridad o se procesa en orden secuencial.
Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del
ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas.
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
Macintosh 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.
Sistema Operativo Monousuario.
Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las
limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando.
Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen
de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de
inmediato; ya que existe un solo usuario. Y están orientados principalmente por los microcomputadores.
116
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Sistema Operativo Monotareas.
Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto anteriormente, es decir,
solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por
ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a
nuevas instrucciones hasta que se termine la impresión.
Sistema Operativo Multiusuario.
Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen
simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de
sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo
(timesharing).
Un SO multiusuario permite a mas de un solo usuario accesar a 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.
Mediante Módems.
Mediante conexión de terminales a través de puertos seriales
Mediante Redes.
5.1.2 PRINCIPALES FUNCIONES Y USOS.
Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que exigen más memoria
principal de la realmente disponible. Con esta técnica se emplea espacio en el disco duro para simular la
memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere más tiempo que el acceso a la
memoria principal, por lo que el funcionamiento del ordenador resulta más lento.
Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la
interpretación de los comandos que permiten al usuario comunicarse con el ordenador. Algunos intérpretes de
instrucciones están basados en texto y exigen que las instrucciones sean tecleadas. Otros están basados en
117
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
gráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los
intérpretes basados en gráficos son más sencillos de utilizar.
Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única, más
primitivos, sólo pueden manejar un proceso en cada momento. Por ejemplo, cuando la computadora está
imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se
termine la impresión.
Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultáneamente.
En la mayoría de los ordenadores sólo hay una UCP; un sistema operativo multitarea crea la ilusión de que
varios procesos se ejecutan simultáneamente en la UCP. El mecanismo que se emplea más a menudo para
lograr esta ilusión es la multitarea por segmentación de tiempos, en la que cada proceso se ejecuta
individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza en el tiempo asignado,
se suspende y se ejecuta otro proceso.
Este intercambio de procesos se denomina conmutación de contexto. El sistema operativo se encarga de
controlar el estado de los procesos suspendidos. También cuenta con un mecanismo llamado planificador que
determina el siguiente proceso que debe ejecutarse. El planificador ejecuta los procesos basándose en su
prioridad para minimizar el retraso percibido por el usuario. Los procesos parecen efectuarse simultáneamente
por la alta velocidad del cambio de contexto.
Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que exigen más memoria
principal de la realmente disponible. Con esta técnica se emplea espacio en el disco duro para simular la
memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere más tiempo que el acceso a la
memoria principal, por lo que el funcionamiento del ordenador resulta más lento.
1.
Interpreta los comandos que permiten al usuario comunicarse con el ordenador.
2.
Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades
de disco, el teclado o el mouse.
3.
Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos
duros, discos compactos o cintas magnéticas.
4.
Gestiona los errores de hardware y la pérdida de datos.
118
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
5.
Servir de base para la creación del software logrando que equipos de marcas distintas funcionen de
manera análoga, salvando las diferencias existentes entre ambos.
6.
Configura el entorno para el uso del software y los periféricos; dependiendo del tipo de máquina que
se emplea, debe establecerse en forma lógica la disposición y características del equipo. Como por
ejemplo, una microcomputadora tiene físicamente dos unidades de disco, puede simular el uso de
otras unidades de disco, que pueden ser virtuales utilizando parte de la memoria principal para tal
fin. En caso de estar conectado a una red, el sistema operativo se convierte en la plataforma de
trabajo de los usuarios y es este quien controla los elementos o recursos que comparten. De igual
forma, provee de protección a la información que almacena.
SISTEMAS OPERATIVOS (Ventajas y Desventajas).
Los sistemas operativos empleados normalmente son UNIX, Mac OS, MS-DOS, OS/2 y Windows-NT. 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.
Otros sistemas operativos multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft
Corporation e International Business Machines Corporation (IBM), y Windows-NT, desarrollado por
Microsoft.
El sistema operativo multitarea de las computadoras Apple se denomina Mac OS. El DOS y su sucesor, el
MS-DOS, son sistemas operativos populares entre los usuarios de computadoras personales. Sólo permiten un
usuario y una tarea.
VENTAJAS DEL SISTEMA OPERATIVO LINUX
1.
Precio.
2.
Estabilidad, no se traba a cada rato.
3.
Seguridad, es mucho mas seguro que otros servidores.
4.
Compatibilidad, reconoce la mayoría de los otros sistemas operativos en una red.
5.
Velocidad, es mucho mas veloz para realizar las tareas.
6.
Posee el apoyo de miles de programadores a nivel mundial.
119
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
7.
El paquete incluye el código fuente, lo que permite modificarlo de acuerdo a las necesidades del
usuario.
8.
Ideal para la programación, ya que se puede programar en Linux para distintas plataformas, como
para Windows.
9.
Un sistema de crecimiento rápido.
10. Se puede usar en casi cualquier computadora, desde una 386.
11. Multitareas en tiempo REAL.
12. Puede manejar múltiples procesadores. Incluso hasta 16 procesadores.
13. Libre de virus, aun no se conoce ningún virus para Linux.
14. Maneja discos duros de hasta 16 TeraBytes.
15. Se consiguen parches con facilidad, además de ser gratuitos.
16. Se posee el apoyo de millones de usuarios a nivel mundial.
17. Los fabricantes de Hardware le están dando su apoyo, como IBM y COMPAQ.
18. Vendedores y desarrolladores implementan un sistema de certificación para Linux.
19. La corporación DATA Internacional predice que el crecimiento de este programa será del orden de
un 25 por ciento anual en el nuevo milenio.
DESVENTAJAS DEL SISTEMA OPERATIVO LINUX
Linux no cuenta con una empresa que lo respalde, por lo que no existe un verdadero soporte como el
de otros sistemas operativos.
Linux corre el riesgo de llegar a fragmentarse como fue el caso de UNIX.
Algunas empresas pueden llegar a ayudar a Linux con la intención de mejorar sus relaciones
públicas, aunque en el fondo no tengan ninguna intención de utilizarlo fielmente.
SISTEMA OPERATIVO UNIX
UNIX, en informática, sistema operativo multiusuario que incorpora multitarea. Fue desarrollado
originalmente por Ken Thompson y Dennis Ritchie en los laboratorios 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 está escrito en
lenguaje C.
El UNIX está 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
120
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
computadoras
NeXT).
HISTORIA DEL SISTEMA OPERATIVO UNIX.
Bajo el término UNIX, se hace referencia no a un solo sistema operativo sino a un grupo amplio de sistemas.

1969 El Unix nace en los laboratorios Bell, creado por Ken Thompson. Se desarrollo sobre un dec
pdp-4.

1970 Thompson rescribe todo el sistema en "Lenguaje B". Dennis Ritchie lo desarrolla y denomina
"Lenguaje C", rescribiendo todo el Unix en este lenguaje.

1973 El Unix es transportado a distintos ordenadores, naciendo el Unix versión 5.

1974 AT&T cede la licencia de explotación del Unix a Universidades y centros de investigación.
Nace entonces la versión 6.

1977 se crea la versión 7.

1981 Se incluyen numerosas utilidades. Lanzamiento comercial del Unix System III.

1982 AT&T comercializa el Unix y presenta el System V.

1988 Se creó la OSF (Open Software Fundation) para elaborar una norma universal Unix.
CARACTERISTICAS BASICAS DEL UNIX
El Unix es un Sistema Operativo de propósito general con las siguientes características:
1.
Sistema Multiusuario.
2.
Sistema Multitarea
3.
Trabaja en tiempo compartido.
4.
Sistema interactivo.
5.
Estandarizado.
6.
Potente.
7.
Versátil.
8.
Software y sistema operativo portable.
9.
Permite ejecutar procesos en Background y Foreground.
10. Presenta niveles altos de seguridad.
11. Presenta una estructura jerárquica de ficheros.
12. Posee un gran número de utilidades: Editores de línea, de pantalla, formateadores, depuradores de
programas...
13. Posibilidad de comunicación Unix - Unix (UUCP)
14. Fácil integración en sistemas de red.
121
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
15. Posibilidad de usar distintos lenguajes de programación: C, Fortran, Cobol, Pascal,... Ø Gran
cantidad de software disponible en el mercado.
Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras,
Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo.
Es un sistema operativo que fue creado a principios de los setentas por los científicos en los laboratorios Bell.
Fue específicamente diseñado para proveer una manera de manejar científica y especializadamente las
aplicaciones computacionales. Este SO se adapto a los sistemas de cómputo personales así que esta
aceptación reciente lo convierte en un sistema popular.
Unix es más antiguo que todos los demás SO de PC y de muchas maneras sirvió como modelo para éstos.
Aun cuando es un SO extremadamente sólido y capaz, la línea de comandos Unix, no es apta para cardiacos,
debido a que ofrece demasiados comandos.
SISTEMA OPERATIVO MS-DOS
Es el más común y popular de todos los Sistemas Operativos para PC. La razón de su continua popularidad se
debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones
DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue
una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que
corrieran DOS tan bien como las computadoras IBM lo hacían.
El significado de estas letras es el de Microsoft Disk Operating System. Microsoft es el nombre de la
compañía que diseño este sistema operativo, e IBM la compañía que lo hizo estándar al adoptarlo en sus
microordenadores. Este sistema operativo emplea discos flexibles con una organización determinada.
Los discos se pueden grabar por una o por dos caras y la información se organiza en 40 pistas de 8 ó 9
sectores de un tamaño de 512 caracteres, reservándose el sistema para la propia información del disco, que
puede ser disco removible o disco duro, teniendo en el segundo más capacidad pero similar estructura.
Los de extensión .EXE precisan que el cargador del DOS los coloque en memoria, lo que significa que el
sistema operativo debe estar en memoria. Los del tipo .BAT son los compuestos de comandos que se ejecutan
secuencialmente.
122
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El sistema operativo tiene varios componentes que son:

Rutinas de control, que funcionan con el programa IBM.DOS, y se encargan de las operaciones de
E/S.

Procesador de comandos, también llamado COMMAND.COM, que procesa los dos tipos de
comandos de que dispone el DOS; es decir, los residentes en memoria o internos, y los no residentes
o externos, que residen en el disco del sistema operativo.

Rutinas de servicios accesibles desde el programa control.
También existe la posibilidad de subdividir el disco en subdirectorios que permiten un empleo más ágil de
toda la información.
MS-DOS esta lejos de ser el sistema operativo ideal, ya que, de momento, se trata de un sistema monotarea,
pero aunque esto se resolviera, seguiría presentando problemas de diseño que provocan que el
comportamiento de la máquina sea poco fiable.
SISTEMA OPERATIVO OS/2
Después de la introducción del procesador Intel 80286, IBM y Microsoft reconocieron la necesidad de tomar
ventaja de las capacidades multitarea de esta CPU. Se unieron para desarrollar el OS/2, un moderno SO
multitarea para los microprocesadores Intel. <BR>. Sin embargo, la sociedad no duró mucho. Las diferencias
en opiniones técnicas y la percepción de IBM al ver a Windows como una amenaza para el OS/2 causó una
desavenencia entre las Compañías que al final las llevó a la disolución de la sociedad. IBM continuó el
desarrollo y promoción del OS/2.
Es un sistema operativo de multitarea para un solo usuario que requiere un microprocesador Intel 286 o
mejor.
Además de la multitarea, la gran ventaja de la plataforma OS/2 es que permite manejar directamente hasta 16
MB de RAM (en comparación con 1 MB en el caso del MS-DOS ). Por otra parte, el OS/2 es un entorno muy
complejo que requiere hasta 4 MB de RAM. Los usuarios del OS/2 interactúan con el sistema mediante una
interfaz gráfica para usuario llamada Administrador de presentaciones. A pesar de que el OS/2 rompe la
barrera de 1 MB del MS-DOS, le llevo tiempo volverse popular.
Los vendedores de software se muestran renuentes a destinar recursos a la creación de un software con base
en el OS/2 para un mercado dominado por el MS-DOS. Los usuarios se rehúsan a cambiar al OS/2 debido a la
123
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
falta de software que funcione en la plata forma del OS/2 y a que muchos tendrían que mejorar la
configuración de su PC para que opere con el OS/2.
SISTEMA OPERATIVO MACINTOSH OS
La Macintosh es una máquina claramente gráfica. De hecho, no existe una interfaz de línea de comando
equivalente para ésta. Su estrecha integración de SO, GUI y área de trabajo la hacen la favorita de la gente
que no quiere saber nada de interfaces de línea de comando.
Las capacidades gráficas de la Macintosh hicieron de esa máquina la primera precursora en los campos
gráficos computarizados como la autoedición por computadora.
La familia de microcomputadoras de Apple, Macintosh y su sistema operativo define otra plataforma
importante.
Las PC de Macintosh, que se basan en la familia de microprocesadores de Motorola, usan la arquitectura de
Bus de 32 bits. La plataforma para Macintosh incluye muchas capacidades sofisticadas que comprende la
multitarea, una GUI, la memoria virtual y la capacidad para emular la plataforma MS-DOS. Las PC de
Macintosh también tiene la capacidad integrada de compartir archivos y comunicarse con o tras PC de
Macintosh en una red.
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.

Con el manejador de impresoras las aplicaciones pueden imprimir datos en diversas impresoras
124
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS

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 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 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.
Con Windows NT, Microsoft ha expresado su dedicación a escribir software no sólo para PC de escritorio
sino también para poderosas estaciones de trabajo y servidores de red y bases de datos. Microsoft Windows
NT no es necesariamente un sustituto de DOS ni una nueva versión de éste; es, en conjunto, un nuevo SO
diseñado desde sus bases para las máquinas más modernas y capaces disponibles.
Windows NT de Microsoft ofrece características interconstruidas que ningún otro SO para PC ofrece, con
excepción de Unix.
Además de las características tradicionales de estricta seguridad de sistema, red interconstruida, servicios de
comunicación y correo electrónico interconstruidos, herramientas de administración y desarrollo de sistema y
una GUI, Windows NT puede correr directamente aplicaciones de Windows de Microsoft y de Unix.
125
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Windows NT, al igual que el OS/2 ver 2.0 y algunas versiones de Unix, es un SO de 32 bits, que puede hacer
completo uso de los procesadores de estas características.
Además de ser multitarea, está diseñado para tomar ventaja del multiproceso simétrico.
TRADUCTORES DE LENGUAJES DE PROGRAMACIÓN
Se han desarrollado algunos lenguajes de alto nivel para facilitar la programación a los usuarios. Sin embargo,
antes de que se ejecuten los programas en estos lenguajes, se deben traducir a lenguaje de máquina, que la
computadora entiende. El software de sistemas conocido como traductor de lenguajes realiza esta tarea.
Existen dos tipos comunes de traductores de lenguajes en las computadoras personales: Los intérpretes y los
compiladores.
Los interpretes llevan a cabo la traducción del lenguaje original de alto nivel (programa al cual se le llama
código fuente) línea por línea, por lo que se realiza mientras el programa se esta ejecutando. En contraste, los
compiladores traducen el programa completa y generan esencialmente una nueva versión del lenguaje de
máquina llamada código objeto.
Cada traductor tiene ventajas y desventajas con respecto a otros. Los intérpretes requieren mucho menos
espacio en memoria, debido a que no generan un programa objeto que se necesite almacenar.
Tradicionalmente esta ha sido una característica positiva de las computadoras personales, en las que la
memoria tiene gran importancia. Además, los intérpretes son mucho más fáciles de utilizar en el desarrollo y
mantenimiento de los programas por que los errores se detectan y se corrigen en el momento en que ocurren.
Aunque los programas compilados no son tan convenientes en el rastreo de errores, tienen la ventaja de que su
ejecución es mucho más rápida y eficiente. Esto se debe a que una vez que el programa se ha probado y se ha
compilado, el código objeto en lenguaje de máquina se almacena en un disco y se ejecuta con gran rapidez.
Esto contrasta con un lenguaje interpretado, donde cada una de las líneas se debe reinterpretar en cada
ejecución.
Se han desarrollado algunos lenguajes de alto nivel para facilitar la programación a los usuarios. Sin embargo,
antes de que se ejecuten los programas en estos lenguajes, se deben traducir a lenguaje de máquina, que la
computadora entiende. El software de sistemas conocido como traductor de lenguajes realiza esta tarea.
126
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Existen dos tipos comunes de traductores de lenguajes en las computadoras personales: los intérpretes y los
compiladores.
Compilador
Es un programa que lee el código escrito en un lenguaje (lenguaje origen), y lo traduce o traduce en un
programa equivalente escrito en otro lenguaje (lenguaje objetivo). Como una parte fundamental de este
proceso de traducción, el compilador le hace notar al usuario la presencia de errores en el código fuente del
programa.
Programa Fuente
Programa Objeto
Compilador
La compilación de programas.
Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel al
lenguaje máquina. Los programas escritos en lenguajes de alto nivel se llaman programas fuente y el
programa traducido programa objeto o código objeto. El compilador traduce sentencia a sentencia el
programa fuente. Los lenguajes compiladores típicos son: C, C++, PASCAL, FORTRAN, COBOL.
La compilación y sus fases.
La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto
obtenido de la compilación a sido traducido normalmente a código máquina. Para conseguir el programa
máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje
conduce a un programa en lenguaje máquina directamente ejecutable.
127
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Interprete
Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. Los
interpretes en lugar de producir un Lenguaje objetivo, como en los compiladores, lo que hacen es realizar la
operación que debería realizar el Lenguaje origen. Un intérprete lee el código como esta escrito y luego lo
convierte en acciones, es decir, lo ejecuta en ese instante. Los programas interpretes clásicos son: Basic, Q
Basic y QuickBASIC. La siguiente figura muestra el funcionamiento de un intérprete.
Programa Fuente
Interprete
Traducción y ejecución
línea a línea
128
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Diferencia entre Compilador e Intérprete
Los compiladores difieren de los intérpretes en varios aspectos: Un programa que ha sido compilado puede
correr por si solo, pues en el proceso de compilación se lo transformo en otro lenguaje (lenguaje máquina).
Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en
acciones. La ventaja del intérprete es que dado cualquier programa se puede interpretarlo en cualquier
plataforma (sistema operativo), en cambio el archivo generado por el compilador solo funciona en la
plataforma en donde se lo ha creado. Pero por otro lado un archivo compilado puede ser distribuido
fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el
intérprete. Hablando de la velocidad de ejecución un archivo compilado es de 10 a 20 veces más rápido que
un archivo interpretado.
5.2 CONTROL Y MANEJO DE INTERRUPCIONES.
Mecanismo mediante el cual el procesador abandona la tarea que estaba ejecutando y ― dedica su atención‖ a
otro proceso cargado en la memoria. De hecho, las interrupciones son la base sobre la que se diseña los
sistemas operativos de multiprogramación, y forma parte central de su estudio.
Durante un segundo de la operación de un sistema de cómputo complejo el procesador central puede ser
interrumpido varias decenas o centenas de veces, y esto no representa ninguna anomalía, sino que es la forma
normal de trabajo.
Una Interrupción son principalmente subrutinas de la BIOS o el DOS que pueden ser llamadas por un
programa. Su función es controlar el hardware, servir de contacto entre los programas y las funciones del
BIOS y del dos.
5.2.1 INTERRUPCIONES DENTRO DE UN COMPUTADOR.
Las interrupciones internas son generadas por ciertos eventos que surgen durante la ejecución de un
programa. Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible
modificarlas.
Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del reloj interno de la
computadora, el hardware hace el llamado a esta interrupción varias veces durante un segundo para mantener
la hora actualizada.
129
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Aunque no podemos manejar directamente esta interrupción (no podemos controlar por software las
actualizaciones del reloj), es posible utilizar sus efectos en la computadora para nuestro beneficio, por
ejemplo para crear un "reloj virtual" actualizado continuamente gracias al contador del reloj interno.
Únicamente debemos escribir un programa que lea el valor actual del contador y lo traduzca a un formato
entendible para el usuario.
5.2.2 INTERRUPCIONES DE E/S.
Un sistema de computación de propósito general consiste en una CPU y varios controladores de dispositivos
conectados a través de un bus común. Cada controlador de dispositivo se encarga de un tipo específico de
dispositivo.
Para iniciar una operación de E/S, la CPU carga los registros apropiados dentro del controlador del
dispositivo. El controlador, a su vez, examina el contenido de estos registros para determinar que acción debe
realizar. Por ejemplo, si encuentra una solicitud de lectura, el controlador iniciara la transferencia de datos del
dispositivo a su buffer local. Cuando haya terminado de hacer esto, el controlador informara a la CPU que ha
completado su operación. Esta comunicación se efectuara generando una interrupción.
Esta situación ocurre en general, como resultado de una solicitud de E/S por parte de un proceso del usuario.
Una vez iniciada la E/S, hay dos posible cursos de acción. En el caso más sencillo, se inicia la E/S; luego, al
completarse la operación, el control se devuelve al proceso del usuario. Este caso se conoce como E/S
sincrónica. La posibilidad, llamada E/S asincrónica, devuelve el control al programa del usuario sin esperar
que se complete la E/S. Así la E/S puede continuar mientras se realizan otras operaciones del sistema.
La espera a que se complete la E/S puede hacerse de dos maneras. Algunos computadores tienen una
operación esperar (wait) especia l que mantiene la CPU ―ejecutando en vacío‖ hasta la siguiente
interrupción. Las máquinas que no tienen tal interrupción podrían tener un ciclo de espera:
Ciclo: jmp ciclo
Este ciclo cerrado continúa ejecutándose hasta que ocurre una interrupción, lo que transfiere el control a otra
parte del sistema operativo. Tal ciclo también podría tener que indagar cualesquier dispositivos de E/S que no
reconozcan la estructura de interrupciones; lo que hacen estos dispositivos es ―izar‖ una bandera (poner en un
bit) en uno de sus registros y esperar que el sistema operativo vea la bandeja. Si la CPU siempre espera a que
la E/S termine, sólo podrá haber una solicitud de E/S pendiente en cualquier momento dado. Así cada vez que
ocurre una interrupción de E/S, el sistema operativo sabe exactamente cual dispositivo esta interrumpiendo.
130
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Por otro lado esta técnica excluye las operaciones de E/S concurrentes a varios dispositivos, y también la
posibilidad de superponer cálculos útiles con E/S.
Una mejor alternativa es iniciar la E/S y luego seguir procesando código del sistema operativo o de un
programa del usuario. En tal caso, se necesitara una llamada al sistema (una solicitud al sistema operativo)
para que el programa de usuario pueda esperar la terminación de la E/S, si lo desea. En caso de que no haya
programas de usuario listos para ejecutarse, y el sistema operativo no tenga otra cosa que hacer, se necesitara
la instrucción de esperar o el ciclo de ejecutar en vacío, igual que antes. También es preciso poder seguir la
pista a muchas solicitudes de E/S al mismo tiempo. Para este fin, el sistema operativo emplea una tabla que
contiene una entrada para cada dispositivo de E/S: la tabla de estados de dispositivos. Cada entrada de la tabla
indica el tipo de dispositivo, su dirección y su estado (apagado, ocioso u ocupado). Si el dispositivo esta
ocupado con una solicitud, el tipo de solicitud y otros parámetros se guardaran en la entrada de la tabla que
corresponde a ese dispositivo. Dado que es posible que otros procesos emitan solicitudes para usar ese mismo
dispositivo, el sistema operativo también mantiene una cola de espera –una lista de las solicitudes que están
esperando- para cada dispositivo de E/S. Un dispositivo de E/S interrumpe cuando necesita servicio. Al
ocurrir una interrupción, lo primero que hace el sistema operativo es determinar cual dispositivo de E/S la
causo, y luego utiliza un índice para consultar la tabla de dispositivos de E/S y determinar la situación de ese
dispositivo, modificando la entrada de modo que refleje la ocurrencia de la interrupción. Casi todos los
dispositivos indican que han terminado de atender una solicitud de E/S generando una interrupción. Si hay
solicitudes adicionales esperando en la cola de este dispositivo, el sistema operativo comenzara a procesar la
siguiente solicitud.
Por último, se devuelve el control desde la interrupción de E/S. Si un proceso estaba esperando que se
completara esa solicitud, ahora se le puede devolver el control. Si no, se continuara con lo que se estaba
haciendo antes de la interrupción de E/S: la ejecución del programa del usuario (el programa inició una
operación de E/S, la cual ya termino, pero el programa todavía no esta esperando que se complete la
operación) o el ciclo de espera (el programa inicio dos o más operaciones de E/S y esta esperando que
termine una en particular, pero esta interrupción fue de una de las otras). En un sistema de tiempo compartido,
el sistema operativo podría conmutar a este proceso listo para ejecutarse.
Los esquemas utilizados por algunos dispositivos de entrada pueden diferir del que se ha descrito. Muchos
sistemas interactivos permiten a los usuarios teclear por adelantado, o introducir datos antes de que estos sean
solicitados, en las terminales. En este caso, podrían ocurrir interrupciones para indicar la llegada de caracteres
desde la terminal, aunque la tabla de estado de dispositivos indica que ningún programa ha solicitado
entradas de ese dispositivo. Si se permite el tecleo adelantado, se debe contar con un buffer para guardar los
131
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
caracteres tecleados hasta que algún programa los requiera. En general, se necesitara un buffer para cada
terminal de entrada.
La principal ventaja de la E/S asincrónica es el aumento en la eficiencia del sistema. Mientras se esta
efectuando E/S, se puede utilizar la CPU para procesar o iniciar operaciones de E/S a otros dispositivos. Dado
que E/S puede ser lenta en comparación con la velocidad del procesador, el sistema aprovechara mucho mejor
sus recursos.
5.2.3 INTERRUPCIONES DE PROGRAMA.
Interrupciones de software
Las interrupciones de software pueden ser activadas directamente por el ensamblador invocando al número de
interrupción deseada con la instrucción INT.
El uso de las interrupciones nos ayuda en la creación de programas, utilizándolas nuestros programas son más
cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor
tamaño.
Este tipo de interrupciones podemos separarlas en dos categoriaza: las interrupciones del sistema operativo
DOS y las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del sistema operativo son más fáciles de usar pero también
son más lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido.
En cambio las interrupciones del BIOS son mucho más rápidas pero tienen la desventaja que, como son parte
del hardware son muy específicas y pueden variar dependiendo incluso de la marca del fabricante del circuito.
La elección del tipo de interrupción a utilizar dependerá únicamente de las características que le quiera dar a
su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS).
Interrupción 21H
Propósito: Llamar a diversas funciones del DOS.
Sintaxis: Int 21H

Nota: Cuando trabajamos en MASM es necesario especificar que el valor que estamos utilizando es
hexadecimal. Esta interrupción tiene varias funciones, para accesar a cada una de ellas es necesario
132
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
que el registro AH se encuentre el número de función que se requiera al momento de llamar a la
interrupción.

Funciones para desplegar información al video.
 02H Exhibe salida
 09H Impresión de cadena (video)
 40H Escritura en dispositivo/Archivo
Funciones para leer información del teclado.
01H Entrada desde teclado
0AH Entrada desde teclado usando buffer
3FH Lectura desde dispositivo/archivo
Funciones para trabajar con archivos.
Método FCB
0FH Abrir archivo
14H Lectura secuencial
15H Escritura secuencial
16H Crear archivo
21H Lectura aleatoria
22H Escritura aleatoria
Handles
3CH Crear archivo
3DH Abrir archivo
3EH Cierra manejador de archivo
3FH Lectura desde archivo/dispositivo
40H Escritura en archivo/dispositivo
42H Mover apuntador de lectura/escritura en archivo
5.2.4 INTERRUPCIONES EXTERNAS
Las interrupciones externas las generan los dispositivos periféricos, como pueden ser: Teclado.
133
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Impresoras:
Tarjetas de comunicaciones, etc. También son generadas por los coprocesadores.
No es posible desactivar a las interrupciones externas.
Estas interrupciones no son enviadas directamente a la CPU, sino que se mandan a un circuito integrado cuya
función es exclusivamente manejar este tipo de interrupciones. El circuito, llamado PIC 8259A, si es
controlado por la CPU utilizando para tal control una serie de vías de comunicación llamadas puertos.
5.3
MÉTODOS DE ACCESO.
Método de acceso secuencial
134
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Almacena records en orden ascendente o descendente determinado por la clave de récord y datos que
identifican un récord de otros. El número de seguro social sirve como clave de récord en muchos archivos
secuénciales. El archivo debe ser leído y procesado en secuencia. Se requiere que se lean todos los records
hasta que la clave del récord deseado sea localizada (primer récord, segundo récord,...). Es un proceso
relativamente lento. Es apropiado para procesar muchos récords a la vez en cintas magnéticas o discos. Se
utiliza para preparar cheques de nóminas.
Método de acceso directo
Utiliza algoritmos o índices para localizar un récord. Un algoritmo es una serie de pasos que se siguen para
resolver un problema (por ejemplo: una fórmula matemática o la lógica de un programa). Un índice es una
lista de las claves de récord que contiene todos los records del archivo y sus localizaciones. El acceso directo
es apropiado para las aplicaciones donde la información es requerida, según ocurren las preguntas. Un
ejemplo del mismo es: asignar asiento en un vuelo.
Los métodos de acceso se refieren a las capacidades que el subsistema de archivos provee para accesar datos
dentro de los directorios y medios de almacenamiento en general. Se ubican tres formas generales: acceso
secuencial, acceso directo y acceso directo indexado.

Acceso secuencial: Es el método más lento y consiste en recorrer los componentes de un archivo
uno en uno hasta llegar al registro deseado. Se necesita que el orden lógico de los registros sea igual
al orden físico en el medio de almacenamiento. Este tipo de acceso se usa comúnmente en cintas y
cartuchos.

Acceso directo: Permite accesar cualquier sector o registro inmediatamente, por medio de llamadas
al sistema como la de seek. Este tipo de acceso es rápido y se usa comúnmente en discos duros y
discos o archivos manejados en memoria de acceso aleatorio.

Acceso directo indexado: Este tipo de acceso es útil para grandes volúmenes de información o
datos. Consiste en que cada archivo tiene una tabla de apuntadores, donde cada apuntador va a la
dirección de un bloque de índices, lo cual permite que el archivo se expanda a través de un espacio
enorme. Consume una cantidad importante de recursos en las tablas de índices pero es muy rápido.
5.4
MULTIPROGRAMACIÓN.
La multiprogramación es un modo de trabajo en el que se pueden ejecutar varios programas simultáneamente
con el fin de aprovechar al máximo los recursos de la computadora.
135
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Surgió de la imposibilidad, para los sistemas o modos de trabajos anteriores, de que con un solo trabajo se
pudiese tener ocupados al procesador y a los dispositivos de entrada y salida durante todo el tiempo.
Esquema empleado en computadoras medianas y grandes para atender concurrentemente a más de un
usuario. Un sistema operativo de multiprogramación mantiene cargados varios procesos en la memoria
central, y ―reparte‖ el procesador entre ellos para darles atención a todos en una unidad de tiempo, que casi
siempre es un segundo o menos.
Esto significa que en un segundo el procesador central ejecuta un fragmento de cada proceso residente en la
memoria, dando a los usuarios la impresión de que están siendo atendidos en forma individual. Hay una
distinción técnica entre multiprogramación y tiempo compartido, que no es relevante desde el punto de vista
de el usuario, y que consiste en que el sistema de multiprogramación ―abandona‖ al proceso que pidió una
operación (lenta) de E/S, para inmediatamente comenzar (o volver a iniciar) algún otro proceso. Cuando el
procesador detecta la aparición de una de estas operaciones – por medio de una interrupción – dirige el pedido
al canal para que este lo atienda. Cuando se cumpla la operación, el procesador es interrumpido de nuevo para
que este en posibilidades de atender de nuevo al proceso en cuestión.
El procesamiento por lotes dedica los recursos del sistema informático a un único programa cada vez.
La ejecución serie de los programas provoca que o bien el procesador o bien los dispositivos de E/S se
encuentren inactivos en algún momento incluso cuando el flujo de trabajos a la entrada nunca esta vacío.
Los sistemas de multiprogramación reales permiten generalmente que más de dos programas compitan por
los recursos del sistema al mismo tiempo. El número de programas activamente en competencia por los
recursos de un sistema informático multiprogramado se denomina grado de multiprogramación. Mayores
grados de multiprogramación deberían producir mayor utilización de recursos.
La multiprogramación ha sido tradicionalmente empleada para aumentar la utilización de los recursos de un
sistema informático y para soportar múltiples usuarios simultáneamente activos.
Los sistemas de tiempo compartido soportan múltiples usuarios interactivos. Los programas de sistema y de
usuarios, además de los datos, están guardados en almacenamiento secundario y son gestionados por el
sistema de archivos.
Los usuarios se comunican normalmente con un sistema interactivo por medio de órdenes tecleadas en los
terminales. El código fuente de un programa usuario puede ser introducido y editado des de un terminal bajo
136
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
control de un programa editor de textos. En respuesta a una orden del usuario, un archivo producido de esta
manera es procesado por un traductor de lenguaje para producir un archivo objeto. Los errores sintácticos, son
corregidos editando el archivo de texto que contiene el código fuente. Tras una compilación con éxito, el
archivo de el código objeto es procesado por el enlazador y los programas de biblioteca para producir un
archivo de programa ejecutable.
En respuesta a una orden EJECUTAR, el SO carga en memoria el contenido del archivo de programa
designado y ejecuta el programa.
Los sistemas interactivos proporcionan un entorno conveniente y comparativamente productivo para el
desarrollo y ejecución de programas. En contraste con los sistemas por lotes, que imponen dilaciones en los
tiempos de retorno y fuerzan la depuración fuera de línea, el sistema de tiempo compartido proporciona
generalmente tiempos de respuesta de terminal relativamente rápidos y permiten ciclos rápidos entre las
diferentes etapas de desarrollo de programas, tales como la edición y la depuración. El tiempo compartido
permite que una multitud de usuarios compartan los recursos de una instalación informática como si cada
usuario dispusiera de toda la maquina para si mismo.
Programa 2
Programa 1
P1
INACTIVO
P1
INACTIVO
P1
P2
INACTIVO
P2
INACTIVO
P2
(a) Ejecución secuencial
Programa 1
Programa 2
P1
P2
P1
P2
P1
P2
( b) Ejecución multiprogramada
Representación de Multiprogramación
137
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
MULTIPROCESO
Las computadoras que tienen más de un CPU son llamadas multiproceso. Un sistema operativo multiproceso
coordina las operaciones de las 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.
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.
5.5 TELEPROCESO.
Técnica para comunicar computadoras o terminales remotas entre si. El diseño de una red de teleproceso
debe de tomar en cuenta los flujos y cantidades de información, la velocidad de los canales de comunicación,
la localización de los equipos, y las capacidades del software de comunicaciones disponibles. Los grandes
sistemas de teleproceso emplean facilidades de comunicación por microondas y satélites, y se cuentan entre
los ejemplos más complejos y elaborados de la tecnología.
138
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Historia del Teleproceso
Desde el comienzo de la historia de la humanidad, uno de los factores que han constituido y constituye un
elemento vital para la evolución y el desarrollo de la humanidad es la comunicación.
Las telecomunicaciones comenzaron en 1830 con la utilización del Telégrafo, que permitió diversos tipos de
comunicaciones digitales utilizando códigos como el Morse inventado por Samuel F. B. Morse en 1820.
Morse comenzó a estudiar las comunicaciones en 1830 teniendo preparada una máquina en 1835 compuesta
en el emisor por un conjunto de piezas con dientes correspondientes a las letras y las cifras que ensambladas
para formar un mensaje y pasadas a través del correspondiente dispositivo, provocaban las sucesivas
aperturas y cierres de un interruptor que producía la señal enviada por la línea. En el receptor, un electroimán
recibía dicha señal y producía el desplazamiento de un lápiz que escribía en el papel la forma de la señal con
la que se podía descifrar el mensaje recibido.
En 1855, Charles Wheatstone inventó el formato de una cinta junto con la perforadora correspondiente que
permitía el envío y recepción de mensajes en código Morse en modo off-line, es decir, sin que un operador se
encuentre permanentemente pendiente de la transmisión y recepción de los mensajes.
En 1874, el francés Emile Baudot, inventó el telégrafo múltiple que permitía el envío de varios mensajes por
la misma línea. Se conectaban varios manipuladores de cinco teclas a una misma línea a través de un
distribuidor que repartía el tiempo entre los distintos usuarios. En el receptor existía un distribuidor similar al
del transmisor y sincronizado con él, repartía los mensajes entre distintas impresoras.
Más tarde, en 1876 Alexander Graham Bell inventó el Teléfono con el que comenzó la comunicación de la
voz a distancia. Este invento hizo que rápidamente se unieran por cable muchas ciudades y dentro de ellas
muchas empresas particulares, lo cual facilitó mucho la utilización de otros medios de comunicación
posteriores que aprovecharon las propias líneas telefónicas.
Con la aparición de máquinas de escribir que incorporaban redes para la activación de la escritura, durante la
Primera Guerra Mundial, E.E. Kleinschmidt desarrolló un sistema de transmisión que no requería de
operadores en continúa atención. Este sistema hizo posible la aparición en 1910 del Teletipo o teleimpresor,
que permitió el envío de mensajes a distancia utilizando el código Baudot creado por Emile Baudot en 1874.
Ya a partir de 1950, con la aparición del módem, comenzaron los primeros intentos de transmisión de datos
entre computadoras en aplicaciones de gestión, pero fue en la década de los sesenta, y fundamentalmente en
139
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
la de los setenta, cuando se implantó definitivamente la conexión a distancia de todo tipo de computadoras y
periféricos.
El primer proyecto importante que incorpora técnicas teleinformáticas fue el SAGE (Service Automatic
Ground Environment) desarrollado por las Fuerzas Aéreas de los Estados Unidos de América en 1958.
En la década de los sesenta aparecen, por un lado, los lenguajes de programación interactivos y por otro, los
sistemas operativos conversacionales que, junto a las tecnologías de conmutación de paquetes y los satélites
de comunicaciones, propiciaron los primeros pasos para la verdadera unión entre las telecomunicaciones y la
informática.
En la década de los setenta, marcada por una gran evolución en la conectividad, aparecen las redes de
computadoras, los protocolos y las arquitecturas teleinformáticas. En 1971 aparece la red ARPANET,
fundada por la organización DARPA (Defense Advanced Research Projects Agency) que ha dado origen a la
red Internet que actualmente integra a las más importantes instituciones académicas, de investigación y
desarrollo que existen en el mundo. En esta red se desarrolló el conjunto de protocolos denominados TCP/IP
que han ejercido influencia en las redes teleinformáticas.
Esta década de los setenta se caracteriza también por el gran auge que toma la normalización. En 1976, el
Comité Consultivo Internacional Telefónico y Telegráfico (CCITT) normalizó las redes de conmutación
de circuitos y las redes de conmutación de paquetes. En 1977, la Organización de Estándares
Internacionales modela y normaliza la interconexión de computadoras creando el Modelo Básico de
Referencia para la Interconexión de Sistemas Abiertos (OSI), que fue publicado años después.
El final de la década de los setentas viene marcada, fundamentalmente, por la aparición en 1978 de las Redes
de Área Local (LAN) que permiten la interconexión entre equipos informáticos en un entorno reducido.
La década de los ochenta, con la popularización de las Computadoras Personales, ha marcado un desarrollo
definitivo en el campo teleinformático y lo ha popularizado. También en esta década aparecen las Redes
Digitales para dar servicio especializado a usuarios que requieran la integración de información compuesta
por texto, datos, imagen y voz.
Actualmente, en Telecomunicaciones se tiende al abaratamiento de la utilización de las redes, así como a
nuevas posibilidades de transmisión proporcionadas por las Redes Digitales de Servicios Integrados de Banda
Ancha que operan a gran velocidad.
140
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Generalidades del Teleproceso
Teleproceso.- Es el procesamiento de datos usando las telecomunicaciones (transmisión de señales a grandes
o pequeñas distancias).- El teleproceso puede ejecutarse de dos maneras diferentes:
ON LINE.- Un servidor controla la transmisión y se procesa los datos inmediatamente después de
haber sido recibidas.
OFF LINE.-Cuando la transmisión de datos es recibida por un dispositivo externo para
posteriormente ser procesada.
UNIDAD VI: TOPICOS.
6.1 CULTURA Y DESARROLLO ORGANIZACIONAL.
Surge la necesidad de potenciar la implementación de procesos y herramientas de intercambio de
información. La evolución de los sistemas informáticos exigen un salto cualitativo en la gestión y en la
cultura y desarrollo organizacional. Por lo tanto se debe poner énfasis en la dotación de tales herramientas y
la generación de las condiciones culturales para asegurar la efectividad de las acciones y mantener la
actualización de dichos sistemas informáticos. Por lo dicho, se plantea el objetivo global de implementación
141
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
de un Sistema Integrado en Red de Información para la gestión con incidencia, desarrollo y alcance de las
metas propuestas para el Sistema Integrado en Red de Información.
Al respecto cabe decir que las herramientas de información en Red (cuyo actual paradigma es Internet) son un
medio para el desarrollo de estrategias de adquisición de conocimientos y de desarrollo institucional. Estas
herramientas requieren de una comprensión profunda del fenómeno de la comunicación en línea, la
interactividad, el mundo digital y el salto cultural que se plantea en toda organización.
Dada la escasez de antecedentes y experiencias es necesario crear nuevas formas y encarar actividades
innovadoras que aprovechen el potencial de las redes de información en función de poner en marcha efectivas
mejoras e innovaciones con respecto a su entorno y a su desarrollo.
La creación y formación de las redes actuales no fueron obra de la casualidad, sino de la necesidad de un
mundo en crecimiento, de comunicación e intercambio de información de una manera rápida y segura.
Parte de lo que hace tan interesante a la tecnología TCP/IP es su adopción casi universal, así como el tamaño
y el índice de crecimiento de la Internet global. ARPA comenzó a trabajar con una tecnología de red de redes
a mediados de los años setenta; su arquitectura y protocolos tomaron su forma actual entre 1977 y 1979. En
ese tiempo, ARPA era conocida como la principal agencia en proporcionar fondos para la investigación de
redes de paquetes conmutados y fue pionera de muchas ideas sobre la conmutación de paquetes con su bien
conocida ARPANET. ARPANET utilizaba interconexión convencional de línea rentada punto a punto, pero
ARPA también ofreció fondos para la exploración de conmutación de paquetes a través de redes de radio y
mediante canales de comunicación por satélite. De hecho, la diversidad creciente de tecnologías de hardware
de red obligó a ARPA a estudiar la interconexión de redes y alentó el enlace de redes.
La disponibilidad de ARPA en cuanto a fondos para la investigación, atrajo la atención y la imaginación de
muchos grupos de investigación en especial de los investigadores que ya tenían experiencia previa utilizando
conmutación de paquetes en ARPANET. ARPA llevó a cabo reuniones informales de investigadores para
compartir ideas y discutir los
resultados de los experimentos. En 1979, había tantos investigadores
involucrados en los esfuerzos del TCP/IP, que ARPA formó un comité informal para coordinar y guiar el
diseño de los protocolos y la arquitectura del Internet que surgía. Llamada Junta de Control y Configuración
de Internet (ICCB), el grupo se reunía con regularidad hasta 1983, año en que fue reorganizado.
La Internet global se inició alrededor de 1980 cuando ARPA comenzó a convertir las máquinas conectadas a
sus redes de investigación en máquinas con el nuevo protocolo TCP/IP. ARPANET, una vez en su lugar, se
convirtió rápidamente en la columna vertebral del nuevo Internet, y fue utilizada para realizar muchos de los
primeros experimentos con el TCP/IP. La transición hacia la tecnología Internet se completó en enero de
142
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
1983, cuando la Oficina del Secretario de Defensa ordenó que todas las computadoras conectadas a redes de
largo alcance utilizaran el TCP/IP. Al mismo tiempo, la Agencia de Comunicación del a Defensa (DCA),
dividió ARPANET en dos redes separadas, una para la investigación futura y otra para la comunicación
militar. La parte de investigación conservó el nombre de ARPANET; mientras que la parte militar, que era un
poco más grande, se conoció como red militar MILNET.
Para alentar a los investigadores universitarios a que adoptaran y utilizaran los nuevos protocolos, ARPA
puso a su disposición una implementación de bajo costo. En ese tiempo, la mayor parte de los departamentos
universitarios de ciencias de la computación utilizaban una versión del sistema operativo UNIX, disponible
en Distribución Berkeley de Software de la Universidad de California, en general conocido como UNÍS
Berkeley o UNIX BSD. Al proporcionar fondos a Bolt Beranek de Newman, Inc. (BBN), para implementar
sus protocolos TCP/IP en la utilización de UNIX y al proporcionar fondos a Berkeley para integrar los
protocolos a su sistema de distribución de software, ARPA fue capaz de llegar a más del 90% de los
departamentos universitarios de ciencias de la computación.
El nuevo software de protocolo llegó en un momento particularmente significativo pues muchos
departamentos estaban adquiriendo una o dos computadoras adicionales y sólo las conectaban mediante redes
de área local. Los departamentos necesitaban protocolos de comunicación y no había otros generalmente
disponibles.
La distribución Berkeley de software se volvió popular ya que ofrecía mucho más que protocolos básicos
TCP/IP. Además de los programas normales de aplicación TCP/IP, Berkeley ofrecía un grupo de utilidades
para servicios de red que se parecían a los servicios de UNIX utilizados en una sola máquina.
La principal ventaja de las utilidades Berkeley reside en su parecido con el UNIX normal. Por ejemplo, un
usuario experimentado de UNIX puede aprender rápidamente a utilizar la utilidad de copia remota de
archivos de Berkeley (rcp), debido a que se comporta de la misma manera que la utilidad UNIX de copia de
archivo, a excepción de que permite que los usuarios copien archivos hacia y desde máquinas remotas.
Además de un grupo de programas de utilidades, UNIX Berkeley proporcionó una nueva abstracción de
sistema operativo conocida como socket, la cual permite que programas de aplicación accesen a protocolos de
comunicación. Como generalización del mecanismo UNIX para I/O, el socket tiene opciones para muchos
tipos de protocolo de red además del TCP/IP. Su diseño ha sido motivo de debate desde su introducción, y
muchos investigadores de sistemas operativos han propuesto alternativas. Sin embargo, independientemente
de sus méritos generales, la introducción de la abstracción socket fue importante ya que permitió a los
143
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
programadores utilizar protocolos TCP/IP sin mucho esfuerzo. por lo tanto, alentó a los investigadores a
experimentar con el TCP/IP.
El éxito de la tecnología TCP/IP y de Internet entre los investigadores de ciencias de la computación guió a
que otros grupos la adoptaran. Dándose cuenta de que la comunicación por red pronto sería una parte crucial
de la investigación científica, la Fundación Nacional de Ciencia s tomó un papel activo al expandir el Internet
TCP/IP para llegar a la mayor parte posible de científicos. Iniciando en 1985, se comenzó un programa para
establecer redes de acceso distribuidas alrededor de sus
centros con supercomputadoras. En 1986 se
aumentaron los esfuerzos para el enlace de redes al proporcionar fondos para una nueva red de columna
vertebral de área amplia, llamada NSFNET, que eventualmente alcanzó todos los centros con
supercomputadoras y los unificó a ARPANET. En 1986, la NSF proporcionó fondos para muchas redes
regionales, cada una de las cuales conecta en la actualidad importantes instituciones científicas de
investigación en cierta área. Todas las redes con fondos de la NSF utilizan los protocolos TCP/IP y todas
forman parte de la Internet global.
En la red de conmutación de paquetes una sola línea es compartida por múltiples usuarios. Estas redes tenían
la particularidad de ser Redes de conmutación de paquetes.
El paquete debe tener la información suficiente para llegar a su destino, nombre de quien lo envía y destino.
En la red de conmutación hay dispositivos que "conmutan"
los paquetes para llegar a su destino.
3
6.2 MEMORIA CACHE.
La memoria Cache 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. La CPU puede obtener las instrucciones y los datos
ubicados en la memoria Cache mucho más rápidamente que las instrucciones y datos almacenados en la
memoria principal. Por ejemplo, en una placa madre típica de 100 megahertz, el CPU necesita hasta 180
nanosegundos para obtener información de la memoria principal, mientras que la información de la memoria
Cache sólo necesita de 45 nanosegundos. Por lo tanto, cuantas más instrucciones y datos la CPU pueda
obtener directamente de la memoria Cache, más rápido será el funcionamiento de la computadora.
Las clases de memoria cache incluyen cache principal (también conocida como cache de Nivel 1 [L1]) y
cache secundaria (también conocida como cache de Nivel 2 [L2]). La memoria cache también puede ser
interna o externa. La memoria cache interna esta incorporada en la CPU de la computadora, mientras que la
externa se encuentra fuera de la CPU.
144
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La memoria cache principal es la que se encuentra más próxima a la CPU. Normalmente, la memoria cache
principal esta incorporada en la CPU y la memoria cache secundaria es externa. Algunos modelos anteriores
de computadoras personales tienen chips de CPU que no incluyen memoria cache interna. En estos casos, la
memoria cache externa, si existiera, sería en realidad cache primaria (L1).
La memoria cache también se puede comparar con el cinturón de herramientas de un trabajador, en el cual se
colocan las herramientas y las piezas que se necesitan con mayor frecuencia. De acuerdo con esta analogía, la
memoria principal es como una caja portátil de herramientas y el disco duro un trailer completo de equipo ó
el taller.
El "cerebro" del sistema de la memoria cache es el llamado controlador de memoria cache. Cuando un
controlador de memoria cache accesa 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 cache, permitiendo así que la computadora funcione con mayor rapidez.
¿Qué es la memoria caché? Es un tipo de memoria donde se guardan datos que la PC necesita para trabajar.
La memoria principal de la PC (RAM) y la memoria caché son iguales en muchos aspectos; la diferencia está
en el uso que se le da a la caché.
Debido a la gran velocidad alcanzada por los microprocesadores, la RAM de la computadora no es lo
suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita, por lo que
tendría que esperar a que la memoria estuviera disponible y el trabajo se atrasaría. Para evitarlo, se usa una
memoria muy rápida, estratégicamente situada entre el micro y la RAM: la memoria caché.
¿La memoria caché es muy rápida?
Unas 5 o 6 veces más que la RAM. Esto la encarece bastante, y ése es uno de los motivos por los cuales su
capacidad es mucho menor que el de la RAM: un máximo cercano a 512 kilobytes (512 Kb), es decir, medio
"mega", frente a 16 ó 32 megas de RAM. Además, este precio elevado la hace candidata a falsificaciones y
engaños.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando una computadora
trabaja, el microprocesador opera en ocasiones con un número reducido de datos, pero que tiene que traer y
llevar a la memoria en cada operación. Si situamos en medio del camino de los datos una memoria intermedia
que almacene los datos más usados, los que casi seguro necesitará el microprocesador en la próxima
145
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
operación que realice, por lo tanto ahorrará mucho tiempo del tránsito y acceso a la lenta memoria RAM; esta
es la segunda utilidad de la caché.
A continuación mostramos una foto de unos chips de caché:
La memoria de la CPU es más rápida que la principal, lo ideal sería que la memoria principal fuera de la
misma tecnología que los registros de la CPU pero, debido a su alto costo, se tiende a soluciones intermedias.
Una solución sería aprovecharnos del principio de localidad y colocar una memoria muy rápida entre la CPU
y la memoria principal de tal forma que la CPU acceda más veces a esa memoria que a memoria principal.
Esta memoria muy rápida deberá ser pequeña para que los costos no sean excesivos. A esta memoria se le
denomina memoria cache.
El funcionamiento de la memoria cache se basa en la transferencia de partes (bloques) de la memoria
principal y la memoria cache así como de la transferencia de palabras entre memoria cache y la CPU.
El tamaño de la caché
Aunque la caché sea de mayor velocidad que la RAM, si usamos una caché muy grande, el micro tardará un
tiempo apreciable en encontrar el dato que necesita. Esto no sería muy importante si el dato estuviera allí,
pero ¿y si no está? Entonces habrá perdido el tiempo, y tendrá que sumar ese tiempo perdido a lo que tarde en
encontrarlo en la RAM.
146
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Por tanto, la caché actúa como un resumen, una "chuleta" de los datos de la RAM, y todos sabemos que un
resumen de 500 páginas no resulta nada útil. Se puede afirmar que, para usos normales, a partir de 1 MB
(1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del ordenador. El
tamaño idóneo depende del de la RAM, y viene recogido en la siguiente tabla:
RAM (MB)
Caché (Kb)
1a4
128 ó 256
4 a 12
256
12 a 32
512
más de 32
512 a 1024
Se debe hacer notar que muchos "chipsets" para Pentium, como los conocidos Intel "Tritón" VX o TX, no
permiten cachear más de 64 MB de RAM; es decir, que a partir de esta cifra, ES COMO SI NO EXISTIERA
CACHé EN ABSOLUTO.
La caché interna o L1
La caché a la que nos hemos referido hasta ahora es la llamada "caché externa" o de segundo nivel (L2).
Existe otra, cuyo principio básico es el mismo, pero que está incluida en el interior del micro; de ahí lo de
interna, o de primer nivel (L1).
Esta caché funciona como la externa, sólo que está más cerca del micro, es más rápida y más cara, además de
complicar el diseño del micro, por lo que su tamaño se mide en pocas decenas de kilobytes. Se incorporó por
primera vez en los micros 486, y por aquel entonces era de 8 Kb (aunque algunos 486 de Cyrix tenían sólo 1
Kb). Hoy en día se utilizan 32 ó 64 Kb, aunque seguro que pronto alguien superará esta cifra.
La importancia de esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que los
Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el doble de caché interna.
147
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Dentro de la gran carcasa negra encontramos una placa de circuito en la que va soldado el micro en sí (en el
centro de la imagen), junto con varios chips que forman la caché, externa a lo que es propiamente el micro.
Sin embargo, esta caché funciona a una frecuencia que es la mitad de la del micro (es decir, a 133, 150
MHz o más), mientras que la caché externa clásica funciona a la de la placa base (de 50 a 66 MHz en los
Pentium y 100 MHz en los AMD K6-2).
Los que casi pueden presumir de tener una gran caché interna son los micros: Pentium III Coppermine,
Celeron Mendocino (no los antiguos Celeron, que carecían de caché L2 en absoluto) y AMD Athlon
Thunderbird y Duron.
Estos micros tienen la caché L2 integrada en el propio encapsulado del micro y la hacen funcionar a la
misma velocidad que éste, de forma que no llega a ser tan rápida como la caché L1 pero sí lo bastante como
para ser más rápidos que los modelos con caché externa, pese a tener la mitad o menos de caché.
Tecnologías usadas en la caché. Aunque en general no se puede elegir qué memoria caché adquirir con el
ordenador, puesto que se vende conjuntamente con la placa base (o con el micro, si es un Pentium II, un
Pentium III o un Mendocino), conviene tener claros unos cuantos conceptos por si se diera el caso de tener
varias opciones a nuestra disposición.
Ante todo, el tipo de memoria empleada para fabricar la caché es uno de los factores más importantes. Suele
ser memoria de un tipo muy rápido (como por ejemplo SRAM o SDRAM) y con características especiales,
como burst pipeline: transmitir datos "a ráfagas" (burst).
La velocidad de la caché influye en su rendimiento, como es obvio. Las cachés se mueven en torno a los 10
nanosegundos (ns) de velocidad; es decir, que cada 10 ns pueden admitir una nueva serie de datos. Por tanto,
a menor tiempo, mayor velocidad.
148
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El último parámetro que influye en las cachés es la forma de escribir los datos en ellas. Esto se suele
seleccionar en la BIOS, bien a mano o dejando que lo haga el ordenador automáticamente; las dos formas
principales son:
 Write-Througth: impronunciable término que indica el modo clásico de trabajo de la caché;
 Write-Back: un modo más moderno y eficaz de gestionar la caché.
6.3 ARQUITECTURAS CISC Y RISC.
.En las primeras arquitecturas los ordenadores tendían a aumentar su potencia a base de ampliar su repertorio
de instrucciones y de añadir instrucciones más potentes. El hecho de que el tiempo de ejecución de una
instrucción fuera de varios ciclos de reloj no representaba un problema puesto que las velocidades de la
memoria de control eran muy superiores a las velocidades de la memoria principal. Así, aunque el proceso de
las microinstrucciones se completase en un ciclo de reloj, no se podría continuar con el proceso de la siguiente
instrucción inmediatamente, ya que estaría alojada en la memoria principal, de velocidad mucho más lenta
que la memoria de control.
En los años 70, las mejoras tecnológicas permitieron tener velocidades en la memoria principal similares a la
memoria de control, lo que hizo posible trabajar con instrucciones simples (que se completan en un ciclo de
reloj) y por tanto acelerar considerablemente la ejecución de instrucciones (nada más terminar la ejecución de
todas las microinstrucciones se empieza con la ejecución de la siguiente instrucción).
Para ejecutar una tarea se necesitan más instrucciones en RISC que en CISC, ya que en RISC las
instrucciones son más elementales. Pero el hecho de tener actualmente unos mecanismos rápidos de acceso a
memoria, buses de alta velocidad y compiladores especializados en estas arquitecturas, hace que los
ordenadores RISC obtengan en general unos mejores rendimientos.
Ahora bien, algunas de las formas tradicionales de medir el rendimiento, como es el número de MIPS, no son
adecuadas para comparar el rendimiento de máquinas CISC y RISC. Esto se debe a que los MIPS dan la
cantidad de millones de instrucciones por segundo que desarrolla una máquina, pero no tienen en cuenta la
potencia de esas instrucciones. Por el propio diseño de la arquitectura RISC, estas máquinas tienden a
desarrollar más MIPS que las CISC.
Arquitectura CISC:
149
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La arquitectura CISC (Complex Instruction Set Computer) se caracteriza por disponer de un grupo muy
amplio de instrucciones muy complejas y potentes. Es más antigua que la arquitectura RISC y por tanto su
diseño está marcado por la tecnología existente en los años 60.
La palabra CISC significa conjunto complejo de instrucciones.
Los diseños CISC poseen:
 Un gran número de instrucciones
 Menor cantidad de registros de uso general
A lo largo de la historia de la computación el hardware se ha ido haciendo cada vez más barato y el software,
por el contrario, se ha ido haciendo cada vez más caro; esto puede deberse principalmente al hecho de que los
programas durante su ciclo de vida se encuentran en permanente manutención debido a los errores que éstos
presentan.
En base a lo anterior se han desarrollado lenguajes de alto nivel que permiten facilitar la tarea del
programador.
Los programas realizados en lenguajes de programación deben ser traducidos a lenguaje de máquina por
medio de los compiladores. La traducción de código generado en este lenguaje de alto nivel produce
ineficiencias en la ejecución, gran tamaño de instrucciones de máquina y complejidad en los compiladores; ya
que por ejemplo, los lenguajes de alto nivel poseen estructuras como if o while, mientras los lenguajes de
máquina poseen instrucciones como MOVE, ADD y JUMP.
Esto generó los diseños CISC que poseen como objetivos:
· Facilitar el trabajo del programador
· Mejorar la eficiencia de la ejecución, ya que las operaciones se implementan en microcódigo.
· Dar soporte a los lenguajes de alto nivel más complejos y sofisticados.
Cada instrucción desarrolla una serie de operaciones dentro del procesador. Esto reduce el número de
instrucciones requeridas para implementar un programa dado y permite al programador aprender un pequeño,
pero flexible conjunto instrucciones.
El conjunto de instrucciones de las arquitecturas CISC poseen las siguientes características:
150
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Tienen un formato de dos operandos, donde las instrucciones tienen una fuente y un destino.
Poseen comandos registro a registro, registro a memoria y memoria a registro.
Tienen modos de direccionamiento múltiple a memoria.
Las instrucciones son de largo variable de acuerdo al modo de direccionamiento.
Las instrucciones requieren varios ciclos de reloj para ejecutarse.
Las ventajas de los diseños CISC son:
La microprogramación es fácil de implementar.
El uso de nuevas instrucciones microcodificadas permitió a los diseñadores construir máquinas
altamente compatibles; es decir un nuevo computador podía correr los mismos programas que se
habían construido para los computadores anteriores ya que el nuevo computador contendría un
conjunto más grande que incluiría las instrucciones anteriores.
Como cada instrucción era cada vez más capaz, se usaban menos instrucciones para implementar
una tarea dada. Esto hizo más eficiente el relativo uso de la memoria que era muy lenta.
El compilador no es tan complicado, debido a que el conjunto de instrucciones del microprograma
pueden ser escritas para ―calzar‖ con los lenguajes de alto nivel.
Las desventajas de los diseños CISC son:
Las primeras versiones de una familia de procesadores generalmente contiene un subconjunto de
instrucciones de cada nueva versión, esto ha provocado que el conjunto de instrucciones en el chip
sea cada vez más complejo con cada nueva generación de computadores.
Como muchas instrucciones deben ser almacenadas en memoria con el menos espacio posible
desperdiciado y las instrucciones pueden ser de cualquier largo, esto provoca que las distintas
instrucciones tomarán distintas cantidades de tiempo de reloj para ejecutarse, haciendo más lento el
desempeño de la máquina.
Las instrucciones especializadas no son usadas de manera suficientemente frecuente para justificar
su existencia, ya que en promedio en un programa típico se usan aproximadamente un 20% de las
instrucciones disponibles.
151
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Arquitectura RISC:
Esta arquitectura, denominada RISC (Reduced Instruction Set Computer), se caracteriza por poseer un juego
de instrucciones lo más reducido posible con un porcentaje alto de ellas que se completan en un ciclo de reloj.
Si hubiese que ejecutar alguna instrucción compleja, necesitaría más de un ciclo de reloj, pero la mayor parte
de ellas se pueden realizar a partir de operaciones fundamentales. Por otra parte, es una constatación
estadística que la potencia práctica de un ordenador reside en un conjunto pequeño de su repertorio de
instrucciones, con lo cual si se reduce dicho repertorio se sigue conservando la potencia del ordenador, y
disminuye la complejidad del diseño y el coste.
La palabra RISC significa conjunto reducido de instrucciones.
Los elementos clave compartidos por la mayoría de los diseños RISC son:
Conjunto de instrucciones limitado y sencillo
Un gran número de registros de uso general, o el uso de tecnología de compiladores para optimizar
el uso de registros.
Un énfasis en la optimización de segmentación de instrucciones.
El nacimiento de los diseños RISC se originó en el estudio de las características de ejecución de las
instrucciones. Se analizaron, en programas escritos en lenguajes de alto nivel, las operaciones realizadas, los
operandos usados y el secuenciamiento de la ejecución.
En relación a las operaciones si se observa la siguiente tabla:
Tabla 1: Frecuencia dinámica relativa ponderada de operaciones en lenguajes de alto nivel
Frecuencia
dinámica
Instrucciones de máquina
ponderadas
Referencias a memoria
ponderadas
Pascal
C
Pascal
C
Pascal
C
De asignación
45
18
13
13
14
15
Iteraciones
5
3
42
32
33
26
Llamadas a
procedimiento
15
12
31
33
44
45
Condicionales
29
43
11
21
7
13
3
1
2
1
Goto
Otras
3
6
1
152
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
De la tabla 1 se deduce que la mayoría de las operaciones corresponden a las de asignación, declaraciones
condicionales y llamadas a procedimientos. Esto podría indicar que sentencias debieran ser implementadas
de manera más óptima, pero se debe notar que las instrucciones que demoran mayor tiempo de ejecución
corresponden a las llamadas a procedimiento, ya que hacen más referencias a memoria.
En relación a los operandos si se observa la siguiente tabla:
Tabla 2 Porcentaje dinámico de operandos
Pascal
C
Promedio
Constantes enteras
16
23
20
Variables escalares
58
53
55
Matrices / estructuras
26
24
25
La mayoría de las referencias se hacen a operandos escalares simples. En relación a las llamadas a
procedimientos, en un estudio realizado por Tanenbaum en 1978 se determinó que al 98 % de los
procedimientos llamados dinámicamente se le pasaban menos de seis argumentos, el 41 % de los
procedimientos no tiene parámetros y que el 92 % de ellos usaba menos de seis variables escalares locales.
Luego para diseñar una máquina RISC se pueden tomar en cuenta las siguientes consideraciones:
Analizar las aplicaciones para encontrar las operaciones clave
Diseñar una trayectoria de datos que sea óptima para las operaciones clave (La trayectoria de datos
consiste en extraer los operandos de los registros, moverlos a la unidad aritmética y lógica y
almacenar el resultado en un registro).
Diseñar instrucciones que realicen las operaciones clave utilizando la trayectoria de datos
Agregar nuevas instrucciones siempre que no hagan más lenta la máquina.
En una máquina RISC los programas se compilan en secuencias de microinstrucciones que son ejecutadas
directamente por el hardware
Las arquitecturas RISC utilizan un gran número de registros, principalmente debido a que uno de los
objetivos principales de las arquitecturas RISC es ejecutar en promedio una instrucción por ciclo.
153
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En los estudios realizados por Tanenbaum se observó que un 80% de las asignaciones eran de la forma a=b
y que sólo el 5% de las asignaciones contenían dos o más operadores. Esto indica que los datos pueden ser
almacenados en registros, ya que son el medio de almacenamiento más rápido disponible.
De lo anterior, se deduce que se deben generar estrategias para acceder con mayor frecuencia a éstos y
minimizar las operaciones registro-memoria.
Si esto se hace por software, el compilador asignará registros a las variables más utilizadas en un cierto
periodo.
Si se hace por hardware se utilizan las llamadas ventanas de registros. Esto se utiliza en las llamadas a
procedimiento para almacenar y restaurar las variables locales.
A cada procedimiento se le asigna un pequeño conjunto de registros distinto (Figura 1), que se dividen en:
Registros de parámetros, que contienen ya sea los parámetros entregados desde el procedimiento que
lo llamó o los resultados devueltos a éste.
Registros de datos locales, que se usan para las variables locales.
Registros temporales que se usan para intercambiar parámetros, estos registros se traslapan con los
registros de datos locales del procedimiento llamado por el procedimiento ―dueño‖ de estos
registros.
Figura 1: Ventanas de registros solapadas
154
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los registros de parámetros del Nivel J + 1 contienen los registros temporales del procedimiento que lo llamó
del Nivel J y es aquí por donde se devuelven los resultados.
Con esto se logra una transferencia de datos real, ya que los registros son físicamente los mismos.
Como el número de registros es limitado, esto hace que el número de ventanas también lo sea. Por lo tanto,
éstas contienen las últimas activaciones de procedimientos. Las activaciones más antiguas se almacenen en
memoria y se van recuperando a medida que se liberan los registros. Luego, la organización de estas ventanas
es circular, como aparece en la Figura 2.
Figura 2: Organización mediante un buffer circular de las ventanas solapadas
155
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Aquí existen 6 ventanas. A llamó a B, B llamó a C y C llamó a D; D es el procedimiento activo. El puntero
de ventana en curso apunta a D. El puntero de ventana salvada identifica la ventana almacenada en memoria
más recientemente. Los traslapes en las ventanas corresponden a los registros temporales y de parámetros de
la Figura 1. Si D llama a E, avanza el puntero de ventana. Si E llama a F, se almacenan en memoria las dos
primeras partes de A, se avanza el puntero de ventana salvada a B y la llamada a F sigue adelante. En los
retornos de procedimiento se retrocede con los punteros.
En el caso de las variables globales que son utilizadas por más de un procedimiento, estas pueden ser
almacenadas en memoria provocando un retardo en el tiempo de ejecución; o de lo contrario incorporar a la
CPU una cantidad de registros globales, con lo que se debe agregar una numeración para referenciar a los
registros.
Como la cantidad de registros en una máquina RISC es reducido y su objetivo es contener los operandos
necesarios para los cálculos y minimizar las operaciones de carga y almacenamiento en memoria; se debe
decidir que se asigna a los registros en algún punto del programa. La técnica utilizada para asignar los
registros es el coloreado de grafos, que consiste en que si dos nodos en un grafo están unidos por un arco,
éstos deben tener colores diferentes.
El compilador analiza las interferencias entre registros considerando que si dos registros están ―vivos‖ en un
mismo fragmento de programa son unidos por un arco.
Las Arquitecturas CISC se basan en el deseo de simplificar los compiladores y mejorar las prestaciones. Si se
desea simplificar los compiladores obviamente se tratará de que las instrucciones en lenguaje de máquina se
parezcan a las sentencias de los lenguajes de alto nivel; sin embargo, es más difícil optimizar el código para
minimizar su tamaño, reducir el número de instrucciones ejecutadas y mejorar la segmentación. Las
arquitecturas CISC tienen programas más pequeños, pero no necesariamente usan menos memoria. Como
estas arquitecturas poseen un mayor número de instrucciones necesitan códigos de operación más largos,
luego las instrucciones son más largas.
Las arquitecturas RISC tienen como característica el que ejecutan una instrucción en cada ciclo de máquina.
La mayoría de las operaciones son del tipo registro a registro, a excepción de LOAD y STORE para acceder a
memoria; esto optimiza el uso de los registros, debido a que los operandos más utilizados son accesados más
rápidamente. Poseen modos de direccionamiento sencillos, la mayoría es direccionamiento a registro.
La longitud de instrucción es fija y alineada en los límites de una palabra. Las posiciones de los campos de
operación son fijas; esto simplifica la unidad de control.
156
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los programas RISC son más sensibles a las interrupciones que los programas CISC, debido a que estos
últimos restringen las interrupciones o definen puntos específicos de interrupción.
Las ventajas de las arquitecturas RISC son:
El desempeño de los procesadores RISC es dos a cuatro veces mejor que el desempeño de los
procesadores CISC, debido al pipeline.
El hardware es más simple, debido a que se utiliza menos espacio en el chip, pudiendo éste ser
aprovechado para otras cosas como por ejemplo unidades de administración de memoria.
Su ciclo de diseño es más corto, debido también a su mayor simpleza, pueden ser desarrollados más
rápido que los CISC.
DIFERENCIAS DE LAS ARQUITECTURAS RISC Y CISC:
RISC
CISC
Instrucciones sencillas en un ciclo
Instrucciones complejas en varios ciclos
Sólo LOAD / STORE hacen referencia a memoria
Cualquier instrucción puede referenciar a memoria
Procesamiento serie de varias etapas
Poco procesamiento en serie
Instrucciones ejecutadas por hardware
Instrucciones interpretadas por el microprograma
Instrucciones de formato fijo
Instrucciones de formato variable
Pocas instrucciones y modos
Muchas instrucciones y modos
La complejidad está en el compilador
La complejidad está en el microprograma
Varios conjuntos de registros
Un solo conjunto de registros
6.4 SISTEMAS DE MULTIPROCESAMIENTO
Un sistema multiprocesador es una interconexión entre dos o más de las CPUs que comparten una memoria y
un equipo de entrada / salida comunes. El término ―procesador‖ en el multiprocesador puede significar o una
unidad procesadora central (CPU) o un procesador de entrada-salida (IOP).
Un sistema multiprocesador implica la existencia de CPU‘s múltiples, aunque usualmente habrá uno o más
IOP‘s.
157
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La creación del microprocesador ha producido la mayor motivación para los sistemas procesadores múltiples.
El hecho de que los microprocesadores tomen muy poco espacio físico y sean poco costosos los hace
factibles para interconectar un gran número de microprocesadores en un sistema compuesto.
El beneficio derivado de una organización del multiprocesador es un comportamiento mejor del sistema. Es
logrado por medio de partición de la función total en un número de tareas que cada uno de los procesadores
puede manejar individualmente. Las tareas del sistema pueden ser localizadas en procesadores de propósito
especial cuyo diseño es optimizado para realizar ciertos tipos de procesamiento eficientemente.
La función del sistema puede distribuirse entre procesadores concurrentes separados que ejecutan operaciones
en paralelo, reduciendo así el tiempo de ejecución global.
El multiprocesamiento mejora la confiabilidad del sistema de tal manera que una falla o error en un parte
tiene un efecto limitado en el resto del sistema. Si una falla hace que un procesador falle, un segundo
procesador puede asignarse para realizar las funciones del procesador deshabilitado. El sistema como un todo
puede continuar funcionando como un todo quizá con alguna perdida en eficiencia.
Interconexión entre los procesadores.
Los componentes que forman un sistema multiprocesador son las CPU‘s y los IOP‘s conectados a los
dispositivos entrada-salida y una unidad de memoria que puede partirse en un número de módulos separados.
La interconexión entre las componentes puede tener configuraciones físicas diferentes dependiendo del
número de rutas de transferencia que se encuentran disponibles entre los procesadores y la memoria. Cuatro
esquemas de interconexión que han sido utilizados son:
Memoria multipuerto.
Interruptor de barra cruzada.
Barraje común de tiempo compartido.
Estructura de barraje dual.
Un sistema de memoria multipuerto emplea barajes separados entre cada modulo de memoria y cada CPU o
IOP.
La ventaja de la organización de memoria multipuerto es la alta tasa de transferencia que puede lograse
debido a las rutas múltiples entre los procesadores y la memoria. La desventaja es que requiere de control de
memoria costosa y un gran número de cables y conectores.
158
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
La organización de interruptor de barra cruzada consta de un número de puntos de cruz que son colocados en
las intersecciones entre los barajes del procesador y las rutas de modulo de memoria. También resuelven
requisiciones múltiples de acceso al mismo modulo de memoria en una base prioritaria predeterminada.
El sistema multiprocesador de barraje común consta de un número de procesadores conectados a través de
una ruta común a una unidad de memoria.
Cualquier otro procesador que desee iniciar una transferencia debe primero determinar la disponibilidad del
estado del barraje, y solamente después de que el barraje este disponible el procesador puede direccionar la
unidad de memoria para iniciar la transferencia.
Comunicación interprocesador.
Los diversos procesadores en un sistema multiprocesador deben venir provistos con una facilidad para
comunicarse el uno con el otro. Una ruta de comunicación se puede establecer a través de canales comunes de
entrada-salida.
El uso primario de la memoria común es actuar como un centro de mensajes similar a un apartado de correos,
en donde cada procesador puede dejar mensajes para otros procesadores y recoger mensajes dirigido a el.
Además de la memoria compartida, un sistema multiprocesador puede tener otros recursos compartidos. Por
ejemplo, una unidad de almacenamiento de disco conectada a un IOP puede estar disponible para todos los
CPU‘s. Estos proporcionan facilidad para compartir programas
de sistemas almacenados en un disco
magnético. Una ruta de comunicación entre dos CPU‘s puede establecerse también por medio de un enlace
entre dos IOP‘s asociados con dos CPU‘s diferentes. Este tipo de enlace le permite a cada uno de los CPU
tratar a l otro como un dispositivo, I/O de tal manera que las operaciones I/O puedan utilizarse para transferir
información entre las memorias locales de los dos CPU‘s.
Un sistema multiprocesador que emplea una interconexión de memoria compartida y utiliza recursos de
sistemas I/O comunes que se dice que es un sistema acoplado ajustadamente. Esta es una característica de un
sistema multiprocesador que tiene todas sus componentes principales, tales como CPU‘s, IOP‘s y dispositivos
I/O en proximidad cercana.
Arbitramento del Barraje.
Cada procesador en un sistema multiprocesador requiere acceso a memoria común o a otros recursos comunes
a través de un sistema de barraje común. Si no hay otro procesador utilizando el barraje común, al procesador
que está requiriendo su uso se le puede conceder acceso inmediatamente.
159
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los procedimientos de arbitramento sirven todas las requisiciones del procesador en la base de prioridades
establecidas.
La técnica de resolución de prioridad serie se obtiene de una conexión en guirnalda de los árbitros de barraje.
Un procesador puede estar en el medio de una operación de barraje cuando un procesador de alta prioridad
requiere el barraje. El procesador de baja prioridad debe completar su operación de barraje antes de entregar
el control del barraje.
La técnica de arbitramento de barraje paralelo utiliza un codificador de prioridad alterna y un decodificador.
Cada arbitro del barraje en el esquema paralelo tiene una línea de salida de requisición de barraje y una línea
de entrada de reconocimiento de barraje.
Exclusión mutua.
Un sistema multiprocesador que funciona adecuadamente debe proporcionar un mecanismo que garantice un
acceso ordenado para compartir la memoria y otros recursos compartidos. Esto es necesario para proteger a
los datos de que se cambien simultáneamente por dos o más procesadores. Este mecanismo ha sido
denominado de exclusión mutua. La exclusión mutua debe proporcionarse en un sistema multiprocesador para
habilitar un procesador para un excluir o enclavar el acceso a un recurso compartido por otros procesadores
cuando ello es una sección crítica del programa. Una sección crítica de programa es una secuencia de
programa que, una vez que comienza, debe completar la ejecución antes de que otro procesador accese el
mismo recurso compartido.
Una variable binaria denominada semáforo es a menudo utilizada para indicar si un procesador está
ejecutando una sección crítica del programa o no. Un semáforo es una bandera controlada por software que es
almacenada en una localización de memoria a la cual todos los procesadores tienen acceso.
Cuando el semáforo es igual a 1, significa que el procesador está ejecutando un programa crítico, de tal
manera que la memoria compartida no esta disponible para otros procesadores. Cuando el semáforo es igual a
0. l la memoria compartida esta disponible para cualquier procesador que la requiera.
La prueba y colocación del semáforo es por sí misma una operación crítica y debe analizarse como una
operación sola indivisible.
Un semáforo puede iniciarse por medio de una instrucción de prueba y colocación en conjunto con un
mecanismo de cerradura de hardware.
160
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Una cerradura se hardware es una señal generada por el procesador que sirve para prevenir que otros
procesadores utilicen el barraje del sistema siempre y cuando que la señal esté activa.
El semáforo mismo, cuando se coloca, previene que otros procesadores accesen la memoria compartida
mientras un procesador está ejecutando una sección crítica del programa.
6.5 SISTEMAS DE PROCESAMIENTO DISTRIBUIDO
Desde el inicio de la era de la computadora moderna (1945), hasta cerca de 1985, solo se conocía la
computación centralizada [25, Tanenbaum].
A partir de la mitad de la década de los ochentas aparecen dos avances tecnológicos fundamentales:
Desarrollo de microprocesadores poderosos y económicos con arquitecturas de 8, 16, 32 y 64 bits.
Desarrollo de redes de área local (LAN) de alta velocidad, con posibilidad de conectar cientos de
máquinas a velocidades de transferencia de millones de bits por segundo (mb/seg).
Aparecen los sistemas distribuidos, en contraste con los sistemas centralizados. Los sistemas distribuidos
necesitan un software distinto al de los sistemas centralizados.
Los S. O. para sistemas distribuidos han tenido importantes desarrollos pero todavía existe un largo camino
por recorrer.
Los usuarios pueden acceder a una gran variedad de recursos computacionales:

De hardware y de software.

Distribuidos entre un gran número de sistemas computacionales conectados.
Un importante antecedente de las redes de computadoras lo constituye Arpanet, iniciada en 1968 en los
EE. UU.
Ventajas de los Sistemas Distribuidos con Respecto a los Centralizados
Una razón para la tendencia hacia la descentralización es la economía. Herb Grosch formuló la que se
llamaría ―Ley de Grosch‖ [25, Tanenbaum]:
161
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El poder de cómputo de una CPU es proporcional al cuadrado de su precio:
o
Si se paga el doble se obtiene el cuádruple del desempeño.
 Fue aplicable en los años setentas y ochentas a la tecnología mainframe.
 No es aplicable a la tecnología del microprocesador:
o
La solución más eficaz en cuanto a costo es limitarse a un gran número de cpu baratos
reunidos en un mismo sistema.
Los sistemas distribuidos generalmente tienen en potencia una proporción precio / desempeño mucho mejor
que la de un único sistema centralizado.
Algunos autores distinguen entre:
 Sistemas distribuidos: están diseñados para que muchos usuarios trabajen en forma conjunta.
 Sistemas paralelos: están diseñados para lograr la máxima rapidez en un único problema.
En general se consideran sistemas distribuidos, en sentido amplio, a los sistemas en que:

Existen varias cpu conectadas entre sí.

Las distintas cpu trabajan de manera conjunta.
Ciertas aplicaciones son distribuidas en forma inherente:
Ej.: sistema de automatización de una fábrica:
Controla los robots y máquinas en la línea de montaje.
Cada robot o máquina es controlado por su propia computadora.
Las distintas computadoras están interconectadas.
Una ventaja potencial de un sistema distribuido es una mayor confiabilidad:

Al distribuir la carga de trabajo en muchas máquinas, la falla de una de ellas no afectara a las demás:
o

La carga de trabajo podría distribuirse.
Si una máquina se descompone:
o
Sobrevive el sistema como un todo.
162
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Otra ventaja importante es la posibilidad del crecimiento incremental o por incrementos:
Podrían añadirse procesadores al sistema, permitiendo un desarrollo gradual según las necesidades.
No son necesarios grandes incrementos de potencia en breves lapsos de tiempo.
Se puede añadir poder de cómputo en pequeños incrementos.
Ventajas de los Sistemas Distribuidos con Respecto a las PC Independientes
Satisfacen la necesidad de muchos usuarios de compartir ciertos datos [25, Tanenbaum] :

Ej.: sistema de reservas de líneas aéreas.
También con los sistemas distribuidos se pueden compartir otros recursos como programas y periféricos
costosos:

Ej.: impresoras láser color, equipos de fotocomposición, dispositivos de almacenamiento masivo (ej.:
cajas ópticas), etc.
Otra importante razón es lograr una mejor comunicación entre las personas:

Ej.: correo electrónico:
o
Posee importantes ventajas sobre el correo por cartas, el teléfono y el fax:

Velocidad, disponibilidad, generación de documentos editables por procesadores
de texto, etc.
La mayor flexibilidad es también importante:

La carga de trabajo se puede difundir (distribuir) entre las máquinas disponibles en la forma más
eficaz según el criterio adoptado (por ej. costos).

Los equipos distribuidos pueden no ser siempre PC:
o
Se pueden estructurar sistemas con grupos de PC y de computadoras compartidas, de
distinta capacidad.
Desventajas de los Sistemas Distribuidos
El principal problema es el software, ya que el diseño, implantación y uso del software distribuido presenta
numerosos inconvenientes [25, Tanenbaum].
163
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Los principales interrogantes son los siguientes:
¿Qué tipo de S. O., lenguaje de programación y aplicaciones son adecuados para estos sistemas?.
¿Cuánto deben saber los usuarios de la distribución?.
¿Qué tanto debe hacer el sistema y qué tanto deben hacer los usuarios?.
La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una gran diversidad de
criterios y de interpretaciones al respecto.
Otro problema potencial tiene que ver con las redes de comunicaciones, ya que se deben considerar
problemas debidos a pérdidas de mensajes, saturación en el tráfico, expansión, etc.
El hecho de que sea fácil compartir los datos es una ventaja pero se puede convertir en un gran problema, por
lo que la seguridad debe organizarse adecuadamente.
En general se considera que las ventajas superan a las desventajas, si estas últimas se administran seriamente.
Existen dos razones principales por las que podemos desear realizar una transacción en una máquina distante.
Primero, es posible que nuestro equipo local tenga poder insuficiente para realizar la tarea pendiente.
Segundo, los datos que necesita nuestra transacción pueden estar almacenados en cualquier parte.
La primera razón se observa en instituciones científicas y de investigación donde se requiere gran poder de
procesamiento de números. La segunda se ve con frecuencia en entornos comerciales o gubernamentales
donde se conserva y se le da un mantenimiento a la base de datos corporativa.
Las redes que constan de una computadora central y varias terminales enlazadas por un sistema de
comunicaciones de datos que han estado en uso por largo tiempo. Para que se realice procesamiento
distribuido, el ―sistema‖ debe constar de más de un procesador. Una consecuencia de la generalidad de esta
definición es que es posible de encontrar un número más grande de configuraciones.
Además, con el advenimiento de la vasta distribución de microcomputadoras, un entorno de procesamiento
distribuido puede crecer sin el conocimiento o consentimiento explícito de los propietarios de las máquinas
centrales.
164
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Computación distribuida.
Existen otros términos y conceptos útiles para comprender el procesamiento distribuido. Dos conceptos son
de particular utilidad: procesamiento de datos distribuido (DDP) e inteligencia distribuida. Un sistema de
procesamiento de datos distribuido es aquel que emplea más de un procesador geográficamente distanciados y
enlazados por telecomunicaciones.
La inteligencia distribuida tiene que ver con el uso de procesadores en terminales, controladores o máquinas
periféricas para ejecutar funciones que en forma individual no desempeñen el procesamiento completo de una
transacción. En la segunda mitad de la década de 1980, las LAN se convirtieron en elementos importantes en
entornos de procesamiento distribuido.
Mainframe o
microcomputadoras
Unidad central
Segundo
procesador
Via de acceso
Tercer
procesador
Controlador
de terminales
Se puede encontrar un diagrama muy simplificado de redes de área local en un sistema de procesamiento
distribuido. La mainframe o macrocomputadora esta enlazada a la LAN a través de una línea de
comunicaciones de datos de alguna clase (más adelante analizaremos las opciones realizadas con esa línea).
165
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
En una de varias formas: a través de una vía de acceso o servidor de comunicaciones en la LAN, a través de
un enlace más directo con un tablero en un sistema VAX o un controlador 8232 de LAN enlazado a un canal
de una mainframe de IBM. Se puede conectar un servidor de archivos a una u otra LAN.
Para mediados de la década de 1980 fue posible estructurar sistemas que trabajan precisamente según su
descripción, aunque nos apresuremos a agregar que pocos funcionaban en forma tan óptima como se
declaraba; no obstante, la mayoría de las fallas pudieran haberse atribuido quizá a restricciones
organizacionales en vez de técnicas. Por desgracia, en muchas organizaciones, sino es que en la mayoría, las
fallas interorganizacionales obstaculizan a menudo la implementación de procesamiento distribuido realmente
integrado.
En una organización de menor tamaño sin una mainframe central podría haber una red de LAN; por ejemplo
donde cada LAN sea la unidad controladora de todas las demás. De la misma forma, podría haber una red de
múltiples mainframes o macrocomputadoras o supercomputadoras; algunas de ellas podrían tener estructuras
jerárquicas locales y otras podrían estar organizadas como sistemas centrales iguales en una LAN de alta
velocidad.
Entonces, también la mainframe o la supercomputadora podría estar integrada en forma estrecha a la LAN
para fungir como servidor de archivos de la red de área local.
Con esto hemos intentado demostrar la vialidad de las LAN como nodos de una red distribuida de mayor
tamaño.
Para la mayoría de las instalaciones será necesario integrar redes de área local en una red existente de algún
tipo.
Dos de las arquitecturas de redes más importantes (Auspiciadas por importantes fabricantes de computadoras)
son System Network Architecture (SNA) de IBM y Digital Network Architecture (DNA) de DEC. Además,
debido al impacto futuro potencial de las redes de área metropolitana (MAN), observaremos cómo se
integrarán las LAN en ese entorno. Los sistemas operativos de redes (NOS) para la LAN constituyen así
mismo arquitecturas de redes.
Será importante comprender como encajan las LAN en el esquema OSI integral y eso se ilustrará con
referencia MAP, Manufacturing Automation Protocol (o protocolo de automatización de la manufactura).
166
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Apreciaremos las redes de área local en el contexto de internet, que es la red nacional TCP/IP de Estados
Unidos importante para el sector público; pero también de importancia creciente para el sector privado.
Tres de las redes que analizaremos son arquitecturas plenas de características: TCP/IP, SNA, y DNA. Todas
ellas son arquitecturas estratificadas, aunque ninguna es estándar de OSI.
En contraste, MAP en un NOS autónomo porque MAP supone que una LAN es el medio de comunicaciones
principal de los estratos físicos y de enlace de datos; un sistema con bus o colector de señales 802.4 de IEEE.
Las otras arquitecturas pueden utilizar, y utilizan diversos medios físicos y no están enlazadas a estándares
Media Access Control (MAC, o control de acceso a los medios) del IEEE. SNA, DNA y TCP/IP no son
estándares de OSI. Con claridad SNA y DNA son estándares de propietario adoptados por IBM y DEC,
respectivamente. Incluso TCP/IP, aunque se le concibe como un estándar, fue creado por el Departamento de
Defensa de Estados Unidos para uso propio.
6.6 REDES DE COMPUTADORAS
El término "redes de computadoras" puede referirse tanto a dos computadoras conectadas entre si, como a
Redes de Area Local (LANs), y hasta a la propia Internet - la "red de redes".
Las redes pueden ayudar para que las organizaciones trabajen en colaboración mediante el intercambio de
información, y también pueden permitir que compartan recursos como las impresoras.
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.
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.
Malla.
Punto a punto
167
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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, esto no afecta a las demás, siempre y cuando el
"servidor" no esté caído.
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 las más fáciles de instalar y son relativamente baratas.
Topología de anillo: Todas las computadoras o nodos están conectados el uno con el otro, formando una
cadena o círculo cerrado.
Punto a Punto: Es otra de las tres principales topologías. La red se une en un único punto, normalmente con
control centralizado, como un concentrador de cableado.
168
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Tipos de Redes: Según el lugar y el espacio que ocupen, las redes, se pueden clasificar en dos tipos:
Red LAN (Local Area Network) o Redes de área local
Red WAN (Wide Area Network) o Redes de área amplia
Red MAN (Metropolitan Area Networks)
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 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.
169
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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.
3. – MAN Metropolitan Area Networks.
Red que conecta típicamente diferentes tipos de computadoras, su amplitud no va mas allá de una ciudad,
municipio o mezcla de ambos.
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.
170
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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.
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 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.
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.
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.
Transmisión de datos en las redes: La transmisión de datos en las redes, puede ser por dos medios:
Terrestres: Son limitados y transmiten la señal por un conductor físico.
Aéreos: Son "ilimitados" en cierta forma y transmiten y reciben las señales electromagnéticas
por microondas o rayo láser.
171
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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.
6.7 PROTOCOLOS ESTANDARES
Establecen una descripción formal de los formatos que deberán presentar los mensajes para poder ser
intercambiados por equipos de cómputo; además definen las reglas que ellos deben seguir para lograrlo.
Los protocolos están presentes en todas las etapas necesarias para establecer una comunicación entre equipos
de cómputo, desde aquellas de más bajo nivel (e.g. la transmisión de flujos de bits a un medio físico) hasta
aquellas de más alto nivel (e.g. el compartir o transferir información desde una computadora a otra en la red).
Telnet: Es probablemente el más viejo de los protocolos creados para internet. Se usa para controlar
remotamente otra computadora, mayormente en el mundo UNIX. Con telnet se puede accesar a una
computadora remota y mandar líneas de instrucciones como si estuviera sentado físicamente frente a la
computadora remota.
http (Protocolo de transferencia de hipertexto): Es un protocolo cliente-servidor que articula los
intercambios de información entre los clientes web y los servidores http. Se basa en sencillas operaciones de
solicitud-respuesta.
172
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Un cliente establece una conexión con un servidor y envía un mensaje con los datos de la solicitud. El
servidor responde con un mensaje similar que contiene el estado de operación y su posible resultado. Todas
las operaciones pueden adjuntar un objeto recurso sobre el que actúan con objeto web (documento html,
fichero multimeda, aplicación).
FTP (File Transfer Protocol): Comenzó siendo una utileria de UNIX. Es usado para transferir archivos en
Internet. Trabaja bajo el concepto cliente-servidor. Muchos servidores FTP son usados como emplazamientos
donde se almacenan archivos. A estos lugares se puede acceder siempre que se disponga de un programa FTP
cliente. La aplicación permite realizar la transferencia de ficheros entre ordenadores.
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 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.
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 de transferencia
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.
173
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
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.
FAMILIA DE PROTOCOLOS TCP/IP
Tomando al modelo OSI (Open Systems Interconection) como referencia podemos afirmar que para cada
capa o nivel que él define existen uno o más protocolos interactuando. Los protocolos son entre pares
(peer-to-peer), es decir, un protocolo de algún nivel dialoga con el protocolo del mismo nivel en la
computadora remota.
Conjunto de Protocolos TCP/IP Origen:
Desarrollados como parte del proyecto DARPA a mediados de los 70´s, dando lugar a la red ARPANET.
Su objetivo fue que computadoras cooperativas compartieran recursos mediante una red de comunicaciones.
ARPANET deja de funcionar oficialmente en 1990.
Conjunto de Protocolos TCP/IP. Su relación con el Modelo OSI

TCP = TRANSFER CONTROL PROTOCOL
 IP = INTERNET PROTOCOL
En la actualidad, las funciones propias de una red de computadoras pueden ser divididas en las siete capas
propuestas por ISO para su modelo de sistemas abiertos (OSI). Sin embargo la implantación real de una
arquitectura puede diferir de este modelo. Las arquitecturas basadas en TCP/IP proponen cuatro capas en las
que las funciones de las capas de Sesión y Presentación son responsabilidad de la capa de Aplicación y las
capas de Liga de Datos y Física son vistas como la capa de Interface a la Red.
174
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Por tal motivo para TCP/IP sólo existen las capas Interface de Red, la de Intercomunicación en Red, la de
Transporte y la de Aplicación. Como puede verse TCP/IP presupone independencia del medio físico de
comunicación, sin embargo existen estándares bien definidos a los nivel de Liga de Datos y Físico que
proveen mecanismos de acceso a los diferentes medios y que en el modelo TCP/IP deben considerarse la capa
de Interface de Red; siendo los más usuales el proyecto IEEE802, Ethernet, Token Ring y FDDI.
Modelo de capas de TCP/IP
Descripción del Modelo de Capas de TCP/IP:
Capa de Aplicación. Invoca programas que acceden servicios en la red. Interactúan con uno o más
protocolos de transporte para enviar o recibir datos, en forma de mensajes o bien en forma de flujos de bytes.
Capa de Transporte. Provee comunicación extremo a extremo desde un programa de aplicación a otro.
Regula el flujo de información. Puede proveer un transporte confiable asegurándose que los datos lleguen sin
errores y en la secuencia correcta. Coordina a múltiples aplicaciones que se encuentren interactuando con la
red simultáneamente de tal manera que los datos que envíe una aplicación sean recibidos correctamente por la
aplicación remota, esto lo hace añadiendo identificadores de cada una de las aplicaciones. Realiza además una
verificación por suma, para asegurar que la información no sufrió alteraciones durante su transmisión.
Capa Internet. Controla la comunicación entre un equipo y otro, decide qué rutas deben seguir los paquetes
de información para alcanzar su destino. Conforma los paquetes IP que será enviados por la capa inferior.
Desencapsula los paquetes recibidos pasando a la capa superior la información dirigida a una aplicación.
175
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Capa de Interface de Red. Emite al medio físico los flujos de bit y recibe los que de él provienen. Consiste
en los manejadores de los dispositivos que se conectan al medio de transmisión.
Arquitectura de Interconexión de Redes en TCP/IP
Metas
 Independencia de tecnología de conexión a bajo nivel y la arquitectura de la computadora.
 Conectividad Universal a través de la red. Reconocimientos de extremo a extremo.Protocolos de
Aplicación Estandarizados.Arquitectura de Interconexión de Redes en TCP/IP
Características
 Protocolos de no conexión en el nivel de red.
 Conmutación de paquetes entre nodos.
 Protocolos de transporte con funciones de seguridad.
 Conjunto común de programas de aplicación.
Arquitectura de Interconexión de Redes en TCP/IP
Interconexión de Redes
 Las redes se comunican mediante compuertas.
 Todas las redes son vistas como iguales.
Para entender el funcionamiento de los protocolos TCP/IP debe tenerse en cuenta la arquitectura que ellos
proponen para comunicar redes. Tal arquitectura ve como iguales a todas las redes a conectarse, sin tomar en
cuenta el tamaño de ellas, ya sean locales o de cobertura amplia. Define que todas las redes que
intercambiarán información deben estar conectadas a una misma computadora o equipo de procesamiento
(dotados con dispositivos de comunicación); a tales computadoras se les denomina compuertas, pudiendo
recibir otros nombres como enrutadores o puentes.
Direcciones IP
 Longitud de 32 bits.
176
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
 Identifica a las redes y a los nodos conectados a ellas.
 Especifica la conexión entre redes.
 Se representan mediante cuatro octeros, escritos en formato decimal, separados por puntos
Para que en una red dos computadoras puedan comunicarse entre sí ellas deben estar identificadas con
precisión Este identificador puede estar definido en niveles bajos (identificador físico) o en niveles altos
(identificador lógico) de pendiendo del protocolo utilizado. TCP/IP utiliza un identificador denominado
dirección internet o dirección IP, cuya longitud es de 32 bites. La dirección IP identifica tanto a la red a la que
pertenece una computadora como a ella misma dentro de dicha red.
Subredes en IP
 Las Subredes son redes físicas distintas que comparten una misma dirección IP.
 Deben identificarse una de otra usando una máscara de subred.
 La máscara de subred es de cuatro bytes y para obtener el número de subred se realiza un operación
AND lógica entre ella y la dirección IP de algún equipo.
 La máscara de subred deberá ser la misma para todos los equipos de la red IP
Se ha mencionado que el enrutamiento sirve para alcanzar redes distantes. También se señaló que las
direcciones IP se agrupan en clases. Ahora bien para cada clase se pueden contar con un número
determinados de subredes. Las subredes son redes físicas independientes que comparten la misma dirección
IP (es decir aquella que identifica a la red principal). La pregunta entonces es ¿cómo se logra que equipos que
comparten el mismo identificador de red pero se sitúan en redes físicas diferentes podrán comunicarse usando
compuertas? La solución a este problema es determinando una mascara de dirección.
Recordemos que los protocolos TCP/IP están enfocados a la transmisión de paquetes de información,
buscando la independencia de la arquitectura de la red. Arquitecturas como la Ethernet logran la
comunicación sólo mediante el conocimiento de la dirección física de las computadoras. Así en cada
computadora que opere con el protocolo IP debe contar con algún procedimiento para la translación de la
dirección IP a la dirección física de la computadora con la que establezca comunicación.
Una conversión dinámica de direcciones Internet a direcciones físicas es la más adecuada, debido a que se
obtiene la dirección física por respuesta directa del nodo que posee la dirección IP destino. Una vez que la
dirección física se obtiene ésta es guardada en una tabla temporal para subsecuentes transmisiones, de no ser
así podría haber una sobrecarga de tráfico en la red debido a la conversión de direcciones por cada vez que se
transmitiera un paquete.
177
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Protocolo Internet (IP)
Características
 Protocolo orientado a no conexión.
 Fragmenta paquetes si es necesario
 Direccionamiento mediante direcciones lógicas IP de 32 bits.
 Si un paquete no es recibido, este permanecerá en la red durante un tiempo finito.
 Realiza el "mejor esfuerzo" para la distribución de paquetes.
 Tamaño máximo del paquete de 65635 bytes.
 Sólo ser realiza verificación por suma al encabezado del paquete, no a los datos éste que contiene.
El Protocolo Internet proporciona un servicio de distribución de paquetes de información orientado a no
conexión de manera no fiable. La orientación a no conexión significa que los paquetes de información, que
será emitido a la red, son tratados independientemente, pudiendo viajar por diferentes trayectorias para llegar
a su destino. El término no fiable significa más que nada que no se garantiza la recepción del paquete.
La arquitectura de interconexión de redes propuesta por TCP/IP indica que éstas deben ser conectadas
mediante una compuerta. Sin obligar a que la tecnología de las redes físicas que se conecten sea homogénea.
Por tal motivo si para interconectar dos redes se utilizan medios con diferente MTU, los datagramas deberán
ser fragmentados para que puedan ser transmitidos. Una vez que los paquetes han alcanzado la red extrema
los datagramas deberán ser reensamblados.
178
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Protocolo de Mensajes de Control de Internet ICMP
(Internet Control Message Protocol)
 Reporta sobre destinos inalcanzables.
 Control de flujo de datagramas y congestión.
 Controla los requerimientos de cambio de rutas entre compuertas.
 Detecta rutas circulares o excesivamente largas.
 Verifica la existencia de trayectorias hacia alguna red y el estatus de la misma.
Su función es la de notificar de eventos en los que los paquetes enviados no alcanzaron su destino.
Proporciona un medio de transporte para que los equipos compuerta se envíen mensajes de control y error.
El enrutamiento se refiere al proceso de determinar la trayectoria que un datagrama debe seguir para
alcanzar su destino. A los dispositivos que pueden elegir las trayectorias se les denomina enrutadores. En el
proceso de enrutamiento intervienen tanto los equipos como las compuertas que conectan redes (recordar que
el termino compuerta es impuesto por la arquitectura TCP/IP de conexión de redes, sin embargo una
compuerta puede realizar diferentes funciones a diferentes niveles, una de esas funciones puede ser la de
enrutamiento y por tanto recibir el nombre de enrutador).
Tipos de Enrutamiento
Enrutamiento Directo Transmisión de datagramas IP entre dos equipos de la misma red física sin
la intervención de compuertas. El emisor encapsula el datagrama en la trama de la red, efectuando la
vinculación entre la dirección física y la dirección IP, y envía la trama resultante en forma directa al
destinatario.
Enrutamiento Indirecto La compuertas forman una estructura cooperativa, interconectada. Las
compuertas se envían los datagramas hasta que se alcanza a la compuerta que puede distribuirla en
forma directa a la red destino.
Existen dos tipos de enrutamiento; el directo y el indirecto. Debido a que en el enrutamiento directo los
datagramas se transmiten de un equipo a otro, en la misma red física, el proceso es muy eficiente. La
vinculación entre la dirección física y la IP se realiza mediante el ARP. En el indirecto la transmisión del
datagrama se efectúa mediante la intercesión de las compuertas. Aquí la compuerta que actúa como enrutador
debe de estar provista de mecanismos para conocer, y por tanto decidir, la trayectoria de la red que se desea
alcanzar.
179
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Enrutamiento Indirecto
En este direccionamiento un equipo debe enviar a una compuerta el datagrama con destino a una red física
distante. La compuerta de la red física envía el datagrama a otras compuertas hasta alcanzar a aquel que
puede emitirlo en forma directa a la red destino. La compuerta debe conocer las rutas hacia las diferentes
redes externas, ellas pueden utilizar a su ves un enrutamiento indirecto en el caso de no conocer la ruta a una
red específica. Las compuertas conocen las trayectorias a otra red mediante Tablas de Enrutamiento.
Tablas de Ruteo IP
Este es el algoritmo comúnmente utilizado para el enrutamiento de IP. Las tablas de enrutamiento está
presentes en todo equipo que almacene información de cómo alcanzar posibles destinos. En las tablas no se
almacena la ruta específica a un equipo, sino aquella a la red donde se encuentre. Cada puerto de
comunicación de la compuerta debe poseer una dirección IP.
Protocolo de Control de Transferencia

Proporciona comunicación bidireccional completa mediante circuitos virtuales.

Desde el punto de vista del usuario la información es transmitida por flujos de datos.

Confiabilidad en la transmisión de datos por medio de:
o
Asignación de números de secuencia a la información segmentada.
o
Validaciones por suma.
o
Reconocimiento de paquetes recibidos.
o
Utiliza el principio de ventana deslizable para esperar reconocimientos y reenviar
información.
Proporciona un mecanismo fiable para la transferencia de flujos de información. Aunque está íntimamente
relacionado con IP TCP es un protocolo independiente de propósito general. Al ser un protocolo de alto nivel
su función es que grandes volúmenes de información lleguen a su destino correctamente, pudiendo recobrar la
pérdida esporádica de paquetes.
Fiabilidad en la transferencia de TCP
 Cada vez que un paquete es enviado se inicializa un contador de tiempo, al alcanzar el tiempo de
expiración, sin haber recibido el reconocimiento, el paquete se reenvía.
 Al llegar el reconocimiento el tiempo de expiración se cancela.
180
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
A cada paquete que es enviado se le asigna un número de identificador, el equipo que lo recibe deberá enviar
un reconocimiento de dicho paquete, lo que indicará que fue recibido. Si después de un tiempo dado el
reconocimiento no ha sido recibido el paquete se volverá a enviar. Obsérvese que puede darse el caso en el
que el reconocimiento sea el que se pierda, en este caso se reenviará un paquete repetido.
Protocolo de Datagramas de Usuario

Proporciona de mecanismos primordiales para que programas de aplicación de se comuniquen con
otros en computadoras remotas.

Utiliza el concepto de puerto para permitir que múltiples conexiones accedan a un programa de
aplicación.

Provee un servicio no confiable orientado a no conexión.

El programa de aplicación tiene la total responsabilidad del control de confiabilidad, mensajes
duplicados o perdidos, retardos y paquetes fuera de orden
Este protocolo deja al programa de aplicación a ser explotado la responsabilidad de una transmisión fiable.
Con él puede darse el caso de que los paquetes se pierdan o bien no sean reconstruidos en forma adecuada.
Permite un intercambio de datagramas más directo entre aplicaciones y puede elegirse para aquellas que no
demanden una gran cantidad de datagramas para operar óptimamente.
QUÉ ES TCP/IP Y SU ARQUITECTURA
TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos
puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores
de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los
medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este
protocolo se encargará de que la comunicación entre todos sea posible.
TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware.
TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de
protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP
(Transmisión Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. La
arquitectura del TCP/IP consta de cinco niveles o capas en las que se agrupan los protocolos y que se
relacionan con los niveles OSI de la siguiente manera:
181
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Aplicación: se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se incluyen
protocolos destinados a proporcionar servicios, tales como correo electrónico (SMTP), transferencia de
ficheros (FTP), conexión remota (TELNET) y otros más recientes como el protocolo http ( HyperText
Transfer Protocol).
Transporte: coincide con el nivel de transporte del modelo OSI. Los protocolos de este nivel, tales como
TCP y UDP, se encargan de manejar los datos y proporcionar la fiabilidad necesaria en el transporte de los
mismos.
Internet: es el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga de enviar los paquetes de
información a sus destinos correspondientes. Es utilizado con esta finalidad por los protocolos del nivel de
transporte
.
Físico: Análogo al nivel físico del OSI.
Red: Es la interfaz de la red real. TCP/IP no especifica ningún protocolo concreto, así es que corre por las
interfaces conocidas, como por ejemplo: 802.2, CSMA/CD, X.25, etc.
Arquitectura TCP/IP
· Nivel de Aplicación
· Nivel de Transporte
· Nivel de Internet
· Nivel de Red
· Nivel Físico
El TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que proporcione sus propios
protocolos para el nivel de enlace de Internet. Por este motivo hay que tener en cuenta que los protocolos
utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto
no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar
una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y
tecnologías que inicialmente son incompatibles.
Para transmitir información a través de TCP/IP, esta debe ser dividida en unidades de menor tamaño. Este
proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo común
en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades de información recibe el
nombre de "datagrama" y con conjuntos de datos que se envían como mensajes independientes.
182
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
CÓMO FUNCIONA TCP/IP
IP a diferencia del protocolo X.25, que esta orientado a conexión, es sin conexión. Esta basado en la idea de
los datagramas interred, los cuales son transportados transparentemente, pero no siempre con seguridad,
desde el hostal fuente hasta el hostal destinatario, quizás recorriendo varias redes mientras viaja.
El protocolo IP trabaja de la siguiente manera; la capa de transporte toma los mensajes y los divide en
datagramas, de hasta 64K octetos cada uno. Cada datagrama se transmite a través de la red interred,
posiblemente fragmentándolos en unidades más pequeñas, durante su recorrido normal. Al final, cuando todas
las piezas llegan a la máquina destinataria, la capa de transporte los reensambla para así reconstruir el
mensaje original.
Un datagrama IP consta de una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20
octetos y una parte opcional de longitud variable. El campo versión indica a qué versión del protocolo
pertenece cada uno de los datagramas. Mediante la inclusión de la versión en cada datagrama, no se excluye
la posibilidad de modificar los protocolos mientras la red se encuentre en operación.
El campo Opciones se utiliza para fines de seguridad, encaminamiento fuente, informe de errores, depuración,
sellado de tiempo, así como otro tipo de información que actualmente no está presente en el diseño original.
También, para permitir que los experimentadores trabajen con nuevas ideas y para evitar, la asignación de bits
de cabecera a información que muy rara vez se necesita.
Debido a que la longitud de la cabecera no es constante, un campo de la cabecera, IHL, permite que se
indique la longitud que tiene la cabecera en palabras de 32 bits. El valor mínimo es de 5 tamaño 4 bits.
El campo Tipo de servicio le permite al hostal indicarle a la subred el tipo de servicio que desea. Es posible
tener varias combinaciones con respecto a la seguridad y la velocidad. Para la voz digitalizada, por ejemplo,
es más importante la entrega rápida que corregir errores de transmisión. En tanto que, para la transferencia de
archivos, resulta más importante tener la transmisión fiable que entrega rápida. También, es posible tener
algunas otras combinaciones, desde un tráfico rutinario, hasta una anulación instantánea. Tamaño 8 bits.
La longitud total incluye todo lo que se encuentra en el datagrama en tanto la cabecera como los datos. La
máxima longitud es de 65 536 octetos (bytes). Tamaño 16 bits.
183
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El campo Identificación se necesita para permitir que el hostal destinatario determine a qué datagrama
pertenece el fragmento recién llegado. Todos los fragmentos de un datagrama contienen el mismo valor de
identificación. Tamaño 16 bits.
En seguida viene un bit que no se utiliza, y después dos campos de 1 bit. Las letras DF quieren decir no
fragmentar. Esta es una orden que las pasarelas no fragmenten el datagrama, porque el extremo destinatario es
incapaz de poner las partes juntas nuevamente. Por ejemplo, supóngase que se tiene un datagrama que se
encarga en un micro pequeño para su ejecución; podría marcarse con DF porque la ROM de micro espera el
programa completo en un datagrama. Si el datagrama no puede pasarse a través de una red, se deberá
encaminar sobre otra red, o bien desecharse.
Las letras MF significan más fragmentos. Todos los fragmentos con excepción del último, deberán tener ese
bit puesto. Se utiliza como una verificación doble contra el campo de Longitud total, con objeto de tener
seguridad de que no faltan fragmentos y que el datagrama entero se reensamble por completo.
El desplazamiento de fragmento indica el lugar del datagrama actual al cual pertenece este fragmento. En un
datagrama, todos los fragmentos, con excepción del último, deberán ser un múltiplo de 8 octetos, que es la
unidad elemental de fragmentación. Dado que se proporcionan 13 bits, hay un máximo de 8 192 fragmentos
por datagrama, dando así una longitud máxima de datagrama de 65 536 octetos, que coinciden con el campo
Longitud total. Tamaño 16 bits.
El campo Tiempo de vida es un contador que se utiliza para limitar el tiempo de vida de los paquetes. Cuando
se llega a cero, el paquete se destruye. La unidad de tiempo es el segundo, permitiéndose un tiempo de vida
máximo de 255 segundos. Tamaño 8 bits.
Cuando la capa de red ha terminado de ensamblar un datagrama completo, necesitará saber qué hacer con él.
El campo Protocolo indica, a qué proceso de transporte pertenece el datagrama. El TCP es efectivamente una
posibilidad, pero en realidad hay muchos más.
Protocolo: El número utilizado en este campo sirve para indicar a que protocolo pertenece el datagrama que
se encuentra a continuación de la cabecera, de manera que pueda ser tratado correctamente cuando llegue a su
destino. Tamaño 8 bits.
184
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
El código de redundancia de la cabecera es necesario para verificar que los datos contenidos en la cabecera IP
son correctos. Por razones de eficiencia este campo no puede utilizarse para comprobar los datos incluidos a
continuación, sino que éstos datos de usuario se comprobarán posteriormente a partir del código de
redundancia de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de
nuevo cuando cambia alguna opción de la cabecera, como puede ser el tiempo de vida. Tamaño 16 bit.
La dirección de origen contiene la dirección del host que envía el paquete. Tamaño 16 bits.
La dirección de destino: esta dirección es la del host que recibirá la información. Los routes o gateway
intermedios deben conocerla para dirigir correctamente el paquete. Tamaño 32 bits.
ESTRUCTURA INTERNA
FÍSICA
REDES
INTERNET
185
TRANSPORTE
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
APLICACIÓN
6.8 SISTEMAS ABIERTOS
Se trata de sistemas que importan y procesan elementos (energía, materia, información) de sus ambientes y
esta es una característica propia de todos los sistemas vivos. Que un sistema sea abierto significa que
establece intercambios permanentes con su ambiente, intercambios que determinan su equilibrio, capacidad
reproductiva o continuidad, es decir, su viabilidad (entropía negativa, teología, morfogénesis, equifinalidad).
El término sistema es empleado generalmente en el sentido de sistema total. Los componentes necesarios
para la operación de un sistema total son llamados subsistemas, los que , a su vez, están formados por la
reunión de nuevos subsistemas más detallados.
En cuanto a su constitución, los sistemas pueden ser físicos o abstractos: sistema físicos o concretos, cuando
están compuesto por equipos, por maquinarias y por objetos y cosas reales. Sistemas abstractos, cuando están
compuestos por conceptos, planes, hipótesis e ideas. En ciertos casos, el sistema físico opera en consonancia
con el sistema abstracto.
En cuanto a su naturaleza, los sistemas pueden ser cerrados o abiertos: los sistemas cerrados son los que no
presentan intercambio con el medio ambiente que los rodea, pues son herméticos a cualquier influencia
ambiental. Los sistemas abiertos son los que presentan relaciones de intercambio con el ambiente, a través de
entradas y salidas.
Para alcanzar sus objetivos los sistemas interaccionan con su medio ambiente, el cual esta formado por todos
lo objetos que se encuentran fuera de las fronteras de los sistemas. Los sistemas que interactúan con su medio
(reciben entradas y producen salidas) se denominan sistemas abiertos. En contraste, aquellos que no
186
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
interactúan con su medio ambiente se les conocen como sistemas cerrados. Todos los sistemas actuales son
abiertos. Es así como los sistemas cerrados existen solo como un concepto.
El sistema abierto como organismo, es influenciado por el medio ambiente e influye sobre el, alcanzando un
equilibrio dinámico en ese sentido.
La categoría más importante de los sistemas abiertos son los sistemas vivos. Existen diferencias entre los
sistemas abiertos (como los sistemas biológicos y sociales, a saber, células, plantas, el hombre, la
organización, la sociedad) y los sistemas cerrados (como los sistemas físicos, las máquinas, el reloj, el
termóstato):
 El sistema abierto interactúa constantemente con el ambiente en forma dual, o sea, lo influencia y es
influenciado. El sistema cerrado no interactúa.
 El sistema abierto puede crecer, cambiar, adaptarse al ambiente y hasta reproducirse bajo ciertas
condiciones ambientes. El sistema cerrado no.
 Es propio del sistema abierto competir con otros sistemas, no así el sistema cerrado.
 Al igual que los organismos vivos, las empresas tienen seis funciones primarias, estrechamente
relacionadas entre sí:
 Ingestión: las empresas hacen o compras materiales para ser procesados. Adquieren dinero,
máquinas y personas del ambiente para asistir otras funciones, tal como los organismos vivos
ingieren alimentos, agua y aire para suplir sus necesidades.
 Procesamiento: los animales ingieren y procesan alimentos para ser transformados en energía y en
células orgánicas. En la empresa, la producción es equivalente a este ciclo. Se procesan materiales y
se desecha lo que no sirve, habiendo una relación entre las entradas y salidas.
 Reacción al ambiente: el animal reacciona a su entorno, adaptándose para sobrevivir, debe huir o si
no atacar. La empresa reacciona también, cambiando sus materiales, consumidores, empleados y
recursos financieros. Se puede alterar el producto, el proceso o la estructura.
 Provisión de las partes: partes de un organismo vivo pueden ser suplidas con materiales, como la
sangre abastece al cuerpo. Los participantes de la empresa pueden ser reemplazados, no son de sus
funciones sino también por datos de compras, producción, ventas o contabilidad y se les recompensa
bajo la forma de salarios y beneficios. El dinero es muchas veces considerado la sangre de la
empresa.
 Regeneración de partes: las partes de un organismo pierden eficiencia, se enferman o mueren y
deben ser regeneradas o relocalizadas para sobrevivir en el conjunto. Miembros de una empresa
envejecen, se jubilan, se enferman, se desligan o mueren. Las máquinas se vuelven obsoletas.
187
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Tanto hombres como máquinas deben ser mantenidos o relocalizados, de ahí la función de personal y de
mantenimiento.
 Organización: de las funciones, es la requiere un sistema de comunicaciones para el control y toma
de decisiones. En el caso de los animales, que exigen cuidados en la adaptación. En la empresa, se
necesita un sistema nervioso central, donde las funciones de producción, compras, comercialización,
recompensas y mantenimiento deben ser coordinadas. En un ambiente de constante cambio, la
previsión, el planeamiento, la investigación y el desarrollo son aspectos necesarios para que la
administración pueda hacer ajustes.
El sistema abierto es un conjunto de partes en interacción constituyendo un todo sinérgico, orientado hacia
determinados propósitos y en permanente relación de interdependencia con el ambiente externo.El sistema se
caracteriza por determinados parámetros. Los parámetros de los sistemas son: entrada, procesamiento, salida,
retroacción y ambiente.
La descripción del sistema abierto es exactamente aplicable a una organización empresarial. Una empresa es
un sistema creado por el hombre y mantiene una dinámica interacción con su medio ambiente, ya sea con los
clientes, los proveedores, los competidores, las entidades sindicales, etc. influye sobre el medio ambiente y
recibe influencias de éste.
La idea de tratar a la organización como un sistema abierto no es nueva. Herbert Spencerya lo afirmaba en el
inicio de este siglo: ―Un organismo social se asemeja a un organismos individual en los siguientes rasgos
esenciales:
 en el crecimiento
 en el hecho de volverse más complejo a medida que crece;
 en el hecho de que haciéndose más complejo, sus partes exigen una creciente interdependencia;
 porque su vida tiene inmensa extensión comparada con la vida de sus unidades componentes
 porque en ambos casos existe creciente integración acompañada por creciente heterogeneidad‖
Las organizaciones poseen todas las características de los sistemas abiertos, definidas en parte anteriormente.
188
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
LA ORGANIZACIÓN COMO UN SISTEMA ABIERTO
Herbert Spencer afirmaba a principios del siglo XX: ―Un organismo social se asemeja a un organismo
individual en los siguientes rasgos esenciales:
 En el crecimiento.
 En el hecho de volverse más complejo a medida que crece.
 En el hecho de que haciéndose más complejo, sus partes exigen una creciente interdependencia.
 Porque su vida tiene inmensa extensión comparada con la vida de sus unidades componentes.
Porque en ambos casos existe creciente integración acompañada por creciente heterogeneidad‖.
Según la teoría estructuralista, Taylor, Fayol y Weber usaron el modelo racional, enfocando las
organizaciones como un sistema cerrado. Los sistemas son cerrados cuando están aislados de variables
externas y cuando son determinísticos en lugar de probabilísticas. Un sistema determinístico es aquel en que
un cambio específico en una de sus variables producirá un resultado particular con certeza. Así, el sistema
requiere que todas sus variables sean conocidas y controlables o previsibles. Según Fayol la eficiencia
organizacional siempre prevalecerá si las variables organizacionales son controladas dentro de ciertos límites
conocidos.
189
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Seguridad Informática
Es el conjunto de reglas, planes y acciones que permiten asegurar la información contenida en un sistema
computacional.
Síntomas más comunes de virus.
Incluso el mejor software antivirus puede fallar a la hora de detectar un virus. Existen posibilidades de
síntomas de virus informáticos que pueden ser la diferencia entre un simple dolor de cabeza y un gran
problema. Veamos algunos síntomas:

Los programas comienzan a ocupar más espacio de lo habitual.

Aparecen o desaparecen archivos.

Cambia el tamaño de un programa o un objeto.

Aparecen mensajes u objetos extraños en la pantalla.

El disco trabaja más de lo necesario.

Los objetos que se encuentran en la pantalla aparecen ligeramente distorsionados.

La cantidad de espacio libre del disco disminuye sin ningún tipo de explicación,

Se modifican sin razón aparente el nombre de los ficheros.

No se puede acceder al disco duro.
Cómo proceder ante una infección
Cuando el antivirus logra confirmar la presencia de un virus, lo primero que siente el usuario es pánico.
Luego pensará qué hacer y se dará cuenta que no tiene idea cómo enfrentarse a un virus informático. Educar a
los usuarios sobre estas cuestiones es tan importante como mantenerlos actualizados de los últimos virus que
aparecen.
No intentaremos describir paso a paso la solución cuando se tiene un antivirus actualizado que posiblemente
haga todo por nosotros y solo nos solicita que tomemos una decisión. En su lugar, nos posicionaremos desde
la perspectiva del antivirus para determinar qué debemos hacer contra un virus una vez que reconocemos una
acción de un virus en el sistema. En algunas oportunidades no tendremos otra salida más que utilizar una
extracción manual realizada por nosotros mismos. Es muy común este tipo de cosas con los virus de última
horneada que no les dan tiempo a los fabricantes de antivirus a actualizar sus definiciones de virus.
190
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
Cuando uno mismo se va a hacer cargo de la eliminación de un virus es importante contar con el disquete de
inicio del sistema operativo limpio de virus para poder arrancar la computadora.
Los riesgos que infunden los virus hoy en día obligaron a que empresas enteras se dediquen a buscar la forma
de crear programas con fines comerciales que logren combatir con cierta eficacia los virus que ataquen los
sistemas informáticos. Este software es conocido con el nombre de programas antivirus y posee algunas
características interesantes para poder cumplir su trabajo.
Como ya se menciono una de las características fundamentales de un virus es propagarse infectando
determinados objetos según fue programado. Identificar un virus supone, primero, lograr su detección y luego
poder determinar de qué virus se trata exactamente. A esta técnica se la conoce con el nombre de scanning o
escaneo.
Una efectiva seguridad informática significa protección de la Información.
Definición criptografía:
La criptografía es el arte de cambiar algún parámetro de un elemento para protegerlo de la intromisión pasiva
o activa.
Protegerlo significa:
 Que alguien no autorizado lo haya leído
 Que alguien no autorizado lo haya cambiado
 Que estemos seguros del remitente
Un elemento significa:

Un mensaje

Un archivo

Un servicio
191
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y
CIENCIAS SOCIALES Y ADMINISTRATIVAS
BIBLIOGRAFÍA
Introducción a la computación y a la programación estructurada.
Guillermo Levine Gutiérrez.
Mc. Graw Hill
2da. Edición.
1990.
Introducción a la computación para Ingenieros.
Steven C. Chapra Raymond P. Canale.
Mac Graw Hill
2da. Edición
1990
739 p.p.
Introducción a la computación.
R. Peter Norton.
Mc. Graw Hill.
1995
Organización de las computadoras.
Adrew S. Tanenbaum.
Prentice Hall.
2da. Edición.
1992
Introducción a las computadoras y el procesamiento de información.
Larry Long.
Prentice Hall.
2da. Edición
1995
Procesamiento de datos.
Lusseaumeleo, Leo.
Prentice Hall
4ta. Edición.
1992
www.monografias.com
www.google.com
www.lawebdelprogramador.com
www.webopedia.com
www.elrinconcito.com
192
Descargar