INTRODUCCION El Sistema Operativo OS/400 fue creado por la firma IBM para sus equipos AS/400, que posteriormente pasaron a llamarse ISERIE, donde la letra I significa integrado. De este software no hay muchas bibliografías, así como tampoco muchas personas que puedan dar informaciones detallada de la esencia de este Sistema Operativo. Por lo antes dicho, hemos decidido hacer una explicación lo más detallada posible de lo que es un SO y de su evolución, para que de esta manera el lector pueda comprender con la mayor claridad posible los conceptos que hemos podido conseguir acerca de este software, y que le exponemos con la finalidad de ampliar los conocimientos de todos aquellos que nos puedan leer y que estén interesado en el mundo fascinante de las computadoras. No queda más que exponerles nuestro humilde trabajo. Gracias. Sistema Operativo (SO) Definición: Es un programa de control ya que se encarga de gestionar y asignar los recursos hardware a los usuarios, entendiendo por recursos hardware: la C.P.U., la memoria principal, discos y otros periféricos. El SO con objeto de facilitar el trabajo de los ordenadores contiene rutinas y modelos de gestión de E/S evitando a los programadores y usuarios conocer las instrucciones máquina concreta de cada periférico. A lo largo de la historia, han aparecido diferentes SSOO que, en cada momento, se encargaban de recoger las características punteras de lo que se descubría en el mundo de la informática. Hoy en día, sin ir más lejos, se están desarrollando potentes SSOO basados en la Programación Basada en Objetos (POO), que, dicho sea de paso ha sido la última evolución de la informática, hace ya casi 10 años. El concepto de Sistema Operativo, no es ni mucho menos nuevo. Los primeros SSOO aparecieron a finales de los años 50; al comienzo de la informática. Al principio, los primeros SSOO eran monousuario y monotarea, algo así como el DOS. Pero con la diferencia de que se gobernaba con tarjetas perforadoras en vez de Diskettes Objetivo: El objetivo del sistema operativo es gestionar y administrar eficientemente los recursos hardware de la computadora, permitiendo ejecutar concurrentemente varios programas sin que haya conflictos en el acceso de cada uno de ellos a cada uno de los recursos que necesita y sin que ningún programa monopolice un recurso determinado. Servicios de Sistema Operativo: • Servicios para facilitar la programación, ejecutar programas, operaciones E/S, manipulación del sistema de ficheros, detectar errores 1 • Servicios para hacer eficiente el uso del computador: Asignar recursos, llevar contabilidades, protección, dar información Protección: • Protección de E/S. • Protección de memoria. • Protección de la C.P.U. Protección de E/S: El SO no permite a los programas que accedan directamente a la E/S, así podemos distinguir dos tipos de actuación: El modo usuario y el modo supervisor que permite el acceso a una serie de acciones privilegiadas. Protección de memoria: Se crea una zona límite en la memoria a partir de la cual están las aplicaciones de los usuarios y no se permite el acceso a la zona que ocupa el SO asimismo se crea otro límite superior para no acceder a la zona ocupada por otros programas. Protección de la C.P.U.: Se pone un contador de tiempo para que cada cierto tiempo la C.P.U. pase a ser controlada por el SO para que este decida a que programa le da el control. Evolución histórica de los Sistemas Operativos Normalmente se consideran tres etapas o generaciones que van prácticamente paralelas a las generaciones de los equipos informáticos: 1º Etapa: Desde la construcción de las primeras computadoras (1943) hasta 1956, puede decirse que realmente no existen sistemas operativos. El programador que deseaba usar la computadora debía apuntarse a un cuaderno de reservas de horas, cuando llegaba su turno, el programador que hacía también las funciones de operador introducía su programa y esperaba que poco a poco fuesen escribiéndose en una impresora los resultados, el programa se introducía a través de tarjetas perforadas y se redactaba en lenguaje máquina, los datos también se suministraban a la computadora a través de tarjetas perforadas. Posteriormente se idearon los ensambladores, después de ensamblar el programa, el programa objeto obtenido (en lenguaje máquina) se montaba manualmente, es decir, se unía con otros paquetes de tarjetas que contenían las funciones utilizadas en el programa y no definidas en el mismo (multiplicación o raíz cuadrada). Por último se ejecutaba el paquete total de tarjetas con los datos del programa. Con esta forma de trabajar no se obtiene provecho de la computadora, cuando la CPU trabaja los dispositivos E/S están inactivos y cuando un dispositivo E/S está actuando, las demás unidades (incluida CPU) no trabajan, las grandes posibilidades de la CPU en cuanto a velocidad de ejecución no se aprovechan adecuadamente. Como resumen de esta primera etapa podemos decir que la introducción y la ejecución de programas se hacía 2 manualmente, uno a uno ya que no existía SO 2º Etapa: En vez de utilizar sólo lectores de tarjeta e impresoras, se utilizaban soportes de información intermedios como citas magnéticas, al principio de ella sólo se encontraban ensambladores, controles de biblioteca, necesitándose dar por tarjeta únicamente el programa y los datos de usuario. Posteriormente se dio un paso importante, se utilizó una computadora satélite para gestionar las E/S y la computadora principal (más potente) únicamente leía y escribía sobre cinta magnética. Esta computadora satélite volcaba sobre cinta magnética los programas en tarjeta de los usuarios, en la cinta se tenían así grabadas imágenes de tarjeta, posteriormente y una vez que en una cinta había una cola de trabajos, el operador desmontaba la cinta de la computadora satélite y la montaba en la principal, ésta leía los programas de la cinta y los resultados a imprimir los escribía en otra cinta magnética, obteniéndose así por cada programa un archivo de impresión grabado en cinta. El operador con cierta regularidad, montaba la cinta de archivos de impresión en la computadora satélite y esta los iba escribiendo por las impresoras. El procedimiento descrito desde el punto de vista usuario−programador, es mucho más sencillo que el de la primera etapa, pero es necesario un control automático del flujo o cola de trabajos 3º etapa: Esta etapa se caracteriza fundamentalmente por el perfeccionamiento del sistema de trabajo por lotes, el desarrollo del SO en multiprogramación (1963) y la introducción del concepto de memoria virtual. Conceptos básicos: • Proceso: cualquier tarea o programa que se está ejecutando en el ordenador. • Fichero: es una estructura de datos almacenada en disco. • Programas de control y proceso: Programa de control se refiere a los SO o al menos al núcleo de esos SO Puede definirse como el conjunto de programas que controla el funcionamiento de los demás programas y administra los recursos hardware, facilitando el uso de la computadora de la forma más eficiente posible. Dos tipos: El S.O. propiamente dicho: • Núcleo (KERNEL) • Cargador inicial. (BOOTSTRAP) • Módulo de gestión de memoria. • Módulo de gestión de periféricos. • Módulo de gestión de archivos. • Planificador de trabajos. 3 • El intérprete de lenguajes de control, que es un proceso que interpreta y ejecuta las órdenes del usuario • Programas de proceso: • Traductores. • Programas de servicio (utilidades y aplicaciones). • Programas de servicio: Utilidades: − Gestionar archivos. − Antivirus. − Editores de texto. Aplicaciones: • Programas de los usuarios en general. • Procesadores de texto. • Hojas de cálculo. • Aplicaciones gráficas. • CAD, comunicaciones, juegos Sistemas operativos monoprogramados Vs multiprogramados. Tiempo compartido. Sistemas monoprogramados son aquellos que sólo son capaces de ejecutar una instrucción a la vez ( Ej. MSDOS). Sistemas multiprogramados, quizás sea la técnica más importante para obtener gran eficiencia en un sistema informático, la multiprogramación es una técnica que aprovecha los tiempos muertos de la computadora central, los tiempos muertos en periféricos y los espacios de memoria principal no ocupados por el proceso, consiste en esencia en cargar en la memoria principal varios procesos. La multiprogramación es una técnica que aprovecha los tiempos muertos de la computadora central, los tiempos muertos en periféricos y los espacios de memoria principal no ocupados por el proceso, consiste en esencia en cargar en la memoria principal varios procesos. Hay tres tipos de multiprogramación: Multiprogramación clásica: El dispatcher da el turno a un trabajo P1, cuando P1 ha de realizar una operación de E/S da el turno a P2 hasta que este a su vez realiza otra instrucción de E/S pasándose a ejecutar P3 y así sucesivamente se va repartiendo el tiempo entre varios trabajos. Cuando P1 acaba la operación de E/S, el periférico utilizado para dicha operación comunica el hecho a la CPU dándole el dispatcher la vez la próxima ocasión que le toque el turno. 4 Tratamiento paralelo: El tipo de multiprogramación descrito anteriormente tiene el problema de que un programa con mucha CPU y poca E/S, puede monopolizar la CPU hasta que termine su ejecución, esto se evita con el tratamiento paralelo, con él, a cada uno de los procesos en memoria se le asigna un intervalo de tiempo fijo denominado quantum, cuando finaliza el quantum de un proceso el dispatcher pasa el control al siguiente proceso. Tiempo compartido: El tipo de multiprogramación que se acaba de describir sigue teniendo tiempos muertos de CPU, bien porque un proceso durante su quantum pasa a E/S o bien porque cuando le toca el turno aun está en una operación de E/S . Con el tiempo compartido (time sharing) se produce un cambio de proceso en la CPU por dos razones, que se agote el quantum del proceso en curso o que el proceso que se está ejecutando en CPU pase a E/S durante su quantum. Además, el siguiente programa sólo entrará en la CPU cuando le toque el turno y esté listo si no lo perderá y pasará al siguiente. SISTEMA OPERATIVO OS/400 Luego de haber visto lo que es un sistema operativo, sus características, su historia; consideramos conveniente dedicarnos al tema que nos atañe, el OS/400. OS/400 es el Sistema Operativo creado por IBM para sus equipos iserie (la i significa integrado), que hasta hace aproximadamente 4 años se llamaban AS/400. Es un sistema computacional exclusivo para estos equipos y están orientados (hardware y software) al comercio. Este sistema esta disponible en diferentes versiones, siendo la ultima la editada en Abril del año pasado (2002), llamada V5R1; La cual según IBM ha sido la más grande emisión de un sistema operativo de la historia. El sistema AS/400 usa exclusivamente el sistema operativo/400 de IBM (Os/400). Este es un sistema operativo multiusuario que trabaja con las intrusiones del Código de Licenciamiento Interno (LIC) para implementar las funciones que son básicas para la arquitectura del AS/400. OS/400 puede realizar tareas bajo el control directo tanto del usuario como de un programa de aplicación. El sistema AS/400 difiere de los sistemas tradicionales en muchos aspectos. Ofrecen mayor compatibilidad atravéz de la línea del producto al usar solo un sistema operativo y arquitectura para la misma línea. Al ser un sistema basado en computadoras System/3X pero con una arquitectura mejorada, ya que usan procesadores más veloces y mejores sistemas de discos duros. La arquitectura del SO es diferente al sistema tradicional. Cualidades: • Dentro de las cualidades de estos equipos tenemos que implementan funciones como seguridad, base de datos y comunicaciones en microcódigo, además de que proveen un SO de una sola pieza que tiene como resultado, una mayor eficiencia, consistencia y simplicidad. • OS/400 tiene una base de datos relacional DB2 integrada en el KERNEL (núcleo del sistema operativo) la cual no puede ser sustituida, además de ser la única que acepta este sistema. Toda la configuración y sistema de seguridad se apoyan en esta base de datos, confirmando aun más su 5 condición de exclusivo para los equipos iserie. • La Base de Datos del SO OS/400 puede ser utilizada en otras plataformas, ya que tiene productos equivalentes, Ej. Linux, Windows, UNIX, etc. • Tiene una disponibilidad de un 99.97 % de un equipo, siendo tan robusto que se compara con dos y hasta mas sistemas operativos simultáneamente de otra variedad en cluster. Diferencias y ventajas con relación a otros Sistemas Operativos: • No está diseñado para usuario final ( no se compra para una Pc, sino, para un servidor), • Está diseñado exclusivamente para los negocios, no se puede usar en otras soluciones informáticas. Ej.: Diseño gráfico, etc. • Nunca se han reportado virus • Su base de Datos hasta ahora no se cae, aunque si se puede caer el equipo completo. • Gran simplicidad, economía de tiempo y dinero en su uso, dado que por Ej. Con otro SO hay que: • Instalar el equipo • Instalar el SO • Instalar la Base de Datos • Instalar la aplicación a correr • Probar el sistema y verificar su funcionamiento • Con el SO os/400, solo debo: • Instalar el equipo iserie • Instalar la aplicación • Comenzar a laborar • Otra ventaja es que viene íntimamente integrado al equipo iserie, aunque viene separado del equipo. Desventajas: • El costo, este equipo es una perdida de dinero si se emplea en menos de 10 usuarios, donde el equipo básico y el software para estos 10 usuarios es de aproximadamente US$ 25,000.00 (veinticinco mil dólares). • La Compañía no vende el software, sino, que vende el derecho a su uso por medio de un contrato (franquicia), donde a pesar de que la compañía le ofrece al cliente mantenimiento y en caso de falla y cada vez que salga una nueva versión de sustituir la anterior; no es menos cierto que el cliente se amarra tanto en hardware como en software a la IBM. CONCLUSION Vemos en este Sistema Operativo muchas ventajas técnicas, así como, economía tanto en tiempo como en dinero, sobre todo para grandes empresas (debemos recordar que este sistema es exclusivamente para uso comercial), que es donde este sistema muestra su verdadero poder. No lo consideramos apropiados para pequeñas empresas, ni siquiera, para medianas empresas (el tamaño de las empresas lo medimos tomando como referencias él numero de operaciones diarias, y de operaciones simultaneas). Dentro de las razones de llegar a tal conclusión podemos citar las siguientes: • El sistema OS/400 esta diseñado para ser utilizado desde 10 usuarios en adelante, por lo que en una 6 empresa pequeña, o mediana con poco movimiento es una perdida de dinero. • Como la compañía no vende el software, sino que vende una franquicia para su uso, tendremos que a mayores usuarios mayor costo. • Es un sistema exclusivo para un tipo de equipo, por lo que el cliente estaría obligado a utilizar solo este tipo de equipo, no pudiendo sustituir maquinas, o piezas por otras de igual calidad y de menor costo pero de otra marca. • Queremos añadir al final que en la Rep. Dominicana, se pueden ver estos equipos y el Sistema Operativo OS/400 trabajando, en las oficinas del Banco Popular. BIBLIOGRAFIA • www.as400.ibm.com • Apuntes universitarios Isaac Jafet Hernandez Germosen Centro: Universidad PAEC • Entrevista con el Ing. OSCAR ROJAS FERNANDEZ Consultor certificado IBM. • Entrevista con el Ing. ELVIN SOTO Ing. En servicios OS/400 Juan Batista Juanb@codetel.net.do 1 11 UNIVERSIDAD AUTONOMA DE SANTO DOMINGO (UASD) Facultad de Ciencias Escuela de Informática Inf−324 Sistemas Operativos Sec. 02 Mat. 79−2088 23 abril del 2003 7