Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos:...
Transcript of Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos:...
![Page 1: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/1.jpg)
Fundamentos de software
Informática Aplicada
Grado en GAP
Fac. de Admón. y Dir. de Empresas
Univ. Politécnica de Valencia
![Page 2: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/2.jpg)
210601. Informática Aplicada
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
![Page 3: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/3.jpg)
310601. Informática Aplicada
¿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
![Page 4: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/4.jpg)
410601. Informática Aplicada
¿Cómo trabaja el software?
¿Qué ocurre cuando alguien quiere escribir un programa?
![Page 5: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/5.jpg)
510601. Informática Aplicada
¿Cómo trabaja el software?
Piensa
Algoritmo
Problema: el lenguaje natural
es ambiguo
![Page 6: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/6.jpg)
610601. Informática Aplicada
¿Cómo trabaja el software?
Piensa
Algoritmo
… pero un ordenador no lo entiende
Escribe
Programa(cód. fuente)
![Page 7: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/7.jpg)
710601. Informática Aplicada
¿Cómo trabaja el software?
Piensa
AlgoritmoEscribe
Programa(cód. fuente)
Genera
Ejecutable(cód. binario)
![Page 8: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/8.jpg)
810601. Informática Aplicada
¿Cómo trabaja el software?
Pide un número al usuarioMultiplícalo por 2Muestra en pantalla el resultado
algoritmo
![Page 9: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/9.jpg)
910601. Informática Aplicada
¿Cómo trabaja el software?
#include <stdio.h>
int main(){ int num, doble; printf( "Introduce un número: " ); scanf( "%d", &num ); doble = num * 2; printf( "Su doble es: %d\n", doble );}
código fuente
![Page 10: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/10.jpg)
1010601. Informática Aplicada
010110011101110000001000001111010001111011111000101111100010001001001111001001101011100001111001001101011000110111001001100111100010110011100010001011011011011010111010010100011111000011001000111000100011101111000101010010100100110011111110011100111000111110111110110100011100001110000100101111010011110110010011100001101110010110100110110001110001011111001100010001111111010001001010001001111101010011001000100010000100111110001100101101011110000001101111110111011101100011010100011010010111000100010000011101111011011011110000100010001011010110110101101100001111001001011110001101010110100000010001101111010101111100010001000001110011110110000100001101111110101111100000101011101111011111101001101001100101011011000111010100100100001000011011110000100111110111111111000100011000110000011011000011010111000100
código binario
¿Cómo trabaja el software?
![Page 11: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/11.jpg)
1110601. Informática Aplicada
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
![Page 12: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/12.jpg)
1210601. Informática Aplicada
Programas de aplicación
• ¿por qué utilizamos programas?– Son metáforas visuales de herramientas del
mundo real
– Expanden las capacidades humanas
![Page 13: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/13.jpg)
1310601. Informática Aplicada
Programas de aplicación
• Tipos de programas– Software vertical o a medida
– Suites
– Paquetes integrados
![Page 14: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/14.jpg)
1410601. Informática Aplicada
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
![Page 15: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/15.jpg)
1510601. Informática Aplicada
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), Adobe Creative Suite (diseño gráfico)
![Page 16: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/16.jpg)
1610601. Informática Aplicada
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
![Page 17: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/17.jpg)
1710601. Informática Aplicada
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
![Page 18: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/18.jpg)
1810601. Informática Aplicada
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.
![Page 19: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/19.jpg)
1910601. Informática Aplicada
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
![Page 20: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/20.jpg)
2010601. Informática Aplicada
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
![Page 21: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/21.jpg)
2110601. Informática Aplicada
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)
![Page 22: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/22.jpg)
2210601. Informática Aplicada
Consideraciones adicionales
• 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.
![Page 23: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/23.jpg)
2310601. Informática Aplicada
Consideraciones adicionales
• 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
![Page 24: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/24.jpg)
2410601. Informática Aplicada
Consideraciones adicionales
• 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…
![Page 25: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/25.jpg)
2510601. Informática Aplicada
Consideraciones adicionales
• 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
![Page 26: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/26.jpg)
2610601. Informática Aplicada
Consideraciones adicionales
• 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
![Page 27: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/27.jpg)
2710601. Informática Aplicada
Interfaz de usuario
• Sistemas operativos de sobremesa– Interfaz de caracteres: línea de comandos (MS-
DOS)– 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…
![Page 28: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/28.jpg)
2810601. Informática Aplicada
MS-DOS
![Page 29: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/29.jpg)
2910601. Informática Aplicada
Windows 3.11
![Page 30: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/30.jpg)
3010601. Informática Aplicada
Windows 95
![Page 31: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/31.jpg)
3110601. Informática Aplicada
Windows XP
![Page 32: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/32.jpg)
3210601. Informática Aplicada
Windows Vista
![Page 33: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/33.jpg)
3310601. Informática Aplicada
Windows 7
![Page 34: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/34.jpg)
3410601. Informática Aplicada
Windows 8
![Page 35: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/35.jpg)
3510601. Informática Aplicada
Linux
![Page 36: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/36.jpg)
3610601. Informática Aplicada
Mac OS X
![Page 37: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/37.jpg)
3710601. Informática Aplicada
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
![Page 38: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/38.jpg)
3810601. Informática Aplicada
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)
![Page 39: Fundamentos de software · • Comunicación con los periféricos (E/S) • Gestión de procesos: – Coordina trabajos concurrentes (multitarea) – Aprovecha mejor la CPU • Administración](https://reader033.fdocuments.ec/reader033/viewer/2022042009/5e7136b03fdc7f5050292917/html5/thumbnails/39.jpg)
3910601. Informática Aplicada
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