Download Historia del Software
Transcript
Tema 3: Software Operativo y de Desarrollo. Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su programación para la solución de diversos problemas. En 1946 John Von Neuman, miembro del grupo del desarrollo de la ENIAC, pensó que las instrucciones podían almacenarse en la computadora junto con los datos; a ello lo llamó programa almacenado o concepto de Von Neumann. Tema 3: Software Operativo y de Desarrollo. La característica principal de modelo de Von Neumann, es el concepto de programa almacenado, por lo que los programas se almacenan en memoria de la computadora. Programa Memoria Datos Tema 3: Software Operativo y de Desarrollo. Sistemas de de Sistemas Computación Computación Software Software Hardware Hardware Sistema Sistema Operativo Operativo Programas de de Programas Aplicación Aplicación Tema 3: Software Operativo y de Desarrollo. Sistema Operativo Una interfaz entre el hardware de una computadora y el usuario. Serie de programas que facilita la ejecución de otros programas. Actúa como el gerente general que supervisa la actividad de cada componente del sistema computacional. Tema 3: Software Operativo y de Desarrollo. Objetivos principales: El uso eficiente del hardware Facilidad para usar los recursos Tema 3: Software Operativo y de Desarrollo. Evolución de los S.O.´s Sistemas por Lotes Sistemas de Tiempo Compartido Sistemas Personales Sistemas Paralelos Sistemas Distribuidos Tema 3: Software Operativo y de Desarrollo. Sistema Sistema Operativo Operativo Interfaz Interfaz de de usuario usuario Administrador Administrador de de Memoria Memoria Administrador Administrador de de Procesos Procesos Administrador Administrador de de Dispositivos Dispositivos Administrador Administrador de de Archivos Archivos Tema 3: Software Operativo y de Desarrollo. Sistemas Operativos más Comunes: Windows, UNIX, Linux Windows Comenzó con MS-DOS, ahora es Gráfico, es de los que más ha evolucionado, es multiprogramación. Tema 3: Software Operativo y de Desarrollo. UNIX Conocido y usado por programadores y científicos. Es portátil, tiene utilerías para evitar ciertos errores e independiente de los dispositivos. Multiprogramación, comandos cortos y a su vez complicados. Tema 3: Software Operativo y de Desarrollo. Linux Parecido a UNIX, la idea original para este sistema era que se instalará en máquinas personales, por lo que se ha convertido en el más usado por programadores expertos. Tema 3: Software Operativo y de Desarrollo. Sistema Operativo Administra los procesos de entrada y salida, controla todos los recursos de la computadora y ofrece la base sobre la cual pueden escribirse los programas de aplicación. Un sistema de computación moderno consta de uno o más procesadores, alguna memoria principal, relojes, terminales, discos, interfaces de redes, y otros dispositivos de entrada/salida, por lo que se hizo evidente que tenía que descubrirse alguna manera de resguardar a los programadores de la complejidad del hardware. Tema 3: Software Operativo y de Desarrollo. •Clasificación de Sistemas Operativos Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar. Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad. Tema 3: Software Operativo y de Desarrollo. Sistemas Operativos por Servicios Sistemas Operativos por la Forma de Ofrecer sus Servicios Sistemas Operativos de Red Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos, etc. Sistemas Operativos Distribuidos Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accede en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual. Tema 3: Software Operativo y de Desarrollo. Algoritmo: Son procedimientos que se realizan paso a paso para resolver un problema. O bien, método paso a paso para resolver un problema o realizar una tarea. Los hay numéricos y alfanuméricos. Tema 3: Software Operativo y de Desarrollo. Algoritmo: Se define como la secuencia de pasos o instrucciones para resolver un problema dado. Haciendo enfoque hacia la programación se utilizaría un Lenguaje de programación. Tema 3: Software Operativo y de Desarrollo. Lista de Entrada Algoritmo Lista de Salida Tema 3: Software Operativo y de Desarrollo. Se pueden identificar tres estructuras de control para la creación de un algoritmo. Secuencia: Instrucción cualquier otra estructura. Decisión: condición. Donde Repetición: Da instrucciones o instrucciones. se simple o incluso comprueba una la opción de repetir hasta bloques de Tema 3: Software Operativo y de Desarrollo. Los algoritmos se pueden representar mediante: Diagramas de Flujo Pseudocódigo Tema 3: Software Operativo y de Desarrollo. Algoritmo: Una serie de pasos ordenada de pasos precisos que produce un resultado y termina en un tiempo finito. Debe contener instrucciones ordenadas y bien definidas. Da un resultado, de lo contrario sería inútil. Debe detenerse. ײַ Tema 3: Software Operativo y de Desarrollo. Lenguajes de Programación Serie de palabras predefinidas que se combinan en un programa de acuerdo a las reglas predefinidas. Por lo que para escribir un programa se necesita un lenguaje de Programación. Dentro de una metodología podría ser el paso siguiente después del algoritmo. Tema 3: Software Operativo y de Desarrollo. Evolución de Lenguajes de Programación Lenguajes de Máquina Lenguajes Simbólicos Lenguajes de Alto Nivel Lenguajes Naturales Tema 3: Software Operativo y de Desarrollo. Existen dos tipo de lenguaje de programación: Bajo nivel, instrucciones dadas utilizando dígitos binarios. Alto nivel, instrucciones dadas en palabras. Tema 3: Software Operativo y de Desarrollo. Primera generación de lenguajes Lenguaje binario o de máquina. Segunda generación de lenguajes Los lenguajes de máquina avanzaron hacia los ensambladores o lenguajes de código, que dieron la base para la elaboración de software de sistemas y el software de procedimientos. Tema 3: Software Operativo y de Desarrollo. Lenguajes Procedurales: FORTRAN COBOL PASCAL C ADA Lenguajes Orientados a Objetos: C++ Java Tema 3: Software Operativo y de Desarrollo. Lenguajes Funcionales: LISP Scheme Lenguajes Declarativos: Prolog Lenguajes Especiales: HTML Perl Sql Tema 3: Software Operativo y de Desarrollo. Programa Es un conjunto de instrucciones escritas en un lenguaje de programación de alto nivel que indica paso a paso, las acciones para resolver un problema dado y que pueden ser traducidas al lenguaje de la computadora, se le conoce como programa fuente. En realidad las máquinas solo tienen un lenguaje; de máquina, cuando se programa en un lenguaje de alto nivel existen además un software llamado compilador que lo traduce, a su vez, en lenguaje de máquina para que la PC lo interprete y a estas instrucciones se la llama programa objeto. Programa FUENTE EJECUTABLE Programa OBJETO Programa Tema 3: Software Operativo y de Desarrollo. Pasos para crear un programa: Escribir el programa y editar el programa Compilar el programa Vincular el programa con los módulos de biblioteca requeridos Tema 3: Software Operativo y de Desarrollo. Intérprete: Traduce y ejecuta instrucción por instrucción del programa fuente y sólo continua con la siguiente instrucción si no hay errores de escritura en la instrucción que analiza en turno. Compilador: Traduce todas las instrucciones y al final indica los posibles errores. Entonces, el software de la computadora puede dividirse de modo general en dos clases: Los programas computadora. del sistema: Manejan la operación de la Los programas de aplicación: Resuelven problemas de los usuarios. Tema 3: Software Operativo y de Desarrollo. Software aplicativo La aparición de paquetes para procesar información se debe al éxito del uso de las PC´s, ya que no es necesario programar. Hoja de cálculo electrónica, bases de datos, procesador de palabras, paquetes de aplicación especifica como pueden ser el de análisis estadístico y el de diseño estructural, entre muchos. El concepto de paquete o software orientado a una aplicación especifica continua evolucionando y cada vez es mejor. Tema 3: Software Operativo y de Desarrollo. El software aplicativo se divide en: a) Software a la medida b) Software de propósito general En los cuales debe de existir calidad total, utilizando métodos y mecanismos. El software libre y software patentado Pros y contras. Piratería de software. Software incompleto y con muchos errores.