Sistema Operativo
Sistema Operativo (S.O.)
Como vemos en la figura anterior, el sistema operativo es la capa más próxima al hardware, contiene los programas encargados de hacer funcionar los dispositivos de la computadora. Para hacer que la computadora realice una actividad, los programas deben solicitar al sistema operativo su intervención.
Se denomina sistema operativo al conjunto de programas encargados de administrar los dispositivos y recursos de una computadora. El sistema operativo es el componente determinante de una infraestructura TI, es el que determina los estándares (la compatibilidad) para todas las herramientas de software y programas de aplicación que se ejecutarán allí. En síntesis, los programas que el usuario quiera ejecutar deben cumplir con la condición de respetar la compatibilidad con el sistema operativo que les brinda soporte.
La calidad de un sistema operativo se basa en su confiabilidad (“estabilidad”) y en el grado de eficiencia con que aprovecha el equipamiento disponible, es el responsable principal de la optimización en el uso del hardware y los programas de productividad y aplicaciones.
Como dijimos, en las primeras generaciones de computadoras el sistema operativo y las herramientas de programación eran provistos por el propio fabricante del hardware, esta modalidad hoy sólo es mantenida en la categoría de grandes computadoras (mainframes) y configura la característica de los «ambientes de arquitectura propietaria».
En la actualidad la mayoría de las instalaciones utilizan sistemas operativos provistos por proveedores especializados en el desarrollo de este tipo de productos, por ejemplo, Windows de Microsoft, Solaris de Su, Linux, etc. Esta nueva modalidad permitió los “ambientes abiertos”, donde un sistema de computación se configura con productos provistos por distintos proveedores, aprovechando las ventajas de la especialización: mejores productos y menores precios. En estas configuraciones un proveedor aporta el procesador, otros los periféricos, un tercero el sistema operativo, otros las herramientas de productividad, y así se arma la plataforma de procesamiento que dará soporte al sistema de información computarizado de la entidad.
Hay diferentes clasificaciones de sistemas operativos, una clasificación de sistemas operativos didácticamente comprensible es la de dividir los sistemas operativos según el número de usuarios que atienden:
- Monousuarios
Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Los sistemas operativos de las computadoras personales típicamente se han clasificado en este renglón.
- Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.
También podemos clasificarlos según de número de tareas que atienden en cada momento:
- Monotarea
Los sistemas monotarea son aquellos que sólo permiten ejecutar un programa a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.
- Multitareas
Un sistema operativo multitareas es aquél que le permite al usuario estar corriendo varios programas al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfases gráficas orientadas al uso de menúes y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.
Componentes del sistema operativo
El sistema operativo tiene los siguientes componentes:
- Monitor residente
- Comandos
- Utilitarios.
Veamos en que consiste cada uno de ellos:
Monitor residente
Al encender el equipo, el procesador carga una porción del sistema operativo en la memoria principal. Esta parte del sistema operativo –llamada «monitor residente«, «software ejecutivo» o «monitor de control«- residirá en forma permanente mientras esté encendida la computadora.
El monitor residente se encarga de ir trayendo a la memoria los módulos (programas) requeridos por el sistema operativo para cada fase del trabajo en ejecución. Es decir, los módulos del sistema operativo no incluidos en el monitor residente están en un disco donde está grabado el producto completo. Los módulos adicionales se cargan en la memoria cuando son convocados por el monitor residente para efectuar una tarea especial que él no puede resolver.
Las tareas principales que ejecuta el monitor residente son:
- Supervisar la ejecución de los programas cargados en la memoria.
- Controlar las funciones de entrada y salida de cada programa y ceder el control de un programa al siguiente de acuerdo a sus prioridades.
- Interpretar los comandos ingresados por el operador y las instrucciones de control que indican y describen el trabajo que ha de realizar el computador.
- Gobernar la operatoria de los utilitarios y otro software que deba ejecutar.
- Asignar los dispositivos físicos de Entrada/Salida a los archivos de datos usados por los programas del usuario.
- Proveer servicios de diagnósticos ante fallas del equipamiento.
Comandos
La comunicación entre el operador de la computadora y el sistema operativo se logra a través de instrucciones propias del producto en cuestión, llamadas comandos. El conjunto de comandos del sistema operativo forma parte del lenguaje de control de trabajos, llamado también lenguaje de operación o comandos del sistema, también se los identifica con la sigla SCL (System Command Language). En la actualidad disponemos de Sistemas operativos con interfases gráficas, en este caso, los comandos son íconos que se activan con el mouse.
Utilitarios
Es común que el Sistema Operativo incluya utilitarios para ayudar a administrar la computadora, por ejemplo, en el sistema operativo MS Windows se incluyen las herramientas de sistema que permiten: desfragmentar el disco, comprimir archivos, crear copias de seguridad, realizar el mantenimiento del equipo, etc.
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.
- Servicio de soporte y utilidades.
1.- Interfaz del usuario.
Es la parte del sistema operativo que permite la comunicación entre el usuario y lacomputadora, 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.
2.- Administración de recursos.
Sirven para administrar los recursos del hardware y de redes de un sistema informático, como la del CPU, memoria, dispositivos dealmacenamiento secundario y periféricos de entrada y de salida.
3.- Administración de archivos.
Un sistema de información contiene programas de administración de archivos que controlan lacreación, borrado y acceso de archivos de datos y de programas.
4.- Administración de tareas.
Los programas de administración de tareas de un sistema operativo administran la realización de las tareasinformáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. 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.
5.- Servicio de soporte y utilitarias.
Los servicios de soporte de cada sistema operativo dependerán de la implementación particular de éste con la que estemos trabajando. Entre las más conocidas se pueden destacar las implementaciones de Unix, desarrolladas por diferentes empresas de software, los sistemas operativos de Apple Inc., como Mac OS X para las computadoras de Apple Inc., los sistemas operativos de Microsoft, y las implementaciones de software libre, como GNU/Linux o BSD producidas.
Funciones del sistema operativo
Hemos visto que un sistema operativo tiene como funciones administrar los recursos físicos de la computadora (el hardware) y gobernar la ejecución de las tareas contempladas por los programas de aplicación o las herramientas de productividad. A los fines de un mejor tratamiento analítico del tema, vamos a agrupar las tareas básicas que realiza un sistema operativo identificando cinco funciones:
- Administrar el procesador
- Administrar la memoria
- Administrar las unidades de entrada / salida
- Administrar el sistema de archivos
- Administrar la interfaz con el usuario
Ejemplo de Relación componentes de la computadora y funciones del sistema operativo
En el gráfico se relacionan los componentes de una computadora con las funciones del sistema operativo. Así, las funciones de administración del procesador se desarrollan en la unidad de control y en la unidad aritmética-lógica, la administración de memoria en la memoria principal o RAM, la función de administración de las unidades de entrada /salida se ocupa de la gestión de los periféricos de entrada y salida y la función de administración del sistema de archivo se ocupa de gestionar el espacio de los discos (periféricos de almacenamiento secundario). Por último, la quinta función del sistema operativo, administración de la interfaz con el usuario, no estaba contemplada en el citado esquema, por eso se lo pone fuera de la figura original y se relaciona en especial con la administración de los periféricos de E/S de datos (Estaciones de Trabajo- PC)
Administración del procesador
La necesidad de administración del procesador surge porque en principio sólo es posible ejecutar al mismo tiempo en la computadora un programa. Para poder correr varios programas a la vez, es necesario asignar el tiempo del procesador a los trabajos que demanden su intervención.
La capacidad más importante del sistema operativo para compartir los recursos de la computadora es la multiprogramación, la cual permite a varios programas compartir los recursos gracias al uso concurrente del CPU. La asignación de tiempo del procesador a los trabajos cargados en la memoria es asumida por el sistema operativo, quien procura distribuir su uso en forma equilibrada, asegurando un tiempo de respuesta adecuado a todos los trabajos.
En computadoras con sistema operativo monousuario y monotarea (los primeros computadores), el sistema operativo sólo ejecutaba un programa a la vez, es decir, asignaba todo el tiempo del procesador a un único programa y luego de ejecutado el mismola CPU paraba. Esta era una forma muy ineficiente de usar la computadora.
En el caso de ambientes monousuario y multitareas, el S.O. utiliza la técnica de asignación de prioridades a los programas cargados en la memoria, de modo tal que se ejecuta un trabajo antes de otro, procurando que todos los programas en ejecución sean atendidos en su momento. El término multitareas se refiere a la multiprogramación en los sistemas operativos de un solo usuario como el caso de las PC de usuarios tradicionales. Por ejemplo, cuando se escribe una carta mientras se chequea el correo electrónico, la capacidad multitareas permite exhibir en pantalla ambos programas y trabajar con ellos al “mismo tiempo”.
En el caso de los S.O. multiusuarios y multitareas, es decir cuando la computadora es compartida por varios usuarios, uno de los aspectos más importantes es la capacidad del S.O. para permitir que se compartan los recursos de procesamiento de la computadora en forma armónica y equilibrada.
Administración de la memoria
Cuando hablamos de la función administración de memoria realizada por el sistema operativo nos estamos refiriendo a la asignación de la memoria física principal del computador (memoria RAM) a los distintos procesos que se van a ejecutar.
Cuando en la computadora se trabaja con un único programa, la función de administración de la memoria se simplifica enormemente dado que sólo reside en la misma un proceso de usuario por vez, dejando ocioso el espacio sobrante. En la figura que sigue vemos un esquema de distribución de la memoria principal cuando sólo se carga un proceso de usuario por vez; esta se divide en dos grandes «particiones», una para el monitor residente (porción del sistema operativo que se carga en memoria al encenderse la computadora y permanece mientras esté prendida) y otra con el resto, asignada a los procesos de usuario. Cada proceso requiere espacio de memoria para la carga de las instrucciones (el programa) y para los datos que debe procesar (registros en proceso):
Ejemplo de Particiones de la memoria principal
Cuando se trabaja con dos o más programas cargados, la administración de la memoria principal de la computadora se vuelve más compleja, dado que ahora debe ser compartida por varios procesos, a cada uno de los cuales se debe asignar una porción de la misma.
Para poder almacenar varios programas independientes en la memoria, ésta se divide en segmentos y se los asigna a los programas o trabajos a ejecutar. Estos segmentos son lógicos, ya que no existen demarcaciones físicas en la memoria y se llaman particiones; cada una de ellas puede contener un programa o una porción del mismo. Las particiones son realizadas y operan bajo el control del sistema operativo.
El monitor residente también ocupa su propia partición y desde allí controla las actividades de las demás particiones, en especial de las asignadas para contener los programas de los usuarios. La partición que contiene el software ejecutivo se denomina partición del sistema.
Pero, a veces, la memoria física no alcanza para mantener todas las particiones que los usuarios demandan al sistema. En estos casos el sistema operativo puede recurrir a una técnica especial para multiplicar el espacio disponible en la memoria RAM, haciendo una “memoria virtual” en el disco fijo, esa técnica se llama swapping:
Ejemplo de Memoria virtual
Administración de las unidades de entrada/ salida (E/S)
Las operaciones de entrada y salida de un sistema de computación no son realizadas por el procesador central, sino por dispositivos especializados en efectuar tareas de E/S llamados comúnmente canales o controladores.
La idea subyacente es que cuando el procesador solicita una instrucción de E/S, el sistema operativo emite la correspondiente interrupción dando orden de arranque a uno de los canales de E/S y éste se encarga de que el periférico efectúe la tarea solicitada. Finalizada la tarea encomendada, el canal de E/S interrumpirá a la CPU para avisarle que ha terminado su trabajo y así pueda desbloquear el programa que efectuó la petición de E/S.
Administración del sistema de archivos
Otra función inherente a un sistema operativo es administrar el sistema de archivos o file system. Para ello, lleva cuenta de la ubicación de los datos grabados y de los espacios disponibles en los dispositivos de almacenamiento secundario (discos, disquetes, CD-ROM, cintas, etc.). Los programas de aplicación no saben dónde se encuentran almacenados sus archivos y registros de datos en los dispositivos de almacenamiento auxiliar ni cómo obtenerlos cuando los necesitan.
El sistema de administración de archivos es un conjunto de módulos y rutinas (programas) del sistema operativo, encargadas de realizar todas las operaciones relacionadas con el almacenamiento y recuperación física de los datos correspondientes a los archivos. Por ejemplo, se ocupa de la asignación del espacio físico para los datos a grabar, determinar las formas de almacenamiento, ubicar los datos necesarios para el proceso en ejecución. Son de gran ayuda para las tareas de programación, ya que liberan al programador de ocuparse dónde y cómo guardar o leer los datos. También se ocupa de la protección de los archivos (control de accesos), así como de proveer los comandos para administrar los mismos (borrar, copiar, renombrar, etc.).
Un buen sistema de administración de archivos debe permitir a los operadores crear, modificar y borrar archivos y directorios, compartir archivos con otros usuarios, controlar el acceso a los registros de datos de sus archivos, etc.
Administración de la interface con el usuario
Por último, otra función del sistema operativo es administrar los mecanismos, modos, estilos con que la computadora se comunica con el usuario, este modo de relación se llama interfaz del usuario. Como ya se mencionó, la comunicación entre el operador de la computadora y el sistema operativo se instrumenta a través de comandos y mensajes.
Los comandos son las instrucciones que el operador envía al sistema operativo para solicitarle que ejecute las tareas que requiere del computador, en respuesta el sistema operativo envía mensajes al usuario para avisarle que realizó las acciones encomendadas, ayudarlo y guiarlo en caso de errores o dudas, aclararle las alternativas disponibles y advertirle las consecuencias de sus acciones.
Casi todos los sistemas operativos actuales se comunican con el operador en modo interactivo o “conversacional”, esto permite ir enviando comandos u órdenes de ejecución en forma «on line»; el sistema operativo responde a cada comando ejecutándolo o rechazándolo por errores o imposibilidad de atenderlo.
Los tipos de interfaz usados se diferencian en cuanto a los instrumentos utilizados para relacionarse con el operador; así tenemos hoy sistemas operativos cuya interrelación con el usuario es:
- A modo comandos, la comunicación se realiza a través de mensajes de caracteres, como los comandos de Unix. En este caso el operador debe conocer la sintaxis de los comandos que desea ejecutar. Esta modalidad es más difícil de aprender pero brinda gran libertad al especialista para ejecutar cualquier clase de tareas en el sistema operativo.
- Por medio de menú es donde el sistema operativo presenta al usuario una lista (menú) con todas las alternativas disponibles para ejecutar una tarea.
- A modo gráfico, es la tecnología vigente en cuanto a modo de relacionamiento sistema-operador. Utilizan íconos, figuras para representar los elementos del sistema (periféricos, usuarios, directorios, archivos, etc.). Para ejecutar tareas y procesos sólo debe hacerse “click” con el mouse en la imagen de los elementos que se desean activar. Sistemas operativos con estas características son Windows, Linux, etc.
Esta categoría de sistemas operativos está integrada por productos diseñados para funcionar en computadoras de arquitectura abierta. Son versiones que funcionan en varios tipos de procesadores, de marcas y modelos distintos.
Un usuario que elija esta arquitectura puede invertir el orden de selección de los productos para configurar su plataforma de procesamiento. En este caso, para armar su sistema de computación selecciona primero el sistema operativo y luego el tipo de procesador y los periféricos. Esta modalidad está primando en las empresas debido a que los costos involucrados son menores y brinda más opciones técnicas para configurar el sistema de procesamiento de datos. Ejemplos de sistemas operativos de esta categoría son los distintos productos Windows de Microsoft, Linux el popular S.O. open source en sus diferentes distribuciones, Sun Solaris, Novell Netware, Unix, etc.
Herramientas de desarrollo de software
Herramientas para producir software, es decir, los programas para crear y mantener programas. Si quisiéramos definir a los lenguajes de programación, podríamos decir que son los productos de software diseñados para escribir programas de las computadoras en lenguaje simbólico o fuente. Se caracterizan por seguir reglas de sintaxis (normas de escritura), las que son específicas de cada uno y son establecidas de antemano. Cada lenguaje de programación dispone de un programa compilador o intérprete encargado de traducir los programas simbólicos o fuentes (tal como los escriben los programadores) a código de máquina u objeto; este último es el único código que en realidad interpreta el procesador para ejecutar las instrucciones dadas por el usuario a través de la computadora.
Los programas de una computadora son confeccionados por los analistas/programadores siguiendo las reglas sintácticas del lenguaje de programación elegido. En general, las instrucciones de los lenguajes de programación son familiares y de fácil comprensión para los especialista responsables de la tarea. Las instrucciones son similares a los verbos del lenguaje común o al lenguaje algebraico, según sea el tipo de lenguaje elegido.
El programa escrito por el programador se denomina programa fuente o simbólico y puede estar confeccionado en un lenguaje de «alto nivel» (3GL o 4GL) o en lenguajes de “bajo nivel” como los ensambladores, similar al lenguaje de máquina.
Luego de preparado el programa en lenguaje fuente, está disponible para ser traducido al lenguaje que entiende la máquina. La traducción del programa fuente al lenguaje interno de la máquina la realiza un producto de software especial, llamado ensamblador, compilador o traductor según el caso. Por ejemplo, si debe intervenir el compilador, éste se carga en la memoria de la computadora y lee las instrucciones escritas por el programador en lenguaje simbólico y grabadas en un archivo que contiene el «programa fuente» y las traduce a lenguaje de máquina obteniendo el «programa objeto», listo para ser ejecutado en la computadora.
Una vez que el programa fuente es traducido al lenguaje interno de la máquina (código binario), se obtiene un archivo con el programa objeto, éste se almacena en el sistema de discos de la computadora para ser utilizado posteriormente. Cuando el usuario quiere «correr» el programa sólo tiene que invocar (solicitar la ejecución) de este programa objeto para que procese sus operaciones.
Administradores de bases de datos (DBMS)
Gestionar grandes cantidades de datos se ha constituido, especialmente en los tiempos actuales, en una de las necesidades más imperiosas de la sociedad moderna. Hoy es difícil encontrar un solo lugar en el mundo “civilizado” en el que no exista un completo control sobre todo lo que sea “registrable”, ya sean horarios de trenes, datos personales de la población, información estadística de cualquier índole o, incluso, datos que antes eran difíciles de sistematizar en forma exhaustiva, como ocurría con el material bibliográfico publicado mundialmente o el registro de todas las obras de arte de un país.
Las computadoras han contribuido en gran medida a facilitar el manejo de estos volúmenes de información, ya que fueron ideadas para realizar operaciones con datos que para el hombre suponían un excesivo esfuerzo y la asignación de gran cantidad de tiempo.
Surgen así los productos diseñados para administrar bases de datos (DBMS de Data Base Managment System o Sistema Administrador de Base de Datos), encargados de sistematizar grandes volúmenes de información en forma ordenada y de facilitar el acceso a la misma.
Una base de datos es un gran archivo donde se enlazan, interrelacionan y controlan todos los datos, gestionados por medio de un producto de software especial, que se encarga de su administración (seleccionar dónde se guardarán los datos, registrar la información almacenada, controlar los accesos, etc.).
Las productos gestores de bases de datos se caracterizan por aportar un nuevo nivel de control, situado entre las aplicaciones y los datos: En un ambiente de bases de datos, los programas de una aplicación delegan a módulos independientes, incluidos dentro del producto DBMS y fuera del control del programador, la tarea de administrar el manejo de los datos y su historial, es decir, el programador ya no se hace cargo de escribir dónde se guardarán los datos ni controlar quiénes los accederán.
Ventajas de las bases de datos
- Los elementos o campos de datos sólo se guardan una vez, es decir no hay datos repetidos o duplicados dentro de la base.
- La actualización de un dato sólo se realiza una vez, ya que éste no debe estar repetido. Esta característica asegura la “consistencia” de la información contenida en la base.
- Permiten manejar seguridad a nivel de los datos elementales, o sea, controlan quiénes pueden realizar operaciones de lectura, modificación o borrado de los elementos o campos de datos.
- Permiten modificar las estructuras de datos (agregar o quitar campos) sin necesidad de cambiar los programas de aplicación.
Características de una Base de Datos
- No repetición de datos: La base de datos debe estar compuesta por elementos que no sean redundantes. Constituye así una colección de información interrelacionada, sin repeticiones, lo que permite la consistencia de la información.
- Independencia de los datos: La administración de los datos es independiente de los programas que los utilizan, de modo que se los puede modificar sin cambiar los programas existentes para manejarlos.
- Privacidad y seguridad: Los DBMS normalmente vienen provistos de programas especiales para brindar seguridad respecto al acceso a los datos, o sea, mantener la privacidad de la información. También proveen seguridad en el servicio, es decir que los datos están protegidos contra las fallas de equipos y programas que procesan los datos.
- Ordenamiento y búsqueda de datos: Dentro de la base de datos existe un criterio de ordenamiento para los datos que la componen. De esta forma se organiza la administración de la información y se facilita el acceso a cualquier dato específico.
Funciones de un DBMS
Una base de datos no es otra cosa que un conjunto de información ordenada y agrupada en función de determinados criterios. En sí, una base de datos no tiene una actividad operativa propia, ya que no está diseñada para procesar operaciones por sí sola. Por ello cabe formularse una pregunta ¿quién es en realidad el encargado directo de controlar y manejar la información guardada dentro de la base de datos? La respuesta es el Sistema Administrador de Base de Datos o DBMS.
Un administrador o gestor de bases de datos puede ser tan simple como un pequeño programa o tan complejo como una combinación de equipos y sistemas que se ocupan de organizar los datos elementales y proporcionar el acceso a los mismos dentro de los archivos físicos que contienen la base de datos.
Los sistemas de aplicación necesitan trabajar con los elementos de la base: añadir, borrar y cambiar datos de los distintos campos de la misma; variar el modo en que están almacenados; buscar los datos que cumplen con un cierto criterio y desarrollar todas aquellas tareas que demandan el manejo de la información guardada en la base de datos. En estos casos el DBMS actúa ayudando al programa del usuario para que acceda a la base, es decir actúa como una interfase (intermediario) entre la aplicación y los datos.
Categorización de los DBMS
Hemos visto qué son las bases de datos, cuáles son sus características, cómo organizan los datos y las relaciones y quién se encarga de administrarlos… Ahora daremos un breve vistazo a los productos que se están ofreciendo en el mercado para administrar bases de datos, procurando categorizarlos; de esta manera, Ud. podrá determinar las prestaciones que pueden esperarse de las distintas versiones de DBMS:
- Suponemos que hace mucho que Ud. ha escuchado acerca de bases de datos. Por ejemplo, en una película ha visto como el detective accede a una base de datos para buscar información sobre un delincuente o ubicar al propietario de un auto accediendo a la base de “matrículas”; tal vez, necesitó buscar los exámenes rendidos y sus notas correspondientes en la base de la Facultad para confeccionar su certificado de estudios. Quizá trabajó en un servicio meteorológico y pudo consultar cuándo fue la última vez que llovió más de 100 mm en Caracas; o en una agencia de bolsa pudo consultar las cotizaciones de las acciones de YPF en la bolsa de Buenos Aires durante el último mes. Estas grandes bases de datos, alimentadas y usadas por un ejército de personas, cuentan con poderosos y sofisticados productos DBMS para administrar los permanentes, diversos y simultáneos accesos en forma ordenada y eficiente. Esta categoría de productos identifica a los DBMS para grandes Servidores de Datos y datawarehouse. En esta categoría los proveedores líderes son Oracle, DB/2 de IBM, SQL Server de Microsoft y Teradata. También en esta categoría puede incluirse a las bases de datos libres (open source) MySQL y PostgreSQL.
- Por otro lado, existen casos donde deben administrarse menores requerimientos de datos a administrar y accesos a atender. Los productos diseñados para atender instalaciones de esta envergadura -medianas aplicaciones- suelen ser identificados como DBMS para Servidores de Datos medianos, donde si bien deben atender requerimientos diversos y múltiples, no tienen la responsabilidad de atender cientos de consultas simultáneas en tiempo y forma guardando la debida seguridad. En esta categoría los proveedores líderes son también Oracle, DB/2 de IBM, SQL Server de Microsoft, MySQL y Posgress, a los que se agregan Sybase, Progress y otros.
- Por último, existen requerimientos para administrar datos de uso personal, con volúmenes y requerimientos de servicio y de seguridad modestos. Por ejemplo, mantener una agenda telefónica, el nombre de los alumnos y sus notas, las direcciones de los compañeros de un curso… Esta categoría de productos caracteriza a los llamados DBMS para bases de datos personales. A esta categoría pertenecesn las bases de datos provistas por los paquetes de automatización de oficina, por ejemplo, Access de Microsoft.
Herramientas de automatización de oficina
La automatización de oficina es un concepto que engloba la aplicación de herramientas informáticas para la realización de las tareas rutinarias de una oficina, por ejemplo:
- Escribir cartas, documentos, memorandums, informes, etc.
- Elaborar planillas con cifras resúmenes de la actividad de la organización, por ejemplo: presupuestos, liquidación de impuestos, estadísticas, etc.
- Representar gráficamente información que permita descubrir normas y tendencias.
- Integrar la información de uso común y mantener los puestos de trabajo comunicados.
Para realizar estas tareas se dispone de los productos de automatización de oficina, los que incluyen herramientas tales como: procesadores de texto, hojas de cálculos, correo electrónico, graficadores y herramientas de diseño de páginas web.
En síntesis, todas las tareas típicas de una oficina administrativa, tales como: dictado, mecanografiado, copiado, archivado, elaboración de planillas y gráficos, operación de fax, correo electrónico, consulta de documentos en la web y muchas más, son candidatas para ser prestadas por las herramientas (programas) integradas en un sistema de automatización de oficina.
Las primeras aproximaciones a la automatización de oficina sólo contemplan las operaciones de procesamiento de textos y planillas de cálculo; sin embargo, la finalidad última de este nuevo ambiente de trabajo es lograr el ideal de la “oficina sin papeles”, lo que implica nuevas formas de realizar las tareas administrativas típicas en la oficina.
Las herramientas actuales de esta categoría son:
- Procesadores de textos, donde se escribe todo lo que se necesita en un documento y se lo puede guardar y modificar (editar) tantas veces como se desee sin tener que volver a tipearlo.
La ventaja principal del procesamiento de texto es que los documentos quedan almacenados en forma permanente dentro de la computadora; pueden ser recuperados posteriormente para modificarlos (editarlos) y volver a imprimirlos si es necesario. Otra ventaja apreciable es que los documentos guardados en un sistema de computación pueden ser ubicados más rápidamente que los documentos de papel. Los procesadores de textos más populares actualmente son Word de Microsoft, Ami Pro de Lotus Development Corp. y Write, el procesador de texto de los programas Open Office.
- Hojas de Cálculo, donde sólo los datos numéricos y las fórmulas asociadas a un determinado problema matemático deben ser introducidos por el usuario. El programa se encarga de hacer los cálculos correspondientes a fórmulas y funciones aritméticas, estadísticas, financieras o científicas indicadas. Las hojas de cálculo más difundidas en la actualidad son Excel de Microsoft, Lotus 1-2-3 de Lotus Development Corp y Calc de Open Office.
- Herramientas gráficas, permiten realizar presentaciones gráficas o audiovisuales, proyectando los datos de una hoja de cálculo o ingresados por el operador con esa finalidad. Facilitan la comprensión más rápida y exacta de la información, y en general, de la situación analizada. Las presentaciones pueden correr en forma manual, apoyando la exposición de un disertante, o en forma automática.
Con este tipo de programas se pueden crear diferentes tipos de presentaciones combinando textos, gráficos o imágenes. Los paquetes más difundidos son Power Point, Corel Draw, etc.
- Herramientas de Internet, Dentro de esta clase de productos se incluyen a los navegadores, sistemas de correo electrónico, Chat, agenda electrónica, etc.
Los navegadores son herramientas de fácil uso que exhiben páginas web y acceden a otros recursos de internet. Cuentan con una interfase gráfica con el usuario y pueden mostrar información, gráficos de audio y video almacenados en otros sitios de internet. Manejan texto en su formato tradicional permitiendo hacer click en botones o palabras resaltadas para acceder a más información. Los navegadores más populares son Explorer de Microsoft y Mozila Firefox.
En un sistema de correo electrónico (e-mail), los usuarios pueden enviar “correspondencia” (archivos de datos, mensajes, documentos electrónicos) a uno o a muchos usuarios. Actualmente los servicios de e-mail más difundidos son los prestados por sitios web como Hotmail, Gmail o Yahoo; sin embargo, los paquetes de automatización de oficina también ofrecen sus propios módulos para el acceso al correo como el Outlook de MS-Office.
- Herramientas para el diseño de páginas web, permiten confeccionar documentos de hipertexto (texto, imágenes, sonido, gráficos y otros tipos de archivos) que luego pueden tener un uso interno en la intranet de la organización o ser publicados en Internet.
En esta categoría de productos podemos encontrar desde un simple editor de texto con el cual se puede escribir en lenguaje HTML hasta llegar a sofisticados programas para crear sitios completos en Internet; muchas de estas herramientas vienen incluidas en los paquetes de automatización de oficina corrientes.
Paquetes integrados
El mercado de herramientas de automatización de oficinas se caracteriza por la comercialización de sus productos en paquetes integrados. Con esta modalidad los proveedores intentan ofrecer todas las funciones relacionadas a la automatización de oficinas de su autoría “enlatadas” en un solo paquete. Esta situación asegura al usuario la compatibilidad de los archivos de datos originados por cada producto integrante del paquete, es decir, permite la transferencia de datos de un utilitario a otro. Esta característica permite multiplicar geométricamente la productividad del trabajo del usuario.
Los productos integrados compiten fuertemente en cuanto a las aplicaciones fundamentales: procesador de textos, hoja de cálculo, base de datos, presentación gráfica y conectividad a Internet. Sin embargo cada fabricante trata de endulzar su negocio agregando programas que completan la funcionalidad del producto integrado y que atraen a los compradores que buscan algo más, por ejemplo: programas de correo electrónico, administradores de información personal (agendas), calculadoras en línea, administradores de archivos, etc.
Además, los programas integrados tienen interfases uniformes. Si la interfase es constante, una vez que se ha aprendido una de las aplicaciones del paquete para dominar las otras sólo tendrá que aprender las opciones específicas de cada tarea. En síntesis, el diseño de estos productos integrados permite mezclar funciones y datos de distintas aplicaciones.
Actualmente existen en el mercado diversos paquetes de software que integran los programas de automatización de oficinas disponibles para PC en un solo ambiente:
MS-OFFICE de Microsoft, paquete que provee los más populares productos de Microsoft para las tareas de automatización de oficina: procesador de textos Word, software de presentación, Power Point, planilla de cálculo Excel, correo electrónico Outlook, etc. Funciona en ambiente Windows.
OPEN OFFICE, es la propuesta de software libre integrada por un procesador de textos, una hoja de cálculo, un editor de presentaciones, una agenda, una base de datos y un editor de mensaje.
LOTUS, es la oferta equivalente de Lotus Corp. (IBM) Integra el procesador de texto Ami Pro, la popular planilla de cálculo Lotus 123, una agenda y herramientas para la comunicación, entre otros productos de automatización de oficina.
Herramientas de trabajo en grupo (groupware)
La última evolución en las herramientas de automatización de oficina se está dando en el campo software para el trabajo en grupo, más conocido con el término groupware. Si bien hace años existen productos de software para permitir y facilitar el trabajo de grupos de usuarios en un mismo documento, agendas electrónicas que coordinan la actividad de grupos de personas y otras funcionalidades que facilitan el trabajo coordinado de una oficina, el fenómeno Internet a potenciado la necesidad de software para este tipo de trabajos
El término groupware inicialmente se refería a aplicaciones de software colaborativo, es decir, aquellas que ayudan a las personas a trabajar en equipo, a través de una variedad de herramientas para llevar a cabo los proyectos y las tareas de grupo; los productos más conocidos con estas funcionalidades son Lotus Notes y Novell GroupWise, ambos en el mercado desde los 90´s. Sin embargo, a partir del fenómeno Internet, el concepto de groupware se extiende a otras funcionalidades permitidas por la conectividad permanente de los usuarios a la red. Así, las últimas versiones de los paquestes Microsoft Office, Lotus SmartSuite y Open Office han agregando funcionalidades tales como acceso a Internet, creación de documentos de grupo y otras capacidades colaborativas. Es más, recientemente Google puso a disposición de cualquier “internauta” la posibilidad de crear grupos de usuarios y a través de su servicio de correo electrónico –Gmail- disponer de un completo entorno de trabajo colaborativo de acceso gratuito.
Las funcionalidades básicas que proporcionan las herramientas de Groupware son, entre otras, las siguientes:
- Creación de documentos en grupo y corrección de los mismos.
- Distribución de correo electrónico.
- Planificación de citas y reuniones (agenda electrónica).
- Acceso a archivos y bases de datos compartidas.
- Acceso a planes y programas de trabajo compartidos.
- Asistencia a reuniones electrónicas.
Las herramientas de groupware están diseñadas para hacer más fácil la comunicación y colaboración entre diferentes personas de un equipo de trabajo, sin importar su ubicación física, en el mismo (colaboración sincrónica) o en diferentes momentos (colaboración asincrónica).
Entre las herramientas de colaboración sincrónica tenemos, entre otras, al Chat, la agenda electrónica, los pizarrones electrónicos, la video conferencias. Como ejemplo de herramientas de colaboración asincrónica tenemos al correo electrónico, los procesadores de texto-planilla electrónico que manejan documentos compartidos por varios usuarios simultáneamente, los calendarios grupales, los newsgroups y listo de distribución, etc.
Consideraciones para evaluar la compra de Software
Cuando se evalúa la compra de un paquete, deben estudiarse cuidadosamente -entre otros- los siguientes aspectos:
- La calidad del paquete. Debe hacerse una evaluación de la funcionalidad del mismo para medir adaptabilidad, facilidad de uso, desempeño y confiabilidad del producto. Un aspecto sumamente importante es la capacidad para incorporar cambios, este aspecto determina la vida útil, ya que con el transcurso del tiempo se irán requiriendo modificaciones a los programas para adaptarlos a nuevas situaciones, no previstas en el diseño original.
- Soporte del proveedor. El proveedor del paquete de aplicación debe demostrar ser poseedor de una vasta experiencia y trayectoria y ser capaz de proporcionar el soporte técnico adecuado a las necesidades de la empresa (en tiempo y forma), con la capacidad necesaria para instalar, mantener y actualizar el paquete en el tiempo.
- Documentación del sistema. La documentación debe ser de calidad y clara, de manera tal que cubra las necesidades de quienes van a trabajar y mantener el nuevo sistema y puedan continuar con la operación del mismo, aunque se corte el vínculo con el proveedor.
- Costo. Dentro de este rubro debe considerarse el costo de licenciamiento (por única vez o periódico), los valores de las distintas modalidades con que se ofrece el producto (con o sin programas fuentes, con o sin derecho a actualizaciones). Debe incluirse también dentro de la evaluación del costo del paquete a los recursos adicionales de hardware y software que requiera su instalación, la capacitación necesaria para los usuarios finales y los especialistas que lo operarán, el mantenimiento, etc.
Cuando una aplicación se diseña específicamente para una organización, los objetivos del programa y los requisitos del cliente se deben tomar en consideración durante el proceso de desarrollo. Entre estos requisitos se incluyen los del negocio, las necesidades de la cultura organizacional, la necesidad de comunicarse con otros sistemas y temas de desempeño como por ejemplo tiempo de respuesta. Sin embargo, las empresas encuentran muchas veces satisfechas sus necesidades con software comerciales.