[Sistema operativo] Capítulo uno: Introducción al sistema operativo

Capítulo 1: Introducción a los sistemas operativos

Prefacio

El sistema operativo (sistema operativo, SO) es la primera capa de software configurada en el hardware de la computadora y es la primera expansión del sistema de hardware. Su función principal es administrar estos dispositivos, mejorar su utilización y rendimiento del sistema, y ​​proporcionar una interfaz simple para usuarios y aplicaciones, que es conveniente para los usuarios. El SO es el software de sistema más básico e importante en los sistemas informáticos modernos, mientras que otro software de sistema, como compiladores, sistemas de gestión de bases de datos y una gran cantidad de software de aplicación, dependen directamente del soporte del sistema operativo para obtener los servicios que proporciona. De hecho, el sistema operativo se ha convertido en el software del sistema que debe configurarse en los sistemas informáticos modernos, los sistemas multiprocesador y las redes informáticas.

1. El objetivo y la función del sistema operativo

El objetivo del sistema operativo está relacionado con el entorno de la aplicación. Por ejemplo, el sistema operativo utilizado en el sistema de consulta espera proporcionar una buena interacción persona-computadora; para el sistema operativo utilizado en control industrial, control de armas y entornos multimedia, se requiere que tenga un rendimiento en tiempo real; y para el sistema operativo configurado en el microordenador, lo que es más importante es la conveniencia de su uso.

1.1 Objetivos del sistema operativo

El objetivo principal de configurar el sistema operativo en el sistema informático es:Conveniencia, efectividad, escalabilidad y apertura

  1. Conveniencia

    Un sistema informático sin un sistema operativo es extremadamente difícil de usar. Si los usuarios quieren ejecutar sus propios programas directamente en el hardware de la computadora (bare metal), deben escribir programas en lenguaje de máquina. Pero si el sistema operativo está configurado en el hardware de la computadora, el sistema puede usar comandos de compilación para traducir programas escritos por usuarios en lenguajes de alto nivel a código de máquina, o operar directamente el sistema informático a través de varios comandos proporcionados por el sistema operativo, lo que en gran medida facilita a los usuarios y hace que la computadora sea fácil de aprender y usar.

  2. Eficacia

    El primer significado de eficacia es mejorar la utilización de los recursos del sistema. En los primeros sistemas informáticos sin SO, los procesadores, los dispositivos de E / S, etc., a menudo estaban inactivos y varios recursos no se podían utilizar por completo. Por lo tanto, en ese momento, la mejora de la utilización de los recursos del sistema era la principal fuerza impulsora del desarrollo de SO. Otro significado de eficacia es mejorar el rendimiento del sistema. El sistema operativo puede acelerar la ejecución del programa y acortar el ciclo de ejecución del programa organizando racionalmente el flujo de trabajo de la computadora, mejorando así el rendimiento del sistema.

  3. Escalabilidad

    Para cumplir con los requisitos de hardware, arquitectura y desarrollo de aplicaciones informáticas, el sistema operativo debe tener una buena escalabilidad. La escalabilidad está muy cerca de la estructura del sistema operativo, lo que promueve el desarrollo continuo de la estructura del sistema operativo: desde el principio no estructurado hasta la estructura modular, y luego a la estructura jerárquica, el sistema operativo ha sido ampliamente adoptado en los últimos años. estructura del núcleo. La estructura del micro-kernel puede agregar fácilmente nuevas funciones y módulos, así como modificar las funciones y módulos originales, y tiene una buena escalabilidad.

  4. Franqueza

    La llamada apertura se refiere a la capacidad del sistema para seguir los estándares y especificaciones mundiales, especialmente el estándar internacional OSI para la interconexión de sistemas abiertos. De hecho, todo el hardware y software desarrollado de acuerdo con los estándares internacionales puede ser compatible entre sí y puede interconectarse fácilmente. La apertura se ha convertido en un tema central de la tecnología informática después de la década de 1990, y también es un factor crucial para medir si un sistema o software recientemente lanzado puede ser ampliamente utilizado.

1.2 El papel del sistema operativo

  1. SO como interfaz entre el usuario y el sistema de hardware de la computadora

    El sistema operativo se encuentra entre el usuario y el sistema de hardware de la computadora, y el usuario utiliza el sistema informático a través del sistema operativo. En otras palabras, los usuarios pueden manipular el hardware de la computadora de manera conveniente, rápida y confiable y ejecutar sus propios programas con la ayuda del sistema operativo. La siguiente figura es un diagrama esquemático del sistema operativo como una interfaz. Se puede ver que los usuarios pueden usar la computadora de tres maneras, a saber, a través del modo de comando, el modo de llamada al sistema y el modo de ventana de iconos para comunicarse con el sistema operativo y obtener sus servicios.

    Inserte la descripción de la imagen aquí

  2. OS como administrador de los recursos del sistema informático

    En un sistema informático, generalmente contiene una variedad de recursos de hardware y software. En resumen, estos recursos se pueden dividir en cuatro categorías: procesadores, memorias, dispositivos de E / S y archivos (datos y programas). En consecuencia, la función principal del sistema operativo es administrar de manera efectiva estos cuatro tipos de recursos. La gestión del procesador se utiliza para asignar y controlar los procesadores; la gestión de la memoria es principalmente responsable de la asignación y recuperación de la memoria; la gestión de dispositivos de E / S es responsable de la asignación (reciclaje) y la manipulación de los dispositivos de E / S; la gestión de archivos se utiliza para implementar administración de archivos Acceda, comparta y proteja.

    Además, cuando varios usuarios utilizan un sistema informático al mismo tiempo, los requisitos de muchos usuarios para los recursos compartidos en el sistema (incluida la cantidad y el tiempo) pueden entrar en conflicto. Para ello, el sistema operativo debe autorizar las solicitudes de uso de recursos para coordinar el uso de los recursos compartidos por los usuarios.

  3. El sistema operativo se da cuenta de la abstracción de los recursos informáticos

    Para un sistema informático completamente libre de software (es decir, bare metal), dado que solo proporciona al usuario una interfaz de hardware (interfaz física), el usuario debe tener una comprensión completa de los detalles de implementación de la interfaz física, lo que da como resultado la máquina Difícil de usar ampliamente. Para facilitar a los usuarios el uso de dispositivos de E / S, las personas cubren una capa de software de administración de dispositivos de E / S en el metal desnudo, como se muestra en la figura a continuación, que implementa los detalles de la operación del dispositivo de E / S y abstrae la I Dispositivo / O hacia arriba Es un conjunto de estructuras de datos y un conjunto de comandos de operación de E / S, como comandos de lectura y escritura, para que los usuarios puedan usar estas estructuras de datos, es decir, comandos de operación, para ingresar o enviar datos sin preocuparse por cómo se implementa la E / S.

    Inserte la descripción de la imagen aquí

1.3 La principal fuerza impulsora para promover el desarrollo de sistemas operativos

  1. Mejorar continuamente la utilización de los recursos informáticos.
  2. Fácil de usar
  3. Actualización continua de dispositivos
  4. Desarrollo continuo de la arquitectura informática
  5. Presentar constantemente nuevos requisitos de aplicación.

2. El proceso de desarrollo del sistema operativo

2.1 Sistema informático sin sistema operativo

  1. Manual de operación
  2. Modo de E / S fuera de línea

2.2 Sistema de procesamiento por lotes de un solo canal

2.3 Sistema de procesamiento por lotes de múltiples pasadas

2.4 Sistema de tiempo compartido

2.5 Sistema de tiempo real

2.6 Desarrollo del sistema operativo del microordenador

  1. Sistema operativo de una sola tarea para un solo usuario
  2. Sistema operativo multitarea de un solo usuario
  3. Sistema operativo multiusuario y multitarea

3. Las características básicas del sistema operativo

3.1 Concurrencia

Es la característica que los programas en el sistema se pueden ejecutar al mismo tiempo, de modo que el sistema operativo puede mejorar efectivamente la utilización de recursos en el sistema y aumentar el rendimiento del sistema.

  1. Paralelo y concurrencia

    El paralelismo significa que dos o más eventos ocurren al mismo tiempo; la concurrencia significa que dos o más eventos ocurren en el mismo intervalo de tiempo.

  2. Introduciendo el proceso

    En un sistema que no introduce un proceso, el programa de cálculo y el programa de E / S perteneciente a la misma aplicación solo se pueden ejecutar de forma secuencial, es decir, el programa de E / S puede ejecutarse solo después de que el programa de cálculo haya sido ejecutado. ejecutado por un tiempo; viceversa, cuando el programa ejecuta operaciones de E / S, el programa de cálculo tampoco se puede ejecutar. Pero después de crear un proceso (Proceso) para el programa de cálculo y el programa de E / S, los dos procesos se pueden ejecutar simultáneamente. Si se crea un proceso para varios programas en la memoria, se pueden ejecutar al mismo tiempo, lo que puede mejorar en gran medida la utilización de los recursos del sistema y aumentar el rendimiento del sistema.

3.2 Compartir

  1. Uso compartido mutuamente exclusivo

    Algunos recursos del sistema, como impresoras, unidades de cinta, etc., pueden proporcionarse a múltiples procesos (subprocesos), pero debe estipularse que solo un proceso puede acceder al recurso dentro de un período de tiempo. Por esta razón, se debe establecer un mecanismo en el sistema para garantizar el acceso mutuamente exclusivo a dichos recursos por parte de múltiples procesos.

  2. Acceso simultaneo

    Existe otro tipo de recurso en el sistema que permite que múltiples procesos accedan a ellos "simultáneamente" dentro de un período de tiempo. El llamado "simultáneo" aquí es en un sentido macroscópico en un entorno de un solo procesador, mientras que a nivel microscópico, estos procesos acceden al recurso alternativamente. Un recurso típico al que se puede acceder "simultáneamente" por varios procesos es un dispositivo de disco. Algunos archivos escritos con códigos reentrantes también se pueden compartir "simultáneamente", es decir, permitiendo que varios usuarios accedan al archivo al mismo tiempo.

3.3 Virtual

En el sistema operativo, la función de convertir una entidad física en varias contrapartes lógicas a través de una determinada tecnología se denomina "virtual".

  1. Multiplexación por división de tiempo

    (1) Tecnología de procesador virtual. Utilice la tecnología de diseño de múltiples programas para establecer al menos un proceso para cada programa, lo que permite que se ejecuten múltiples programas al mismo tiempo.

    (2) Tecnología de dispositivo virtual. Virtualice un dispositivo de E / S físico como varios dispositivos de E / S lógicos y permita que cada usuario ocupe un dispositivo de E / S lógico.

  2. Tecnología de multiplexación por división espacial

    Si se dice que la tecnología multiprograma (muy tecnología de multiplexación) es utilizar el tiempo libre del procesador para ejecutar otros programas para mejorar la tasa de utilización del procesador, entonces la tecnología de multiplexación por división de espacio es usar el espacio libre del procesador. memoria para almacenar en áreas y ejecutar otros programas múltiples para mejorar la utilización de la memoria.

3.4 Asincronismo

En un entorno de varios programas, el sistema permite que se ejecuten varios procesos al mismo tiempo. En un entorno de procesador único, debido a que solo hay un procesador en el sistema, solo se permite ejecutar un proceso a la vez, y el resto de los procesos solo pueden esperar.

Para cada proceso en la memoria, cuándo puede hacer que el procesador se ejecute, cuándo se suspende debido a una determinada solicitud de recursos y qué tan rápido avanza el proceso, cuánto tiempo tarda cada programa en completarse, etc., son todos impredecibles . Debido a la diferencia en el rendimiento de cada programa de usuario, es probable que se complete el trabajo que ingresa primero a la memoria y que se complete primero el trabajo que ingresa a la memoria. En otras palabras, el proceso avanza a una velocidad impredecible, que es la naturaleza asincrónica del proceso. No obstante, siempre que se configure un sistema completo de sincronización de procesos en el SO y el entorno operativo sea el mismo, el trabajo obtendrá exactamente el mismo resultado incluso después de varias ejecuciones. Por lo tanto, la operación asincrónica está permitida y es una característica importante del sistema operativo.

4. Las principales funciones del sistema operativo

El objetivo principal de la introducción del sistema operativo es proporcionar un buen entorno operativo para el funcionamiento de programas múltiples, para garantizar que los programas múltiples puedan ejecutarse de manera ordenada y eficiente, y maximizar la utilización de varios recursos en el sistema, que es conveniente para los usuarios. Por esta razón, el sistema operativo tradicional debe tener funciones básicas como administración de procesadores, administración de memoria, administración de dispositivos y administración de archivos. Además, para facilitar a los usuarios el uso del sistema operativo, es necesario proporcionar a los usuarios una interfaz de usuario conveniente.

4.1 Función de gestión del procesador

En el sistema multiprograma tradicional, la asignación y el funcionamiento del procesador se basan en el proceso como unidad básica, por lo que la gestión del procesador se puede atribuir a la gestión del proceso. Las principales funciones de la gestión de procesadores son: crear y cancelar procesos, coordinar el funcionamiento de los procesos, realizar el intercambio de información entre procesos y asignar procesadores a los procesos de acuerdo con ciertos algoritmos.

  1. Control de procesos

  2. Sincronización de procesos

  3. Comunicación de proceso

  4. Planificación

    (1) Programación de trabajos

    (2) Programación de procesos

4.2 Función de gestión de memoria

La tarea principal de la administración de la memoria es proporcionar un buen entorno para el funcionamiento de múltiples programas, mejorar la tasa de utilización de la memoria, hacer que sea conveniente para los usuarios y expandir la memoria de manera lógica. Con este fin, la administración de la memoria debe tener funciones como la asignación y el reciclaje de la memoria, la protección de la memoria, el mapeo de direcciones y la expansión de la memoria.

  1. Asignación de memoria

    Las principales tareas de la asignación de memoria son:

    (1) Asigne espacio de memoria para cada programa, para que "se salgan con la suya".

    (2) Mejore la utilización de la memoria y minimice el espacio de memoria no disponible (fragmentación).

    (3) Permitir que los programas en ejecución soliciten espacio de memoria adicional para satisfacer las necesidades de crecimiento dinámico de programas y datos.

    Cuando el sistema operativo se da cuenta de la asignación de memoria, puede adoptar dos métodos: estático y dinámico:

    (1) Método de asignación estático. El espacio de memoria de cada trabajo se determina cuando se carga el trabajo. Durante todo el período de ejecución posterior a la carga del trabajo, no se permite que el trabajo solicite un nuevo espacio de memoria y no se permite que el trabajo se "mueva" en la memoria .

    (2) Método de asignación dinámica. Aunque el espacio de memoria básico requerido por cada trabajo también se determina en el momento de la carga, permite que el trabajo continúe solicitando nuevo espacio de memoria adicional durante el proceso en ejecución para adaptarse al crecimiento dinámico de programas y datos, y también permite que el trabajo para "mover" en la memoria. ".

  2. Protección de la memoria

    Las principales tareas de la protección de la memoria son: ①Asegurar que cada programa de usuario se ejecute solo en su propio espacio de memoria y no interfiera entre sí. ②Nunca permita que los programas de usuario accedan a los programas y datos del sistema operativo, ni permita que los programas de usuario se transfieran a otros programas de usuario que no se compartan para su ejecución.

  3. Mapeo de direcciones

    En un entorno multiprograma, dado que cada programa se compila y se vincula para formar un programa cargable cuya dirección comienza en 0, es imposible cargarlos en la memoria desde la dirección "0" (física). La dirección en el espacio de direcciones (de cada segmento del programa) no es consistente con su dirección física en el espacio de memoria. Para garantizar que el programa pueda ejecutarse correctamente, la gestión de memoria debe proporcionar una función de mapeo de direcciones, es decir, la dirección lógica en el espacio de direcciones se puede convertir en la dirección física correspondiente en el espacio de memoria. Esta función se completa con el apoyo de hardware.

  4. Expansión de memoria

    La expansión de la memoria no es para expandir la capacidad de la memoria físicamente, sino con la ayuda de la tecnología de almacenamiento virtual para expandir lógicamente la capacidad de la memoria, de modo que los usuarios sientan que la capacidad de la memoria es mucho mayor que la capacidad real de la memoria, de modo que se puedan ejecución simultánea. Esto no solo satisface las necesidades de los usuarios, sino que también mejora el rendimiento del sistema. Para expandir la memoria de manera lógica, el sistema debe configurar un mecanismo de expansión de memoria (que incluya una pequeña cantidad de hardware) para implementar las siguientes funciones:

    (1) Solicitud para llamar en función.

    (2) Función de reemplazo.

4.3 Función de gestión de dispositivos

Las principales tareas de la gestión de equipos son las siguientes:

(1) Complete la solicitud de E / S presentada por el proceso de usuario, asigne el dispositivo de E / S requerido para el proceso de usuario y complete la operación de E / S especificada.

(2) Mejorar la tasa de utilización de CPU y equipos de E / S, mejorar la velocidad de E / S y facilitar a los usuarios el uso de equipos de E / S.

Para lograr las tareas anteriores, la administración de dispositivos debe tener funciones como administración de búfer, asignación de dispositivos, procesamiento de dispositivos y dispositivos de máquina virtual.

  1. Gestión de búfer
  2. Asignación de equipos
  3. Manipulación de equipos

4.4 Función de gestión de archivos

La tarea principal de la administración de archivos es administrar los archivos del usuario y los archivos del sistema para la conveniencia de los usuarios y garantizar la seguridad de los archivos. Con este fin, la administración de archivos debe tener funciones como la administración del espacio de almacenamiento de archivos, la administración de directorios, la administración de lectura / escritura de archivos y el uso compartido y protección de archivos.

  1. Gestión del espacio de almacenamiento de archivos
  2. Gestión de catálogos
  3. Gestión y protección de lectura / escritura de archivos

4.5 La interfaz entre el sistema operativo y el usuario

  1. Interfaz de usuario

    (1) Interfaz de usuario en línea

    (2) Interfaz de usuario sin conexión

    (3) Interfaz gráfica de usuario

  2. Interfaz de programa

    La interfaz del programa está configurada para que los programas de usuario accedan a los recursos del sistema durante la ejecución, y es la única forma de que los programas de usuario obtengan servicios del sistema operativo. Está compuesto por un conjunto de llamadas al sistema y cada llamada al sistema es una subrutina que puede completar una función específica. Siempre que el programa de aplicación requiere que el sistema operativo proporcione un determinado servicio (función), llama a la llamada al sistema (subrutina) con la función correspondiente. Las primeras llamadas al sistema se proporcionaban en lenguaje ensamblador y las llamadas al sistema solo se pueden usar directamente en programas escritos en lenguaje ensamblador.

4.6 Nuevas características de los sistemas operativos modernos

Los sistemas operativos modernos se desarrollan sobre la base de los sistemas operativos tradicionales.Además de las funciones de los sistemas operativos tradicionales, también agrega funciones como orientadas a la seguridad, orientadas a la red y orientadas a la multimedia.

  1. sistema de seguridad

    (1) Tecnología de certificación

    (2) Criptografía

    (3) Tecnología de control de acceso

    (4) Tecnología antivirus

  2. Funciones y servicios de red

    (1) Comunicación de red

    (2) Gestión de recursos

    (3) Interoperabilidad de aplicaciones

  3. Soporte multimedia

    (1) Función de control de admisión

    (2) Programación en tiempo real

    (3) Almacenamiento de archivos multimedia

Diseño de estructura 5.OS

5.1 Estructura del sistema operativo tradicional

  1. Sistema operativo no estructurado

    En el desarrollo inicial del sistema operativo, el diseñador solo centró su atención en la realización de funciones y la obtención de alta eficiencia, y carecía de una idea de diseño coherente. El SO en este momento es una colección de una gran cantidad de procesos. Cada proceso puede llamar a otros procesos arbitrariamente, haciendo que el sistema operativo sea complejo y caótico. Por lo tanto, este tipo de SO no está estructurado, y algunas personas lo llaman La estructura general del sistema.

  2. Sistema operativo de estructura modular

    (1) El concepto básico de tecnología de programación modular

    La tecnología de programación modular es una tecnología de programación estructurada que apareció en la década de 1960. La tecnología se basa en los principios de "descomposición" y "modularidad" para controlar la complejidad del software a gran escala. Para que el SO tenga una estructura más clara, el SO ya no está directamente constituido por numerosos procesos, sino que está cuidadosamente dividido en varios módulos con un cierto grado de independencia y tamaño según sus funciones. La siguiente figura muestra la estructura modular del sistema operativo compuesta por módulos y submódulos.

    Inserte la descripción de la imagen aquí

    (2) Independencia del módulo

    En el método de interfaz de módulo, la cuestión clave es la división de módulos y la provisión de interfaces entre módulos. Si dividimos el módulo demasiado pequeño al dividir el módulo, aunque la complejidad del módulo en sí puede reducirse, provocará demasiadas conexiones entre los módulos, lo que hará que el sistema sea desordenado; si el módulo se divide demasiado grande, Aumentar la complejidad interna del módulo aumenta las conexiones internas Por lo tanto, al dividir el módulo, se debe hacer una compensación entre los dos.

    Dos estándares para medir la independencia de los módulos:

    ① La cohesión se refiere a la cercanía de las conexiones entre las distintas partes del módulo.

    ② El grado de acoplamiento se refiere al grado de conexión e influencia mutua entre módulos.

    (3) Ventajas y desventajas del método de interfaz de módulo

    El sistema operativo desarrollado por el método de interfaz de módulo tiene las siguientes ventajas obvias sobre el sistema operativo no estructurado:

    ①Mejorar la corrección, la comprensibilidad y la facilidad de mantenimiento del diseño del sistema operativo.

    ②Mejora la adaptabilidad del sistema operativo

    ③Acelere el proceso de desarrollo del sistema operativo

    Problemas que aún existen en el diseño de estructuras modulares:

    ①En el diseño del sistema operativo, es difícil cumplir con los requisitos reales para la interfaz una vez que se completa el diseño del módulo.

    ②En la etapa de diseño del SO, el diseñador debe tomar una serie de decisiones (decisiones), y cada decisión debe basarse en la decisión anterior. Sin embargo, en el diseño de estructura modular, el diseño de cada módulo va de la mano, y es imposible encontrar uno confiable. Decidir el orden, lo que resulta en el "desorden" de varias decisiones, lo que dificultará que los programadores tomen "cada paso en la decisión de diseño" se basa en una base confiable, por lo que la interfaz del módulo El método también se denomina "método de módulo desordenado".

  3. SO de estructura jerárquica

    (1) Concepto básico de estructura jerárquica

    Para el módulo: el método de interfaz "determina el orden de" aleatoriedad en el orden de introducción de la estratificación ordenada, la estratificación es una tarea de diseño, el sistema de destino A n- y los sistemas básicos (también conocidos como sistemas host) Entre A 0 , Coloque varios niveles de software A 1 , A 2 , A 3 , ..., A n-1 , de modo que A n pase a través de A n-1 , A n-2 , ..., A 2 , A 1 capa, Y finalmente se puede ejecutar en A 0 . En el sistema operativo, el enfoque de abajo hacia arriba se utiliza a menudo para colocar estas capas intermedias.

    (2) Desventajas de la estructura jerárquica

    Las principales ventajas de la estructura en capas son:

    ① Es fácil garantizar la corrección del sistema.

    ②Fácil de expandir y mantener.

    La principal desventaja de la estructura en capas es la reducción de la eficiencia del sistema. Dado que la estructura jerárquica es jerárquica y unidireccional, es necesario establecer un mecanismo de comunicación entre cada capa. Cada vez que el sistema operativo realiza una función, generalmente atraviesa múltiples capas de arriba a abajo, lo que sin duda aumentará la sobrecarga de comunicación del sistema. , Resultando en una disminución en la eficiencia del sistema.

5.2 Introducción al modelo cliente / servidor

El modelo cliente / servidor puede denominarse modelo C / S para abreviar. Ha sido popular en todo el mundo en la década de 1990, y el modelo cliente / servidor ha sido ampliamente adoptado en los diversos servicios proporcionados por LAN, redes corporativas e Internet.

  1. El origen, composición y tipos del modelo cliente / servidor.

    El sistema cliente / servidor se compone principalmente de tres partes:

    (1) Cliente

    (2) Servidor

    (3) Sistema de red

  2. Interacción cliente / servidor

    (1) El cliente envía un mensaje de solicitud

    (2) El servidor recibe el mensaje

    (3) El servidor devuelve mensajes

    (4) El cliente recibe el mensaje

  3. Ventajas del modelo cliente / servidor

    (1) Procesamiento y almacenamiento distribuidos de datos

    (2) Conveniente para la gestión centralizada

    (3) Flexibilidad y escalabilidad

    (4) Software de aplicación fácil de adaptar

5.3 Introducción a la tecnología de programación orientada a objetos

  1. Conceptos básicos de tecnología orientada a objetos

    La tecnología se basa en los principios de "abstracción" y "ocultación" para controlar la complejidad del software a gran escala. El llamado objeto se refiere a la abstracción de una serie de cosas que tienen las mismas propiedades y obedecen las mismas reglas en el mundo real, y las cosas concretas se denominan instancias de objetos.

  2. Las ventajas de la tecnología orientada a objetos

    (1) Mejorar la calidad y la productividad del producto mediante la "reutilización".

    (2) Haga que el sistema sea más fácil de modificar y expandir.

    (3) Es más fácil garantizar la "corrección" y la "fiabilidad" del sistema.

5.4 Estructura del sistema operativo del microkernel

  1. Conceptos básicos del sistema operativo del microkernel

    (1) grano lo suficientemente pequeño

    En un sistema operativo de microkernel, el kernel se refiere a un kernel pequeño que está cuidadosamente diseñado para realizar las funciones centrales más básicas de un sistema operativo moderno. El microkernel no es un sistema operativo completo, sino que solo coloca las partes más básicas del sistema operativo en el microkernel. Generalmente incluyen: ①partes estrechamente relacionadas con el procesamiento de hardware; ②algunas funciones básicas; ③comunicación entre cliente y servidor. La parte más básica de estos sistemas operativos es simplemente proporcionar una base importante para construir un sistema operativo de propósito general, de modo que pueda asegurarse de que el kernel del sistema operativo se haga pequeño.

    (2) Basado en el modelo cliente / servidor

    Debido a que el modelo cliente / servidor tiene muchas ventajas, el modelo cliente / servidor se adopta casi invariablemente en el sistema operativo de microkernel autónomo, que coloca las partes más básicas del sistema operativo en el kernel y pone el valor absoluto de la operación. sistema en el kernel. La mayoría de las funciones se implementan en un conjunto de servidores (procesos) fuera del microkernel, como un servidor de procesos (subprocesos) que proporciona gestión de procesos (subprocesos), un servidor de memoria virtual que proporciona funciones de gestión de memoria virtual , y E / S de gestión de dispositivos, el servidor de gestión de dispositivos de E / S, etc., se implementan como procesos, se ejecutan en modo de usuario, y el intercambio de información se realiza entre el cliente y el servidor mediante el mecanismo de transferencia de mensajes proporcionado por el microkernel. La siguiente figura muestra el modelo cliente / servidor en un entorno autónomo.

    Inserte la descripción de la imagen aquí

    (3) Aplicar el principio de "separación de mecanismo y estrategia".

    En el diseño estructural actual de los sistemas operativos, el principio de "separación de mecanismo y estrategia" se utiliza a menudo para construir la estructura del sistema operativo. El llamado mecanismo se refiere a la agencia ejecutora específica que realiza una determinada función. La estrategia es utilizar ciertos parámetros y algoritmos en base al mecanismo para lograr la optimización de la función, o para lograr diferentes objetivos funcionales. Por lo general, el mecanismo se encuentra en el nivel básico de un sistema y la estrategia está en el nivel superior del sistema.

    (4) Uso de tecnología orientada a objetos

    El sistema operativo es un sistema de software a gran escala extremadamente complejo. No solo podemos descomponer la complejidad del sistema operativo a través del diseño estructural, sino también controlar la complejidad del sistema basado en el principio de "abstracción" y "ocultación" en el objeto -orientada a la tecnología. Utilice conceptos como "objeto", "encapsulación" y "herencia" para garantizar la "corrección", "fiabilidad", "fácil modificación" y "fácil escalabilidad" del sistema operativo, y mejorar la velocidad de diseño de El sistema operativo.

  2. Funciones básicas del microkernel

    (1) Gestión de procesos (subprocesos)

    (2) Gestión de memoria de bajo nivel

    (3) Procesamiento de interrupción y captura

  3. Las ventajas de los sistemas operativos de microkernel

    (1) Mejorar la escalabilidad del sistema

    (2) Mejorar la confiabilidad del sistema

    (3) Portabilidad fuerte

    (4) Proporciona soporte para sistemas distribuidos.

    (5) Incorporación de tecnología orientada a objetos

  4. Problemas en el sistema operativo del microkernel

    En comparación con los sistemas operativos anteriores, la eficiencia operativa del sistema operativo del microkernel se ha reducido.

    La razón principal de la reducción en la eficiencia es que al completar una solicitud de servicio de un cliente al sistema operativo, es necesario usar mensajes para lograr múltiples interacciones y cambiar entre el modo de usuario / kernel y el contexto varias veces. Sin embargo, en los primeros sistemas operativos, cuando el proceso del usuario solicita el servicio del sistema operativo, normalmente solo necesita cambiar el contexto dos veces: una es cuando el modo de usuario cambia al modo de sistema después de que se ejecuta la llamada al sistema; la otra es cuando el sistema completa la solicitud del usuario. Después del servicio, el estado del sistema vuelve al estado del usuario.

    En el sistema operativo del microkernel, dado que la comunicación entre el cliente y el servidor, y el servidor y el servidor deben pasar por el microkernel, la misma solicitud de servicio requiere al menos cuatro conmutadores de contexto. La primera vez es cuando el cliente envía un mensaje de solicitud al kernel para solicitar un servicio específico del servidor; la segunda vez es cuando el kernel envía el mensaje de solicitud del cliente al servidor; la tercera vez es cuando el servidor completa la solicitud del cliente Más tarde , cuando el mensaje de respuesta se envía al kernel; la cuarta vez es cuando el kernel envía el mensaje de respuesta al cliente.

    La situación real es que a menudo provoca más cambios de contexto. Por ejemplo, cuando un servidor por sí mismo no es capaz de satisfacer las solicitudes de los clientes y necesita la ayuda de otros servidores, como se muestra en la figura siguiente, el servidor de archivos también necesita la ayuda del servidor de disco. En este momento, se requieren 8 cambios de contexto .

    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_50833438/article/details/114792147
Recomendado
Clasificación