Capítulo 3 Software o soporte lógico Definición de SOFTWARE ? ? Conjunto de programas necesarios para realizar con el ordenador el tratamiento de la información. SW = Sistema Operativo + Programas de aplicación Estructura del SW ? El SO hace de puente entre el HW y los programas de aplicación. Programas de Aplicación Sistema Operativo 1 Objetivos de un S.O. 1. Optimizar el rendimiento de los recursos del ordenador. 2. Hacer el HW accesible para el usuario y los programas de aplicación. Funciones de un S.O. ? ? ? ? ? ? ? Control de concurrencia Coordinación de programas Asignación de recursos Gestión de ficheros Protección de la información Registro de todas las actividades Planificación y carga de programas o tareas Funciones de un S.O. ( II ) Tratamiento de errores Inicialización del sistema ? Comunicación con periféricos ? Control de usuarios ? ? 2 Estructura de un S.O. Progs. de Control : ? ? ? Gestión de HW Gestión de programas. Gestión de datos. Progs. de Proceso : ? ? Traductores, compiladores e intérpretes. Utilidades del SO. Lenguajes de programación Notación formal para describir algoritmos o funciones que serán ejecutados por un ordenador. ? Instrucción=orden expresada en un lenguaje de programación. ? Programa =secuencia ordenada de instrucciones. ? Lenguajes según su grado de independencia de la máquina Lenguaje máquina. Lenguaje ensamblador. ? Lenguajes de medio nivel (C). ? Lenguajes de alto nivel (Pascal, Cobol). ? Lenguajes orientados a objeto (C++, Delphi, Java). ? Lenguajes orientados a problemas concretos (SQL, SPSS, BMDP, DBase). ? ? 3 Lenguajes por generaciones 1ª Generación ( máquina y ensamblador ). ? 2ª Generación : asignación estática de memoria ( FORTRAN, COBOL, ... ). ? 3ª Generación : asignación dinámica de memoria, recursividad ( Pascal, C, ...). ? Lenguajes por generaciones 4ª Generación : mucho más específicos ( SQL, NATURAL, ... ). ? 5ª Generación : ligados a la Inteligencia artificial ( LISP, PROLOG, ... ). ? Traductores ? Programas que procesan un código fuente generando un código objeto (destino) equivalente. Programa en lenguaje fuente Traductor Programa en lenguaje objeto El traductor puede estar escrito en un lenguaje distinto al fuente y al objeto. 4 Ensambladores y Compiladores Programa en lenguaje ensamblador Ensamblador Programa en lenguaje máquina Ejemplo en Ensamblador Programa en lenguaje de alto nivel Compilador Programa en lenguaje máquina Ejemplo en C Ejemplo en Pascal Tiempo de Compilación Ejecución de un programa Programa en lenguaje máquina Ejecución Resultados + Datos Tiempo de Ejecución Antes de la ejecución tanto el programa como los datos deben ser cargados en memoria por un programa cargador ( loader ) Intérpretes Programa en lenguaje de alto nivel Intérprete Resultados + Datos 5 Programas de Aplicación ? ? Tienen utilidad directa para el usuario. Ejemplos : procesadores de texto, hojas de calculo, sistemas de gestión de bases de datos, programas de diseño gráfico, etc. Programas de Aplicación II ? Software de propósito general. ? Software dedicado. Procesadores de texto Convierten el ordenador en una máquina de escribir sofisticada ? Mezclan distintos tipos de textos, letras, imágenes, etc. ? ? Ejemplo con Word 6 Editores de texto Manipulan texto sin formato ? Útiles para generar documentos básicos o programas ? ? Ejemplo con Notepad Hojas de cálculo Permiten hacer de forma cómoda muchos cálculos matemáticos ? Los datos están organizados en una gran matriz ? ? Ejemplo con Excell Bases de datos Permiten manipular mucha información interrelacionada ? Varios tipos: ? ? ? ? ? ? Jerárquica En red Relacional De objetos Ejemplo con Access 7 Tratamiento gráfico ? ? Permiten generar y tratar imágenes en formato Raster. Ejemplo con Paint Diseño Asistido por Ordenador Permiten realizar, modificar, almacenar e imprimir planos, esquemas, dibujos lineales, etc. ? CAD, CAM, CAE, CIM, etc. ? 8