Sesión 2 Informática Básica “No hay ninguna razón para que cada persona tenga una computadora en su casa.” Ken Olsen (1926), presidente de Digital Equipment Sistemas de Computación Software Objetivo Conocer la utilidad de los diferentes software que existen en el mercado Contenidos Definición Tipos de software Sistemas de Computación - Software 39 Sesión 2 Informática Básica 1. Definiciones previas ¿Qué es el software? Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. Extraído del estándar 729 del IEEE. Bajo esta definición, el concepto de software va más allá de los programas de cómputo en sus distintos estados: código fuente, binario o ejecutable; también su documentación, datos a procesar e información de usuario es parte del software: es decir, abarca todo lo intangible, todo lo “no físico” relacionado. El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computación y la ingeniería de software. 2. Tipos de Software Entre los tipos de software que existen tenemos • Software e sistemas • Software de aplicación • Lenguaje de programación 2.1 Software de sistemas Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo 40 Sistemas de Computación - Software Sesión 2 Informática Básica también la interacción con el usuario. Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, etc). ¿Cuáles son las funciones básicas de un software de sistema? Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático: suministro de interfaz al usuario, administración de recursos, administración de archivos, administración de tareas y servicio de soporte y utilidades. a. Interfaz de usuario Es la parte del sistema operativo que permite comunicarse con él de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos, las que utilizan menús y las interfaces gráficas de usuario. Interfaz en comandos (DOS) Interfaz Gráfica (Windows Vista) Para acceder a la interfaz basada en comandos hacer clic en el botón (Iniciar), Todos los programas, b. , Administración de recursos Sirven para administrar los recursos de hardware y de redes de un sistema informatico, como: el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada/salida. Sistemas de Computación - Software 41 Sesión 2 Informática Básica Para acceder a la administración de recursos hacer clic en el: botón (Iniciar), , , Se muestra el siguiente cuadro de diálogo, con los recursos del sistema. c. Administración de archivos Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los dispositivos de almacenamiento secundarios. Para acceder al administrador de archivos hacer clic en el botón (Iniciar), Todos los programas, , 42 Sistemas de Computación - Software Sesión 2 Informática Básica d. Administración de tareas Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad. Para acceder al administrador de tareas presionar las teclas: Control + Alt + Sup y de la lista de opciones presentadas elegir “Iniciar el administrador de tareas”. Se presenta el cuadro de diálogo “Administrador de tareas de Windows”. Donde puede visualizar las aplicaciones que se están ejecutando en este momento. e. Servicio de soporte Los servicios de soporte de cada sistema operativo dependerán de la implementación particular de éste con la que estemos trabajando. Estos servicios de soporte suelen consistir en: • Actualización de versiones. • Mejoras de seguridad. • Inclusión de alguna nueva utilidad (un nuevo entorno gráfico, un asistente para administrar alguna determinada función, ...). • Controladores para manejar nuevos periféricos (este servicio debe coordinarse a veces con el fabricante del hardware). Sistemas de Computación - Software 43 Sesión 2 Informática Básica • Corrección de errores de software. • Otros. ¿Cuáles son los componentes de un sistema operativo? A continuación se describe los componentes de un sistema operativo. a. Gestión de procesos Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El sistema operativo es el responsable de: • Crear y destruir los procesos. • Parar y reanudar los procesos. • Ofrecer mecanismos para que se comuniquen y sincronicen. Para acceder al administrador de procesos presionar las teclas: Control + Alt + Sup y de la lista de opciones presentadas elegir “Iniciar el administrador de tareas”. Se presenta el cuadro de diálogo “Administrador de tareas de Windows”. Elegir la ficha Procesos donde puede visualizar los procesos que se están ejecutando en este momento. b. Gestión de la memoria principal La memoria es una gran tabla de palabras o bytes que se referencian 44 Sistemas de Computación - Software Sesión 2 Informática Básica cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El sistema operativo es el responsable de: • Conocer qué partes de la memoria están utilizadas y por quién. • Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. • Asignar y reclamar espacio de memoria cuando sea necesario. Para visualizar los programas teclas: cargados en memoria presionar las Control + Alt + Sup y de la lista de opciones presentadas elegir “Iniciar el administrador de tareas”. Se presenta el cuadro de diálogo “Administrador de tareas de Windows”. Elegir la ficha en memoria. Rendimiento, luego hacer clic en el botón donde puede visualizar los programas cargados c. Gestión del almacenamiento secundario Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El sistema operativo se encarga de: • Planificar los discos. • Gestionar el espacio libre. Sistemas de Computación - Software 45 Sesión 2 • Informática Básica Asignar el almacenamiento. Para visualizar el monitoreo del disco presionar las teclas: Control + Alt + Sup y de la lista de opciones presentadas elegir “Iniciar el administrador de tareas”. Se presenta el cuadro de diálogo “Administrador de tareas de Windows”. Elegir la ficha Rendimiento, luego hacer clic en el botón donde puede visualizar los programas que están siendo utilizados de su disco duro. d. El sistema de Entrada/Salida Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. e. Sistema de archivos Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc... El sistema operativo es responsable de: • Construir y eliminar archivos y directorios. • Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. • • Realizar copias de seguridad de archivos. Para visualizar el administrador de disco hacer clic en: 46 Sistemas de Computación - Software Sesión 2 Informática Básica Hacer clic en el botón (Iniciar), , , Se visualizará el cuadro de diálogo de administración de disco. Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT2, NTFS... El tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes sin embargo en un sistema NTFS el tamaño es considerablemente mayor. f. Sistemas de protección Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El Sistema Operativo se encarga de: • Distinguir entre uso autorizado y no autorizado. • Especificar los controles de seguridad a realizar. • Forzar el uso de estos mecanismos de protección. Para acceder al sistema de protección de Windows hacer clic en el Sistemas de Computación - Software 47 Sesión 2 botón Informática Básica (Iniciar), , Se visualiza el cuadro de diálogo de seguridad de Windows Vista, donde usted puede activar/desactivar la seguridad. g. Sistema de comunicaciones Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente. Para acceder a la configuración de redes e Internet hacer clic en el botón (Iniciar), , Se presenta el cuadro de diálogo Redes e Internet, donde usted puede: • Ver el estado y las treas de red. • Conectarse a una red. • Ver los equipos y dispositivos de red. • Agregar un dispositivo a la red. 48 Sistemas de Computación - Software Sesión 2 Informática Básica • Configurar el uso compartido de archivos. h. Programas de sistema Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan: • Manipulación y modificación de archivos. • Información del estado del sistema. • Soporte a lenguajes de programación. • Comunicaciones. 2.2 Software de aplicación Existe un gran número de programas de aplicación diseñados para fines específicos. A continuación se describe software de aplicación más utilizado. Sistemas de Computación - Software 49 Sesión 2 Informática Básica a. Hoja de cálculo: Es una matriz compuesta por filas y columnas. Se utiliza generalmente para el procesamiento de información administrativa, contable, financiera y estadística. Incluye un gestor de base de datos y manejo de gráficos estadísticos. b.Procesador de palabras: Es paquete integrado que incluyen un programa editor, uno que formatea, uno que imprime, un diccionario, revisor gramatical, manejo de gráficos, diagramas y dibujos. c. Software de presentación. Está provisto de dispositivos que le permitirán crear/visualizar gráficos en pantalla desde slides de 35 mm y encabezados a color, hasta impresiones en blanco y negro. La interfase de usuario es familiar y fácil de usar. d.Administrador de datos: Apoya el almacenamiento, la recuperación y la manipulación de datos. Existen dos tipos: programas de llenado que se modelan con técnicos de llenado manual y sistemas administradores de bases de datos (DBMS) que aprovechan la capacidad de una computadora para almacenar y recuperar con rapidez y precisión datos en el almacenamiento primario y secundario. Una base de datos es una colección de archivos que sirven como los recursos de datos para los sistemas de información basados en computadora. En ésta todos los datos se integran con relaciones establecidas. 50 Sistemas de Computación - Software Sesión 2 Informática Básica e. Software para multimedia diseño gráfico Publicitario – Web y Es un software que nos permite dibujar por computadora, brindándonos un conjunto de herramientas para diseñar formas, escritos, manejo de objetos, aplicación de mezclas, exclusión, etc. Este programa facilita la edición y retoque fotográfico, así como nos permite aplicar una serie de efectos artísticos. Es una potente herramienta informática para el diseño y maquetación de todo tipo de material impreso Dreamweaver es un software que permite diseñar páginas Web con un mínimo de esfuerzo, es uno de los programas más populares en el campo del diseño Web. Macromedia Flash fusiona la precisión y flexibilidad de los gráficos vectoriales con mapas de bits, audio, animación e interactividad avanzada para crear experiencias Web brillantes y efectivas que atraen y cautivan a los visitantes f. Programas Gráficos – CAD. CAD - Computer Aided Design, son programas de diseño asistidos por computadora que son muy utilizados por arquitectos, ingenieros, diseñadores, ilustradores, etc. sirven para crear planos, mapas, etc. Sistemas de Computación - Software 51 Sesión 2 Informática Básica g.Software de comunicaciones: A menudo las computadoras se interconectan con el fin de compartir o de relacionar información. Intercambian datos a través de cables especiales o públicos, líneas telefónicas, sistemas de retransmisión de satélite o circuitos de microondas. h.Grupos de software: Paquetes integrados de software de aplicación y pueden incluir procesadores de palabras, hojas de cálculo, sistemas administradores de bases de datos, graficadoras, herramientas de comunicación y otros. Están: Microsoft Office, Corel Perfect Office, Adobe Suite CS3, etc. i. Software empresarial integrado: Consiste en programas que manejan las operaciones vitales de la compañía, desde el levantamiento de pedidos, hasta la manufactura y la contabilidad. Apoya la administración de la cadena de suministros, así como la administración de recursos humanos y la financiera. j. Software de inteligencia artificial El software de inteligencia artificial se basa en el uso de lenguajes declarativos, sistemas expertos y redes neuronales. Un ejemplo de este software es Smart Airport Operations Center, programa de logística creado por Ascent Technology, el cual es 52 Sistemas de Computación - Software Sesión 2 Informática Básica utilizado en los areopuertos, que computacionalmente, son el mayor reto mundial para resolver problemas. Un cambio (atraso, lluvia, falta de un empleado) genera el efecto dominó. Con el susodicho software, este pulpo balancea todos los detalles hasta que todo cuadre. Son logísticas, pero el problema es más sutil que una ecuación gigante. No hay manera de “solucionar” un aeropuerto con sus miles de variables. A cambio, los algoritmos genéticos usan la selección natural, la mutación, el cruce de escenarios subóptimos, permitiendo que el programa encuentre la mejor opción. La gente hace esto instintivamente en la vida diaria. 2.3. Los lenguajes de programación Los ordenadores sólo procesan lenguaje binario, Los programadores escriben las instrucciones que ha de ejecutar el procesador de la máquina mediante lenguajes formales, llamados “de alto nivel”, con rígidas reglas sintácticas que lo asemejan a los lenguajes lógico-formales. Esto facilita enormemente la tarea de escribir programas pero, para que esas instrucciones sean comprensibles para el procesador, deben ser convertidas antes a código-máquina. Esa conversión se realiza cómodamente con programas especiales, llamados compiladores. A lo que escribe el programador se le denomina “código-fuente’’. Al resultado de la “conversión” (compilación) en lenguaje-máquina, se le denomina “código-objeto’’, “binarios’’ o “ficheros ejecutables’’. Los lenguajes de programación constituyen básicamente un conjunto de símbolos y de reglas que se usan para escribir el código del programa, se puede decir que son los bloques constitutivos básicos para todo el software de los sistemas. Cada lenguaje emplea un conjunto diferente de reglas y la sintaxis que dicta cómo se combinan los símbolos de manera que tengan significado. Sistemas de Computación - Software 53 Sesión 2 Informática Básica Evolución de los lenguajes de programación 54 Las diferentes etapas de los lenguajes de programación reciben el nombre de “generaciones”. Todas ellas continúan utilizándose. • Lenguaje de Máquina: Constituye el lenguaje de cómputo de más bajo nivel, y consiste en la Lenguaje de alto nivel representación interna de las instrucciones y de los datos. Este PRINT “A” Lenguaje de ensamblaje código de máquina, es decir, las Mov dx,41h instrucciones reales que entiende Mov ah,2 y ejecuta directamente la unidad de procesamiento central, está Int 21h compuesto por dígitos binarios. Código de máquina en hexadecimal BA41 Resulta muy difícil de entender y B402 de usar para los programadores, CD21 por eso se han creado lenguajes Código de máquina en binario cada vez más orientados al usuario, 1011101001000000 aunque siempre los traduce 1011010000000001 primero al programa de lenguaje 1100110100100001 máquina. ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ • Lenguaje Ensamblador: Está más orientado al usuario y Microprocesador representa las instrucciones y las localidades de los datos recurriendo a las ayudas de memoria que la gente puede utilizar con mayor facilidad. Aunque facilita la tarea al programador, una instrucción en este lenguaje sigue traduciéndose a una instrucción en lenguaje de máquina. • Lenguajes Procedurales: Tercera Generación: Estos requieren que el programador especifique exactamente paso por paso, cómo llevaría a cabo una tarea la computadora. Un lenguaje procedural se orienta hacia la manera en que se va a producir un resultado. Estos deben traducirse al lenguaje de máquina antes de su ejecución, para lo cual existen dos traductores de lenguaje: Compiladores: La traducción de un programa en lenguaje de alto nivel a código objeto se realiza mediante un programa de software que se llama compilador y el proceso de traducción se denomina compilación. Intérpretes: Un intérprete constituye un compilador que traduce y ejecuta una instrucción de programa fuente a la vez. Esto los hace más simples, lo que permite que los intérpretes proporcionen mayores ayudas para la depuración y el diagnóstico. Sistemas de Computación - Software Informática Básica Sesión 2 • Lenguajes no procedurales – Cuarta Generación: Permite al usuario especificar los resultados deseados sin tener que indicar los procedimientos detallados que se necesitan para llegar a los resultados. Una ventaja es la posibilidad de que los manipulen usuarios no técnicos para efectuar tareas funcionales específicas. Además simplifican y aceleran en gran medida el proceso de programación y reducen el número de errores de codificación. • Lenguajes de la Quinta Generación: Los lenguajes de programación de lenguaje natural (NLP) son el siguiente paso evolutivo. Los programas de traducción para convertir los lenguajes naturales en una forma legible y estructurada para la máquina son sumamente complejos y requieren una gran cantidad de recursos de cómputo como INTELLECT y ELF. Estos constituyen usualmente interfaces para los lenguajes de la cuarta generación mejorando la interfaz con el usuario con estos mismos lenguajes. Sistemas de Computación - Software 55