TEMA
1.4 ESTRUCTURAS DE SISTEMAS OPERATIVOS
Sistemas monolíticos
Este tipo de organización es, con diferencia, la más común. El sistema operativo se escribe como una colección de procedimientos, cada uno de los cuales puede llamar a los demás cada vez que así lo requiera. Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada uno de ellos es libre de llamar a cualquier otro, si éste último proporciona un cálculo útil para el primero.
Para construir el programa objeto real del sistema operativo siguiendo este punto de vista, se compilan de forma individual los procedimientos, o los ficheros que contienen los procedimientos, y después se enlazan en un sólo fichero objeto con el enlazador. En términos de ocultación de la información, ésta es prácticamente nula: cada procedimiento es visible a los demás (en contraste con una estructura con módulos o paquetes, en la que la mayoría de la información es local a un módulo, y donde sólo los datos señalados de forma expresa pueden ser llamados desde el exterior del módulo).
Los servicios (mediante llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parámetros en lugares bien definidos, como los registros o la pila, para después ejecutar una instrucción especial de trampa, a veces referida como llamada al núcleo o llamada al supervisor. Esta instrucción cambia la máquina del modo usuario al modo núcleo (también conocido como modo supervisor), y transfiere el control al sistema operativo.El sistema operativo examina entonces los parámetros de la llamada para determinar cual de ellas se desea realizar. A continuación, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que implementa la k-ésima llamada al sistema.
Características de los Sistemas Operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientes características:
Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere.
Relacionar dispositivos. El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
Organizar datos para acceso rápido y seguro.
Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/ Salida de la computadora.
El aspecto más importante de la planificación de trabajo es la capacidad de multiprogramación. Las operaciones descritas previamente para procesos de E/S tienen sus limitaciones, un usuario, no puede en general mantener la CPU o los dispositivos de E/S ocupados todo el tiempo. La multiprogramación es un método para incrementar el empleo de CPU, disponiendo en todo momento de algo que la CPU pueda ejecutar. La idea ea la siguiente, el sistema operativo toma uno de los trabajos de un grupo de ellos y empieza a ejecutarlo, eventualmente el trabajo tendrá que esperar por algún motivo, como por ejemplo para montar una cinta, en un sistema sin multiprogramación la CPU quedaría inactiva
Esta idea es bastante frecuente en otras situaciones, un abogado no tiene un solo cliente en un cierto momento, por el contrario, varios clientes pueden estar en situación de recibir atención al mismo tiempo. Mientras un caso espera para ir a juicio, el abogado puede trabajar en otro caso. Con un número suficiente de clientes un abogado nunca estará ocioso (Los abogados ociosos tienden a convertirse en políticos del PP, por lo que hay interés social en mantenerlos ocupados).
Los sistemas operativos multiprogramados son bastante sofisticados. Tener varios trabajos dispuestos para su ejecución, supone mantenerlos simultáneamente en memoria, y tener varios programas en memoria al mismo tiempo requiere una gestión de la memoria. Además, si hay varios trabajos dispuestos para ejecución, hay que tomar alguna decisión para elegir entre ellos, mediante una planificación adecuada de la CPU. La multiprogramación es el tema central de los sistemas operativos modernos.
Los aspectos fundamentales a considerar son:
Gestión de la memoria
La memoria total del ordenador se ha de compartir de forma adecuada entre todos los programas y datos que en cierto momento tenga cada usuario del equipo.
Planificación de la CPU
Entre todas las tareas demandadas por los usuarios es posible establecer preferencias, lo cual implica que la CPU se planifique dando más tiempo a algunos trabajos o a los usuarios en función de unos niveles de privilegios establecidos.
Control de concurrencia.
El sistema operativo ha de gestionar adecuadamente todos los recursos del ordenador y ordenar la concurrencia de demandas de una forma adecuada. Por ejemplo si varios usuarios solicitan al mismo tiempo el acceso a un disco, se habrá de gestionar de forma correcta esta concurrencia para evitar bloqueos o situaciones impredecibles.
Protección
En un sistema donde acceden muchos usuarios es lógico que exista un sistema de protección que permita asegurar que a los trabajos de uno no pueden acceder los otros usuarios, ya sea por motivos de seguridad (por ejemplo para evitar pérdidas de información) o de confidencialidad.
Abrazo mortal
Es un problema que no se plantea solamente en un entorno de sistemas operativos, sino que puede aparecer en la vida real. Por ejemplo si dos personas han de cruzar un río, saltando entre piedras puestas en él, y con la condición de apoyar un solo pie, se llega al abrazo mortal cuando dos personas empiezan a cruzar desde orillas opuestas y se encuentran en el medio, llega este momento cuando los dos intentan pisar la misma piedra. En general esta situación se produce cuando un sistema consta de un número finito de recursos para distribuir entre un número dado de procesos en competencia.
TIEMPO COMPARTIDO
Cuando se desarrollaron los sistemas por lotes estos se definían por la agrupación de trabajos similares, que sólo permitían el acceso secuencial a la información. Al disponerse de discos, se hizo posible el acceso inmediato a todas las aplicaciones.
Un sistema por lotes tiene algunos inconvenientes, para el usuario, el principal es que los usuarios no pueden interactuar con sus trabajos mientras se están ejecutando, lo cual crea problemas caso de necesitar depurar un programa. Como consecuencia posteriormente a estos sistemas aparecieron los conocidos como interactivos o "hands-on", en los que el usuario da y recibe las instrucciones de forma inmediata. En consecuencia se puede experimentar fácilmente con cualquier programa.
Un sistema operativo de tiempo compartido utiliza la planificación de la CPU y la multiprogramación para dotar a cada usuario de una pequeña parte del ordenador compartido. Un sistema operativo en tiempo compartido permite que muchos usuarios compartan el ordenador. Como cada acción o comando suele ser breve, basta con un tiempo de CPU corto para cada usuario. Dado que el sistema cambia rápidamente entre usuarios, estos tienen la impresión de que cada uno de ellos dispone de su propio ordenador, cuando realmente un solo ordenador es compartido entre muchos usuarios. Esta idea fue expuesta en 1960, pero al ser difíciles de construir estos sistemas, no se difundieron hasta principios de los 70.
TIEMPO REAL
Otro tipo de sistemas son los conocidos como en tiempo real, que se utilizan frecuentemente como dispositivos de control en aplicaciones especializadas. Por ejemplo unos sensores proporcionan datos al ordenador, que los analiza y en consecuencia ajusta unos controles para modificar las entradas al sensor. Ejemplos de este tipo son en aplicaciones científicas, médicas e industriales.
Un caso típico de equipo que funciona bajo tiempo real, es un "controlador miniatura", que consiste en un pequeño ordenador, diseñado en una placa de circuito impreso, que se embebe en una máquina o cualquier otro dispositivo, con finalidad de control. Estos dispositivos se usan en maquinaria de fabricación, comprobación de equipamientos, telecomunicaciones, sistemas de control y seguridad, ventilación y aire acondicionado, monitorización del medio ambiente e investigación científica. Algunos ejemplos reales se citan seguidamente:
Hornos
Control de señales de tráfico
Control de satélites
Equipos musicales
Verificación de componentes de automoción
Control de riego agrícola
Comparado con un PC, un ordenador de este tipo es menor, gasta menos energía y disipa menos calor. La propiedad más importante es que pueden trabajar en ambientes hostiles.
1.5 SISTEMAS OPERATIVOS COMERCIALES
UNIX
Fue diseñado en los laboratorios Bell de la empresa AT&T, para su empleo en ordenadores marca Digital. Dadas sus características pronto se difundió ampliamente en ambientes universitarios, por lo que hasta hace poco tiempo se ha considerado como un sistema operativo orientado hacia ambientes de investigación y no en aplicaciones de gestión. Actualmente está muy difundido en todo tipo de equipos aunque se ha perdido la estandarización habiendo muchas versiones diferentes poco compatibles entre si. Otra versión es el Solaris de la empresa SUN.
Una ventaja sobre otros sistemas operativos es que este sistema es multiusuario, por lo que un equipo admite gran cantidad de terminales trabajando simultáneamente, además de la robustez y seguridad.
LINUX
Linux es básicamente un sistema operativo compatible con UNIX, que opera principalmente bajo equipos compatibles con el estándar del mercado y servidores. Su ventaja principal es que su costo es prácticamente nulo, .
El núcleo fue escrito por Linus Torvalds (1969-), como un sistema operativo abierto y estandar, siendo desarrollado posteriormente por muchos programadores, de forma independiente. El código fuente, gestores de dispositivos y utilidades están disponibles gratuitamente
Actualmente supone una gran competencia para Windows, más que para UNIX, de hecho en el futuro puede desbancarlo, no sólo por ser gratis y disponer de los fuentes, sino por superioridad y más seguridad.
Actualmente diversas administraciones públicas, como por ejemplo la Junta de Andalucía y la de Extremadura, en España, y otras a nivel mundial lo están considerando como estándar, lo cual implicará una amplia utilización en el futuro.
Un grupo de profesores de la Universidad de Murcia, está desarrollando una versión para la enseñanza, denominada CALDUM.
Como ejemplo de la gran difusión del Linux, se tiene el caso de IBM que junto con Citizen crearon un reloj con este sistema operativo y masa inferior a 250 gramos. Comercialmente se conoce como WatchPad, e incluye tecnología de voz y conectividad por infrarrojos. Para interactuar con él es mediante una pantalla táctil de cristal líquido QVGA. También se ha incoprporado a los teléfonos móviles.
A partir del desarrollo inicial de Torvalds se han difundido distintas distribuciones, la que sigue siendo auténticamente libre es Debian, que ha dado lugar al tan conocido Ubuntu. Otras han acabado siendo distribuidas por empresas, aunque sigue siendo libre y descargable gratuitamente de sus páginas web, las ma? conocidas son: RedHat, SuseLinux y Mandriva. Por lo que respecta a usos en la industria, se ha creado "Open Source Automation Development Lab (OSADL)", cuya finalidad es el uso de Linux en los procesos de automatización.
DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS.
La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían.
Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO.
Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra íconos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble clic con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fácil aprender a usar nuevo software una vez aprendido las bases.
Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del
Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar la eficacia del trabajo.
Windows NT: Esta versión de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras.
OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.
Mac OS: Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.
0 comentarios:
Publicar un comentario