Sistema distribuido



Son los sistemas cuyos componentes de hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor.

Los recursos de diferentes máquinas en red se integran de forma que desaparece la dualidad local/remoto. La diferencia fundamental con los sistemas en red es que la ubicación del recurso es transparente a las aplicaciones y usuarios, por lo que, desde este punto de vista, no hay diferencia con un sistema de tiempo compartido. El usuario accede a los recursos del sistema distribuido a través de una interfaz gráfica de usuario desde un terminal, despreocupándose de su localización

Característica

Pera la construcción de un sistema distribuido que se comporte según esperan los usuarios, va a requerir considerar varios conjuntos de características:

En los sistemas distribuidos hay muchas maquinas, cada una con uno o más procesadores centrales. Es decir, si hay M ordenadores en un sistema distribuido con un procesador central cada una entonces hasta M procesos estar ejecutándose en paralelo. En un sistema distribuido que está basado en el modelo de compartición de recursos, la posibilidad de ejecución paralela ocurre por dos razones: Muchos usuarios interactúan simultáneamente con programas de aplicación. Muchos procesos servidores se ejecutan concurrentemente, cada uno respondiendo a diferentes peticiones de los procesos clientes.

Kernel monolítico:Un kernel o núcleo monolítico es un tipo de arquitectura de sistemas operativos donde el sistema operativo completo trabaja en el espacio del núcleo. Por lo tanto es un núcleo grande y complejo donde se concentran todas las funcionalidades del sistema. Un conjunto de primitivas o llamadas de sistema implementan todos los servicios del sistema operativo como la administración de procesos, la concurrencia y la administración de memoria. Los controladores de dispositivos (drivers) pueden se añadidos al kernel (núcleo) como módulos.

Micro Kernel: Un microkernel o micronúcleo es la cantidad de software mínimo que puede proveer los mecanismos que se necesitan para implementar un sistema operativo. Estos mecanismos incluyen administración del espacio de direcciones, administración de procesos y comunicación entre procesos (IPC). El microkernel debe ocupar muy poco espacio, por lo que suelen tener hasta 10 mil líneas de código solamente. Por ejemplo, el kernel de MINIX solo tiene 6 mil líneas de código. Para reducir el kernel, algunas funciones tradicionales del kernel del sistema operativo se ejecutan en el espacio de usuario como ser los controladores de dispositivos, sistema de archivos, pila de protocolos, etc.

Arquitectura de un micro kernel: El patrón de arquitectura Microkernel se aplica a sistemas de Software que deben estar habilitados para adaptarse a requerimientos cambiantes del sistema. Separa un núcleo de funcionalidad mínima de la funcionalidad extendida y de partes específicas al cliente. También sirve como un socket para conectores en estas extensiones y coordinar su colaboración.

Estructura

El patrón Microkernel define cinco tipos de componentes:

Servidores internos

Servidores externos

Clientes

Adaptadores

Microkernel

Requerimientos del usuario

Son declaraciones en lenguaje natural y en diagramas de los servicios que se espera que el sistema provea y de las restricciones bajo las cuales debe operar.

Describen los requerimientos funcionales y no funcionales de tal forma que sean comprensibles por los usuarios del sistema que no posean un conocimiento técnico detallado. Únicamente especifican el comportamiento externo del sistema y evitan, tanto como sea posible, las características de diseño del sistema. Por consiguiente, los requerimientos del usuario no se deben definir utilizando un modelo de implementación. Deben redactarse utilizando el lenguaje natural, representaciones y diagramas intuitivos sencillos.

Sin embargo, pueden surgir diversos problemas cuando se redactan en lenguaje natural: falta de claridad, confusión de requerimientos y conjunción de requerimientos.

Protección Kernell

El núcleo de Windows se diseña para que los controladores de dispositivos tengan los mismos privilegios que el mismo núcleo. Se espera que estos Controladores no modifiquen las estructuras centrales que hay dentro del núcleo. En ediciones x64 de Windows, Microsoft decidió comenzar a endurecer las restricciones para que el núcleo no pudiese parchearse. La tecnología usada se denomina protección contra revisiones del núcleo.

Las modificaciones prohibidas incluyen:

La protección contra revisiones del núcleo sólo previene que se instalen Controladores que lo modifiquen, pero no dispone de protección contra los que modifican a otro Controlador.

Al final, debido a que los Controladores tienen otorgados los mismos privilegios que el núcleo, es imposible prevenir completamente, que los controladores sorteen la protección y lo parcheen.7 Sin embargo, la protección presenta obstáculos significantes contra el parcheo, añadiendo código ofuscado y nombres de símbolos engañosos y usando un sistema de seguridad por oscuridad, para obstaculizar los intentos de sortearla. Las actualizaciones periódicas de la protección también la convierten en un (blanco móvil), porque las técnicas para sortearla, que posiblemente funcionen por un tiempo, probablemente dejarán de funcionar con la próxima actualización del sistema.

Monografias.com

República Bolivariana de Venezuela

Ministerio del poder popular para la educación superior

I.U.P "Santiago Mariño"

Escuela: 47 Sistemas operativos

Ciudad Guayana,febrero del 2017

Profesor:

Yvan Salazar.

 

 

 

Autor:

Alumno - José Muñoz.

C.I 20556084