Ingeniero en Informática
Fundamentos de Informática
1.2. DEFINICIÓN DE COMPUTADORA
Es el 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.
COMPUTACIÓN : es la rama de la ciencia que trata con la automatización y racionalización del manejo de la información de los medios para su elaboración y de la obtención de resultados.
1.3. GENERACIONES DE COMPUTADORAS
Primera Generación (1951 a 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. Esas computadoras de bulbos eran mucho más grandes y generaban más calor que los modelos contemporáneos.
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. 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 podían almacenarse datos e instrucciones.
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.
Cuarta Generación (1971 a la fecha) Microprocesador , Chips de memoria, Microminiaturización
El tamaño reducido del microprocesador y 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 almacenen en un chip. 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
1.4. UTILIZACIÓN DE LAS COMPUTADORAS EN DISTINTOS SECTORES
SECTOR ADMINISTRATIVO COMERCIAL
SECTOR INDUSTRIAL
SECTOR CIENTÍFICO Y TECNOLÓGICO
SECTOR MEDICO
SECTOR EDUCATIVO
ENTRETENIMIENTO
SECTOR MILITAR
SECTOR DOMESTICO
APLICACIONES NOVEDOSAS
MULTIMEDIA: En su modalidad mas sencilla la multimedia usa el equipo de computo para integrar audio, video y texto para comunicar ideas
Una aplicación muy reciente es la multimedia esta palabra indica una concepto sobre comunicación eficiente de ideas, mucho mas que la simple transmisión de datos. Multimedia no es un objeto especifico, sino que reúne las mas diversas tecnologías para trabajar de manera coordinada.
REALIDAD VIRTUAL Aunque el termino realidad virtual puede parecer contradictorio la tecnología moderna la utiliza para describir un ambiente físico inexistente pero que se percibe como verdadero. El objetivo es crear un “universo nuevo” inexistente en nuestro mundo pero fabricado por un sistema de computo que reproduce las sensaciones físicas necesarias para hacer creer al espectador que es real.
1.5. COMPUTADORAS DIGITALES, ANALÓGICAS E HÍBRIDAS
La mayoría de las computadoras modernas son digitales funcionan con unos y ceros pero en sus orígenes fueron analógicas, esto es que en lugar de números resolvían los problemas mediante flujos de energía como se presenta a continuación :
COMPUTADORAS ANALÓGICAS La computadora analógica es un dispositivo electrónico diseñado con el fin de manipular la entrada de datos en términos de por mencionar un ejemplo, niveles de tensión o presiones hidráulicas
COMPUTADORAS DIGITALES Una computadora digital soluciona problemas controlando y efectuando operaciones con señales digitales esto es usando pulsos de energía estas señales poseen 2 valores 1 y 0 sin pasar por valores intermedios basándose 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 ya mencionado de números, 0 o 1. La ventaja de este hecho es la velocidad con la cual el ordenador realiza este acto tan simple. Las velocidades de estos ordenadores se miden en megahercios, o millones de ciclos por segundo capaz de ejecutar millones de operaciones discretas por segundo.
Además su construcción se basa en la electrónica digital. Existen computadoras digitales NO PROGRAMABLES porque fueron diseñadas para desempeñar una tarea especifica como calculadoras científicas entre otros. Y llamaremos PROGRAMABLES a las computadoras que pueden desarrollar actividades mediante indicaciones adecuadas (programación) .
Las computadoras digitales se dividen por sus características de almacenamiento, tamaño y velocidad de procesamiento: Macro-computadora (mainframe), Mini-computadora, Micro-computadora, Super-computadora, Workstation.
COMPUTADORAS HÍBRIDAS Las instalaciones que contienen elementos de ordenadores digitales y analógicos se denominan ordenadores híbridos.
1.6. CONCEPTOS DE HARWARE Y SOFTWARE
Un sistema de computo se integra por dos o mas conjuntos de componentes inseparables uno físico y otro lógico
HARDWARE
Se le llama al equipo utilizado para el funcionamiento de una computadora. El hardware se refiere a los componentes materiales ó tangibles con los que cuenta un sistema informático. Sus funciones de estos se pueden dividir en : entrada, salida y almacenamiento y están conectados a través de un conjunto de cables o circuitos llamado bus a la unidad central de proceso (CPU) del ordenador, el microprocesador que controla la computadora y le proporciona capacidad de cálculo.
HARDWARE DE ENTRADA El hardware de entrada esta constituido de dispositivos externos (componentes situados fuera de la CPU de la computadora) que proporcionan información e instrucciones ejemplos de estos son: Un lápiz óptico, Un mouse, Un joystick,
HARDWARE DE SALIDA A éste lo conforman dispositivos externos que transfieren información de la CPU de la computadora al usuario informático. Como por ejemplo : La pantalla Impresoras Bocinas
HARDWARE DE ALMACENAMIENTO Este tipo de hardware 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.
SOFTWARE
Se le conoce como software ( “la parte lógica”)al conjunto de elementos intangibles como son los programas ó instrucciones que un ordenador emplea para manipular datos Una función del software es regir la manera en que se utiliza el hardware.
El software se clasifica en
SOFTWARE DE SISTEMA(Sistema Operativo) Es un conjunto de programas diseñados para coordinar la operación y la interacción entre los diferentes componentes de la computadora. Actúa como enlace entre el hardware y el usuario, así como de los programas de aplicación. El sistema operativo establece un entorno de trabajo que se genera y opera mediante rutinas que residen en la memoria principal hasta que la computadora se apaga.
SOFTWARE DE APLICACIÓNSon todos los programas que se orientan a la solución de un problemas y deacuerdo a la naturaleza de los problemas que resuelven , se clasifican a su vez en programas de aplicación general, y en programas de aplicación especifica.
2.1. ESTRUCTURA GENERAL DE UNA COMPUTADORA
2.2. UNIDAD CENTRAL DE PROCESO(CPU)
La Unidad Central de Proceso (Central Processing Unit CPU).- Es la parte de la computadora donde se manipulan los símbolos, los números, letras y datos, además controla y dirige la operación de la computadora, ejecuta funciones de procesamiento, y se le conoce generalmente como procesador .
La Unidad central de proceso (CPU).- Procesa o manipula los datos almacenados en memoria ; puede recuperar información desde memoria (esta información son datos o instrucciones de programas). También puede almacenar los resultados de estos procesos en memoria para su uso posterior.
El procesador o CPU, lleva a cabo una gran variedad de cálculos, comparaciones numéricas y transferencias de datos como respuesta a las peticiones de los programas que están siendo ejecutados en memoria. La CPU controla las operaciones básicas del ordenador enviando y recibiendo señales de control, direcciones de memoria y datos de un lugar a otro de la computadora a través de un grupo de canales llamados BUS.
La Unidad Central de Proceso esta constituida internamente por la Unidad de Control (Control Unit UC), la Unidad Aritmética y lógica (Arithmetc-Logic Unit UAL) y la Unidad de Memoria comúnmente llamada memoria principal o almacenamiento primario y su función es la de guardar los datos en registros que leen y escriben de las celdas de memoria, llevan y traen datos entre celdas de memoria y registros especiales, decodifican y ejecutan las instrucciones de un programa.
La Unidad de Control (UC).- Controla y coordina el funcionamiento de las partes que integran una computadora, determina que operaciones se deben realizar y en que orden; asimismo sincroniza todo el proceso de la computadora, dependiendo de la interpretación de las instrucciones que integran los programas, genera el conjunto de ordenes elementales necesarias para que se realice los procesos necesarios.
Unida Aritmética y Lógica (ALU).- Realiza operaciones aritméticas(suma, resta, multiplica y divide), determina cuando un número es positivo, negativo o cero; así mismo ejecuta y realiza operaciones lógicas(comparaciones, conjunciones, disyunciones y negaciones)
2.3. MEMORIA
La memoria de las computadoras comúnmente se clasifican en dos que son memoria principal (almacenamiento primaria) y memoria secundaria(almacenamiento secundario).
Tipo de Memoria | Categoría | Borrable | Mecanismo | Volatilidad |
Random Access Memory (RAM) | Memoria de lectura-escritura | Eléctricamente, nivel byte | Eléctricamente | volátil |
Read Only Memory (ROM) | Memoria de solo lectura | No aplica | Máscara | No volátil |
Programable ROM(PROM) | Memoria de solo lectura | No aplica | Eléctricamente | No volátil |
Ereasable PROM(EPROM) | Principalmente de lectura | Luz ultra violeta, nivel chip | Eléctricamente | No volátil |
Flash memory | Principalmente de lectura | Eléctricamente, nivel bloque | Eléctricamente | No volátil |
Electrically Ereasable PROM(EEPROM) | Principalmente de lectura | Eléctricamente, nivel byte | Eléctricamente | No volátil |
La memoria RAM.- Permite tanto la lectura como la escritura de datos en ella y requiere de energía eléctrica para poder mantener la información si falta ésta los datos se pierden por ello se dice que es volátil, es de acceso aleatorio, significa que podemos acceder para leer o escribir cuantas vece s sea necesario y no hay una secuencia rígida para escribir o leer.
La memoria ROM.- Permite leer datos pero no es posible escribir sobre ella. los datos que contiene son instrucciones grabadas de fabrica que no pueden ser alteradas y son indispensables para el funcionamiento de la computadora, en este tipo de memoria se localizan rutinas fijas
La memoria PROM- Programables o memoria de solo lectura programable, no se programan de fabrica, se programan una sola vez y ya no se puede borrar o modificar la información, al programarla se convierte en una ROM.
La memoria EPROM.-Este tipo de memorias son borrables y se pueden rescribir en ellas, a diferencia de la RAM, a momento de borrarlas se borra toda la memoria (no hay un borrado selectivo), es no volátil, aunque es posible cambiar su contenido utilizando un equipo programador especial, borrando su contenido exponiendo el dispositivo a un haz de luz ultravioleta
La memoria EEPROM.- Puede ser borrado y al borrarse se borra toda la memoria, se borra mediante un pulso eléctrico no tarda en borrarse, difiere de la EPROM en que sus datos pueden eliminarse por medio de una señal eléctrica.
2.4. DISPOSITIVOS DE ENTRADA / SALIDA (E / S)
Dispositivos de Entrada
Teclado.-
Ratón (mouse).-
Scanner.-
Cámara de video (webCam).-
lápiz óptico.-
Palancas de mando (Joy stick).-
lectores de código de barras.-
Touch screen.-
Micrófonos.-
Reconocimiento de voz.-
Los dispositivos de salida
Pantalla o monitor (CRT).-
Impresoras.-
Trazadores gráficos(plotters).-
Bocinas de audio.-
Los dispositivos Entrada / Salida
Unidades de lectura - escritura de cintas magnéticas.-
Unidades de lectura - escritura de discos magnéticos.-
Unidades de lectura - escritura de discos ópticos.-
EL MODELO DE VONN NEWMAN
En las primeras computadoras (Electrinic Numerical Integrtor And Computer ENIAC) la ejecución de tareas no podían ser llevadas a cabo al mismo tiempo en la memoria de la computadora, esto llevo a la reflexión de que era posible tener programas, datos y tareas residiendo en una porción de memoria, más tarde utilizado en la EDVAC(Electronic Discrete Variable Computer). Von Newman diseñaro un modelo de computadora cuya característica principal el Concepto de Programa Almacenado, Una memoria principal, que almacena datos e instrucciones.
-
ð Una Unidad Aritmética Lógica(ALU), con capacidad para operar con datos binarios.
-
ð Una Unidad de Control, que interpreta las instrucciones en memoria para su ejecutadas.
-
ð Equipamiento de Entrada / Salida, dirigido en sus operaciones por la unidad de control
Resaltan características como la utilización del sistema binario, programas almacenados en memoria y ejecución de instrucciones y operaciones matemáticas en secuencia y una a la vez
2.7. CLASIFICACION DE LAS COMPUTADORAS POR SU CAPACIDAD DE PROCESO
Para hacer una referencia mas acertada de la clasificación de las computadoras de acuerdo a su capacidad de proceso, se considera principalmente el tamaño y la velocidad de procesamiento, con lo que obtenemos la siguientes categorías.
SUPERCOMPUTADORAS.- Es el tipo de computadora más potente y más rápido que existe
MACROCOMPUTADORAS o MAINFRAMES.- Las macrocomputadoras también conocidas como mainframes son de gran tamaño, y su poder de procesamiento es extremadamente rápido, son utilizadas en grandes aplicaciones comerciales, científicas, militares, o en aplicaciones donde se requiere manejar masivas cantidades de datos y manejo de complicados procesos, además su costo es muy elevado, requiere de instalaciones especiales como aire acondicionado, piso falso, son capaces de controlar cientos de usuarios simultáneamente, así como cientos de dispositivos de entrada y salida.
MINICOMPUTADORAS.- Es una versión más pequeña conocida como de medio rango, orientada a tareas específicas, y lo que ayudo a reducir los costos, en tamaño y poder de procesamiento, se acerca a los mainframes y las estaciones de trabajo, es una computadora que maneja el concepto de multiproceso, capaz de soportar de 10 hasta 200 usuarios simultáneamente, Las estaciones de trabajo o Workstations
MICROCOMPUTADORA.- Se basan en microprocesadores con base a circuitos de alta densidad son extremadamente pequeñas y ba
3.1. COMO DETERMINAR QUE UN PROBLEMA SEA RESUELTO POR COMPUTADORA
DEFINICIÓN DEL PROBLEMA Durante esta fase el programador debe de reconocer cual es el problema estableciendo con claridad cuales son los datos disponibles y a que resultados se desea llegar.
ANÁLISIS DEL PROBLEMA Este es un estudio profundo del problema y de la situación que lo rodea. El programador deba entenderlo por completo y proponer una solución para poder transformar los datos disponibles en resultados.
DISEÑO DEL ALGORITMO Durante esta fase se planea la estrategia que permitirá alcanzar la solución del problema.
PROGRAMACION Y PRUEBAS Consiste en traducir el algoritmo diseñado a un lenguaje de programación y aplicarlo en una computadora. Las pruebas verifican su funcionamiento para corregir posibles errores.
MANTENIMIENTO Esta es la última etapa el programador se encarga de modificar el programa según vayan apareciendo necesidades adicionales. El programa termina su vida útil cuando deja de servir para el que fue creado y ya no es posible seguirle dando mantenimiento.
3.2. SOLUCIONES LOGICAS
ALGORITMO Es una serie de pasos ordenados lógicamente que permite resolver un problema.
Diseño de algoritmos.- Es preparar una estrategia para solucionar un problema. Para ello se debe entender perfectamente el problema y comprender la solución que se desea alcanzar. Para construirlo es necesario pensar en que pasos son necesarios para alcanzar la solución fijada partiendo de los elementos disponibles.
Primera parte: efectuar un análisis de la situación:
-
ð Identificar el problema
-
ð Identificar la solución
Segunda parte: diseñar una estrategia para obtener la solución
-
ð Consideraciones iniciales: ¿que tengo para solucionarlo ó con que?
-
ð Algoritmo para realizar la solución (los pasos uno a uno y en orden de cómo lo haré).
Características de los algoritmos.- Los algoritmos deben poseer las siguientes características:
-
ð Finitud: el algoritmo debe alcanzar una solución correcta en un limite de tiempo.
-
ð Precisión: las instrucciones del algoritmo debe ser claras, precisas y no prestarse a interpretaciones
-
ð Entradas y salidas claramente definidas: las entradas se transformarán para obtener las salidas por ello el algoritmo debe de mostrar claridad cuáles serán los resultados (salidas) y cuáles los datos iniciales (datos e entrada).
-
ð Efectividad : los pasos de un algoritmo deben conducir a la solución del problema original.
Elementos para construir algoritmos.- Los algoritmos tienen sus piezas elementales y cualquier problema se soluciona embonando en forma adecuada esas piezas esas piezas son las siguiente:
-
ð Variables : letras especiales para asignarles datos
-
ð Control de entradas y salidas : indicaciones para permitir que los datos fluyan hacia el interior o hacia el exterior que efectuara el proceso.
-
ð Operaciones : la operación de asignación consiste en colocar un dato en el interior de una variable mientras que las operaciones matemáticas son procesos elementales que transforman datos numéricos.
-
ð Comparaciones y selecciones : la comparaciones relacionan dos datos y sirven para imponer condiciones. Con ellas es posibles tomar una decisión al considerar si la condición resulto verdadera ó falsa.
3.3. DIAGRAMAS LOGICOS
Un organigrama o diagrama de flujos es una representación semigráfica del algoritmo en cuestión. Esto nos facilita la visión descriptiva de la ejecución del programa, así como la generación de la traza del algoritmo. Se denomina traza de un algoritmo a la ejecución manual de un programa obteniendo para cada paso un resultado. Símbolos generales:
-
Inicio y fin de un programa.
-
Operaciones de I/O , aritméticas y lógico-aritméticas.
-
Decisiones lógicas.
-
Flujo de la ejecución.
Definición Es una herramienta que representa gráficamente la secuencia de los pasos de un proceso. Muestra la secuencia lógica de pasos para desarrollar o resolver un proceso.
Finalidad de uso Para facilitar la visualización de la estructura de un proceso.
Se presenta la información (flujos de control, entradas, salidas, etc.) y se utiliza en la fase de diseño en el desarrollo de sistemas computacionales. Ayuda en la búsqueda y detección de errores.
Generalmente se usa para aprender un lenguaje computacional debido a lo específico que es (para problemas grandes no es conveniente usarlo). No se usa para resolver problemas reales.
El diagrama de flujo se puede especificar en dos maneras:
-
Detallado. Usando los dibujos geométricos descritos anteriormente para especificar todo el problema en el mismo diagrama.
-
Por partes o desglozado. Visualizando en jerarquía (top-down) las funciones que se deben resolver. Se usan los nodos función. Esta segunda opción es más estructurada y fácil de comprender, ya que en lugar de visualizar muchos pasos en secuencia, se ven funciones o subpasos o submódulos. Cada función (nodo función) se especifica en un diagrama de flujo separado.
Con el proceso de refinamiento se diseña correctamente, aunque tome más tiempo. Consiste en una serie de pasos para diseñar el programa en forma estructurada.
Estructuras básicas de control
-
Secuencia
-
Decisión: De un camino o de dos caminos.
Repetición: Condicional (mientras/repite) o definido. Elementos
Dibujos geométricos con especificaciones que indican el flujo de las actividades o pasos.
En breves palabras Es la representación grafica de un algoritmo. Es un diagrama secuencial empleado para mostrar los procedimientos detallados que se deben seguir para resolución de un algoritmo. Los diagramas de flujo se usan normalmente para seguir la secuencia lógica de las acciones en el diseño del algoritmo.
En un diagrama de flujo se utilizan figuras que se usan según corresponda a cada paso del algoritmo. Las figuras se conectan mediante flechas indicándose la secuencia a seguir entre los pasos.
Se muestran a continuación las figuras mas elementales:
3.4. QUE ES UN LENGUAJE DE PROGRAMACION
LENGUAJE DE PROGRAMACIÓN
Es el conjunto de reglas y estándares para escribir un programa.
Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario/maquina.
Los lenguajes utilizados para escribir programas de computadoras que pueden ser entendidos por ellas se denominan lenguajes de programación.
Los lenguajes de programación se clasifican en tres grandes categorías: máquina, bajo nivel (ensamblador) y alto nivel.
Lenguajes de Programación
-
Mediante los programas se indica a la computadora qué tarea debe realizar y como efectuarla, pero para ello es preciso introducir estas ordenes en un lenguaje que el sistema pueda entender. En principio, el ordenador sólo entiende las instrucciones en código máquina, es decir, el especifico de la computadora. Sin embargo, a partir de éstos se elaboran los llamados lenguajes de alto y bajo nivel.
LENGUAJES DE BAJO NIVEL:
Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración de programas muy potentes y rápidos, pero son de difícil aprendizaje.
-
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:
Por el contrario, son de uso mucho más fácil, ya que en ellos un solo comando o instrucción puede equivaler a millares es código máquina. El programador escribe su programa en alguno de estos lenguajes mediante secuencias de instrucciones. Antes de ejecutar el programa la computadora lo traduce a código máquina de una sola vez (lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes intérpretes). Ejemplos de lenguajes de alto nivel: Pascal, Cobol, Basic, Fortran, C++ Un Programa de computadora, es una colección de instrucciones que, al ser ejecutadas por el CPU de una máquina, llevan a cabo una tarea ó función específica.
Este conjunto de instrucciones que forman los programas son almacenados en archivos denomina dos archivos ejecutables puesto que, al teclear su nombre logras que la computadora los cargue y corra, o ejecute las instrucciones del archivo. El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo lea.
Los archivos de programas ejecutables contienen el código máquina, que la CPU identifica como sus instrucciones. Son lo que conocemos como Programas Objeto. Dado que sería muy difícil que los programadores crearan programas directamente en código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente.
El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de palabras, estas instrucciones son almacenadas en archivos denominados programas fuentes (código fuente). Si los programadores necesitan hacer cambios al programa posteriormente vuelven a correr el editor y cargan el programa fuente para modificarlo.
El proceso de conversión de programas fuente a programas objeto se realiza mediante un programa denominado compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este último en otro archivo.
También se le conoce como lenguaje de tercera generación. Su principal característica es que una instrucción codificada en lenguaje de alto nivel equivale a varias instrucciones en lenguaje maquinal o ensamblador. 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
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 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ía Datos más un Código que procesa estos datos. A los datos se les denomina miembros dato y a las funciones miembro o miembro funciones. Los datos están ocultos y sólo se puede acceder a ellos mediante las funciones miembro.
Clases: Las Clases son como plantillas o modelos que describen como se construyen ciertos tipos de Objeto. Cada vez que se construye un Objeto de una Clase, se crea una instancia de esa Clase("instance"). Una Clase es una colección de Objetos similares y un Objeto es una instancia de una Clase. Se puede definir una Clase como un modelo que se utiliza para describir uno o más Objetos del mismo tipo.
Herencia: Una característica muy importante de los Objetos y las Clases es la Herencia, una propiedad que permite construir nuevos Objetos (Clases) a partir de unos ya existentes. Esto permite crear "Sub-Clases" denominadas Clases Derivadas que comparten las propiedades de la Clase de la cual derivan (Clase base). Las Clases derivadas heredan código y datos de la clase base, asimismo incorporan su propio código y datos especiales. Se puede decir que la herencia permite definir nuevas Clases a partir de las Clases ya existentes.
3.5. QUE ES UN LENGUAJE MAQUINA
LENGUAJE MÁQUINA.
Lenguaje original de la computadora, un programa debe estar escrito en el lenguaje de la máquina para poder ser ejecutado. Este es generado por software y no por el programador. El programador escribe en un lenguaje de programación, el cual es traducido al lenguaje de máquina mediante interpretes y compiladores.
Los lenguajes maquina son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa.
0010 0000 0000 1001
1001 0001 1001 1110
3.5. QUE ES UN TRADUCTOR DE LENGUAJES
Traducen programas escritos en un lenguaje de programación al lenguaje maquina de la computadora. Un traductor es un metaprograma que toma como entrada un programa escrito en lenguaje que puede ser simbólico denominado programa fuente y proporcionan como salida otro programa semánticamente equivalente escrito en un lenguaje comprensible por el hardware de la computadora denominado programa objeto. Existen dos tipos de traductores:
-
ð Los compiladores
-
ð Los interpretes
LOS INTERPRETES
Los interpretes permiten que un programa fuente escrito en un determinado lenguaje vaya traduciéndose y ejecutándose directamente sentencia por sentencia por la computadora. contexto de cada sentencia del programa.
LOS COMPILADORES
Es aquel que traduce completamente el programa fuente generando un programa objeto escrito en lenguaje maquina en el proceso de traducción el compilador puede informar al usuario presencia de errores en el programa fuente pasándose a la creación del programa objeto el programa fuente esta contenido en un fichero y el programa objeto puede almacenarse como otro fichero de memoria masiva para que sea ejecutado posteriormente sin necesidad de volver a realizar la traducción, ya traducido un programa su ejecución es independiente a su compilación
3.7. ELEMENTOS DE PROGRAMACION
Las dos herramientas mas utilizadas comúnmente para diseñar programas son: diagramas de flujo y pseudocodigos
Diagramas de flujo
Un diagrama de flujo (flowchart) es una representación grafica de un algoritmo.
Pseudocódigo
El pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
3.8. PROGRAMACIÓN ESTRUCTURADA
-
El programa tiene un diseño modular.
-
Los módulos son diseñados de modo descendente.
-
Cada módulo se codifica utilizando las tres estructuras de control básicas:secuencia, selección y repetición.
La programación estructurada es el conjunto de técnicas que incorporan:
-
recursos abstractos
-
diseño descendente (top-down)
-
estructuras básicas.
La programación estructurada es un estilo de programación con el cual el programador elabora programas, cuya estructura es la más clara posible, mediante el uso de tres estructuras básicas de control lógico, a saber :
SECUENCIA.
SELECCIÓN.
ITERACIÓN.
Un programa estructurado se compone de funciones, segmentos, módulos y/o subrutinas, cada una con una sola entrada y una sola salida.
VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA
Los programas son más fáciles de entender.
Reducción del esfuerzo en las pruebas. ente.
Reducción de los costos de mantenimiento.
Programas más sencillos y más rápidos.
Aumento en la productividad del programador.
Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en programación.
4.1. PROCESAMIENTO EN BATCH (TANDAS O LOTES)
Consiste en que las transacciones se agrupan o se manejan en lote, y se introducen en forma consecutiva, una después de la otra.
1.- Ciertos datos resultan innecesarios para procesarlos inmediatamente , por lo cual la mejor manera de procesarlos es ir guardándolos.
2.-Los informes no aparecen con frecuencia hasta obtener toda la información necesaria.
3.- Las solicitudes de información se dan hasta que el ciclo de registros quede completado.
4.- La entrada de datos t de los demás archivos se mantienen en secuencia.
VENTAJAS
1.- Es un sistema el cual nos dará por resultado información general de toda una gama de datos lo cual significa que no tendrá que revisar una por una la información individual.
2.- Ayuda a minimizar el tiempo de revisión, por lo tanto, su salida será una sola, así generando una sola transacción.
3.- Su principal función es de almacenar los datos de manera consecuente así la información guardara un orden y por lo tanto no se alterara.
DESVENTAJAS.
La ventaja mas notable físicamente es en cuanto al tiempo y dinero ya que la entrada de datos y todos los archivos se mantienen en secuencia y por lo tanto genera mas gasto en lo que la empresa tiene perdidas.
4.2. PROCESAMIENTO EN LINEA
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. A este tipo de procesamiento se le conoce también como tiempo real.
HERRAMIENTAS PARA MONITORIZACIÓN Y CONTROL DE PROCESOS ON-LINE
DataViews es la herramienta de visualización dinámica de datos para desarrolladores de aplicaciones en tiempo real. Con DataViews puede construirse un interfaz totalmente animado para mostrar, analizar y regular el proceso industrial o técnico en tiempo real. DataViews, por su carácter interactivo y uso intuitivo, permite acortar los tiempos de desarrollo.
El sistema DataViews está compuesto de:
DV-Draw, un editor gráfico interactivo para crear vistas de interfaz personalizadas.
DV-Tools, una librería de subrutinas, orientada a manipular mediante programa las vistas generadas.
INTERACCIÓN CON EL USUARIO
Las acciones sobre el interfaz por parte del usuario se incorporan de dos maneras posibles:
Mediante objetos de entrada.
Mediante secuenciación de la pantalla.
El desarrollador puede elegir en una extensa librería objetos de entrada para manejo de vistas. Para controlar la aplicación subyacente, los usuarios finales simplemente pulsan un botón, cambian un valor mediante un slider, o seleccionan una opción mediante un menú pop-up..
ACORTAR TIEMPOS DE DESARROLLO
Diversos estudios demuestran que hasta el 80% del tiempo empleado en el desarrollo de una aplicación corresponde a la producción de prototipos y generación del interfaz de usuario. DataViews automatiza buena parte de los procesos de desarrollo más tediosos, reduciendo tiempos de producción.
Dado que no se precisan profundos conocimientos de programación para la construcción de vistas (gracias a DV-Draw), los no programadores pueden generar los aspectos estáticos del interfaz, mientras que los programadores (mediante la librería DV-Tools) y herramientas estándar de desarrollo se encargan de los aspectos dinámicos.
PROGRAMACIÓN EN TIEMPO REAL
Programar en tiempo real quiere decir hacer que los ordenadores hagan las cosas, no lo más rápidamente posible, sino lo más rápidamente que sea necesario. Esta definición, tan cierta como ambigua, exige diferentes requerimientos a los ordenadores en función de la aplicación concreta que se desea programar.
PROCESADO DE SEÑAL
En este campo la programación de interfaces gráficas y herramientas de análisis para el tratamiento de la señal de voz
Radiocomunicaciones
Control Industrial
Análisis estadístico financiero
4.3. PROCESAMIENTO EN TIEMPO REAL
DESCRIPCION
El concepto de Tiempo Real (RT por sus siglas en inglés )
Los datos pueden procesarse a medida que queden disponibles, independientemente del orden en que lleguen. Significa también que los datos de entrada no están sujetos a una verificación o distribución antes de entrar al sistema, ya sea que la entrada se refiera a varias transacciones de una sola aplicación, o de transacciones mezcladas de muchas aplicaciones.
Una de sus grandes desventajas dentro de este tipo de almacenamiento es que se presenta problemas de control de exactitud, que no son típicos de los sistemas de procesamiento de lote.
CARACTERISTICAS
4.4. PROCESAMIENTO EN PARALELO
El concepto del uso de los de procesadores múltiples en una misma computadora se conoce como Procesamiento en paralelo.
El procesamiento en paralelo a gran escala se le llama PROCESAMIENTO EN PARALELO MASIVO.
EVOLUCION
En el procesamiento en paralelo un procesador principal (una mini ó macro computadora anfitriona) analiza el problema de programación y determina las porciones del problema que se pueda resolver en partes en caso de haberlas. Las partes que se pueden manejar por separado se envían a otros procesadores y se solucionan. Entonces las partes individuales se vuelven a integrar en el procesador principal para realizar mas cálculos dar una salida ó hacer una operación de almacenamiento. El resultado neto del procesador paralelo será un mayor caudal de proceso.
4.5. PROCESAMIENTO EN DISTRIBUIDO
Cada procesador de la red mantiene una base de datos, ya sea redundante o concerniente al área de su interés; si la información mantenida en un local es diferente a la de otro, existe una base de datos distribuida; si la información mantenida en ambos locales es la misma existe una base de datos redundante. Puede existir una combinación de ambas. En ambas posibilidades el procesamiento de información, de comunicaciones y de base de datos reside en cada local. Por consiguiente, los procesadores satélites son capaces de manejar consultas y procesamiento de datos que residen dentro de su margen de responsabilidad.
Tenemos una red de comunicaciones puede enlazar varios procesadores como una red LAN (Red de Area local) ya que esta limitada por una área geográfica pequeña en una escuela ó en un edificio.
4.6. FASES PARA EL PROCESAMIENTO DE UNA APLICACION
En las macrocomputadoras sus fases son:
Procesamiento: Los sistemas de macrocomputadoras, incluyendo algunas minis, suelen configurarse con la macrocomputadora o procesador central o anfitrión y otros procesadores.
Almacenamiento: Todos los sistemas de macrocomputadoras usan medios similares de almacenamiento directo y secuencial.
Entrada: El medio principal para introducir datos al sistema es siempre el mismo, sin importar el tamaño del sistema de cómputo.
Salida: Como en el sistema de minicomputadora la copia permanente se produce en impresoras de alta velocidad y la copia temporal en estaciones de trabajo. Unos ejemplos de impresoras son: impresora de línea con una velocidad de 2 000 líneas por minuto y una impresora de página que usa la tecnología de impresión láser para lograr velocidades de más de 40 000 líneas por minuto.
5.1. QUE ES EL SISTEMA OPERATIVO(S. O.) DE UN COMPUTADORA
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.
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.
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.
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.
funciones
Interpreta los comandos que permiten al usuario comunicarse con el ordenador.
Coordina y manipula el hardware de la computadora
Organiza los archivos en diversos dispositivos de almacenamiento
Gestiona los errores de hardware y la pérdida de datos.
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.
Configura el entorno para el uso del software y los periféricos protección a la información que almacena
SISTEMAS OPERATIVOS
LINUX
Fue creado originalmente por Linus Benedict Torvalds en la Universidad de Helsinki en Finlandia. Este ha sido desarrollado con la ayuda de muchos programadores a través de Internet.
UNIX
Está escrito fundamentalmente en lenguaje "C" (90%) y el resto en lenguaje ensamblador.
EL SHELL.: Interface del sistema operativo con los usuarios del mismo. Actúa como interprete de comandos. Características semejantes a un lenguaje de programación de alto nivel. Shellscripts. · Permite configurar diferentes entornos de trabajo.
MS-DOS
Es el más común y popular de todos los Sistemas Operativos para PC. 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.
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 entrada / salida.
-
ð - 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.
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 la RAM OS/2 es un entorno muy complejo que requiere hasta 4 MB de la RAM. Los usuarios del OS/2 interactuan con el sistema mediante una interfaz gráfica para usuario llamada
5.2. CONTROL Y MANEJO DE INTERRUPCIONES
DENTRO DEL COMPUTADOR
Una de las funciones importantes de un sistema operativo (S.O.) es el uso de interrupciones en los procesos de computo.
Cuando una computadora se encuentra realizando un proceso este puede interrumpirse por cualquiera de las dos causas siguientes:
Que este haya llegado el fin lógico de un programa o de un trabajo: en este caso el SO debe retirar el control al programa que ha terminado de introducir una nueva tarea si se tiene alguna espera esta interrupcion no representa un mayor problema ya que solo puede darse cuando el programa que se encuentra en proceso demanda a traves de una instrucción su propio fin.
Que se haya presentado una causa que impida que siga adelante un trabajo o un programa que no haya terminado: en este caso las interrupciones pueden darse :
-
ð Por Software : quiere decir que la interrupcion se hace por medio de una instrucción del SO que demanda la detencion del proceso o por una instrucción del programa mismo que demanda la accion de otro dispositivo.
-
ð Por Hardware: se refiere a interrupciones provocadas por la accion de algun elemento físico ya sea por una falla, por requerirlo el circuito, por falta de energia electrica u otra causa que impida la continuacion de un programa dado algunas de estas fallas pueden ser manejadas por el sistema operativo ya sea por normalizar el proceso o para indicar al operador la causa de la interrupcion.
INTERRUPCIONES DE E/S
Este caso se da en general como resultado de una solicitud de E/S por parte de un proceso del usuario. Una vez iniciada la E/S; luego al completarse la operación el control se devuelve al proceso del usuario. Este caso se conoce como E/S sincronica. Pero existe otra posibilidad llamada E/S asincrona que devuelve el control al al programa del usuario sin esperar que se complete la E/S asi esta puede continuar mientras se realizan otras operaciones del sistema
INTERRUPCIONES DE PROGRAMA
INTERRUPCIONES EXTERNAS
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.
Interrupciones internas de hardware
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.
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, utilizandolas 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 categorias: las interrupciones del sistema operativo DOS y las interrupciones del BIOS.
INTERRUPCIONES EXTERNAS
Interrupciones externas de hardware
Las interrupciones externas las generan los dispositivos perifericos, como pueden ser: teclado, 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.
5.3. METODOS DE ACCESO
Un método de acceso es un conjunto de rutinas y tablas que posibilitan acceder a la información de los archivos según un esquema lógico determinado.
Acceso Secuencial
Este método permite el acceso a los registros de un archivo en un orden preestablecido del primero al ultimo y de uno en uno. Da el efecto de que el archivo estuviera organizado por registros consecutivos que solo permiten llegar a uno cualquiera de ellos pasando previamente por los anteriores. Este método requiere que los registros lógicos que se almacenan siguiendo el orden en el que serán accedidos para su tratamiento es decir que debe coincidir el orden lógico de los registros y su orden físico.
Acceso Directo
Este método permite el acceso directo a cualquier parte del archivo es decir no es necesariamente pasar por la información anterior para acceder a un determinado registro. El software del método de acceso calcula la dirección del bloque físico que lo contiene y accede a él directamente.
Acceso Directo Indexado
En este caso se construye un índice o tabla de las relaciones entre las claves y sus bloques físicos para cada archivo. La localización de un registro se realizara accediendo primero a ese índice y con la dirección del bloque correspondiente a la clave solicitada se alcanzara el bloque adecuado
5.4. MULTIPROGRAMACION
La multiprogramación es una técnica que intenta incrementar la utilización del CPU tratando de tener siempre algo para que el CPU lo ejecute.
Esta idea funciona de la siguiente manera: El sistema operativo selecciona uno de los trabajos y empieza su ejecución. Eventualmente, el trabajo tiene que esperar por algo, tal como una lectura a disco, un comando que debe ser tecleado, etc. En un sistema no multiprogramado el CPU debe esperar si hacer nada.
En un sistema con multiprogramación, el sistema operativo simplemente seleccionará otro trabajo y lo ejecutará. Cuando ese trabajo necesite esperar, el CPU será asignado a otro trabajo y de esta forma continuará. Eventualmente el primer trabajo habrá terminado su espera y obtendrá el CPU nuevamente. De esta manera, sí siempre existe algún trabajo para ejecutar
Los sistemas operativos son altamente sofisticados ya que necesitan tener varios trabajos listos para ser ejecutados, los cuales deben de estar simultáneamente en memoria principal.
Multiprogramación: cuando los procesos en memoria pertenecen a programas distintos. No tienen nada en común. En el caso de la multitarea los procesos son distintos pero no corresponden a programas distintos.
5.5. TELEPROCESO
Breve Historia del Teleproceso
-
ð Palabra Teleproceso es derivado de "Telecomunicación en Proceso de Datos" (1967).
-
ð Comienza con el teléfono, pese que no estaba diseñado para este fin, pero se adecuó.
-
ð Medios de Telecomunicación:
-
Telegrafía - 1875
-
ð Teléfono - 1900
-
ð Radio - 1925
-
ð Televisión - 1950
-
ð Transferecia vía Satélite - 1975
-
ð Redes - 1980
El teleprocesamiento se da cuando se tiene la capacidad de trabajar interactivamente con un sistema remoto, el cual nos permite entrar a él y nos trata como un proceso más de los que esté ejecutando.
6.1. CULTURA Y DESARROLLO ORGANIZACIONAL
Expresa los valores o ideales sociales y creencias que los miembros de la organización llegan a compartir manifestaciones de elementos simbólicos como experiencias lenguaje especializado entre otras cosas. La cultura organizacional incluye lineamientos que perduran además que dan forma al comportamiento. Cumple con funciones importantes al momento de:
-
ð Facilitar el compromiso con algo mayor que el yo mismo
-
ð Reforzar la estabilidad del sistema social
-
ð Transmitir el sentimiento de identidad a los miembros de la organización
-
ð Además de ofrecer premisas reconocidas y aceptadas para la toma de desiciones
En esta se sugiere una posible definición : que la cultura organizacional cumpla funciones importantes en la organización por medio de artefactos culturales incluyéndose el diseño y estilo de la administración con el fin de transmitir valores y filosofías que socialicen a los miembros, motivan al personal y facilitan la cohesión de grupo y el compromiso con metas relevantes.
Otra definición:
La cultura organizacional es un sistema de valores compartidos y creencias que interactuan con la gente, las estructuras organización y los sistemas de control de una compañía para producir normas de comportamiento.
La importancia de la cultura
El fundador o grupo fundador de una organización empieza con ciertos valores creencias y normas que tienen que ser adecuados por la cultura mas amplia y por las experiencias vitales de los individuos . estas características culturales se manifiestan de diferentes formas.
Una cultura fuerte es un sistema de reglas informales que describe la forma en que la gente debe comportarse la mayor parte del tiempo, además permite a la gente sentirse mejor con respecto a lo que hace con lo que es mas probable que trabaje mas duro y mejor.
6.2. MEMORIA CACHE
La memoria caché es un tipo de memoria de acceso aleatorio de un ordenador o computadora que se reserva para contener, de manera temporal, información leída o escrita recientemente en el disco.
La memoria caché de disco realiza distintas funciones: en unos casos, almacena direcciones concretas de sectores; en otros, almacena una copia del directorio y en otros, almacena porciones o extensiones del programa o programas en ejecución.
Es una memoria situada entre el microprocesador y la RAM, dado que ésta no es lo suficiente rápida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantáneamente,
Existen dos tipos de caché:
La que está incluida en el interior del microprocesador, llamada interna o de primer nivel (L1), y la caché externa o de segundo nivel (L2). La caché de primer nivel es muy rápida y a la vez más cara, y contiene muy pocos kilobytes (unos 32 ó 64 Kb).
6.3 ARQUITECTURA CISC Y RISC
CISC Acrónimo de Complex Instruction Set Computing. Arquitectura de microprocesador caracterizada por ejecutar un conjunto grande de instrucciones complejas. Estas instrucciones pueden realizar funciones muy específicas, en contraposición a la arquitectura RISC.
Son los ordenadores que combinan varias operaciones en una sola instrucción se denominan ordenadores CISC.
Cuando estas instrucciones simples se ejecutan en una arquitectura CISC, el proceso es más lento, porque en un diseño CISC todas las instrucciones, simples o complejas, tardan más en ser descodificadas.
RISC Acrónimo de Reduced Instruction Set Computer, tipo de microprocesador cuyo diseño está orientado a la obtención de altas velocidades de proceso y que utiliza un conjunto relativamente pequeño de instrucciones. El diseño RISC está basado en la premisa de que la mayoría de las instrucciones que una computadora decodifica y ejecuta son simples.
6.4. SISTEMAS DE MULTIPROCESAMIENTO
Un sistema de multiprocesamiento consiste en una computadora que tiene más de un procesador o bien en una serie de computadoras con CPU's independientes. La mayoría de computadoras supervisoras se diseñan específicamente para dar soporte a múltiples procesadores. Incluyen un bus da altas prestaciones, decenas de MB para memoria con corrección de errores, sistemas de disco redundantes baratos, arquitecturas avanzadas de sistemas que reducen los cuellos de botella utilidades redundantes, como múltiples fuentes de alimentación.
Hay dos tipos de diseño de sistemas multiprocesador:
-
Simétrico.- Todos los microprocesadores del sistema comparten los recursos del sistema, como la entrada salida de memoria y disco.
-
Asimétrico.- Diferentes microprocesadores gobiernan las distintas tareas y recursos del sistema. Cada CPU se dedica a una función específica tal como entrada / salida de la tarjeta de interfaz de red u operaciones con archivos.
Podemos concluir que el hardware permite el progreso simultáneo de varias actividades (varios CPUS's con memoria local, etc.). Existen tres problemas que tienen que ver con la concurrencia.
Ventajas del multiprocesamiento.- El beneficio del multiprocesamiento es el procesamiento en paralelo, donde un solo proceso o aplicación es separado en múltiples partes que pueden ejecutarse simultáneamente en diversos CPU's. tiprocesadores.
Modelos arquitectónicos para un multiprocesador
Podemos caracterizar a los multiprocesadores atendiendo a dos criterios:
1) Multiprocesador estrechamente acoplado
SISTEMAS PROCESAMIENTO DISTRIBUIDO
Es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora.
El hardware: las máquinas son autónomas; el software: los usuarios piensan que el sistema es una única computadora. Ambos son esenciales.
Los sistemas distribuidos están diseñados para que muchos usuarios trabajen en forma conjunta. En el sentido amplio se diría que varios CPU conectados entre sí trabajan de manera conjunta.
Un trabajo cooperativo apoyado por computadora es un grupo de personas localizados a cierta distancia entre sí que trabajan juntos.
6.6. REDES DE COMPUTADORAS
DEFINICIÓN DE REDES. Una Red es una manera de conectar varias computadoras entre sí, compartiendo sus recursos e información y estando conscientes una de otra.
Las redes en general, consisten en "compartir recursos", y uno de sus objetivo es hacer que todos los programas, datos y equipo estén disponibles para cualquiera de la red que así lo solicite, sin importar la localización física del recurso y del usuario.
Paquete: Cantidad mínima de datos que se transmiten en una red o entre dispositivos. Tiene estructura y longitud variable según el protocolo utilizado.
Puerto: Es un número que identifica a una aplicación que interviene o vá a intervenir en una comunicación bajo TCP.
Socket: Es la combinación de la IP de la máquina y del número de puerto utilizado por el TCP.
TCP: Protocolo de Control de Transmisión.
LAN: Red de Area Local. WAN: Red de Área Extensa, como por ejemplo Internet.
Gateway: Ordenador o dispositivo que conecta redes diferentes en protocolo.
Dirección IP: Una dirección única que identifica a un equipo en una red mediante una dirección de 32 bits que es única en toda la red TCP/IP. Las direcciones IP se suelen representar en notación decimal con puntos, que representan cada octeto (8 bits o 1 byte) de una dirección IP como su valor decimal y separa cada octeto con un punto; por ejemplo, 209.40.101.7.
Nombre de Dominio: El nombre de equipo que substituye a una dirección IP de red. Por ejemplo, www.maestrosdelweb.com en vez de la dirección IP 209.40.101.7. También se llama Nombre descriptivo. Nombre del Host: El nombre dado a un equipo que forma parte de un dominio y que se utiliza para autenticar a los clientes. También se denomina Nombre de equipo.
Protocolo: El software que permite que los equipos se comuniquen a través de una red. El protocolo de Internet es TCP/IP.
Firewall: elemento basado en Hardware, Software o en una combinación de ambos, que controla el flujo de datos que entra y sale de una red.
1.Redes LAN (Local Area Network) o Redes de área local.
-
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.
2.Redes WAN (Wide Area Network) o Redes de área amplia.
-
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.
DEFINICIÓN DE UNA TOPOLOGIA DE RED Y SUS TOPOLOGIAS DE LAS 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).
Descripción de la disposición de las conexiones físicas en una LAN
Las topologías físicas de red más comunes son:
-
Estrella.
-
Bus lineal
-
Anillo
Topología de estrella (A) : Red de comunicaciones en que la que todas las terminales están conectadas a un núcleo central, si una de las computadoras no funciona, ésto no afecta a las demás, siempre y cuando el "servidor" no esté caído.
En este tipo de topología todas las estaciones de trabajo se conectan a una estación central que se encarga de establecer, mantener y romper la conexión entre las estaciones. En este tipo de red si cae la estación central cae toda la red.
Topología Bus lineal (B) : 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.
En esta topología todas las estaciones están conectadas al mismo cable. En una Red Bus, todas las estaciones escuchan todos los mensajes que se transfieren por el cable, capturando este mensaje solamente la estación a la cual va dirigido, que responde con un ACK o señal que significa haber recibido el mensaje correctamente.
Topología de anillo (C): Todas las computadoras o nodos están conectados el uno con el otro, formando una cadena o círculo cerrado.
Todos los nodos de la red están conectados a un bus cerrado, es decir, un circulo o lazo
De lo que se compone una red en forma básica es lo siguiente:
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.
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.
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.
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.
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.
6.7. PROTOCOLOS ESTANDAR
Al intercambio de información entre computadores se le llama comunicación entre computadores .Al conjunto de computadores que se interconectan se le llama red de computadores .Para la comunicación entre dos entidades situadas en sistemas diferentes , se necesita definir y utilizar un protocolo .
El protocolo debe definir las reglas , convenios , funciones utilizadas , etc...para la comunicación por medio de red .
El protocolo TCP/IP es el más popular
6.8. SISTEMAS ABIERTOS
El objetivo último de todo el esfuerzo invertido en los sistemas abiertos consiste en que cualquiera pueda adquirir computadoras de diferentes fabricantes, las coloque donde quiera, utilice conexiones de banda ancha para enlazarlas entre sí y las haga funcionar como una máquina compuesta capaz de sacar provecho de las conexiones de alta velocidad
Esta definición alude a sistemas informáticos cuya arquitectura permite una interconexión y una distribución fáciles. En la práctica, el concepto de sistema abierto se traduce en desvincular todos los componentes de un sistema y utilizar estructuras análogas en todos los demás. Esto conlleva una mezcla de normas (que indican a los fabricantes lo que deberían hacer) y de asociaciones (grupos de entidades afines que les ayudan a realizarlo). El efecto final es que sean capaces de hablar entre sí.
Definición del problema |
Análisis del problema |
Diseño del algoritmo |
Programación y pruebas |
Mantenimiento del programa |
Entrada de datos |
Condición |
Pantalla |
Inicio ó Fin |
Proceso
Procesamiento de lote
Transacciones |
Archivo maestro actualizado |
Archivo maestro |
Transacciones |
Proceso aleatorio
Archivo maestro
PROCESO SOLICITANTE ESPERANDO
CONTROLADOR DE DISPOSITIVO
MANEJADOR DE INTERRUPCIONES
HARDWARE
TRANSFERENCIA DE DATOS
|
USUARIO |
NUCLEO |
PROCESO SOLICITANTE
CONTROLADOR DE DISPOSITIVO
MANEJADOR DE INTERRUPCIONES
HARDWARE
TRANSFERENCIA DE DATOS
|
USUARIO |
NUCLEO |
TIEMPO A) |
TIEMPO B) |
DOS METODOS DE E/S A)SINCRONA Y B) ASINCRONA |
Descargar
Enviado por: | Alex |
Idioma: | castellano |
País: | México |