ESCUELA DE PREPARACIÓN DE OPOSITORES E. P. O. Cl. La Merced, 8 - Bajo A Telf.: 968 24 85 54 30001 MURCIA INF21 - SAl22 Sistemas Informáticos. Estructura ñslca y funcional. Esquema. , 1 INTRODUCCION 1 , 2 SISTEMAS INFORMATICOS 2 , , 3 ESTRUCTURA FISICA Y FUNCIONAL DE UN SISTEMA INFORMATICO 3 3. 1 ELEMENTOS FÍSICOS DE UN SISTEMA INFORMÁTICO: HARDWARE 3 3. 1. I Arquitectura yfuncionamiento de un ordenador digital. 4 3.1.2 La unidad central deproceso (CPU) 5 Unidad aritmética 5 Unidad de control. 5 3.1.3 Memoria interna 6 3.1.4 Periféricos 6 3.1.5 Unidad de entrada/salida 7 3.2 ELEMENTOS LÓGICOS DE UN SISTEMA INFORMÁTICO: SOFTWARE 9 3. 2.1 Software de control o sistema de explotación 9 3.2.2 Utilidades 9 3.2.3 Software de aplicación 9 Procesadores de textos 1 O Programas de presentación 1 O 1 Hojas electrónicas u hojas de cálculo O Sistemas de administración de archivos y de bases de datos 11 Agendas electrónicas 11 Gestores de correo electrónico 11 Programas para gráficas y dibujos 11 Visualizadores y navegadores de internet. 11 Aplicaciones para comunicaciones 12 Paquetes integrados 12 3.2.4 El sistema operativo 12 El nivel de máquina operativa 14 Sistemas operativos de mayor difusión 15 Sistemas operativos de Microsoft. 15 UNIX 16 Otros sistemas operativos 17 4 CONCLUSIONES 17 1 Introducción. La ISO define un sistema informático como el sistema compuesto de equipos y de personal pertinente, que realiza funciones de entrada, proceso, almacenamiento, salida y control con el fin de llevar a cabo una secuencia de operaciones con datos. Escuela de Preparación de Opositores E.P .O. v07 INF21-SAI22. Página 2 En este tema, tras ubicar el sistema informático dentro del contexto más general de sistema de información, vamos a estudiar los elementos físicos (hardware) y lógicos (software) de un sistema informático. 2 Sistemas informáticos. Un sistema de información es un conjunto formal de procesos que, operando sobre una colección estructurada de datos, recopilan, elaboran y distribuyen la información necesaria para las operaciones de la organización y para las actividades de dirección y control correspondientes para desempeñar su actividad. Que los datos deban estar adaptados a las necesidades de la organización significa que deben reflejar la percepción de la información que tienen las personas que los utilizan. También se resalta que, tanto las operaciones diarias como las actividades de dirección y control basadas en la toma de decisiones, requieren información para su realización y deben ser atendidas por el sistema de información. Por último, el sistema debe estar al servicio de la estrategia de la organización, ya que sólo se trata de un elemento más que ésta emplea para conseguir sus objetivos. La estructura de los sistemas de información depende totalmente de la organización concreta a la que pertenezca, aunque se puede identificar una base común a la mayoría de las . . organizaciones. Para comprender mejor el concepto de sistema de información, debemos conocer los elementos que lo componen. Existe unanimidad en la bibliografía sobre sistemas de información en designar corno componentes de un sistema a los siguientes: • Los procedimientos y las prácticas habituales de trabajo que se siguen al ejecutar toda clase de actividades necesarias para el buen funcionamiento de la organización. El sistema de información existe porque debe dar un soporte a la gestión de información que hay que proporcionar en función de todas estas formas de trabajar. • La información. Es el elemento fundamental del sistema y su razón de ser. Se debe adaptar a las personas que la manejan y al equipo disponible, según los procedimientos de trabajo que la organización ha creado para que las actividades se realicen de forma eficaz. • Las personas o usuarios. Se trata de individuos o unidades de la organización que introducen, manejan o usan la información para realizar sus actividades en función de los procedimientos de trabajo establecidos. • El equipo de soporte para la comunicación, el procesamiento y el almacenamiento de información. Constituye la parte más visible del sistema de información, su realidad física y tangible. Este sistema físico puede incluir elementos de los más variados niveles tecnológicos: papel, lápiz, máquina de escribir, archivadores, ordenadores, cintas magnéticas, etc. Además, existen relaciones entre los distintos elementos del sistema de información. El sistema de información estará al servicio de los objetivos generales de la organización. Para lograr dichos objetivos, la organización y sus individuos adoptan las maneras de trabajar que resultan más útiles y eficaces. Pero las relaciones también funcionan en sentido inverso, y los procedimientos de trabajo se deben adaptar a los elementos disponibles. Escuela de Preparación de Opositores E.P.O. v07 INF21-SAI22. Página 3 Las organizaciones han ido incorporando nuevas tecnologías para mejorar el rendimiento y la eficacia de los sistemas de información. Se comenzó con calculadoras mecánicas, cintas de papel perforado, etc. y se ha llegado a utilizar tecnologías sofisticadas de tratamiento de información: informática, ofimática, etc., a las que se ha denominado genéricamente tecnologías de la información. En nuestro caso, nos centraremos en la informática como tecnología de la información que podemos aplicar a la automatización de los sistemas de información. Así, podemos distinguir entre lo que es el sistema de información total y lo que es el sistema de información automatizado, como se muestra en la siguiente figura. - Además, el sistema de informatización automatizado deberá contar con un soporte informático para funcionar. En este sentido, la informática constituye sólo una herramienta más o menos sofisticada para implementar lo que está incluido en el sistema de informatización automatizado. Por tanto, no debe confundirse informática y sistema de información, ni el sistema de informatización automatizado con el soporte fisico o sistema informático asociado (constituido por el hardware, el software de base y las aplicaciones.) 3 Estructura física y funcional de un sistema informático. La automatización de un sistema de información, a efectos informáticos, debe contemplar el hardware y el software de base y, por supuesto, las aplicaciones software que permitan cubrir las necesidades de información que marca la estructura del sistema de información. 3.1 Elementos físicos de un sistema informático: hardware. Al conjunto de todos los elementos físicos, cualquiera que sea su naturaleza (electrónica, mecánica, o electromagnética), que constituyen la parte tangible de un sistema informático se le denomina hardware. Escuela de Preparación de Opositores E.P.O. v07 INF21-SAI22. Página 4 3 .1.1 Arquitectura y funcionamiento de un ordenador digital. El modelo básico de arquitectura empleada en los computadores digitales fue establecida en 1945 por Von Neumann. Esta arquitectura es todavía, aunque con pequeñas modificaciones, la que emplean la gran mayoría de los fabricantes. La siguiente figura muestra la estructura general de un computador tipo Von Neumann. Esta máquina es capaz de ejecutar una serie de instrucciones u órdenes elementales llamadas instrucciones de máquina, que deben estar almacenadas en la memoria principal para poder ser leídas y ejecutadas. . . I Repito l a Petilérieo ' .. t MEMORJA. I Peril6rico • PFUNCtPAL I t ' UNI~ A ' i · Pd6tk:o. ARtîM I ...., ,- l ~ ...... - -"",,,,. t I i UHlOAO OE COHTAOL[!iii.il ...-"-· ! ?adUrico f • Esta máquina está compuesta por las siguientes unidades: memoria principal, unidad aritmética, unidad de control, y unidad de entrada/salida. • La memoria principal está compuesta por un conjunto de celdas idénticas identificadas mediante una dirección. Estas celdas se emplean tanto para almacenar los datos como las instrucciones de máquina. • La unidad aritmética permite realizar operaciones elementales tales como suma, resta, AND, OR, etc. • La unidad de control lee las instrucciones de máquina almacenadas en la memoria principal, y genera las señales de control necesarias para que todo el computador funcione y ejecute las instrucciones leídas. • La unidad de entrada/salida realiza la transferencia de información con los periféricos. • Además, existen unos caminos o buses que permiten que las instrucciones y los datos circulen entre las distintas unidades del computador. Un computador es capaz de ejecutar una serie de instrucciones u órdenes llamadas instrucciones de máquina. Las fases de ejecución de una instrucción son las siguientes: 1. La unidad de control envía a la memoria principal la dirección de la instrucción a ejecutar, que está almacenada en el contador de programa, y activa las señales de control necesarias para que ésta le entregue la instrucción. 2. La unidad de control recibe la instrucción, la analiza y, en caso necesario, lee los operandos de la memoria principal, enviando su dirección y activando las correspondientes señales de control. Escuela de Preparación de Opositores E.P.O. v07 INF21-SAI22. Página 5 3. Seguidamente, bajo las directrices de la unidad de control, se realiza la operación sobre los operandos y, si es necesario, se salvaguarda el resultado en la memoria principal o en un registro. 4. Una vez ejecutada la instrucción, se incrementa el contador de programa, con lo que se puede pasar a ejecutar la instrucción siguiente. El computador solamente es capaz de ir ejecutando una secuencia consecutiva de instrucciones de máquina. Estas secuencias de instrucciones reciben el nombre de programas. Para que se pueda romper la secuencia lineal de ejecución de instrucciones, es necesario que existan instrucciones de máquina que permitan modificar el contenido del contador de programa, esto es, que permitan hacer bifurcaciones. Para que el computador pueda realizar una función determinada, es necesario que previamente se realice la descomposición de esa función en su correspondiente conjunto de instrucciones de máquina, operación que recibe el nombre de programación. Además, para que el computador realice una función determinada, o lo que es equivalente, para que ejecute un programa, se tienen que dar las siguientes condiciones: • Debe existir el correspondiente programa en lenguaje máquina. • El programa, así como sus datos, deben encontrarse en memoria principal. Esto exige generalmente una operación de transferencia, desde un periférico de almacenamiento secundario hasta la memoria principal, operación que deberá hacerse mediante un programa que llamaremos cargador. • El contador de programa de la unidad de control debe ser actualizado con la dirección correspondiente a la primera instrucción del mencionado programa. Una vez satisfechas estas tres condiciones, el computador irá leyendo y ejecutando las instrucciones que forman el programa. 3.1.2 La unidad central de proceso (CPU). Se denomina Unidad Central de Proceso o CPU (Central Processing Unit) al conjunto de la unidad de control, los registros y la unidad aritmética de un computador. Para formar un computador hay que añadir la memoria principal, la unidad o unidades de entrada/salida y los periféricos. Unidad aritmética. La unidad aritmética es la encargada de tratar los datos, ejecutando las operaciones requeridas, de acuerdo al programa en curso. Aunque las operaciones que realiza son tanto de tipo aritmético como lógico, se empleará el término de unidad aritmética para el conjunto, puesto que la parte aritmética es, con mucho, la más importante y compleja. No obstante, existe mucha literatura en la que se le denomina unidad aritmético-lógica o ALU por sus siglas en inglés. Unidad de control. La unidad de control tiene como función básica la ejecución de la siguiente . secuencia: 1. Leer la instrucción apuntada por el contador de programa e incrementarlo. Escuela de Preparación de Opositores E.P.O. v07 INF2 l-SAI22. Página 6 2. Decodificar la instrucción leída. 3. Hacer que se ejecute la instrucción. La ejecución de cada instrucción requiere realizar una secuencia de operaciones elementales. La ejecución de cada una de estas operaciones elementales requiere la activación de las correspondientes señales de control. Por tanto, la unidad de control genera las secuencias de señales de control que permiten realizar las distintas operaciones elementales de cada instrucción. 3.1.3 Memoria interna. La memoria es el órgano del computador que almacena la información que éste posee, es decir, sus datos y programas. Las operaciones básicas que permite son escritura y lectura. La escritura consiste en grabar la información en la dirección especificada. En la lectura se suministra la información previamente escrita en esa dirección. La memoria se suele estructurar en varios niveles. Existirá un nivel rápido, de pequeña capacidad, y niveles sucesivos, de menor velocidad, pero mayor capacidad. La información se ubicará en uno de los niveles, de acuerdo a su probabilidad de uso. La siguiente figura muestra los niveles que pueden existir en la jerarquía de memoria, indicando algunas de las características de los mismos. Acceso por - passbras ~3ie M.Princ. Accesopor bloques La memoria interna del computador la forman los tres primeros niveles de la jerarquía, esto es: • Los registros, entre los que cabe destacar los registros de uso general incluidos en la unidad aritmética, forman el nivel más rápido y de menos capacidad. • La memoria principal, que es la memoria donde tienen que residir los programas y sus datos para poder ser ejecutados por el computador, forma el tercer o segundo nivel, según que el computador disponga o no de memoria caché. • La memoria caché es una memoria auxiliar que se emplea para acelerar los accesos a la memoria principal, pero que es transparente al usuario, esto es, funcionalmente el computador se comporta como si esta memoria no existiese, pero trabaja más rápido que sin ella. 3.1.4 Periféricos. Se denominan periféricos tanto a las unidades o dispositivos a través de los cuales la CPU se comunica con el mundo exterior, como a los sistemas que almacenan o archivan información, sirviendo de memoria auxiliar de la memoria principal. Escuela de Preparación de Opositores E.P.O. v07 INF2 l-SAI22. Página 7 La memoria masiva o auxiliar trata de suplir las deficiencias de la memoria central. Estas son: su relativamente baja capacidad y el hecho de que la información almacenada en la zona RAM se borra al eliminar la alimentación de energía eléctrica. En efecto, los dispositivos de memoria masiva auxiliar son más capaces que la memoria principal, y en ellos se puede grabar información por tiempo prácticamente indefinido. Los periféricos están constituidos por unidades de entrada, unidades de salida y unidades de memoria masiva. Estas últimas unidades también pueden considerarse como unidades de entrada/salida, ya que la CPU y memoria principal puede escribir (dar salidas) sobre ellas, y la información escrita puede ser leída; es decir, ser dada como entrada. Ahora bien, la información grabada en estos soportes no es directamente inteligible para el usuario del computador (que constituye el principal elemento "exterior" al mismo). El computador es una máquina que no tendría sentido si no se comunicase con el exterior, es decir, si careciese de periféricos. Debe disponer de unidades de entrada, a través de las cuales poderle dar los programas que queremos que ejecute y los datos correspondientes, unidades de salida con las que el computador nos da los resultados de los programas, y memoria masiva auxiliar, que facilite el funcionamiento y utilización del computador. Cada periférico suele estar formado por dos partes claramente diferenciadas en cuanto a su misión y funcionamiento: una parte mecánica y otra parte electrónica. La parte mecánica está formada básicamente por dispositivos electromecánicos controlados por los elementos electrónicos. La velocidad de funcionamiento de un periférico y el tiempo medio transcurrido entre averías suelen venir impuestos por los elementos mecánicos. La parte electrónica o controlador del periférico se encarga de interpretar las órdenes que le llegan de la CPU para la recepción o transmisión de datos, dependiendo de que se trate de un periférico de salida o entrada, respectivamente, y de generar las señales de control para activación de los elementos electromecánicos del periférico que producen o captan los datos en el soporte de información correspondiente. En la parte electrónica de los periféricos es común usar elementos optoelectrónicos que actúan como detectores o generadores de la información de entrada o salida, respectivamente. También estos dispositivos se utilizan como detectores de posición de los elementos mecánicos móviles del periférico. 3 .1.5 Unidad de entrada/salida. Cada periférico necesita disponer de su propio controlador. Un controlador está constituido por un conjunto de circuitos de adaptación del formato de señales y características de temporización entre la CPU y los dispositivos de E/S. El controlador también se encarga de llevar a cabo las transferencias de datos entre la CPU y el periférico, para ello se conecta entre su periférico y un bus del computador, recibiendo y generando señales de control para el periférico y señales de estado para la CPU. Los controladores de periféricos se interconectan al bus a través de los puertos de E/S. Los controladores suelen contener cinco elementos: decodificador de direcciones, puerto de datos, puerto de estado, puerto de control y circuitos que generan las secuencias de control interno (secuenciador del controlador). Los controladores cubren básicamente estos objetivos: 1. Selección o direccionamiento del periférico. La CPU sitúa en el bus de direcciones el código o dirección del puerto que debe intervenir en el tráfico de datos. En una transmisión sólo uno de los puertos debe estar conectado Escuela de Preparación de Opositores E.P.0. v07 INF2l-SAI22. Página 8 eléctricamente al bus de datos, para transmitir a través de él. El selector de direcciones se encarga de identificar cuándo la dirección del bus de direcciones corresponde a su dirección, para dar paso al intercambio de información con el periférico. 2. Almacenamiento temporal. La comunicación física entre el periférico y la CPU se hace a través del controlador, por lo que éste contiene un puerto de datos para almacenar temporalmente los datos a transferir. 3. Sincronización. El controlador regula el tráfico de información para que no se den problemas de sincronización o de pérdidas de información. El secuenciador del controlador en función del contenido del puerto de estado y control debe generar señales de estado y control para iniciar o terminar la transferencia. 4. Control del periférico. La CPU debe ser capaz de interrogar al controlador, para conocer su estado, leyendo el contenido del puerto de estado, o de enviar órdenes a éste, escribiéndolas en el puerto de control. 5. Conversión de datos. Consiste en adaptar las características eléctricas y lógicas de las señales empleadas por el dispositivo de E/S y por el bus: niveles de tensión, impedancias, etc.; lógica (positiva o negativa); conversión paralelo/serie y serie/paralelo, etc. 6. Detección de errores, mediante la inclusión/detección de paridad, transformación según códigos polinómicos, etc. En caso de detectarse un error de este tipo, el secuenciador cambiaría el bit del puerto de estado indicador de error de transmisión, y se procedería a una repetición de la transferencia de información. 7. Gestión de transmisión de bloques de información. En los periféricos que intercambian la información en forma de registros físicos, el controlador puede disponer de un contador que controle el número de palabras recibidas/transmitidas. Los controladores pueden estar físicamente ubicados en el chasis del computador central o en el dispositivo propiamente dicho, o distribuidos entre ambos. Las operaciones de entrada/salida son de una gran complejidad. En los primeros computadores la CPU controlaba minuciosamente todas las operaciones elementales que efectuaba el periférico. Poco a poco estas funciones, para descargar de trabajo a la CPU, se han ido descentralizando y pasando a los controladores, resultando éstos cada vez más complejos. La mayor parte de los controladores pueden considerarse computadores de uso específico, ya que contienen un microprocesador, ROM con programas de gestión del periférico, una memoria intermedia (buffer) o memoria caché para datos, etc. La CPU, a través de los puertos de salida correspondientes, da las órdenes oportunas al controlador para realizar un conjunto de operaciones de entrada o salida. Hay, fundamentalmente, tres métodos para establecer y supervisar las operaciones de transferencias de datos de E/S: EIS programada, E/S controlada por interrupciones y EIS con controlador de acceso directo a memoria (DMA). Escuela de Preparación de Opositores E.P.O. v07 INF2l-SAl22. Página I O Procesadores de textos. Permiten componer textos (informes, periódicos, monografías, libros, y documentos en general) con una gran calidad de presentación (similar a los escritos hechos por una imprenta). Por Io general, su utilización implica tres procesos diferenciados: introducción del texto, edición del texto, y dar formato al texto. Con la introducción del texto, la información tecleada se almacena. El usuario incluye, embebidos en el texto, caracteres de control especiales para realizar funciones tales como subrayar, escribir palabras en negrita, adentrar párrafos, cambiar el juego de caracteres, etc. En cualquier momento, el usuario puede realizar una edición del texto, corrigiéndolo o modificándolo. El formato del texto ajusta o define parámetros tales como: amplitud de márgenes, alineación o no de las palabras, numeración automática de páginas a partir de un número dado, y tamaño de letra. La edición y el formato se pueden efectuar seleccionando parámetros o funciones presentados en forma de iconos en barras de herramientas o en menús. Una vez impreso el texto, puede volverse a reproducir el número de veces que se desee, así como editarse y mejorarse su formato, todo ello sin necesidad de volver a teclear el texto original, cosa que no puede hacerse con una máquina de escribir convencional. El editor dispone de órdenes tales como cambiar una palabra por otra en todo un texto. Así, por ejemplo, podríamos dar la orden de cambiar la palabra "computador" por "ordenador" y automáticamente se cambiaría la primera palabra por la segunda en todos los sitios en que apareciese en el documento. También los procesadores de texto incluyen diccionarios, en diversas lenguas, que pueden ir corrigiendo automáticamente la grafía del texto que se va grabando, o con los que se pueden obtener sinónimos de palabras. La mayoría de procesadores de textos actuales son del tipo WYSIWYG (What You See Is What You Get), lo que significa que permiten escribir un documento viendo directamente el resultado final, frecuentemente el resultado impreso. Ejemplos de procesadores de texto son WordPerfect (actualmente de Corel), Microsoft Word, y Writer de OpenOffice. Existen editores de texto más perfeccionados que se denominan programas de edición electrónica, que permiten confeccionar y componer periódicos, revistas, etc. Ejemplos de estos programas, que son de gran utilidad en las empresas de artes gráficas y editoriales, son Adobe FrameMarker, Aldus PageMaker y QuarkXPress. Programas depresentación. Son programas similares a los procesadores de texto que facilitan al usuario desarrollar imágenes similares a diapositivas y transparencias para realizar presentaciones vistosas y atractivas para conferencias, clases, introducción de nuevos productos, etc. Ejemplos pueden ser Microsoft PowerPoint e Impress de OpenOffice. Hoias electrónicas u hoias de cálculo. e o Son aplicaciones que permiten definir una retícula con filas y columnas para incluir textos. Cada intersección de fila y columna representa un campo (numérico o no) que se denomina celda. Con el lenguaje de utilización de la hoja electrónica puede hacerse que una celda sea función de otra u otras. Así, por ejemplo, podríamos definir que las celdas de la columna 11 ("ganancias") sea el 3 5 por 1 OO de las respectivas celdas de la columna 8 ("ventas"), y, a su vez, las celdas de la columna 8 ("ventas") sean el producto de las de la columna 3 ("unidades vendidas") por las de la columna 5 Escuela de Preparación de Opositores E.P.O. v07 INF21-SAI22. Página 9 3.2 Elementos lógicos de un sistema informático: software. El software o soporte lógico de una computadora es el conjunto de programas asociados a dicha computadora. Los programas o componentes que forman el software de una computadora pueden agruparse en tres grandes, apartados: software de control o sistema de explotación, utilidades, y software de aplicación. Conviene hacer notar que esta clasificación es difusa, en el sentido de que a veces es difícil incluir un programa dado en una de las tres categorías definidas. Además, poco a poco se tiende a incrementar las funciones del sistema operativo. 3.2.1 Software de control o sistema de explotación. Es el software que controla el funcionamiento de los programas que se ejecutan, y administra los recursos hardware, facilitando el uso de la computadora de la forma más eficiente posible. Dentro de este apartado se incluye el sistema operativo, el intérprete de órdenes, y el software de diagnóstico y mantenimiento. El software de diagnóstico y mantenimiento está formado por programas a utilizar por las personas responsables del mantenimiento e instalación del hardware y del software de la computadora. Con estos programas se pretende localizar automáticamente las averías de un determinado dispositivo o componente, o las causas de un mal funcionamiento de algún módulo del sistema operativo. Los programas de mantenimiento sirven para instalar un nuevo sistema operativo, o una nueva versión de él, o para modificarlo por haber realizado cambios en el hardware. Estos programas suelen presentar ventanas de menús o de diálogo, a través de las cuales se especifican los parámetros deseados para el correcto funcionamiento del sistema operativo, y las características del hardware concreto de que dispone la computadora. 3.2.2 Utilidades. Son un conjunto de programas de servicio que pueden considerarse una ampliación del sistema operativo. Incluyen programas para realizar tareas tales como compactación de discos o reubicación de archivos dentro de un disco para poder acceder a ellos más rápidamente, compactando sus fragmentos libres, compresión de datos, o reducción del tamaño de un archivo utilizando algoritmos de compresión, respaldo de seguridad, o copia del contenido de un disco fijo en cinta magnética, disquete o CD, recuperación de archivos erróneamente borrados, antivirus, protectores de pantalla que evitan imágenes fijas durante largos períodos de tiempo que pueden deteriorar la pantalla, etc. También se incluyen aquí herramientas generales que facilitan la construcción de las aplicaciones de los usuarios tales como intérpretes, compiladores, editores de texto y cargadores/montadores. 3 .2.3 Software de aplicación. Incluye programas relacionados con aplicaciones específicas, como pueden ser procesadores de texto, bibliotecas de programas para resolver problemas estadísticos o de cálculo numérico, sistemas de administración de archivos y de bases de datos, etc. También aquí se encuentran los propios programas realizados por los usuarios. Entre los programas de aplicación es común incluir, entre otros, los que se describen a continuación: Escuela de Preparación de Opositores E.P.O. v07 INF21-SAI22. Página 11 ("precio de la unidad"). Al ir introduciendo cada celda, o modificar cualquier valor, se puede hacer que automáticamente se recalculen todos los valores que dependan de los nuevos datos. Una vez definida una hoja electrónica e introducidos sus datos, puede salvarse en disco para utilizarla con posterioridad (leerla, modificarla, listarla, etc.). Las hojas electrónicas son muy útiles para la realización de presupuestos, presentación de estados de cuenta, llevar la contabilidad doméstica, etc. Ejemplos de programas para el desarrollo de hojas electrónicas son Lotus 1-2-3, Microsoft Excel, y Cale de OpenOffice. Sistemas de administración dearchivos v de bases de datos. • Permiten definir, generar, actualizar, consultar, seleccionar, clasificar e imprimir información contenida en archivos o bases de datos, respectivamente. Ejemplos de sistemas de gestión de base de datos son dBase, Microsoft Access, Base de OpenOffice, Oracle, y MySQL. Agendas electrónicas. Posibilitan que los usuarios del computador introduzcan en ella y consulten información sobre sus ocupaciones o compromisos (horas de reuniones, entrevistas, etc.), todo ello dentro de una estructura o tabla días/horas. También suelen incluir programas para facilitar la confección u el acceso a tablas de direcciones. Ejemplos de programa para agenda electrónica son el Microsoft Outlook y el programa Act! de Symantec. Gestores de correo electrónico. Tienen por objeto poder componer mensajes cortos, y transmitirlos de forma fiable hacia un usuario concreto (o grupo de ellos) a través de una red de computadoras. Ejemplos de programa para gestión de correo electrónico son Eudora y Microsoft Outlook. Programas para grqûcas y dibujos. Se incluyen paquetes o programas de rutinas gráficas (por ejemplo, GKS), programas de dibujo (Visio, Windows Paint, Corel Wordperfect, Microsoft Word, Dra. De OpenOffice), programas de diseño con ayuda de computador o CAD (Autodesk's AutoCAD, AutoCAD LT, Drafix, CADKEY), pintura (PaintShop Pro, Adobe SuperPaint, Fractal Design Painter), manipulación de fotografias (Adobe Photoshop, Corel Photo Paint, Micrografx Picture Publisher), modelado tridimensional (3D Studio MAX, Electric Image, Softlmage), animación y efectos especiales (3D Studio MAX, LightWave 3D, Electric Image, Softimage, Kinetix'Character Studio, Alias/wavefront's Power Animator). Visualizadores y navegadores de internet. Son programas que sirven para visualizar y acceder a páginas web. Ejemplos de estos programas son Netscape Navigator, Microsoft Internet Explorer, Mozilla Firefox, Opera, y Mosaic NCSA. Escuela de Preparación de Opositores E.P .O. v07 INF2l-SAI22. Página 12 Aplicaciones para comunicaciones. Estas aplicaciones suelen incluir protocolos de comunicaciones así como programas emuladores de terminales, y permite al computador conectarse en una red corno terminal de otra, transferir archivos, etc. Paquetes integrados. Existe una gran cantidad de paquetes comerciales que incluyen de forma integrada la mayoría de las aplicaciones citadas, que se suelen denominar paquetes integrados de ofimática o de oficina electrónica, aunque el ámbito de uso de los mismas supera con creces el campo de la gestión administrativa. Ejemplos de paquetes integrados son: Microsoft Office, OpenOffice, Corel PerfectOffice y Lotus Smart Suite. La denominación paquete o software integrado hace referencia a lo siguiente: • Las distintas aplicaciones o utilidades se diseñan con un objetivo y filosofía de utilización común. Existe una cooperación entre los distintos módulos para conseguir un fin compartido. • Los archivos creados por cualquiera de las aplicaciones pueden ser utilizados por las demás. Es decir, existe una compatibilidad de información de una aplicación a otra. • Dentro de una aplicación se puede llamar a otra, de forma que unas pueden auxiliar a las demás. Así, por ejemplo, un software integrado de oficina electrónica permite operaciones tales como representar directamente en un histograma la información de una columna de una hoja electrónica, utilizar el procesador de texto para componer un mensaje para el correo electrónico, o para editar un campo de una hoja electrónica, y combinar un texto generado con el procesador de textos con un archivo creado por el sistema de gestión de archivos para generar directamente cartas personalizadas. 3.2.4 El sistema operativo. Un sistema operativo es un programa (o conjunto de programas) de control que tiene por objeto facilitar el uso de la computadora y conseguir que ésta se utilice eficientemente. Es un programa de control, ya que se encarga de gestionar y asignar los recursos hardware que requieren los programas. Pensemos en una computadora que es utilizada desde diversos terminales por varios usuarios. Los recursos hardware son: el procesador (CPU), la memoria principal, los discos, y otros periféricos. Obviamente, si varios usuarios están utilizando la misma computadora, debe haber alguien o algo que asigne los recursos y evite los conflictos que puedan surgir cuando dos programas requieran los mismos elementos (la misma unidad de disco, o la misma impresora, por ejemplo). Esta es una de las funciones del sistema operativo. Además de esta función de asignar los recursos a cada programa, el sistema operativo se encarga de contabilizar el uso de éstos, y de la seguridad (que un usuario no pueda acceder sin autorización a la información de otro, por ejemplo). El sistema operativo facilita el uso de la computadora. Veamos un ejemplo de cómo lo hace. Cada dispositivo de EIS, para ser utilizado, requiere varias instrucciones máquina que establezcan un dialogo entre las unidades centrales y el periférico, enviando o captando el dato de salida o entrada, respectivamente. Estas instrucciones dependen considerablemente de las características concretas del periférico. Si se trata, Escuela de Preparación de Opositores E.P.O. v07 INF21-SAI22. Página 13 por ejemplo, de una unidad de disco, hay que considerar el ancho de los buses, el tamaño de su memoria intermedia, el arranque (y parada) de los motores de la unidad, el código identificador de la posición a donde hay que acceder, etc. Por otra parte, para un dispositivo dado, estas instrucciones u operaciones son comunes para grabar o leer cualquier tipo de información (programas o datos), sea cual sea su naturaleza. El sistema operativo, con objeto de facilitar el trabajo de los programadores, contiene módulos de gestión de entradas/salidas que evitan a los usuarios tener que incluir esas instrucciones cada vez que hacen una operación de entrada o salida. Se puede decir que esos programas del sistema operativo hacen transparente al usuario las características hardware concretas de los dispositivos. El sistema operativo también hace que la computadora se utilice eficientemente. Para poner de manifiesto cómo el sistema operativo puede incrementar la eficiencia consideremos un ejemplo sencillo. Los programas tradicionalmente se ejecutan secuencialmente; es decir, hasta que no concluye la ejecución de una instrucción no se ejecuta la siguiente. Supongamos que dentro de 11n programa hay una instrucción que implica la escritura de una página en una impresora láser. Hasta que no acabe de imprimirse dicha página el programa no puede continuar ejecutándose. Analicemos los pasos que se siguen para imprimir una página. En primer lugar, el procesador hace que se envíe a una memoria temporal (buffer) de la impresora el contenido de la página, y después debe esperara que se imprima. Si la impresora imprime a una velocidad de 6 páginas/minuto, la impresión mecánica de la página tarda unos 60/6 = 1 O segundos. Este tiempo parece muy pequeño, pero si el procesador ejecuta 106 instrucciones/segundo, mientras que la impresora escribe la página, el procesador podría ejecutar I06 · 1 O instrucciones de otro u otros programas. Evidentemente, hay un tiempo (10 segundos) en que el programa queda bloqueado esperando a que finalice la operación de salida, y que, desde el punto de vista de la escala de tiempos interna de la computadora es considerable. Esta perdida de tiempo se reduce notablemente con los sistemas operativos de multiprogramación. En efecto, como veremos, con la multiprogramación se introducen en la memoria principal todos los programas pendientes de ejecución que quepan en ella. En un momento dado uno de los programas en memoria está en ejecución, pero si queda bloqueado por una operación de EIS, el sistema operativo hace que se inicie (o continúe) la ejecución de otro de los programas en memoria, aprovechándose así los tiempos en que los programas queden bloqueados a la espera de la conclusión de una operación de E/S. En resumen, el sistema operativo efectúa, entre otras, las siguientes funciones: • Facilita el uso de la computadora y, en general, ·ia comunicación computadora/usuario. • Gestiona y asigna recursos hardware (procesador, memoria y periféricos) a los distintos programas o tareas. • Gestiona y mantiene los archivos en dispositivos de memoria masiva. • Apoya a otros programas. • Protege los datos y los programas, cuestión especialmente compleja en sistemas multiusuario. • Identifica y autentifica a los usuarios que hacen uso de la computador. • Contabiliza la utilización de los recursos realizada por los distintos usuarios. Escuela de Preparación de Opositores E.P.O. v07 INF21-SA122. Página 14 El nivel de máquina operativa. Para diseñar o analizar una computadora, dada su gran complejidad, se suele considerar según distintos niveles de complejidad. El sistema operativo junto con el hardware de la computadora definen un nivel de máquina virtual, que también se puede denominar máquina operativa, ya que este conjunto permite utilizar la computadora sin tener que conocer muchos de los detalles del hardware y ofrece, servicios adicionales tales como memoria virtual, dispositivos de E/S virtuales, multiprogramación, etc. El sistema operativo puede considerarse como un programa constituido por una serie de módulos. Estos módulos se lanzan a ejecución por medio de llamadas al sistema. Las llamadas al sistema pueden ser realizadas por los usuarios (directamente, con las órdenes de un lenguaje de control) o por los programas. Las llamadas al sistema también se conocen con el nombre de instrucciones virtuales, para diferenciarlas de las instrucciones máquina del procesador que son las auténticas instrucciones. Para comunicarse cómodamente con la computadora, el sistema, operativo va acompañado de módulos que definen la interfaz del usuario. En general, cualquier programa, sea cual sea su naturaleza, dispone de una interfaz con el usuario más o menos sofisticada, y la máquina operativa dispone de su propia interfaz, que se fundamenta en la utilización de un lenguaje de órdenes (en los antiguos sistemas operativos de colas se denominaba lenguaje de control de trabajos). Cuando en una computadora introducimos una orden (por ejemplo, dar formato a un disco), ésta es captada por el interprete de órdenes o concha (shell), que es un programa independiente del sistema operativo. El intérprete se encarga de traducir o descomponer la orden en llamadas al sistema, de forma que se realicen las operaciones asociadas a la ejecución de la orden. El lenguaje de órdenes puede tener distintas formas de interacción con el usuario, o, en otras palabras, su interfaz con el usuario puede ser de distintos tipos: • Interfaz clásica o de línea de órdenes: las órdenes tienen la forma de líneas de texto que escribe el usuario, utilizando una lexicografia y obedeciendo a unas reglas sintácticas y semánticas claramente preestablecidas. • Interfaz de menús: el usuario no necesita escribir las órdenes, sino que se limita a seleccionarlas con el ratón o el cursor dentro de un menú de opciones presentado en la pantalla. • Interfaz con ventanas: la imagen en pantalla puede subdividirse en pequeñas pantallas (denominadas ventanas), en cada una de las cuales puede visualizarse la interfaz de usuario de una aplicación distinta; con acciones del ratón, puede "abrirse" o "cerrarse" una ventana, moverla, ampliarla, reducirla, etc. • Interfaz con iconos: como característica adicional a los menús, en las ventanas pueden visualizarse pequeños dibujos o iconos que simbolizan acciones (metáforas). El usuario se limita a seleccionar con el ratón el icono u objeto deseado para solicitar una acción concreta (por ejemplo, selecciona una "papelera" para borrar un archivo); hay iconos para representar en la pantalla documentos, programas y dispositivos. Escuela de Preparación de Opositores E.P.O. v07 INF2 l-SAI22. Página 15 En general, una interfaz con ventanas y/o con iconos se denomina interfaz gráfica de usuario (GUI, Graphical User Interface). En la actualidad este tipo de interfaz suele incluir: menús, iconos, ventanas, botones, cajas de diálogo, etc. Al encender una computadora se lanza a ejecución un programa de autodiagnóstico de encendido (Power On Self test, POST), que identifica la memoria disponible, los discos, el teclado, la tarjeta de video, el ratón y los demás dispositivos que lo configuran. Posteriormente, se lanza a ejecución el cargador inicial (bootstrap loader), que a su vez carga un programa cargador más sofisticado, cuyo objetivo es buscar el sistema operativo (en los PC, primero se busca en la unidad de disquete y luego en disco duro) y cargar una parte de él (denominada comúnmente residente) en la memoria principal. Tanto el programa de autodiagnóstico de encendido corno el cargador inicial suelen estar grabados en la memoria ROM. El sistema operativo, una vez arrancada la máquina, presenta en pantalla el indicador de petición de entrada del intérprete de órdenes o una imagen (denominada escritorio), a la espera de que el usuario inicie su trabajo. La interfaz de usuario (sobre todo si es de tipo GUI) es una forma más que tiene el sistema operativo de facilitar el uso de la computadora, concretamente la comunicación computadora/usuario. Sistemas operativos de mayor d~fusión. Inicialmente cada fabricante de computadores (IBM, DEC, Data General, Apple, Sperry, etc.) desarrollaba sus propios sistemas operativos, que incluso, dentro de la misma empresa, podrían diferir de una serie de computadoras a otra. Esto dificultaba considerablemente el trabajo de los programadores y usuarios, en general, ya que, con gran frecuencia, al cambiar de computadora tenían que aprender un nuevo sistema operativo y realizar las adaptaciones oportunas de todas las aplicaciones al nuevo equipo. Este panorama ha cambiado en la actualidad debido a que en el mercado se han impuesto sistemas operativos que no son propietarios de un determinado fabricante de computadoras sino que son realizados por terceras personas o empresas especializadas en software de forma que pueden ser utilizados en equipos muy diversos. Los más relevantes son los sistemas operativos de Microsoft y UNIX. Sistemas operativos de Microsoft. Son los sistemas operativos dominantes en el mercado de microcomputadoras. El primero de ellos es el MS-DOS (Microsoft Disk Operating System) y debe su difusión a que fue adoptado por IBM al inicio de la década de los ochenta como el sistema operativo estándar para el IBM-PC. El MS-DOS inicial era un sistema operativo para microprocesadores de 16 bits (de Intel), monousuario y tenía una interfaz de usuario de línea de órdenes. A inicios de los noventa se comercializó el Microsoft Windows 3.0 que disponía de una GUI con gestión de menús, y era capaz de cargar en memoria más de un programa a la vez. En 1995 Microsoft comercializó el Windows 95, que contiene una GUI basada en iconos, y es un sistema operativo de 16/32 bits con multiprogramación apropiativa (puede suspender temporalmente la ejecución de un trabajo para ejecutar otro) y con memoria virtual. Posteriormente, se comercializaron las versiones Windows 98 y Windows ME (Milenium), en 1998 y en 2000, respectivamente. Conviene indicar que las denominaciones Windows en realidad hacen referencia a la GUI: para identificar completamente a las nuevas versiones de Microsoft hay que facilitar también la versión del sistema operativo propiamente dicho; por ejemplo, una versión concreta es: Windows 98 MS-DOS 7.0. Escuela de Preparación de Opositores E.P.O. v07 INF2 l-SAI22. Página 16 Paralelamente al desarrollo de las versiones Windows, en 1993 Microsoft comercializó el Windows NT (Windows New Technology), diseñado fundamentalmente para estaciones de trabajo potentes y servidores de red con procesadores de 32 bits. , ( I r À '• y·11111 ,,I ' UNIX. El sistema operativo UNIX inicialmente se desarrolló en los Bell Labs de la AT&T y fue comercializado en sus inicios por Honeywell, y, a los comienzos de la década de los noventa, por Novell. l Escuela de Preparación de Opositores E.P.O. v07 INF2 l-SAI22. Página 17 Una de las versiones más conocidas es la desarrollada en el Campus de Berkeley de la Universidad de California. Algunas de las principales características del UNIX son las siguientes: • Puede funcionar en multitud de computadoras, desde las supercomputadoras Cray hasta en PC. Debido a ello, puede considerarse como un auténtico sistema operativo estándar y la columna vertebral de Internet. Su mayor uso se da en estaciones de trabajo para usuarios CAD y CAM (estaciones de trabajo de Sun Microsystems, Hewlett Packard, IBM y Silicon Graphics). • Es un sistema operativo de multiprogramación, multiusuario y multiprocesamiento, pudiéndose utilizar también para procesamiento en tiempo real. • Resulta más difícil de aprender y de usar que los MS-Windows y Mac. Un estudiante de informática de la Universidad de Helsinki (Finlandia) llamado Linus Torvalls concluyó en 1991 (con 23 años de edad) un sistema operativo que denominó Linux, versión. O. O 1. Este sistema operativo fue concebido como una versión PC compatible y sustancialmente mejorada del sistema operativo Minix (muy parecido al UNIX), descrito por el profesor Tanenbaum en sus primeros textos de sistemas operativos. Aunque Linux no es un programa de dominio público, se distribuye con una licencia GPL (General Public Licence) de GNU, de forma que los autores no han renunciado a sus derechos, pero la obtención de su licencia es gratuita, y cualquiera puede disponer de todos los programas fuente, modificarlos y desarrollar nuevas aplicaciones basadas en Linux, teniendo derecho a regalar éstas e incluso a venderlas. La condición de la licencia radica en que nadie puede registrar corno propiedad intelectual los productos derivados de Linux y los usuarios que adquieran (por compra o gratuitamente) el código modificado tienen derecho a disponer también del código fuente correspondiente. Linux hoy día puede considerarse como un clónico de UNIX desarrollado por multitud de personas distribuidas por todo el mundo. Otros sistemas operativos. Otros sistemas operativos destacables son: • Mac OS X, o sistema operativo de los Macintosh. Desarrollado a mediados de los ochenta, es sin lugar a dudas el precursor de los sistemas operativos con interfaz gráfica, siendo muy fácil de usar y el preferido por empresas de publicidad y de artes gráficas, y realizadores de aplicaciones multimedia. • OS/2, desarrollado a partir de 1982 inicialmente de forma conjunta por IBM y Microsoft, es un sistema operativo monousuario y multiprogramación ideado para los microprocesadores Intel. Actualmente sólo es comercializado y mantenido por IBM. • MVS (Multiple Virtual Storage), es uno de los sistemas operativos más sofisticados desarrollado por IBM para grandes computadoras, es de tipo multiprogramación, multiusuario, funcionando tanto de forma interactiva como por lotes, y con memoria virtual. 4 Conclusiones. Los componentes de un sistema de información son: los procedimientos y las prácticas de trabajo, la información, las personas o usuarios, y el equipo de soporte. Las organizaciones han ido incorporando nuevas tecnologías para mejorar el rendimiento y Escuela de Preparación de Opositores E.P.O. v07 INF2 l-SAI22. Página 18 la eficacia de los sistemas de información, llegando a utilizar tecnologías sofisticadas de tratamiento de información: informática, ofimática, etc., a las que se ha denominado genéricamente tecnologías de la información. La informática constituye una herramienta para implementar la automatización del tratamiento de información, de forma que el sistema informático es el soporte para realizar dicha automatización. La automatización de un sistema de información debe contemplar el hardware y el software de base y, por supuesto, las aplicaciones software que permitan cubrir las necesidades de información que marca la estructura del sistema de información. El modelo básico de arquitectura de los computadores digitales fue establecida por Von Neumann. Un computador digital se compone de las siguientes unidades: memoria principal, unidad aritmética, unidad de control, y unidad de entrada/salida. Las características de los dispositivos de E/S difieren considerablemente de las de la CPU. Cada periférico necesita disponer de su propio controlador. Para poder utilizar un periférico, el sistema operativo debe contener un gestor del periférico para controlar las transferencias de información. El software o soporte lógico de una computadora es el conjunto de programas asociados a dicha computadora. Los programas que forman el software de una computadora pueden agruparse en tres grandes apartados: software de control o sistema de explotación, utilidades, y software de aplicación.