Qué arquitecturas utiliza el sistema operativo. msdos,linux,windows95,windows nt,viml 370,bsp vn2x,mach,minix
¿Cómo está organizado el propio sistema operativo? Este es el problema que la arquitectura del sistema operativo quiere resolver. Los sistemas operativos con diferentes arquitecturas tienen diferentes métodos y características de implementación. nHIt3
1 Descripción general de la arquitectura del sistema operativoP Desde la perspectiva del desarrollo de los sistemas operativos, generalmente se utilizan cuatro arquitecturas: %x>To| (1) Arquitectura monolítica. Su esencia es que no existe una estructura. Todo el sistema operativo se compone de varios procesos con ciertas funciones independientes. Los procesos pueden llamarse entre sí según interfaces predeterminadas según sea necesario. Aunque esta estructura es simple, no favorece la expansión de las funciones del sistema operativo. Cuando un programa de usuario solicita un servicio del sistema, se emite una llamada al sistema. En este momento, el estado de funcionamiento del sistema se transfiere del estado de usuario al estado central y luego decide llamar al proceso de servicio del sistema en función de los parámetros. llamada al sistema. Este proceso de servicio del sistema también puede necesitar llamar a varios otros sistemas. Las rutinas de utilidad del sistema pueden completar los servicios solicitados por los usuarios. jl1,o (2) Estructura jerárquica. El sistema operativo está organizado jerárquicamente según ciertos módulos funcionales. La capa más alta es el programa de usuario, la capa más baja es el programa multicanal programado y ejecutado por el procesador y la siguiente capa es la base de las capas adyacentes. definiciones de interfaz entre capas, las interacciones solo ocurrirán entre capas adyacentes. La ventaja de este método organizativo es que facilita el diseño y la implementación del sistema operativo, pero la dificultad es que no es fácil dividir las capas y la eficiencia no es tan buena como otras estructuras. Debido al número de interacciones entre capas adyacentes, la seguridad es difícil de garantizar. Cuando el programa de usuario realiza una llamada al sistema, si solicita un servicio de nivel inferior, la llamada al sistema realizará las llamadas correspondientes capa por capa desde la capa más alta hacia abajo. Cada vez que pase por una capa, los parámetros se volverán a encapsular. hasta que se pueda completar la función, las funciones correspondientes llamadas por la capa finalmente realizan los servicios del sistema. T6> (3) Estructura de la máquina virtual. Esta estructura prefiere una tecnología llamada tecnología de máquina virtual. Se basa en un software central (software o sistema operativo de monitoreo de máquinas virtuales) que se ejecuta en bare metal y proporciona las funciones de las máquinas virtuales hacia arriba. Cada máquina virtual es como una copia del hardware bare metal. Diferentes máquinas virtuales pueden tener diferentes sistemas operativos instalados. Un sistema de este tipo puede tener una mejor compatibilidad y seguridad. Por ejemplo, en aplicaciones de red, siempre que la máquina virtual Java esté instalada, es fácil ejecutar el código de bytes de Java. Cuando una aplicación se ejecuta en una máquina virtual y realiza una llamada al sistema, primero ingresa al estado central de la máquina virtual desde el estado de usuario de la máquina virtual y luego emite una ejecución normal de llamada al sistema al software de monitoreo de la máquina virtual para completar la solicitud de servicio del programa de usuario. Esta es una estructura de kernel basada en red adecuada para el diseño de sistemas operativos distribuidos. También se puede denominar estructura de microkernel en una sola computadora. La idea de esta estructura es minimizar la cantidad de kernels que se ejecutan en modo kernel y ejecutar algunas funciones tradicionales del sistema operativo como procesos de servidor en modo de usuario. El kernel realiza más tareas entre múltiples procesos de servidor y entre procesos de usuario y servidor. procesos. de mensajería. Un sistema de este tipo tiene mejor escalabilidad, portabilidad, confiabilidad y flexibilidad, pero es más lento que un sistema de un solo núcleo debido al tiempo requerido para pasar los mensajes. Cuando el sistema de proceso de usuario llama para solicitar servicios del sistema, el proceso de usuario ingresa al estado central para ejecutarse. En este momento, el kernel envía la solicitud del usuario al proceso del servidor correspondiente en forma de mensaje, y el mensaje lo devuelve el servidor. El proceso al proceso del usuario se envía en forma de mensaje. % Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai - Mi foro, mi mundo qM/]o Los usuarios pueden solicitar directamente los servicios del kernel del sistema operativo a través de llamadas al sistema o llamadas a funciones de biblioteca, es decir, la llamada al sistema La interfaz proporciona soporte para software de alto nivel, mientras que el módulo más bajo del kernel proporciona la interfaz para interactuar con el hardware. Hay dos subsistemas importantes entre estas dos interfaces: control de procesos y gestión de archivos. Además de controlar la creación, bloqueo, cancelación y reactivación del proceso en sí, el subsistema de control de procesos también incluye el nivel superior y el nivel inferior. procesos del proceso, comunicación, programación del procesador, administración de almacenamiento y otros módulos funcionales, además de realizar su propia función de administración de archivos, el subsistema de administración de archivos también incluye un módulo de administración de E / S. O función, también requiere compatibilidad con el controlador de dispositivo correspondiente. Un kernel general de este tipo tiene un espacio de direcciones único. Todo el kernel se ejecuta como un proceso. Todos los módulos funcionales del kernel pueden acceder a todas las estructuras y rutinas de datos internas. Si alguna parte del sistema operativo cambia, se debe reiniciar todo el kernel. , vincular, instalar y reiniciar trae inconvenientes para la expansión y mejora del sistema operativo, especialmente con los cambios y desarrollo de dispositivos de hardware y sistemas de archivos, es aún más inconveniente para el sistema operativo. Este problema es particularmente prominente en los cambios y desarrollo de los sistemas de archivos, lo que hace que la arquitectura del núcleo del sistema operativo deba ajustarse en consecuencia para cumplir con los requisitos de los sistemas operativos modernos. !v|v Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai: Mi foro, mi mundo" enBJb Las imágenes relevantes para este tema son las siguientes: 5oD? . p .Vza XIc4L Haga clic aquí para ver los detalles de la imagen. Los detalles de la imagen se están cargando, espere...
3 Arquitectura Linux-?
Con el continuo desarrollo de los sistemas operativos, el diseño de su kernel también ha sufrido nuevos cambios. Por lo tanto, también han aparecido muchas diferencias en el UNIX tradicional. Entre ellas, Linux es una de las. Sistemas operativos de código abierto con buena representación y amplias perspectivas de desarrollo. Su estructura de kernel se muestra en la Figura 2. Linux, como la mayoría de UNIX, utiliza una arquitectura de kernel única, es decir, la estructura del kernel del sistema y la estructura del kernel de Linux. Como la mayoría de UNIX, todavía utiliza una arquitectura de núcleo único, es decir, un programa grande compuesto por varias partes lógica y funcionalmente diferentes. A diferencia de UNIX, utiliza "módulos" para compensar las deficiencias de un núcleo único puro, este mecanismo es aún más. simplifica el kernel, de modo que el kernel solo incluye funciones como primitivas de sincronización, programación de procesos simples y mecanismos de comunicación entre procesos, mientras que los sistemas de archivos, controladores de dispositivos, etc. Las funciones de la capa superior del kernel se implementan mediante módulos. Aquí, el módulo es un archivo objeto que se puede vincular dinámicamente al kernel en tiempo de ejecución. Por supuesto, también se puede eliminar dinámicamente del kernel una vez que se modifica o extiende el sistema, no es necesario volver a compilar todo el kernel. simplemente modifique o agregue módulos. A diferencia de la arquitectura de microkernel utilizada en Windows 2000, estos módulos no se ejecutan en modo de usuario como procesos independientes, sino que están vinculados estáticamente como otras funciones al kernel y también se ejecutan en el estado del kernel, por lo que no es necesario. Se puede evitar la pérdida de rendimiento causada por la reducción del kernel, ya que el módulo y el kernel se ejecutan en el mismo estado del kernel. ¿En el kernel y qué funciones se implementan en el módulo? En los sistemas Linux, funciones importantes como la administración de procesos y la administración de memoria se implementan en el mismo estado del kernel mediante módulos. Por supuesto, la introducción del mecanismo del módulo también trae algunos problemas. Primero, el núcleo que se ejecuta en el estado central no se puede modificar, por lo que el módulo vinculado al núcleo ocupará una cierta cantidad de memoria y costará una cierta cantidad de sistema. gastos generales, debido a que el módulo vinculado al kernel puede acceder a todos los recursos del kernel, y el módulo puede solicitar las funciones de otros módulos, el kernel finalmente tendrá que mantener las tablas de símbolos y las dependencias de los módulos, los módulos que están vinculados; el núcleo también pasará a ser parte del núcleo y parte del núcleo. Parte del kernel y también puede modificar el kernel, por lo que un uso inadecuado puede provocar un tiempo de inactividad del sistema.
%
Las imágenes relacionadas para este tema son las siguientes: kvgu0%
.W&s3
]r
Haga clic aquí para ver la imagen detalles Espere a leer la información detallada de esta imagen...
309I\Q Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai - Mi foro, Mi mundo E2 Seguridad de la información y sistemas integrados de la Universidad de Nankai. Foro Académico de Laboratorio - Mi Foro, Mi Mundo F
4 Arquitectura Windows 2000 e
Windows 2000 adopta una arquitectura basada en microkernel, microkernel La idea básica de la arquitectura sigue la C Arquitectura /S. Los servicios y aplicaciones más básicos se encuentran en el microkernel, mientras que otros, como controladores de dispositivos, sistemas de archivos, almacenamiento virtual, sistemas de ventanas y sistemas de seguridad, se implementan fuera del kernel. Sin embargo, dado que el microkernel necesita construir, enviar y recibir mensajes y analizarlos, lleva más tiempo que las llamadas al sistema, lo que genera pérdidas de rendimiento. Para resolver este problema, Windows 2000 incluye algunos de los controladores de programas de servicio más críticos. Está implementado en el kernel, por lo que incluso si se agrega el microkernel, se mejorará el rendimiento. Su estructura se muestra en la Figura 3. :'fM& Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai: Mi foro, mi mundo 6To
Las imágenes relacionadas para este tema son las siguientes: +y
V1 p >
$j8
Haga clic aquí para ver los detalles de la imagen Tamaño del archivo 811 KB
yg Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai - Mi foro, yo El mundo de rgL Nankai Foro académico del laboratorio universitario de seguridad de la información y sistemas integrados: mi foro, mi mundo 5T_
En la Figura 3, primero echemos un vistazo a la Figura 3. En la Figura 3, primero vemos el kernel extendido ejecutándose en estado central. Consta de cuatro partes: la primera es el proceso de gestión, que se utiliza para completar las funciones comunes del sistema operativo, como la gestión de almacenamiento, la gestión de procesos y subprocesos, la gestión de E/S, el mecanismo de seguridad y la comunicación entre procesos; el segundo es el kernel, que completa las funciones más básicas del sistema operativo, como la programación de subprocesos, el procesamiento de interrupciones y capturas y la sincronización multiprocesador. Además, también debe proporcionar rutinas y objetos invocables para el software de capa superior (administración). proceso); el tercero es el kernel, que es el kernel extendido en ejecución en estado de kernel. La tercera es la capa de abstracción de hardware, que es responsable de hacer que el kernel y los procesos de administración sean independientes del hardware específico, logrando la independencia de la plataforma de hardware y haciendo que el sistema sea más portátil y compatible. La cuarta es la administración de ventanas y el controlador de gráficos. la cual se encarga de brindar a los usuarios una interfaz gráfica interactiva. Luego, los componentes del sistema que se ejecutan en el estado de usuario: Primero, el proceso de soporte del sistema administra el inicio de sesión y la interacción del usuario. No es un proceso de servicio. Puede interactuar con el proceso de administración que se ejecuta en el estado del kernel a través de algunas interfaces específicas para implementar el sistema. mecanismo de seguridad; el segundo es el proceso de servicio de servicio Win32, que puede programar tareas y algunas aplicaciones de servidor de Windows 2000, como las aplicaciones de servidor MX, como las aplicaciones de servidor MX. Algunas aplicaciones de servidor de Windows 2000, como el servidor MS SQL y el servidor Exchange, incluyen dichos procesos de servicio; el tercero es el proceso de aplicación del usuario, que ejecuta la aplicación en el estado de usuario de acuerdo con las necesidades del usuario; el cuarto es el subsistema de entorno; Una serie de funciones invocables proporcionan servicios del sistema operativo local a las aplicaciones, es decir, para realizar la función de que Windos 2000 puede ejecutar aplicaciones desarrolladas en otros sistemas operativos diferentes, Windos 2000 puede ejecutar las funciones de aplicaciones desarrolladas en otros sistemas operativos diferentes. 2000 carga tres subsistemas ambientales: Win32, POSIX y OS/2, que son independientes de los procesos que se ejecutan en estado de usuario. Además, el subsistema de entorno utiliza la llamada a procedimiento local (L PC) de Windows 2000 para solicitar servicios del kernel para el proceso del usuario, pero prohíbe que las aplicaciones realicen llamadas cruzadas a funciones API de diferentes subsistemas de entorno. Estas implementaciones garantizan la confiabilidad y eficiencia de Windows 2000.
En quinto lugar, el subsistema Win32 también es un proceso independiente que se ejecuta en modo de usuario. Es un subsistema ambiental especial que proporciona muchas bibliotecas de enlaces dinámicos y es la interfaz del sistema proporcionada por el sistema para los procesos de ejecución en modo de usuario para solicitar servicios del sistema. Como se mencionó anteriormente, aunque la arquitectura del kernel de Windows 2000 se ha ampliado en comparación con la arquitectura de microkernel pura, la eficiencia del sistema ha mejorado enormemente y también es mejor que las versiones anteriores en términos de seguridad, confiabilidad, compatibilidad, portabilidad, etc. Se ha mejorado el sistema operativo Windows 2000.