Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Tarjeta de video y fuente (1)
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

Category

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Category

  1. 1. I.S.T.E.L.A.MNombre: juan Chonata Materia: sistemas Fecha: 25/10/2012
  2. 2. Arquitectura de Sistema Operativo WindowsInt r oducciónCon el paso de los años se ha producido una evolución gradual de la estructura y capacidades delos Sistemas Operativos. Sin embargo, recientemente se ha introducido un cierto número denuevos elementos de diseño en los nuevos Sistemas Operativos y en las nuevas versiones de losSistemas Operativos existentes. Estos Sistemas Operativos modernos responden a nuevosdesarrollos del hardware y nuevas aplicaciones. Entre estos dispositivos de hardware están lasmáquinas multiprocesador, incrementos enormes de la velocidad de la máquina, alta velocidad enlos enlaces de las redes de comunicación e incremento en el tamaño y variedad de los dispositivosde almacenamiento de memoria. En los campos de aplicación que han influido en el diseño de losSistema Operativos están las aplicaciones multimedia, el acceso a Internet y páginas Web y laejecución cliente/servidor.El porcentaje de cambios en las demandas de los Sistemas Operativos, requiere no solamente lasmodificaciones y mejoras en las arquitecturas ya existentes, sino nuevas formas de organizacióndel Sistema Operativo. Muchos de los diferentes enfoques y elementos de diseño se han probadotanto en Sistemas Operativos experimentales como comerciales, y muchos de ellos encajan dentrode las siguientes categorías
  3. 3. Sist em as Oper at ivos 1_ Arquitectura Micronúcleo. 2_ Multihilos. 3_Multiproceso Simétrico. 4_Sistemas Operativos Distribuidos. 5_Diseño Orientado a Objeto.La mayor parte de los Sistemas Operativos hasta hace poco tiempo se caracterizaban por un grannúcleo monolítico. Gran parte de la funcionalidad que se pensaba debía tener un SistemaOperativo la proporcionaba este gran núcleo, incluyendo planificación, sistema de archivos, redes,controladores de dispositivos, gestión de memoria y muchas cosas más. Normalmente un núcleomonolítico está implementado como un único proceso, con todos sus componentes compartiendoel mismo espacio de direcciones.La arquitectura micronúcleo asigna solamente unas pocas funciones esenciales al núcleo,incluyendo espacios de direcciones, comunicación entre procesos (IPC) y planificación básica.Otros servicios del Sistema Operativo los proporciona procesos, algunas veces llamadosservidores, que se ejecutan en modo usuario y que el micronúcleo trata como a cualquier otraaplicación. Este enfoque desconecta el núcleo y el desarrollo de servidores. Los servidores puedenestar diseñados para aplicaciones específicas o necesidades del entorno. El enfoque delmicronúcleo simplifica la implementación, proporciona flexibilidad y se adapta bien para entornosdistribuidos. En esencia, un micronúcleo interactúa de la misma forma con procesos servidoreslocales y remotos, facilitando la construcción de sistemas distribuidos.Este trabajo intenta abordar la arquitectura del Sistema Operativo Windows y los servicios quecada uno de sus componentes brinda para llevar a cabo cada una de las categorías antesexpuestas.
  4. 4. Visión Gener al de la Ar quit ect ur a de Window s.Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que yatienen una posición privilegiada, en cuanto a resultados, debe tener una serie decaracterísticas que le permitan ganarse ese lugar. Algunas de estas son: Que corra sobre múltiples arquitecturas de hardware y plataformas. Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOS y Microsoft Windows 3.1. Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix). Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo. Sea fácilmente adaptable al mercado global soportando código Unicode. Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez. Sea un Sistema Operativo de memoria virtual.Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft fueel diseño y creación de un Sistema Operativo extensible, portable, fiable, adaptable, robusto,seguro y compatible con sus versiones anteriores (Windows NT).Y para ello crearon la siguiente arquitectura modular:
  5. 5. Arquitectura MicronúcleoEst r uct ur a So Por M icr onúcleo (M icr oker nel)Micronúcleo es un tipo de núcleo de un sistema operativo que provee un conjunto deprimitivas o llamadas al sistema mínimas, para implementar servicios básicos como espaciosde direcciones, comunicación entre procesos y planificación básica. Todos los otros servicios(gestión de memoria, sistema de archivos, operaciones de E/S, etc.), que en general sonprovistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario"Cuando leemos esto asumimos que esta estructura es basada en un núcleo mas pequeño queel núcleo monolítico, tiene operaciones mas básicas en el SO teniendo comunicación con elresto de operaciones faltantes (esto en código maquina).Se basa en una programaciónmodular, aportando así flexibilidad al SO, control de errores mucho mas fácil y rápido, perobajando en rendimiento.El microkernel se encarga de la planificación de hilos (post anterior), no de procesos, estohace posible tener varias tareas (multitarea), siendo así el microkernel el que planifica todo elcódigo que corre en el sistema.Alguna de las tareas que realiza el microkernel son:- Manipulación de las interrupciones en el sistema desde dispositivos físicos.- Manipula excepciones del procesador.- Proporciona soporte para la recuperación de un sistema con alguna falla de caída de energía.La arquitectura de microkernel es complejo, sofisticado pero mas centrado en su que hacerpara el SO, toda acción pasa por el microkernel, lo cual hace a un SO mas seguro que uno SOcon arquitectura kernel monolítico, ya que si el que solicita hacer la acción no posee lospermisos necesarios el microkernel no lo deja hacer nada.
  6. 6. Sistemas Operativos con MicronúcleoEntre los sistemas operativos conMicronúcleo podemos citar:AIXAmigaOSAmoebaMinixHurdNeXTSTEP (algunos lo consideran un núcleohíbrido)L4NetkernelRaOSRadiOSChorusOSQNXSO3SymbianSymbOS
  7. 7. MultihilosM ult ihilosDefinición:Un hilo de ejecución, en sistemas operativos, es una característica que permite a una aplicaciónrealizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten unaserie de recursos tales como el espacio de memoria, los archivos abiertos, situación deautenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar acabo distintas funciones simultáneamente.Multithilo (multithreading en inglés) tienen soporte en hardware para ejecutar eficientementemúltiples hilos de ejecución.El paradigma de multihilo ha llegado a ser más popular a medida que los esfuerzos para llevar másadelante el paralelismo a nivel de instrucción se han atascado desde finales de los años 1990. Estopermitió que re emergiera a una posición destacada el concepto del computación de rendimientoa partir del más especializado campo del procesamiento transaccional: Aunque es muy difícil acelerar un solo hilo o un solo programa, la mayoría de los sistemas de computadores son realmente multitarea entre múltiples hilos o programas. Las técnicas que permitirían acelerar el rendimiento total del procesamiento del sistema en todas las tareas (tasks) darían como resultado un aumento significativo del rendimiento.Las dos principales técnicas para computación de rendimiento son el multiproceso y el multihilo.Una cierta crítica del multihilo incluye: Los múltiples hilos pueden interferir uno con el otro al compartir recursos de hardware como cachés o Translation Lookaside Buffer (TLB). Los tiempos de ejecución de un solo hilo no son mejorados, sino por el contrario, pueden ser degradados. El soporte de hardware para multihilo es más visible al software que el multiprocesamiento, por lo tanto requiriendo más cambios tanto a las aplicaciones como el sistema operativo.Las técnicas de hardware usadas para soportar multihilo a menudo paralelizan las técnicas desoftware usadas para la multitarea de los programas de computadora.
  8. 8. Multiproceso SimétricoM ult ipr oces Sim ét r ico. oExplicación detalladaLa arquitectura SMP (Multi-procesamiento simétrico, también llamada UMA, de Uniform MemoryAccess), se caracteriza por el hecho de que varios microprocesadores comparten el acceso a lamemoria. Todos los microprocesadores compiten en igualdad de condiciones por dicho acceso, de ahí ladenominación "simétrico".Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin importar sulocalización en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden moverfácilmente tareas entre los procesadores para garantizar eficientemente el trabajo.Una computadora SMP se compone de microprocesadores independientes que se comunican con lamemoria a través de un bus compartido. Dicho bus es un recurso de uso común. Por tanto, debe serarbitrado para que solamente un microprocesador lo use en cada instante de tiempo. Si lascomputadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a quelleguen los datos desde la memoria, SMP empeora esta situación, ya que hay varios parados en esperade datos.Conceptos relacionadosArquitectura NumaMultiproceso simétrico, una de las formas más fáciles y baratas de aumentar el rendimiento delhardware es poner más de una CPU en la placa. Esto se puede realizar haciendo que CPU diferentestengan trabajos diferentes (multiproceso asimétrico) o haciendo que todos se ejecuten en paralelo,realizando el mismo trabajo (multiproceso simétrico o SMP). El hacer multiproceso asimétrico requiereun conocimiento especializado sobre las tareas que la computadora debe ejecutar, que no es fácilmentediscernible en un sistema operativo de propósito general como Linux. En cambio el multiprocesosimétrico es relativamente fácil de implementar.En un entorno de multiproceso simétrico, las CPU comparten la misma memoria, y como resultado, elcódigo que corre en una CPU puede afectar a la memoria usada por otra. No se puede estar seguro deque una variable que se ha establecido a un cierto valor en la línea anterior todavía tenga el mismovalor; la otra CPU puede modificar el valor de la variable. No es posible programar algo de esta manera.En el caso de la programación de procesos esto no suele ser un problema, porque un procesonormalmente sólo se ejecutará en una CPU a la vez. El núcleo, sin embargo, podría ser llamado pordiferentes procesos ejecutándose en CPU diferentes.En la versión 2.0.x del núcleo de Linux, esto no es un problema porque el núcleo entero está en un gran`spinlock. Esto significa que si una CPU está dentro del núcleo y otra CPU quiere entrar en él, porejemplo por una llamada al sistema, tiene que esperar hasta que la primera CPU haya acabado. Esto eslo que hace el SMP en Linux; es seguro, pero ineficiente.
  9. 9. Sistemas Operativos DistribuidosSis em as Oper at ivos D is r ibuidos t tLos sistemas operativos distribuidos desempeñan las mismas funciones que un sistema operativonormal, pero con la diferencia de trabajar en un entorno distribuido. Su Misión principal consiste enfacilitar el acceso y la gestión de los recursos distribuidos en la red.En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la mismamanera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entreun conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o endiferentes, lo cual es transparente para el usuario.Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistemase descompone otro componente debe de ser capaz de remplazarlo inmediatamente y no afectar losprocesos del sistema.Características básicasLos sistemas operativos distribuidos están basados en las ideas básicas:• Transparencia• Eficiencia• Flexibilidad• EscalabilidadExisten dos esquemas básicos: Los Fuertemente Acoplados y los débiles. Un sistema fuertementeacoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similarespara todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten nimemoria ni reloj, ya que cada uno cuenta con su memoria local.TransparenciaEl concepto de transparencia de un Sistema operativo distribuido va ligado a la idea de que todo elsistema funcione de forma similar en todos los puntos de la red, debido a esto queda como labor delsistema operativo coordinar el mecanismo que logre la unificación de todos los sistemas y recursostotalmente transparente para el usuario o aplicación.El que el sistema disponga de varios procesadores debe lograr un mayor rendimiento del sistema, peroel sistema operativo debe controlar que tanto los usuarios como los programadores vean el núcleo delsistema distribuido como un único procesador, Es decir que la programación y la ejecución de losprogramas y tareas sean exactamente iguales que las de los sistemas operativos normales en aspectosvisuales y de programación, pero mas rápidos y eficientes por la distribución de la tareas.
  10. 10. Diseño Orientado a ObjetoM odelo de Es r uct ur a de Objet os ( OSM ) tEl OSM es el modelo fundamental que provee un medio uniforme para modelar el sistema desde lacaptura de requerimientos en la etapa inicial del análisis hasta la implementación, atravesando todo elciclo de desarrollo del sistema.Este modelo identifica: las clases de objetos en la aplicación como las clases de objetos se asocian unas con otras como se comunican los objetos los detalles de cada clase de objetos, incluyendo atributos y operacionesDurante el proceso de análisis y diseño, el OSM es definido en sucesivos niveles incrementales dedetalle, hasta que el nivel necesario para la implementación es alcanzado.Todos los demás modelos capturan detalles que alimentan es modelo.El desarrollo de OSM es un proceso aditivo, diferenciándose esto del enfoque transformacionalcaracterístico de otros métodos como el estructurado, donde los DFD del análisis son transformados endiagramas de estructura durante el diseño, con los consiguientes problemas que esto acarrea.Durante el ciclo de desarrollo se aportan los siguientes elementos al modelo: Análisis del Negocio: se reconocen objetos claves del negocio y generan las abstracciones en las clases apropiadas (objetos entidad). Análisis de Requerimientos: se identifican asociaciones estructurales entre objetos y nuevas clases (entidad). Diseño lógico: Se incorporan todas las clases necesarias para la aplicación incluyendo los objetos de interfaz y de control. Diseño Físico: se incorporan todos los detalles remanentes para la implementación física de cada clase de objetos.
  11. 11. Diseño or ient ado a objet osAnálisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería desoftware que modela un sistema como un grupo de objetos que interactúan entre sí.Este enfoque representa un dominio en términos de conceptos compuestos porverbos y sustantivos, clasificados de acuerdo a su dependencia funcional. En estemétodo de análisis y diseño se crea un conjunto de modelos utilizando una notaciónacordada como, por ejemplo, el lenguaje unificado de modelado (UML). ADOO aplicatécnicas de modelado de objetos para analizar los requerimientos para un contexto -por ejemplo, un sistema de negocio, un conjunto de módulos de software - y paradiseñar una solución para mejorar los procesos involucrados. No está restringido aldiseño de programas de computadora, sino que cubre sistemas enteros de distintotipo. Las metodologías de análisis y diseño más modernas son casos de uso guiados através de requerimientos, diseño, implementación, pruebas, y despliegue.Sistemas Operativos hasta hace poco tiempo se caracterizaban por un gran núcleomonolítico. Gran parte de la funcionalidad que se pensaba debía tener un SistemaOperativo la proporcionaba este gran núcleo, incluyendo planificación, sistema dearchivos, redes, controladores de dispositivos, gestión de memoria y muchas cosasmás. Normalmente un núcleo monolítico está implementado como un único proceso,con todos sus componentes compartiendo el mismo espacio de direcciones.La arquitectura Micronúcleo asigna solamente unas pocas funciones esenciales alnúcleo, incluyendo espacios de direcciones, comunicación entre procesos (IPC) yplanificación básica. Otros servicios del Sistema Operativo los proporciona procesos,algunas veces llamados servidores, que se ejecutan en modo usuario y que elMicronúcleo trata como a cualquier otra aplicación. Este enfoque desconecta el núcleoy el desarrollo de servidores. Los servidores pueden estar diseñados para aplicacionesespecíficas o necesidades del entorno. El enfoque del Micronúcleo simplifica laimplementación, proporciona flexibilidad y se adapta bien para entornos distribuidos.En esencia, un Micronúcleo interactúa de la misma forma con procesos servidoreslocales y remotos, facilitando la construcción de sistemas distribuidos.
  12. 12. IMÁGENES
  13. 13. Fin de la presentación GRACIAS

Views

Total views

326

On Slideshare

0

From embeds

0

Number of embeds

2

Actions

Downloads

5

Shares

0

Comments

0

Likes

0

×