Software

Anuncio
Informática y Programación
Escuela de Ingenierías Industriales y Civiles
Grado en Ingeniería en Ingeniería Química
Curso 2010/2011
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Módulo 1.
Fundamentos de
Computadores
1
•
•
•
•
Tema 1. Introducción y conceptos básicos
Tema 2. Representación de la información
Tema 3. Hardware
Tema 4. Software. Paquetes software aplicados a
ingeniería
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
CONTENIDO
2
Software
Conjunto de instrucciones que le indican al ordenador lo que tiene que hacer.
Este conjunto de órdenes, integradas en un gran número de programas que
interactúan unos con otros, constituyen la parte inmaterial del sistema y
manejan todos los recursos para resolver un determinado problema.
Sin el software, podríamos tener una máquina más o menos rápida, pero
completamente inútil.
Los ordenadores sólo tienen capacidad limitada para realizar operaciones
matemáticas básicas y operaciones lógicas. Los programas combinan esas
operaciones elementales para producir funciones complejas de más alto nivel y
de mayor utilidad.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Definiciones
3
Instrucción
Pertenece a un repertorio que representan una orden de operación o
tratamiento (generalmente de varios datos de entrada) para la computadora,
generando unos datos de salida o resultados.
Las instrucciones se pueden clasificar en función de la utilidad de las mismas:
transferencia de datos, aritmética, lógica, control del flujo y otras.
Programa
Conjunto ordenado de instrucciones que se suministra a la computadora
indicándole las operaciones o tareas que se desea que realice.
Lenguaje de programación
Describe todo lo relativo a los símbolos y reglas para construir o redactar
programas.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Definiciones
4
Por medio del lenguaje de programación indicamos al ordenador qué
instrucciones ha de ejecutar y sobre que datos ha de operar.
Lenguaje de bajo nivel
Denominado lenguaje máquina, es muy reducido y laborioso de programar.
Único que entiende la CPU de un ordenador. Se caracteriza por poseer
instrucciones formadas por un conjunto de bits separado en código de
instrucción y datos.
Lenguaje de alto nivel
Constituyen un paso intermedio entre el lenguaje máquina y el lenguaje
natural, siendo más próximos al lenguaje humano. Deben ser traducidos al
lenguaje máquina, para que la máquina pueda entender el programa. Son
ejemplos representativos de estos lenguajes C, C++, Java, Pascal o lenguaje
Matlab.
Puede ser compilado o interpretado.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Lenguajes de programación
5
 No depende del
ordenador
 Facilita la
programación
 Depende del
microprocesador
 Repertorio de
instrucciones reducido
 Laborioso de programar
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Lenguajes de programación
6
Software del sistema
Conjunto de programas imprescindibles para el funcionamiento del hardware,
más un conjunto de utilidades cuya misión es la de facilitar el uso del sistema y
optimizar sus recursos, sistemas operativos, software de utilidad, compiladores,
seguridad, etc.
Software de aplicaciones
Conjunto de programas que manejará el usuario para realizar cualquier tarea
con el sistema informático, aplicaciones ofimáticas, diseño gráfico, software a
medida, programas usuario, etc.
Esta clasificación permite distinguir entre los usuarios expertos en informática
que actúan como administradores del sistema y como programadores del
software del sistema y los usuarios no informáticos que utilizan el software de
aplicaciones.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Tipos de software
7
Todo software tiene un propietario, existiendo tres categorías fundamentales
de licencia o propiedad del software:
• Software propietario: Licencia de uso como decida la empresa que lo vende.
Copyright -c All rights reserved.
• Shareware: La distribución y la utilización se permite durante un tiempo de
prueba de forma gratuita, pero el autor exige que superado ese tiempo de
prueba, el usuario pague por su uso regular.
• Software abierto (open source): Garantiza libertades de uso, redistribución y
modificación. Poseen código fuente abierto pudiendo ser propietario o no.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Tipos de software
8
Arranque BIOS
Tareas que se realizan en el ordenador en el momento de encenderlo (chequeo,
configuración de sistemas básicos, etc.).
Cargador
Carga en la memoria RAM el núcleo del sistema operativo que está contenido
en el disco o en otro dispositivo de almacenamiento permanente.
Sistema operativo
Conjunto de programas que permiten a los usuarios interactuar de forma
sencilla con el hardware específico del ordenador, de manera que oculta sus
detalles como el tipo o la marca y modelo concretos.
Una vez cargado realiza inicializaciones y se pone a la espera de recibir
instrucciones por parte del usuario, presentando la interfaz gráfica de usuario o
en modo carácter el símbolo del sistema (prompt).
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software del sistema
9
Interfaz de usuario
Es lo que el usuario ve en pantalla y hace posible la interacción con el hardware,
permitiéndole dar órdenes o ejecutar programas. Distinguimos de caracteres y
gráficas o GUI
Programas de ayuda al sistema operativo
Herramientas de apoyo al SO entre los que figuran programas de diagnóstico y
programas de mantenimiento del sistema: añadir o modificar elementos
hardware en el sistema, añadir y gestionar usuarios, etc.
Utilidades generales
Traductores de lenguajes de alto nivel (compiladores e intérpretes),
depuradores, ensambladores y cargadores, editores de programas, etc.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software del sistema
10
Programas de aplicación
Interfaz con el usuario
Sistema operativo
BIOS
Hardware
Utilidades
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software de sistema
11
Pertenece al software del sistema, siendo un programa, o conjunto de
programas, de control que sirve de intermediario entre los usuarios y el
hardware, facilitando el uso de la computadora para que se emplee de forma
eficiente.
Objetivos básicos:
• ejecutar las aplicaciones de los
usuarios,
• facilitar la interacción con el
computador,
• administrar eficientemente los
recursos de la máquina,
• controlar el funcionamiento del
hardware
• y ofrecer un modo sencillo de
acceso al ordenador.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Sistema operativo
12
• Gestión de procesos: Para poder ejecutarse, un proceso necesita adquirir
recursos como tiempo de CPU, una porción de memoria, archivos, E/S, todo
ello compartido con otros procesos. Es responsabilidad del SO actuar como
árbitro encargándose de repartir la CPU entre los procesos activos, la
creación y eliminación de procesos, conocer el estado de los recursos,
planificar, sincronizar y comunicar procesos, asociar y desasociar recursos.
• Gestión de memoria: El SO debe conocer qué zonas de memoria están
libres y cuáles están ocupadas para decidir qué procesos hay que cargar
cuando haya memoria libre, así como reservar y liberar zonas de memoria
según se solicite. También se encarga de gestionar la memoria utilizando el
almacenamiento secundario como una extensión de la memoria principal.
• Gestión de la E/S: El SO incluye gestores o manejadores de dispositivos,
drivers, que son rutinas de E/S encargadas de controlar los dispositivos y
son los únicos que deben conocer las peculiaridades concretas de los
mismos.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Sistema operativo: Funcionalidades
13
• Sistema de archivos: Las funciones del SO en este ámbito son: la
manipulación de archivos (crear, borrar, leer, escribir, estructurarlos en
directorios), la manipulación de directorios, ubicación de archivos y
directorios en los dispositivos de almacenamiento secundario y automatizar
ciertos servicios como la copia de seguridad, versiones, etc.
• Sistema de seguridad: La seguridad abarca los mecanismos destinados a
controlar el acceso de los usuarios a los recursos de acuerdo con los
privilegios que se definan.
• Comunicación entre procesos y gestión de redes: El sistema operativo
proporciona las primitivas de comunicación entre procesos (IPC), para que
los procesos puedan comunicarse e intercambiarse información.
• Interfaz de órdenes: Para que un usuario pueda dialogar directamente con
el SO, se proporciona una interfaz de usuario básica para cargar y finalizar
programas, introducir datos a los programas, trabajar con archivos y con
redes.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Sistema operativo
14
• Microsoft Windows: SO de propósito general creado para procesadores Intel y
compatibles. Monousuario, multiproceso y dotado de mecanismos de
seguridad e interfaz gráfica.
• UNIX y Linux: Son sistemas operativos de propósito general, desarrollados
para multitud de plataformas hardware. Es multiusuario, multiproceso e
incorpora mecanismos de seguridad. Hay multitud de versiones y adaptaciones
de este SO a máquinas de diferente propósito (ordenadores personales,
servidores, teléfonos móviles, etc.)
• Mac OS X: Son SO que solo funcionan en equipos Macintosh de Apple
Computer, pionero en la utilización de un entorno operativo gráfico, incluyendo
el uso de ventanas, menús desplegables y el ratón. Es multitarea y está basado
en Unix.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Sistema operativo: Comunes
15
Podemos encontrar aplicaciones de uso común (software estándar) que los
fabricantes diseñan y distribuyen para un gran número de usuarios, y software
a medida desarrollado por programadores para cubrir las necesidades de un
cliente concreto.
Entre los primeros:
• Procesadores de textos
• Hoja de cálculo
• Gestor de bases de datos
• Gestor de gráficos
• Gestor de comunicaciones
• Software para internet
• Software de programación
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software de aplicación
16
Los procesadores de texto son los programas más difundidos y usados. Se
utilizan para crear, manejar e imprimir todo tipo de documentos como cartas,
artículos, informes e incluso libros completos.
La hoja de cálculo consiste en una distribución tabular en filas y columnas de un
conjunto de celdas en las que se pueden colocar números, texto, operaciones
matemáticas o funciones. Son de fácil manejo y tienen un gran campo de
aplicación
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software de aplicación
17
El gestor de base de datos es una aplicación que permite manejar un conjunto
grande de datos organizados en archivos e interrelacionados entre sí.
Un gestor de gráficos permite crear y manipular imágenes gráficas. Para ello, en
primer lugar, es necesario que el equipo disponga de una tarjeta de gráficos, un
monitor con suficiente resolución y un procesador lo suficientemente rápido
para procesar las imágenes en forma eficaz.
Un gestor de comunicaciones facilita la comunicación del equipo con otros
equipos remotos.
Con el crecimiento de internet, se está creando todo un software para internet
que basa su desarrollo y aplicaciones en la red. Este software va desde los
navegadores, buscadores de información, correo electrónico, mensajería
instantánea, sistemas operativos en red, computación en la red, información en
la red como Wikipedia, o YouTube, hasta las redes sociales.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software de aplicación
18
Software de programación
Para poder realizar programas hace falta escribir el conjunto de instrucciones a
ejecutar (código) en un archivo antes de traducir ese código a un lenguaje
entendible por el computador.
Generalmente los lenguajes de programación disponen de un entorno que
incluye herramientas de edición, compilación, etc. Existen entornos de
desarrollo integrados en los cuales se han empaquetado varios programas en
una única aplicación que combina un editor de código, un compilador, un
depurador y un constructor de interfaz gráfica. Estos entornos proveen de un
marco de trabajo amigable para la mayoría de los lenguajes de programación
tales como C++, Python, Java, Delphi, Visual Basic, etc. En algunos lenguajes, un
software de programación puede funcionar como un sistema en tiempo de
ejecución, en donde se permite utilizar el lenguaje de programación en forma
interactiva, sin necesidad de trabajo orientado a archivos de texto.
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Software de aplicación
19
• Fundamentos de Informática y Programación para Ingeniería. Ejercicios
Resueltos para C y Matlab. Modesto Castrillón et al, Paraninfo, 2011.
• Introducción a la informática, A. Prieto Espinosa, A. Lloris Ruiz, J.C. Torres
Cantero, McGraw-Hill, Madrid (1989)
Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11
Bibliografía
20
Descargar