Trabajo De Los Sitemas Operativos
jhonnylrd26 de Octubre de 2014
3.030 Palabras (13 Páginas)275 Visitas
Características de los sistemas operativos
Otra característica que lo hace peculiar
Lo hace peculiar es que con cierta frecuencia pierde el control sobre el procesador y debe esperar a disponer de él.
Desde este punto de vista el procesador no es más que otro programa del computador que el procesador no distingue del resto. La gran diferencia está en la finalidad, ya que la CPU dedicara parte de su tiempo a ejecutar otros programas según lo planifique el sistema operativo y también controla el acceso a los otros recursos del sistema. Sin embargo, este requiere que el propio sistema operativo ceda el control del procesador a otra “tarea” y cuando posteriormente lo recupera otra vez, debe preparar la siguiente tarea que va a ejecutar en el procesador.
Importancia:
Su principal importancia radica en que el S.O. debe:
Optimizar todos los recursos del sistema para soportar los requerimientos
1) Proporcionar una maquina virtual cara a los usuarios y a las aplicaciones, que resulte más fácil de programar y de utilizar.
2) Ser un gestor de los recursos de la maquina.
Ofreciendo con ello comodidad a los usuarios: el S.O. hace que el computador sea más fácil de utilizar, gestionando los recursos del sistema en una forma más eficaz.
Funciones:
1) Creación de programas: existen otros programas del sistema, como son los depuradores, los editores y los enlazadores, que no son parte del sistema operativo, pero que son accesibles a través de él.
2) Ejecución de programas: para poder ejecutar un programa se tiene que realizar una serie de funciones previas, tales como cargar el código y los datos en la memoria principal, inicializar los dispositivos de E/S y reparar los recursos necesarios para la ejecución. Todo eso lo gestiona el sistema operativo.
3) Operaciones de entrada/salida: un programa puede requerir una operación de E/S sobre un periférico. Pero cada uno tiene sus peculiaridades y un controlador especifico con su conjunto de instrucciones. Como en el ejemplo del controlador de la disquetera anterior, es el propio sistema operativo el encargado de hacer todas esas funciones que permiten la lectura, escritura y comunicación con los periféricos.
4) Manipulación y control del sistema de archivo: además de comunicarse con el controlador del periférico en donde está el sistema de archivos, el sistema operativo debe conocer la propia estructura (formato) de almacenamiento y proporcionar los mecanismos adecuados para su control y protección.
5) Detección de errores: hay una gran cantidad de errores tanto del hardware como del software, que pueden ocurrir. Por ejemplo: un mal funcionamiento de un periférico, fallos en transmisión de los datos, errores de cálculo en un programa, divisiones por cero, rebose fallos de la memoria, violaciones de permisos, entre otros. El sistema operativo debe ser capaz de detectarlos y solucionarlos o por lo menos hacer que tengan el menor impacto posible sobre el resto de las aplicaciones.
6) Control del acceso al sistema: en sistemas acceso compartido o en sistemas públicos, el sistema operativo debe controlar al acceso al mismo, vigilando quien tiene acceso y a qué recursos. Por este motivo tiene que tener mecanismos de protección de los recursos e implementar una adecuada política de seguridad, de forma que no pueda acceder quien no esté autorizado. Debido a la gran conectividad que tiene hoy día los sistemas informáticos, este es un aspecto que cada vez está teniendo mayor interés.
7) Elaboración de informes estadísticos: resulta muy conveniente conocer el grado de la utilización de los recursos y de los distintos parámetros del sistema, como el tiempo de respuesta. De esta forma se dispone de información que permite saber con antelación las necesidades futuras y configurar al sistema para dar el mejor rendimiento.
Estructuras de los sistemas operativos
Los sistemas operativos han ido creciendo llegando a un tamaño tan vasto y complejo, que su construcción debe hacerse con cuidado para que funcionen correctamente y puedan modificarse con facilidad.
Un sistema tan grande solo se puede construir si se particiona en componentes más pequeños. Aunque no todos los sistemas operativos tienen la misma estructura, es bastante usual dividirlos en el siguiente conjunto de componentes básicos:
1) Gestor de procesos.
2) Gestor de la memoria principal.
3) Gestor del almacenamiento secundario y del sistema de archivos.
4) Gestor del sistema de E/S.
5) Sistema de protección.
6) Sistema de comunicación.
7) Interprete de órdenes.
Algunos de estos componentes se suministran como programas de utilidades, más que como un componente propio del sistema operativo. Es el caso del intérprete de ordenes de UNIX, denominado Shell, que es un programa de utilidad que puede cambiarse hasta por uno que lo haya diseñado el propio usuario.
Una de las primeras estructuras que se consideraron fue la de hacer sistemas monolíticos (son aquellos sistemas que no tienen una estructura bien definida) que es un caso que se da en muchos sistemas operativos. Un ejemplo bien conocido es el de MS-DOS, que se diseño sin pensar ni siquiera remotamente en la popularidad que alcanzaría y en las capacidades del hardware en el que llegaría a ejecutarse. Comenzó como un sistema pequeño y ha sobrepasado el campo inicial de su aplicación.
En una estructura de este tipo, el sistema operativo se puede construir compilando por separado los diferentes procedimientos que lo constituyen y enlazándolos después en un único archivo. La primera versión de UNIX poseía también una estructura de ese tipo, con dos partes separadas: el núcleo y los programas del sistema.
Estos sistemas tenían un diseño de estructura modular, sin embargo para grandes sistemas operativos, de cientos de miles o de millones de líneas de código, la modularidad solamente no es suficiente y se ha ido impidiendo la utilización de conceptos tales como los niveles jerárquicos y abstracción de la información.
TIPOS DE SISTEMAS OPERATIVOS
En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visión externa).
1) Sistemas Operativos por su Estructura
Según [Alcal92], se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:
• Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.
• Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.
a) Estructura monolítica:
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra . Las características fundamentales de este tipo de estructura son:
• Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.
• Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.
• Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.
Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.
b) Estructura jerárquica
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos.
Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos . Se puede pensar también en estos sistemas como si fueran `multicapa’. Multics y Unix caen en esa categoría.
En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concéntricos o “rings”.
En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas más internas del sistema operativo o núcleo del sistema estarán más protegidas de accesos indeseados desde las capas más externas. Las capas más internas serán, por tanto, más privilegiadas que las externas.
2.1.3 Máquina Virtual.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente.
...