Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente del núcleo Z2x

Código fuente del núcleo Z2x

El sistema operativo es la capa superior del hardware básico de toda la arquitectura de la computadora y la primera capa de software es el software central del sistema informático, $X.

Es responsable de gestionar diversos recursos de software y hardware de todo el sistema informático, organizar racionalmente los procesos de trabajo y proporcionar a los usuarios una interfaz cómoda. ¿Dónde está x?

Yao, ¿cómo está organizado el propio sistema operativo? Este es un problema que resuelve la arquitectura del sistema operativo. El costo del sistema operativo de diferentes arquitecturas es de $65,438 + 0 [P

Tiene diferentes implementaciones y características. nHIt3

1 Descripción general de la arquitectura del sistema operativo p

Desde la perspectiva del desarrollo del sistema operativo, generalmente se utilizan cuatro arquitecturas: % x & gt to |

( 1 ) estructura general. Básicamente no hay ninguna estructura. Todo el sistema operativo se compone de varios procesos con ciertas funciones independientes. Estos procesos pueden llamarse entre sí según interfaces predefinidas según sea necesario. Aunque esta estructura es simple, no favorece la expansión de funciones del sistema operativo. Cuando un programa de usuario solicita un servicio del sistema, se genera una llamada al sistema. En este momento, el estado de funcionamiento del sistema cambia del estado de usuario al estado de núcleo, y luego el núcleo determina el proceso de servicio del sistema que se llamará en función de los parámetros de la llamada del sistema. Es posible que este proceso de servicio del sistema también necesite llamar a otras rutinas generales del sistema para completar los servicios solicitados por el usuario. jl1, o

(2) Estructura jerárquica. El sistema operativo está organizado jerárquicamente en función de determinados módulos funcionales. La capa superior es el programa de usuario y la capa inferior es el procesador para programar y ejecutar múltiples programas. La siguiente capa es la base de la capa adyacente de arriba. Existen definiciones de interfaz estrictas entre capas y solo se producen interacciones entre capas adyacentes. La ventaja de este tipo de organización es que favorece el diseño y la implementación del sistema operativo, pero la dificultad radica en la dificultad de dividir cada capa y la eficiencia no es tan buena como la de otras estructuras. Debido a que existen muchas interacciones entre capas adyacentes, es difícil garantizar la seguridad. Cuando el programa de usuario realiza una llamada al sistema, si solicita un servicio de nivel inferior, la llamada al sistema realizará la llamada correspondiente de arriba hacia abajo. Después de cada capa, los parámetros se reempaquetarán hasta que se pueda realizar la llamada de capa de la función correspondiente. completado y finalmente se realizará el servicio del sistema. & amp..` T6 & gt

(3) Estructura de la máquina virtual. Esta estructura está más inclinada a una tecnología, a saber, la tecnología de máquinas virtuales. Basado en el software central (software de monitoreo de máquinas virtuales o un sistema operativo) que se ejecuta en el hardware básico, proporciona las funciones de la máquina virtual. Cada máquina virtual es como una copia del hardware básico. Se pueden instalar diferentes sistemas operativos en diferentes máquinas virtuales. Un sistema de este tipo puede tener una mejor compatibilidad y seguridad. Por ejemplo, en aplicaciones de red, siempre que esté instalada la máquina virtual Java, es muy conveniente 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 transfiere el estado de usuario de la máquina virtual al estado central de la máquina virtual y luego emite una llamada normal al sistema al software de monitoreo de la máquina virtual para que se complete la ejecución. el servicio del programa de usuario. a

(4) Estructura C/S (estructura de micronúcleos). 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 máquina. La idea de esta estructura es minimizar el kernel que se ejecuta en modo kernel y ejecutar algunas funciones tradicionales del sistema operativo como procesos del servidor en modo usuario. El kernel tiene más que ver con la transferencia de mensajes entre múltiples procesos de servidor y entre procesos de usuario y procesos de servidor. Este sistema tiene mejor escalabilidad, portabilidad, confiabilidad y flexibilidad y es más lento que un sistema de núcleo monolítico debido al tiempo requerido para entregar mensajes. Cuando un proceso de usuario emite una llamada al sistema para solicitar servicios del sistema, el proceso de usuario se ejecuta en modo kernel. En este momento, el kernel envía la solicitud del usuario al proceso del servidor correspondiente en forma de mensaje y transmite la información devuelta por el proceso del servidor al proceso del usuario en forma de mensaje. Z\dDrw

El kernel tradicional de UNIX adopta una arquitectura monolítica y se implementa mediante una estructura de módulo. La estructura del kernel se muestra en la Figura 1. ? %

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 realizar solicitudes directas a través de llamadas al sistema o llamadas a funciones de biblioteca El sistema operativo Servicio del kernel, es decir, la interfaz de llamada del sistema proporciona soporte para software de alto nivel y el módulo subyacente del kernel proporciona una interfaz para interactuar con el hardware. Entre estas dos interfaces hay dos subsistemas importantes: control de procesos y gestión de archivos.

Entre ellos, el subsistema de control de procesos no solo controla la creación, bloqueo, cancelación y activación del proceso en sí, sino que también incluye módulos funcionales como comunicación de alto y bajo nivel, programación del procesador y gestión de almacenamiento del proceso. El subsistema de gestión de archivos no solo implementa sus propias funciones de gestión de archivos, sino que también incluye un módulo de gestión de E/S. Por supuesto, para implementar la función de E/S, también se requiere la compatibilidad con el controlador de dispositivo correspondiente. Un núcleo monolítico de este tipo tiene un espacio de direcciones único y todo el núcleo se ejecuta como un único proceso. Todos los módulos funcionales del kernel tienen acceso a todas las estructuras y rutinas de datos internas. Si alguna parte del sistema operativo cambia, se debe recompilar, vincular, instalar y reiniciar todo el kernel, lo que trae inconvenientes para la expansión y mejora del sistema operativo, especialmente a medida que los dispositivos de hardware y los sistemas de archivos cambian y se desarrollan, lo que dificulta la operación. La arquitectura del núcleo del sistema debe implementarse en consecuencia. 4!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 "onBJb"

Las imágenes relevantes para esta pregunta son las siguientes: ¿5oD?

. Vza

XIc4L

Haga clic aquí para obtener detalles de la imagen. Leyendo los detalles de esta imagen, espere. ...

y _G2

Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai Foro académico-Mi foro, mi mundo> aUFwb

Información y sistemas integrados de la Universidad de Nankai Foro Académico del Laboratorio de Seguridad-Mi Foro, Mi Mundo WL {&;& gtP

3 Arquitectura Linux-?

Con el continuo desarrollo de los sistemas operativos se han producido nuevos cambios en el diseño de su núcleo. Por lo tanto, existen muchas versiones diferentes de UNIX tradicional, entre las cuales Linux es uno de los sistemas operativos de código abierto con buena representación y amplias perspectivas de desarrollo. Su estructura central se muestra en la Figura 2. Como la mayoría de UNIX, Linux todavía utiliza una arquitectura de núcleo monolítica. Es decir, es un programa grande compuesto por varias partes con diferentes funciones lógicas. La diferencia con UNIX es que utiliza "módulos" para compensar las deficiencias de un solo núcleo puro, es decir, utiliza un mecanismo de implementación de módulos. Este mecanismo simplifica aún más el kernel y solo incluye funciones como primitivas de sincronización, programación de procesos simples y mecanismos de comunicación entre procesos. Utiliza módulos para implementar funciones como sistemas de archivos y controladores de dispositivos que pertenecen a la capa superior del kernel. & lt

Aquí, un 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 amplía el sistema, no es necesario volver a compilar todo el kernel, solo es necesario modificar o agregar módulos. A diferencia de la arquitectura de microkernel adoptada por Windows 2000, estos módulos no se ejecutan en modo de usuario como procesos independientes, sino que se ejecutan en modo de kernel como otras funciones vinculadas estáticamente al kernel. Esto elimina la necesidad de dedicar el tiempo necesario para la transmisión de mensajes y la correspondiente sobrecarga del sistema en la arquitectura del microkernel, evitando así la pérdida de rendimiento causada por la contracción del núcleo. Dado que el módulo se ejecuta en modo kernel como el kernel, ¿qué funciones se implementan en el kernel y cuáles en el módulo? En los sistemas Linux, funciones importantes como la gestión de procesos y la gestión de la memoria se implementan en el kernel. Varios controladores y sistemas de archivos se implementan mediante módulos. Por supuesto, la introducción del mecanismo modular también traerá algunos problemas. En primer lugar, el kernel que se ejecuta en modo kernel no se intercambiará, por lo que los módulos vinculados al kernel ocuparán una cierta cantidad de memoria y costarán una cierta cantidad de sobrecarga del sistema. En segundo lugar, ya que los módulos vinculados al kernel pueden acceder; todos los recursos del kernel y los módulos Se pueden solicitar funciones de otros módulos, por lo que el kernel debe mantener tablas de símbolos y dependencias entre módulos. Finalmente, los módulos vinculados al kernel también pasarán a formar parte del kernel y el kernel se puede modificar; . Por tanto, un uso inadecuado puede provocar fallos en el sistema. %

Las imágenes relevantes para esta pregunta son las siguientes: kvgu0%

. W & amps3

]r

Haga clic aquí para ver los detalles de la imagen. Leyendo los detalles de esta imagen, espere. ...

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

Información y sistemas integrados de la Universidad de Nankai Foro académico del Laboratorio de seguridad: Mi foro, mi mundo

4 Arquitectura de Windows 2000

Windows 2000 adopta una arquitectura basada en microkernel.

La idea básica de la arquitectura microkernel sigue la arquitectura C/S. Los servicios y aplicaciones más básicos se colocan en el microkernel, y otros como controladores de dispositivos, sistemas de archivos, almacenamiento virtual, sistemas de ventanas, sistemas de seguridad, etc. colocado fuera del kernel para servir Implementado en forma de proceso. Sin embargo, dado que el microkernel debe construir, enviar, recibir y analizar mensajes, lo que lleva más tiempo que realizar una llamada al sistema, su rendimiento también se ve comprometido. Para solucionar este problema, Windows 2000 implementó los controladores de algunos programas de servicios clave en el kernel, añadiendo un microkernel, pero aportando mejoras de rendimiento. Su estructura se muestra en la Figura 3. :' fM & amp

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 relevantes para esta pregunta son las siguientes: +y

V1

j8 USD

Haga clic aquí para ver los detalles de la imagen. El tamaño del archivo es 811 KB.

yg

Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai - Mi foro, mi mundo rgL

Foro académico del Laboratorio de seguridad de la información y sistemas integrados de la Universidad de Nankai - Mi foro, Minecraft 5T_

En la Figura 3, primero observe el kernel extendido que se ejecuta en modo kernel. 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 el sistema operativo. Las funciones más básicas, como programación de subprocesos, manejo de interrupciones y trampas, sincronización multiprocesador, etc. Además, también proporciona rutinas y objetos invocables para el software de la capa superior (proceso de gestión). En tercer lugar, la capa de abstracción de hardware es responsable de hacer que el kernel y los procesos de gestión sean independientes del hardware específico y realizar la independencia de la plataforma de hardware. para que el sistema tenga una mayor portabilidad y compatibilidad, cuarto, la administración de ventanas y los controladores de gráficos son responsables de proporcionar a los usuarios interfaces gráficas interactivas; Luego, los componentes del sistema que se ejecutan en modo de usuario: primero, el sistema admite procesos que administran los inicios de sesión y las interacciones de los usuarios. No es un proceso de servicio, pero puede interactuar con el proceso de administración que se ejecuta en modo kernel a través de algunas interfaces específicas para implementar el mecanismo de seguridad del sistema. En segundo lugar, algunas aplicaciones de servidor en Windows 2000 incluyen procesos de servicio de servicios Win32, que se pueden programar. , como servidor MS SQL, servidor Exchange, etc. En tercer lugar, el proceso de aplicación del usuario, que es un programa de aplicación escrito de acuerdo con las necesidades del usuario y que se ejecuta en modo de usuario. En cuarto lugar, el subsistema de entorno proporciona servicios del sistema operativo local para las aplicaciones a través de una serie de funciones invocables, es decir, se puede utilizar en; Windows 2000 para ejecutar aplicaciones desarrolladas en diferentes sistemas operativos. Windows 2000 carga tres subsistemas ambientales: Win32, POSIX y OS/2, que se ejecutan en modo de usuario como procesos independientes. 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 llamen a funciones API de diferentes subsistemas de entorno. Estas implementaciones garantizan la confiabilidad y eficiencia de Windos 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 múltiples bibliotecas de enlaces dinámicos y es la interfaz del sistema proporcionada por el sistema para que los procesos de ejecución en modo de usuario soliciten 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 la seguridad, confiabilidad, compatibilidad y portabilidad también se comparan con las del sistema operativo anterior a Windows 2000. ha sido mejorado.