Fundamentos de software Introducción a la Informática 2010-2011
Objetivos Describir las 3 categorías principales de software y su relación Explicar la correspondencia entre algoritmos y programas Discutir los factores que hacen que una aplicación sea útil Describir el papel del sistema operativo en un ordenador actual Seguir la evolución de los interfaces entre las personas y los ordenadores 4626. Introducción a la Informática 2
Cómo trabaja el software? Un programa es una secuencia de instrucciones elementales sencillas Los programadores comienzan diseñando un algoritmo: una receta en lenguaje natural Problema: el lenguaje natural es ambiguo Los algoritmos deben convertirse en instrucciones inteligibles para la CPU Código fuente: lenguaje de programación Código binario: secuencias de 0s y 1s 4626. Introducción a la Informática 3
Cómo trabaja el software? algoritmo Pide un número al usuario Multiplícalo por 2 Muestra en pantalla el resultado 4626. Introducción a la Informática 4
#include <stdio.h> Cómo trabaja el software? código fuente int main() { int num, doble; printf( "Introduce un número: " ); scanf( "%d", &num ); doble = num * 2; printf( "Su doble es: %d\n", doble ); } 4626. Introducción a la Informática 5
Cómo trabaja el software? código binario 01011001110111000000100000111101000111101111100010111110 0010001001001111001001101011100001111001001101011000110 11100100110011110001011001110001000101101101101101011101 0010100011111000011001000111000100011101111000101010010 100100110011111110011100111000111110111110110100011100001 11000010010111101001111011001001110000110111001011010011 01100011100010111110011000100011111110100010010100010011 1110101001100100010001000010011111000110010110101111000 00011011111101110111011000110101000110100101110001000100 00011101111011011011110000100010001011010110110101101100 00111100100101111000110101011010000001000110111101010111 11000100010000011100111101100001000011011111101011111000 00101011101111011111101001101001100101011011000111010100 10010000100001101111000010011111011111111100010001100011 0000011011000011010111000100 4626. Introducción a la Informática 6
Tipos de programas Software de desarrollo (compiladores y otros) Permiten a los programadores escribir nuevos programas Programas de aplicación Herramientas de productividad que permiten a los usuarios resolver sus problemas Software del sistema Coordina las operaciones del hardware Más cercano al hardware 4626. Introducción a la Informática 7
Programas de aplicación por qué utilizamos programas? Son metáforas visuales de herramientas del mundo real Expanden las capacidades humanas Tipos de programas Software vertical o a medida Suites Paquetes integrados 4626. Introducción a la Informática 8
Software vertical o a medida Aplicaciones específicas de un sector: Ej.: software de facturación, sw de catalogación para bibliotecas, administración de restaurantes Elevado coste por tener un mercado más reducido Algunas veces incluso se desarrollan para un único cliente 4626. Introducción a la Informática 9
Suites Aplicaciones de uso común Ej.: proc. de textos, hoja de cálculo, bases de datos. Uso extendido en ámbitos muy diversos: hogar, oficinas, administración, educación, Estas aplicaciones se reúnen en un único paquete denominado suite Más económico que adquirir los programas por separado Ej.: MS Office y OpenOffice (ofimática), Macromedia Studio (diseño web), Adobe Creative Suite (diseño gráfico) 4626. Introducción a la Informática 10
Paquetes integrados Incorporan varias aplicaciones en un mismo programa Comparten el mismo entorno facilita el aprendizaje Más limitado que las aplicaciones equivalentes aisladas Menor coste que las suites Ej.: MS Works o AppleWorks 4626. Introducción a la Informática 11
Cuestiones sobre el sw de aplicación Documentación Instrucciones para instalar la aplicación Tutoriales Manuales de referencia Ficheros de ayuda Ayuda en línea (a través de la web) Servicios de soporte, FAQ, etc. 4626. Introducción a la Informática 12
Cuestiones sobre el sw de aplicación Actualización Periódicamente, las empresas comercializan nuevas versiones de sus aplicaciones Motivos: mejoras, corrección de errores, adaptación a otro software (S.O.) Número para indicar la versión. Decimales para cambios menores En ocasiones, el usuario tiene derecho a actualizaciones gratuitas durante un periodo de tiempo 4626. Introducción a la Informática 13
Cuestiones sobre el sw de aplicación Compatibilidad Hardware: restricciones sobre el tipo de ordenador y recursos necesarios Ej.: cpu, memoria, espacio libre en disco, etc. Software: Principalmente, el S.O. para el que está diseñado: Windows, Mac, Linux Además del S.O., es importante su versión: Windows 95, 98, NT, Me, 2000, XP 4626. Introducción a la Informática 14
Cuestiones sobre el sw de aplicación Licencias Al adquirir el software, lo que realmente se compra es una licencia para utilizarlo Licencias individuales y corporativas Limitación principal en cuanto a la instalación en varios ordenadores y a la copia de los discos EULA: End User License Agreement Condiciones de la licencia Términos de la garantía 4626. Introducción a la Informática 15
Cuestiones sobre el sw de aplicación Distribución: formas de comercializar las aplicaciones propietario: cerrado por su dueño y de pago shareware: evaluación en tiempo limitado de demostración: limitaciones en la funcionalidad adware: financiado mediante publicidad (banners) freeware: sw gratuito, pero cerrado libre: sw que de puede usar, distribuir, copiar y modificar libremente semilibre: sw libre para uso no lucrativo de dominio público: renuncia a los derechos de autor 4626. Introducción a la Informática 16
Software del sistema Gestiona la comunicación entre el hardware y el software Permite abstraerse de los detalles del hardware (máquina virtual) Incluye los siguientes tipos de programas Controladores de dispositivos o drivers Sistema operativo Programas de utilidad 4626. Introducción a la Informática 17
Controladores de dispositivos (drivers) Gestionan la comunicación entre el ordenador y los dispositivos de E/S Facilitan la ampliación de los ordenadores (arquitectura abierta) Actúan como intermediarios cuando el usuario requiere el acceso al dispositivo (lector CD, impresora, ratón, módem...) Cómo conseguirlos Algunos están incluidos en el propio S.O. Otros se proporcionan con el dispositivo (en un CD de instalación) A veces son propiedad de otras empresas y es necesario adquirirlos para poder usarlos. 4626. Introducción a la Informática 18
Sistema operativo Intermediario entre el usuario y los programas de aplicación y el hardware Proporciona una capa de aislamiento Determina la compatibilidad de los programas Tareas principales Facilitar el manejo del ordenador Utilizar el hardware de forma eficiente Se ejecuta continuamente desde que arranca el ordenador 4626. Introducción a la Informática 19
Funciones del sistema operativo Comunicación con los periféricos (E/S) Gestión de procesos: Coordina trabajos concurrentes (multitarea) Aprovecha mejor la CPU Administración de la memoria: Protección de la memoria de cada proceso Mecanismo de memoria virtual Monitorización de recursos para contabilidad y seguridad Gestión de archivos Coordinación de las comunicaciones en red 4626. Introducción a la Informática 20
Programas de utilidad Herramientas de mantenimiento del sistema Se ejecutan como programas separados del S.O. (se cargan en la memoria cuando se necesitan) Los encontramos Incorporados al S.O. (desfragmentador de disco) Suministrados por otros fabricante (cortafuegos) 4626. Introducción a la Informática 21
Interfaz de usuario Sistemas operativos de sobremesa Interfaz de caracteres: línea de comandos (MS- DOS) 4626. Introducción a la Informática 22
Interfaz de usuario Interfaz gráfica (GUI) controla cada punto de la pantalla de forma individual Mac OS de Apple (1984) Metáforas: escritorio, carpetas, documentos Elementos activos: iconos, botones, ventanas, menús, barras de desplazamiento 4626. Introducción a la Informática 23
Interfaz de usuario Administración de ficheros Carpetas específicas para los documentos de cada usuario Herramientas de búsqueda por su nombre o su contenido (Google y Copernic Desktop Search) Herramientas específicas para archivos especiales itunes, imovie e iphoto (Mac) Herramientas similares en la próxima versión de MS Windows (Longhorn) 4626. Introducción a la Informática 24
Interfaz de usuario Sistemas operativos multiusuario UNIX S.O. preferido para mainframes y estaciones de trabajo Versiones: Solaris (Sun) HP-UX (HP), AIX (IBM), IRIX (Silicon Graphics) Linux: Versión de UNIX para ordenadores personales Numerosas distribuciones para PC MacOS X está construido sobre Linux (BSD) Son S.O. multiusuario: permiten varios usuarios trabajando simultáneamente sobre la misma CPU 4626. Introducción a la Informática 25
Interfaz de usuario Plataformas hw+sw Windows XP (Pentium/Athlon): Home, Professional, Tablet PC Windows Server 2003 (Xeon/Opteron) Windows CE (Pocket PC/telefonía móvil) Palm OS (Palm, Sony,telefonía móvil) MacOS X Panther (PowerPC) Linux (Intel/AMD/PowerPC/Alpha) Alternativas para la compatibilidad de aplicaciones Emulación Plataformas cruzadas Máquinas virtuales 4626. Introducción a la Informática 26