Evolución de los Sistemas de Procesamiento S. Herzovich - G. Séneca AGENDA Evolución Histórica Generaciones de Computadoras Tipos de Computadoras Evolución de los Sistemas Operativos Sistemas Operativos para PC Evolución Histórica El ábaco constituyó el primer dispositivo de cálculo. 1642 Pascal inventó la primera máquina automática de calcular. 1805 Jacquard construyó un telar automático, tarjetas perforadas contenían los datos para el control de las figuras y dibujos que había que tejer. Es considerada la primer máquina mecánica programada. Evolución Histórica 1833 Babbage diseñó la “máquina analítica” capaz de realizar todas las operaciones matemáticas y con posibilidad de ser programada por medio de tarjetas de cartón perforado, siendo además capaz de almacenar en su interior una cantidad de cifras considerable. Es considerado el padre de la Informática. 1854 Boole desarrolló la teoría del álgebra de Boole, que permitió a sus sucesores el desarrollo matemático del álgebra binaria y con ella la representación de circuitos de conmutación y la aparición de la “Teoría de los Circuitos Lógicos”. Evolución Histórica 1936 Turing desarrolló la teoría de una máquina capaz de resolver todo tipo de problemas con solución algorítmica. “Máquina de Turing”. Se inició la Teoría matemática de la computación, en la que se define un ALGORITMO como la representación formal y sistemática de un proceso. 1944 Von Neumann desarrolla la idea de programa interno. “Modelo de Von Neumann” Agenda GENERACIONES DE COMPUTADORAS Primera (1952-1958) Tecnología Válvulas electrónicas Segunda (1959-1964) Velocidad de procesamiento * Científico * Militar Miles de instrucciones por segundo Cuarta (1972- ... ) * circuito integrado * integración SSI y MSI * microprocesador * integración VLSI Se extiende a Se extiende a Fundamentalmente en el ámbito gubernamental y de grandes organizaciones * Ámbito empresarial en general * Uso personal y hogareño Centenares de miles de instrucciones por segundo Millones de instrucciones por segundo Decenas de millones de instrucciones por segundo Transistores Se extiende a * Administrativo * Gestión Campo de aplicación Tercera (1964-1972) GENERACIONES DE COMPUTADORAS Primera (1952-1958) Memoria Principal 10.000 a 20.000 bytes Alto Tiempo de acceso Segunda (1959-1964) Núcleos de ferrita Disminuye el Tiempo de acceso Tercera (1964-1972) Memoria de semiconductores (chips) Cuarta (1972- ... ) Integración de chips de memoria en tarjetas Memoria virtual (discos magnéticos) •Floppy disk Cintas magnéticas Dispositivos de Memoria Auxiliar y E/S Cinta magnética Tarjetas y cintas de papel perforadas Tarjetas y cintas de papel perforados Impresoras Discos magnéticos •Discos ópticos Predomina el uso del disco rígido •Lectoras de código barras •Modem •Scanners * Cámaras digitales, etc. GENERACIONES DE COMPUTADORAS Primera (1952-1958) Tercera (1964-1972) * Se universaliza el uso de FORTRAN y COBOL •BASIC (para cursos de iniciación a la computación) •Ensamblador: ASSEMBLER Se generalizan los lenguajes de alto nivel * De alto nivel: surgen FORTRAN, ALGOL COBOL, PL/1 * PASCAL (para enseñar programación estructurada) * Monoprogramación * Multiprogramación (multitasking o multitarea) * Tiempo real * Modo interactivo Lenguajes Software Segunda (1959-1964) Programas cargadores y secuenciadores de trabajos Desarrollo relegado por limitaciones del hardware Cuarta (1972- ... ) Se impone la programación estructurada Aparece el paradigma de Orientación a Objetos *C * Lenguajes visuales: (Visual Basic, Visual C, etc.) * Lenguajes orientados a objetos (SmallTalk, Simula, C++, Pascal OO) * HTML (para páginas Web) * JAVA ( “escríbalo una vez, ejecútelo donde sea”) * Teleinformática (procesamiento remoto) * Entornos multimedia QUINTA GENERACION (1981- ...) Tecnología Arquitectura basada en una máquina paralela (varios microprocesadores realizando varias tareas simultáneamente, coordinados por otro) Circuitos electrónicos integrados más rápidos Velocidad de procesamiento Se busca procesar más datos e instrucciones por unidad de tiempo Características Computadora con Inteligencia Artificial • Sistemas expertos • Robótica • Procesadores de lenguajes humanos Redes integradas GENERACIONES DE COMPUTADORAS En las primeras generaciones la división se basa en la tecnología circuital empleada, siendo que las computadoras de una generación presentan mayor velocidad, mayor capacidad de memoria y menor tamaño que las de la anterior resultando a su vez más económicas. Las primeras generaciones marcan el cambio de tecnología usada para representar el bit en el procesador (válvulas, transistores, circuitos integrados). En las siguientes sólo se integraron a mayor escala (en menor volumen) los circuitos, pero no hubo un cambio claro a otra tecnología. En las generaciones primera a cuarta, predomina el modelo Von Neumann, con sucesivas mejoras en velocidad. La quinta generación se basa en arquitecturas “no Von Neumann” con procesadores en paralelo. Agenda TIPOS DE COMPUTADORAS Existen diversas clasificaciones de computadoras digitales en función de su velocidad, potencia de procesamiento, ámbito de aplicación, arquitectura del hardware, tamaño de memoria principal, tamaño y costo. Supercomputadora Computadora o Mainframe Minicomputadora Microcomputadora SUPERCOMPUTADORA Mediante varias UCP (pueden ser miles) operando en paralelo presentan capacidad de memoria y velocidad de cálculo superior a las computadoras convencionales. Se usan en aplicaciones con enorme cantidad de datos a procesar y que precisan una gran velocidad de proceso. La capacidad de memoria varía de 256 Mbytes a varios TBytes. Pueden operar desde 1000 MFLOPs a varios TeraFLOPs. Los tiempos de acceso a MP están entre 1 y 8 seg. Su costo mínimo son 30 millones de dólares. Ejemplos: Supercomputadoras Cray (SGI - Sillicon Graphics, EE.UU), y Supercomputadoras Fujitsu, japonesas; (Fujitsu fue la primera empresa en desarrollar arquitectura paralela). COMPUTADORA o MAINFRAME Diseñada para dar servicio a grandes empresas y organizaciones. Su potencia de cálculo es del orden de varios millones de operaciones por segundo. Soporta un gran número de terminales o estaciones de trabajo. Pueden intervenir en procesos distribuidos en los que se conectan dos o más computadoras en paralelo. Ej. 5000 terminales. Ejemplo: IBM 3090 MINICOMPUTADORA Tamaño relativamente pequeño y en competencia con los mainframes. Máquinas de tipo medio Se pueden conectar centenares de usuarios a través de terminales. Se usan como servidores en redes de computadoras. Ejemplo: IBM AS 400 MICROCOMPUTADORA Su funcionamiento interno se basa en el uso de un microprocesador. Sus características son potencia, manejabilidad, portabilidad, precio, etc.; cubren la gama más baja de necesidades en el mundo de la Informática. Computadora Personal (PC) De escritorio, portatil o transportable Laptop, Notebook Pocket PC o Palmtop (calculadora científica programable; se puede conectar a otra PC para cargar/descargar información y permiten acceso a a Internet usando telefonía celular) Estación de Trabajo (workstation) Se usa en aplicaciones científicas y técnicas (gráficos), para ser conectado a través de una red con una computadora de mayor potencia. Agenda EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS PRIMER NIVEL (‘50) Sistemas Operativos Básicos (MONITOR) Su función era Controlar y Secuenciar la ejecución de los programas y sus datos (soportados en tarjetas perforadas). Aparece la secuencia automática de trabajos consistente en intercalar entre las tarjetas de un programa y otro una serie de tarjetas de control (Job Control Language). EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS SEGUNDO NIVEL (‘60) Nuevos métodos con el fin de aumentar el rendimiento de utilización del procesador por tener velocidad # E/S => tiempo libre de espera del procesador excesivamente grande. Surgen métodos para minimizarlos. Procesos on-line y off-line. Consisten en conectar directamente los dispositivos lentos a la computadora (on-line) o hacerlo a través de dispositivos más rápidos (off-line). Buffering – Spooling. Almacenamiento de datos procedentes de los periféricos en memorias intermedias (buffer) o discos magnéticos (spool). Técnicas de Acceso Directo a Memoria (DMA). No interviene el procesador para la realización de algunas operaciones de lectura / escritura en la memoria secundaria. EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS TERCER NIVEL (‘70) MULTIPROGRAMACION (almacenamiento en una misma memoria de varios programas a la vez). A través de políticas de asignación, se ejecutan varios programas intercalando la ejecución de sus instrucciones en el procesador. Proceso por lotes (batch) Consiste en ir solicitando la ejecución de procesos que no precisan conversación con el usuario (no conversacionales) y estas peticiones van situándose en una cola, siendo el SO el que da entrada a un conjunto de ellos para su ejecución. EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS TERCER NIVEL (‘70) Procesos actuales interactivos o conversacionales, necesitan un determinado diálogo con el usuario. Tiempo compartido (time sharing) consiste en un conjunto de terminales que están continuamente solicitando atención del procesador, siendo el SO quien va intercalando dicha atención entre los distintos usuarios. Tiempo real (real time) es la posibilidad que tienen determinados procesos en un sistema multiprogramado de obtener respuestas del procesador en un tiempo muy pequeño y generalmente predeterminado. EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS CUARTO NIVEL (‘80) Proceso distribuido (conexión en // de varias computadoras compartiendo almacenamiento externo, buses y terminales con el fin de ganar seguridad). El SO administra el trabajo, ejecutándose algo en los clientes y algo en el servidor. Multiproceso (> velocidad). Computadora con + de 1 procesador. El SO reparte el trabajo entre ellos. Aumenta el número de instrucciones por unidad de tiempo. SO en red para control del trabajo en una red. Interfaz con el usuario > facilidad para usar el SO > prestaciones EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS Primer Nivel ‘50 Sistemas Operativos Básicos (MONITOR) Segundo Nivel ‘60 > Rendimiento de utilización del Procesador Tercer Nivel ‘70 Mejorar rendimiento de los Sistemas Informáticos Cuarto Nivel ‘80 > Seguridad > Velocidad de proceso > Prestaciones para el usuario Agenda SISTEMAS OPERATIVOS PARA PC DOS o MS-DOS : Disk Operating System (Microsoft para PC-IBM y PC-compatibles) (Microsoft para PC-compatibles) Windows OS/2: Operating System/2 (Microsoft e IBM para PS/2) Windows NT: Windows New technology (Microsoft para redes de PC) Sistema Operativo Macintosh (Apple Computer para equipos Macintosh) Unix (AT&T para minicomputadoras) MS-DOS Características Fue un SO muy difundido Se desarrollaron gran número de aplicaciones Uso en equipos de precio reducido Limitación de la memoria central Sistema monotarea (sólo puede ejecutar un programa a la vez) Windows Nace como un entorno operativo gráfico; funciona sobre el DOS (en sus primeras versiones NO es un sistema operativo). permite multitarea compartir datos entre los programas (intercambio dinámico de datos) acceso a una mayor memoria central Recién a partir de Windows NT (que mencionamos más adelante), y los posteriores Windows 95, 98, etc. tenemos bien aplicada la definición de Sistema Operativo: "Es un programa que controla la ejecución de los programas de aplicación y que actúa como interfaz entre el usuario de un computador y el hardware del mismo” (William Stallings-Sistemas Operativos) OS/2 Características Diseñado para equipos de gran potencia (originalmente los PS/2) Facilita la conexión en red Soporta multitarea Sistema monousuario Costo más elevado de los equipos Pocas aplicaciones desarrolladas Windows NT Características Aprovecha la potencia de los microprocesadores actuales Orientado a redes de PC Multitarea en un entorno monousuario Ofrece el mismo tipo de GUI que versiones anteriores de Windows (pero está basado en un concepto diferente) Estructura modular, flexibilidad Puede ejecutar sobre diversas plataformas de hardware y dar soporte a aplicaciones escritas para otros sistemas operativos Es económico para entornos medianos, pero presenta dificultades en entornos muy grandes MACINTOSH Características Pionero en utilizar entorno operativo gráfico, incluyendo el uso de ventanas Facilidad de uso Calidad de los gráficos Multitarea Capacidad de comunicación entre los programas No es compatible, por lo que su difusión en el mercado es limitada Sin cambios drásticos de arquitecturas, que discontinúan aplicaciones Seguridad para servidor de Internet Fácil manejo de red UNIX Características Objetivo: portabilidad a cualquier equipo No tiene limitación en cuanto a memoria central Multitarea Multiusuario (puede ser compartido por varios usuarios a la vez) Buenas capacidades para uso en red Software de aplicaciones limitado No dispone de un entorno operativo gráfico estándar Existen distintas versiones en el mercado lo que va en contra de su portabilidad. Pero el costo de las diferentes variantes de Unix es muy reducido y algunas son gratis, como Linux Agenda Evolución de los Sistemas de Procesamiento Conceptos de: Multiprogramación: (multitasking-multitarea): Consiste en la ejecución alternada por una UCP de varios programas que están en MP. Dada la velocidad de procesamiento, el usuario percibe como simultánea la ejecución. Tiempo real: posibilidad que tienen determinados procesos de obtener respuestas del procesador en un tiempo pequeño y generalmente predeterminado. Modo interactivo: opuesto al batch o por lotes. Permite la interactividad hombre-máquina en operaciones on-line desde terminales con teclado y pantalla