• No se han encontrado resultados

Estructura Jerárquica.

In document 208006 Sistemas Embebidos I-2010 (página 143-149)

Lección 2: Conceptos Generales sobre Sistemas Operativos.

2. Definición de Sistema Operativo (SO).

3.1.2. Estructura Jerárquica.

En esta misma estructura están basados la mayoría de los sistemas actuales. A medida en que aumentaban las necesidades de los usuarios y se perfeccionaban los sistemas se fue requiriendo una mayor organización y funcionalidad de los sistemas operativos.

En este tipo de estructuras cada parte, contiene subpartes, todas a su vez están organizadas por niveles. Con la estructura jerárquica se divide el SO en pequeñas partes, de tal forma que cada una de ellas se encuentre perfectamente definida y con una interfaz clara con respecto al resto de elementos. El primero de estos SO‟s fue THE (Technische Hogeschool, Eindhoven) su estructura es la siguiente.

Figura 45: Estructura Jerárquica.

La figura 46 muestra otra representación de la estructura jerárquica, que es conocida como la estructura en anillos. En esta cada capa tiene una puerta que permite al nivel inferior comunicarse con el superior, se puede observar que los anillos más centrales son los más protegidos de accesos no deseados desde las capas más externas, de hecho, las capas más internas son las más privilegiadas.

Figura 46: Organización Jerárquica en anillos.

3.1.3. Máquina Virtual. Gestión CPU Gestión de E/S Gestión Memoria Gestión de la información Interprete de Comandos Aplicación de Usuario spool Archivos Entrada/ Salida Comunicaciones Memoria Gestión CPU Hardware Usuarios

Este es un tipo de SO que presenta una interfase para cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estas máquinas virtuales son simulaciones del Hardware con su modo nucleo/usuario, E/S, interrupciones, etc. El objetivo de máquinas virtuales es el de integrar distintos sistemas operativos creando la sensación de tener varias máquinas diferentes. El núcleo de estos SO se denomina monitor virtual y su tarea es llevar a cabo la multiprogramación, mostrando a los niveles superiores tantas máquinas virtuales como se necesiten. Estas máquinas virtuales son una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un SO diferente. ver la figura 47.

Figura 47: Maquina Virtual.

3.1.4. Cliente-servidor (Micro Kernel).

Es el tipo más reciente de sistemas operativos, puede ser ejecutado en la mayoría de las computadoras sin importar su capacidad de procesamiento, Además es un sistema de propósito general y cumple con las mismas funciones que los sistemas operativos convencionales.

El núcleo se encarga de establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes dependiendo de la aplicación. El núcleo sólo provee funciones básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría de servicios a los que el usuario final o programador pueda acceder, de esta forma se brinda mayor flexibilidad al usuario final y a las posibles aplicaciones con las que se trabajará. Estos servidores deben tener mecanismos de seguridad y protección que a su vez, serán filtrados por el núcleo que controla el Hardware. 3.2 Clasificación por Servicios.

En esta clasificación se tiene en cuenta: el número de usuarios, la cantidad de tareas que atiende y el número de procesadores del servidor. Al observar la figura

Hardware Hardware Virtual Linux Windows DOS Usuario Hardware Virtual Hardware Virtual Hardware Virtual Usuario Usuario

48 se observa la clasificación más comúnmente empleada y conocida desde el punto de vista del usuario final.

3.2.1. Mono-usuarios.

Los SO monousuarios son aquéllos que solo soportan a un usuario a la vez, sin importar el número de procesadores que posea el sistema o del número de procesos pueda ejecutar al mismo tiempo. Por ejemplo, los Computadores personales típicamente se encuentran en esta clasificación.

3.2.2. Multi-usuarios.

Estos son capaces de atender a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a una computadora, como los Mainframes o por medio de sesiones remotas en una red, de nuevo, sin importar el número de procesadores ni de tareas simultaneas que puedan ejecutar los usuarios.

3.2.3. Mono-tareas.

Los sistemas mono-tareas solo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multi-usuario y mono-tarea, en el cual se admiten varios usuarios al tiempo pero cada uno de ellos sólo puede realizar una tarea a la vez.

3.2.4. Multi-tareas.

Los sistemas multitarea permiten al usuario realizar varias tareas o procesos; estos procesos permanecen activos, en espera, suspendidos, o se eliminan en forma alternativa, según la prioridad que se les haya concedido, o se pueden ejecutar en forma simultánea. Por ejemplo, un usuario de PC puede estar escribiendo una carta mientras escucha una canción, al tiempo que descarga un archivo, etc. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual simplifica la operación del usuario.

3.2.5. Uni-proceso.

Un SO uni-proceso es aquél que sólo puede manejar un procesador de la computadora, de tal forma que si la computadora dispusiese de más de uno no podría aprovechar todas las capacidades del Hardware. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.

3.2.6. Multi-proceso

La técnica de multiprocesamiento consiste en hacer funcionar varios procesadores en forma paralela para obtener un poder de cálculo mayor que el obtenido al usar un procesador de alta tecnología o al aumentar la disponibilidad del sistema (en el caso de fallas del procesador). Un sistema multi-proceso debe tener capacidad de gestionar la repartición de memoria entre varios procesadores. Además este tipo de sistemas operativos son diseñados para distribuir la carga de trabajo entre los diferentes procesadores. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el SO selecciona uno de los procesadores que funcionará como procesador maestro y se ocupa de distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos se reparten entre los procesadores disponibles, teniendo, teóricamente, la mejor distribución y equilibrio de la carga de trabajo.

3.3. Clasificación por la Forma de Ofrecer Servicios (Visión Externa). Número de usuarios Número de Tareas Número de Proceso Monousuarios Multiusuarios Monotareas Multitareas Uniproceso Multiproceso Simétricos Asimétricos

Esta clasificación corresponde a una visión externa, de cómo el usuario accede a los servicios. Bajo esta clasificación hay dos tipos principales: Sistemas Operativos de Red y Sistemas Operativos Distribuidos.

3.3.1. Sistemas Operativos de Red.

Los sistemas operativos de red tienen la capacidad de interactuar con SOs en otras computadoras a través de un medio de transmisión para intercambiar información. Para poder utilizar esta característica es necesario que el usuario conozca los comandos del SO y la ubicación de los recursos a los que desea acceder.

3.3.2. Sistemas Operativos Distribuidos.

Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos. Por ejemplo, impresoras, unidades de memoria, unidades ópticas, etc. en una sola máquina virtual a la que el usuario accede en forma transparente. De tal forma que el usuario no necesita saber la ubicación de los recursos, sino que los conoce por su nombre y simplemente los usa como si todos ellos fuesen locales a su estación de trabajo.

3.4. Sistemas Fijos.

Los sistemas fijos son sistemas operativos diseñados para funcionar en equipos pequeños, como los asistentes personales digitales (PDA), celulares de nuevas generaciones, dispositivos electrónicos autónomos o con autonomía reducida (sondas espaciales, robots, vehículos con ordenador embebido, etcétera). En consecuencia, una característica esencial de los sistemas fijos es su avanzada administración de energía y su capacidad de funcionar con recursos muy limitados. Los principales sistemas fijos de "uso general" para PDA son los siguientes:

 PalmOS

 Windows CE / Windows Mobile / Window Smartphone 3.5. Sistemas de Tiempo Real (RTOS)

Los sistemas de tiempo real se utilizan principalmente en la industria y son sistemas diseñados para funcionar en entornos con limitaciones de tiempo. Un sistema de tiempo real debe tener capacidad para operar en forma fiable según limitaciones de tiempo específicas; en otras palabras, debe tener capacidad para procesar adecuadamente la información recibida a intervalos definidos claramente (regulares o de otro tipo).

 OS-9.

 RTLinux (RealTime Linux).  QNX.

 VxWorks.

In document 208006 Sistemas Embebidos I-2010 (página 143-149)