[Sistema operativo] 1. Descripción general

Qué es el sistema operativo

El sistema operativo se refiere al control y la gestión de los recursos de hardware y software de todo el sistema informático, y la organización y programación racionales del trabajo informático y la asignación de recursos para proporcionar a los usuarios y otro software una interfaz y un entorno convenientes. Es el más básico sistema informático Software del sistema.

La función y el propósito del sistema operativo.

  1. Como un sistemaRecursosGerente de:

    • Gestión del procesador: se procesa el programa correspondiente y se procesa la CPU
    • Gestión de la memoria: ponga los datos relacionados con el programa en la memoria.
    • Gestión de archivos: abra la carpeta nivel por nivel y busque la ubicación del archivo ejecutable QQ.exe
    • Gestión de dispositivos: asigne cámaras a procesos
  2. ComoHardware de usuario y computadoraentre interfaz:

    • Interfaz de comando : Permitir que los usuarios utilicen directamente
      • Interfaz de comando en línea: interactivo, es decir, ingrese una oración y ejecute una oración. Ejemplo: modificar la hora del sistema
      • Interfaz de comando fuera de línea: procesamiento por lotes, es decir, ingrese un grupo y ejecute un grupo. Ejemplo: archivo * .bat (lista de comandos)
    • Interfaz de programa: Archivo * .dll, los usuarios solo pueden usarlo indirectamente a través del programa, compuesto por un conjunto de llamadas al sistema, es decir, interfaz del programa = llamada al sistema
    • Interfaz gráfica de usuario GUI
  3. Como nivel más cercano al hardware:

    • Necesidad de proporcionar funciones y objetivos: lograr la máquina de hardwareexpandir
    • La instalación del sistema operativo en el bare metal puede proporcionar funciones de gestión de recursos y funciones de servicio fáciles de usar.
    • Llamamos a la máquina cubierta con el software una máquina de expansión, también conocida como máquina virtual.

Características del sistema operativo

  1. Concurrencia: Dos o más eventos ocurren en el mismo intervalo de tiempo,

    • Al mismo tiempo, macroscópicamente, ocurre alternativamente a nivel microscópico.
    • Confusión: dos o más eventos paralelos ocurren al mismo tiempo
  2. Intercambio: Uso compartido de recursos, lo que significa que los recursos del sistema pueden ser utilizados por varios procesos que se ejecutan simultáneamente en la memoria.

    • Modo de uso compartido mutuamente excluyente: solo un proceso puede acceder a los recursos en un período de tiempo
    • Al mismo tiempo compartir: permitir un período de tiempo para que múltiples procesos simultáneamente (macro) accedan a ellos
      - la relación entre compartido y concurrente: la presencia mutua
      para compartir se refiere a los recursos del sistema memoria disponible en múltiples procesos concurrentes Uso simultáneo, y concurrencia se refiere a la existencia simultánea de múltiples programas en ejecución en un sistema informático. Por lo tanto, si se pierde la simultaneidad, solo hay un programa ejecutándose en el sistema y el uso compartido perderá su significado. Si se pierde el uso compartido, QQ y WeChat no pueden acceder a los recursos del disco duro al mismo tiempo, es decir, Es imposible enviar archivos al mismo tiempo y no se puede realizar el paralelismo.
  3. Virtualidad: Convierte una entidad física (existencia real) en varias contrapartes lógicas (percibidas por el usuario)

    • Tecnología de multiplexación por división espacial: como la tecnología de memoria virtual
    • Tecnología de multiplexación de espacio-tiempo: como procesador virtual
  4. Asincronía: Se refiere a un entorno multiprograma que permite la ejecución simultánea de varios programas. Sin embargo, debido a los recursos limitados, la implementación del proceso no es consistente hasta el final, sino que se detiene y avanza, y avanza en una dirección impredecible.

  • Si se pierde la concurrencia, solo hay un programa ejecutándose en el sistema, es decir, la virtualidad pierde su significado y es imposible causar asincronía.

Etapa de desarrollo del sistema operativo

  1. Etapa de operación manual :

    • Desventajas: la carga manual de la cinta de papel es lenta, la velocidad de entrada y salida de la cinta de papel es lenta y la contradicción entre la velocidad del hombre y la máquina es grande.
  2. Etapa de procesamiento por lotes, sistema de procesamiento por lotes de una sola pasada :

    • Introduzca tecnología de entrada y salida fuera de línea (implementada por cinta) y use un programa supervisor (el prototipo del sistema operativo) para controlar la entrada y salida del trabajo.
    • Ventajas: aliviar la contradicción entre hombre y máquina
    • Desventajas: Solo se puede ejecutar un programa en la memoria (serie) y la CPU tiene mucho tiempo para esperar a que se complete la E / S.
  3. Etapa de procesamiento por lotes——Sistema de procesamiento por lotes de múltiples pasadas

    • Cada vez que ingresa múltiples programas en la memoria, el sistema operativo nace oficialmente, introduciendo la tecnología de interrupción, y el sistema operativo es responsable de administrar el funcionamiento de estos programas. Cada programa se ejecuta al mismo tiempo y comparte recursos informáticos.
    • ventaja:Aumento significativo en la utilización de recursos, La CPU y otros recursos están ocupados durante mucho tiempo.
    • Desventajas: el tiempo de respuesta del usuario es largo, no hay una función de interacción persona-computadora, el usuario solo puede esperar a que la computadora complete el trabajo después de enviar el trabajo.
    • Se mejora la eficiencia en la utilización de recursos del procesamiento por lotes de múltiples procesosla razón: Los dispositivos de entrada y salida puedenparalelaEn lugar de trabajar en serie, el dispositivo tiene más tiempo para estar ocupado.
      Inserte la descripción de la imagen aquí
      Tecnología de procesamiento por lotes de múltiples pasadas
  4. Sistema operativo de tiempo compartido :

    • Computadora conPorción de tiempoComo unidad, atienda a cada usuario / trabajo por turno, y cada usuario puede interactuar con la computadora a través del terminal.
    • Ventajas: las solicitudes de los usuarios se pueden responder a tiempo,Resuelto el problema de interacción humano-computadora. Permita que los usuarios usen una computadora al mismo tiempo.
    • Desventajas: Algunas tareas urgentes no se pueden procesar primero. Es justo para todos los usuarios y trabajos. Sirve un intervalo de tiempo para cada usuario y trabajo de forma cíclica, sin distinguir la urgencia de la tarea.
  5. Sistema operativo en tiempo real :

    • Ventajas: Capaz de responder primeroTarea urgente, Algunas tareas no requieren colas de intervalos de tiempo. El sistema informático puede procesar a tiempo después de recibir la señal externa, y el evento debe procesarse dentro de un límite de tiempo estricto. Las principales características son la puntualidad y la fiabilidad.
    • clasificación:
      • Sistemas duros en tiempo real: el procesamiento debe completarse dentro de un límite de tiempo absolutamente estricto, como los sistemas de control de misiles y los sistemas de piloto automático.
      • Sistema suave en tiempo real: puede aceptar infracciones ocasionales de las regulaciones de tiempo, como el sistema de emisión de boletos de tren.
  6. Sistema operativo de red : para
    realizar el intercambio de varios recursos en la red y la comunicación entre computadoras.

  7. Sistema operativo distribuido : la
    característica principal es la distribución y el paralelismo. Cada computadora en el sistema tiene el mismo estado, y cualquier trabajo se puede distribuir en estas computadoras, y pueden completar esta tarea en paralelo y de manera cooperativa.

  8. Sistema operativo de computadora personal :
    como Windows XP, Mac OS, conveniente para uso personal.

Mecanismo operativo del sistema operativo

¿Qué son las instrucciones?
Una traducción de código de lenguaje de alto nivel puede corresponder a varias instrucciones. En
pocas palabras, las instrucciones son los comandos más básicos que la CPU del procesador puede reconocer y ejecutar. Por ejemplo, una instrucción de suma permite que la CPU realice una operación de suma.

  1. Nuevo problema: algunas instrucciones tienen una autoridad muy alta, como la instrucción de borrado de memoria, si se puede usar el programa de usuario, será muy peligroso, por lo que está divididoDos instrucciones
    • Instrucciones privilegiadas : como instrucciones para borrar la memoria, los programas de usuario no pueden usar
    • Instrucciones no privilegiadas : como las instrucciones aritméticas ordinarias
  2. Nueva pregunta: ¿Cómo juzga la CPU si puede ejecutar instrucciones privilegiadas actualmente?Dos estados de procesador
    • Modo de usuario ( modo de destino) La CPU solo puede ejecutar instrucciones sin privilegios en este momento
    • El estado central ( estado de administración) puede ejecutar instrucciones privilegiadas e instrucciones no privilegiadas
    • Estos dos estados se identifican mediante un indicador determinado en el registro de palabras de estado del programa (PSW).
  3. Entonces el sistema informáticoHay dos procedimientos
    • Programa Kernel : Es el administrador del sistema, puede ejecutar instrucciones privilegiadas o no privilegiadas y ejecutarse en el estado central.
    • Secuencia de la aplicación : para garantizar un funcionamiento seguro del sistema, las aplicaciones normales pueden ejecutar instrucciones sin privilegios para ejecutarse en modo de usuario.

Kernel del sistema operativo

Entonces, ¿qué funciones del sistema operativo debería implementar el programa del kernel ?

  • El kernel es el software subyacente configurado en la computadora y es la parte más básica y central del sistema operativo. (esencial)
  • Los programas que implementan las funciones del kernel del sistema operativo son programas del kernel.
  • Kernel del sistema operativo
    1. versushardwareMódulos relativamente relacionados:
      • Gestión del reloj: realice la función de temporización
      • Manejo de interrupciones: responsable de implementar el mecanismo de interrupción
      • Primitivo:
        • Es un programa especial
        • En la parte inferior del sistema operativo, la parte más cercana al hardware
        • El funcionamiento de este tipo de programa es atómico: su funcionamiento se realiza de una vez y no se puede interrumpir.
        • Tiempo de ejecución corto y llamadas frecuentes.
    2. Al sistemaRecursosFunción de gestión: (algunos sistemas operativos no clasifican esta parte de la función como "función del kernel", es decir, diferentes sistemas operativos tienen diferentes divisiones de funciones del kernel)
      • Gestión de proceso
      • Gestión de la memoria
      • Gestión de equipos

Arquitectura del sistema operativo

  • Generalmente se divide en dos tipos: estructura de núcleo grande y estructura de micro kernel:
  1. Estructura de núcleo grande
    • Los principales módulos funcionales del sistema operativo se consideran el núcleo del sistema, que se ejecuta en el estado central.
    • Ventajas: alto rendimiento
    • Desventajas: el código del kernel es enorme, la estructura es caótica y es difícil de mantener
  2. Estructura de microkernel
    • Mantenga solo las funciones más básicas en el kernel
    • Ventajas: menos funciones de kernel, estructura clara, fácil mantenimiento
    • Desventajas: es necesario cambiar con frecuencia entre el modo principal y el modo de usuario, bajo rendimiento

Inserte la descripción de la imagen aquí

Analogía:
sistema operativoArquitecturaversusProblemas de gestión empresarialsimilar

  • El núcleo es la gestión de la empresa, responsable de algunas tareas importantes. Solo la gerencia puede ejecutar instrucciones privilegiadas, y los empleados comunes solo pueden ejecutar instrucciones no privilegiadas El cambio entre el modo de usuario y el modo central es equivalente al traspaso de trabajo entre los empleados comunes y la gerencia.
  1. Gran núcleo: cuando se funda una empresa, el tamaño es pequeño y el personal de gestión será responsable de la mayoría de las cosas. La ventaja es que hay poca gente y la eficiencia es alta. La desventaja es que la organización es caótica. Es difícil determinar quién es responsable de los problemas y es difícil de mantener.
  2. Microkernel: el tamaño de la empresa es cada vez más grande, y la administración solo es responsable del trabajo principal. La ventaja es que la estructura organizativa es clara y fácil de mantener. La desventaja es que la eficiencia es baja. Cuando los empleados realizan algún trabajo, no tienen autoridad y necesitan aplicar y traspasar continuamente.

Interrupciones y excepciones

  1. El nacimiento del mecanismo de interrupción :
    • Cada programa de la primera computadora solo se podía ejecutar en serie y la tasa de utilización de los recursos del sistema era baja.
    • Para resolver los problemas anteriores, se inventó el sistema operativo, se introdujo el mecanismo de interrupción y se realizó la ejecución concurrente de múltiples programas.
    • Esencia: Una interrupción significa que el sistema operativo necesita intervenir para llevar a cabo el trabajo de gestión.
  2. El concepto y la función de la interrupción
    • cuandoCuando ocurre una interrupción, La CPU entrará inmediatamente en el estado de núcleo para que el núcleo del sistema pueda hacerse cargo del trabajo
    • cuandoDespués de la interrupción, El proceso que se está ejecutando actualmente está suspendido y el kernel del sistema operativo maneja la interrupción
    • Las diferentes señales de interrupción (como: conmutación de procesos, asignación de dispositivos de E / S, etc.) se procesarán de manera diferente
  • Una interrupción significa que el sistema operativo debe intervenir. Debido al sistema operativoEl trabajo de gestión requiere el uso de instrucciones privilegiadas.Por lo tanto, la CPU debe ingresar al estado central para permitir que el sistema operativo obtenga el control de la computadora. Con las interrupciones, se puede realizar la ejecución simultánea de múltiples programas .

Pregunta restante: ¿Cómo cambiar entre el modo de usuario y el modo de núcleo?
Respuesta:
modo de usuario—> modo de núcleo: síInterrumpirLogrado. yLa interrupción es la única forma.
Modo de núcleo—> Modo de usuario: el interruptor esEjecutar un comando privilegiado, Establezca el bit de bandera de la palabra de estado del programa (PSW) en "modo de usuario"

  1. Clasificación de interrupciones

    • Interrupción internaanormal, Excepción detectada) Fuente de señal: interna de la CPU y relacionada con la instrucción que se está ejecutando actualmente .
      • Interrupción voluntaria-interrupción de instrucción: Por ejemplo, la instrucción de control de acceso (también llamada instrucción trap) usada en llamadas al sistema es una excepción intencional.
      • Interrupción forzada
        • Fallo de hardware: como páginas faltantes
        • Interrupción de software: como dividir un número entero entre 0
    • Interrupción externaInterrumpir) Fuente de la señal: fuera de la CPU , no tiene nada que ver con la instrucción actualmente ejecutada
      • Solicitud de periférico: como la señal de interrupción emitida después de la finalización de la operación de E / S
      • Intervención manual: si el usuario finaliza un programa a la fuerza
  2. Procesamiento de interrupciones externas

    1. Después de ejecutar cada instrucción, la CPU debe verificar si actualmente está interrumpida por una señal externa
    2. Si se detecta una señal de interrupción externa, necesitaproteccionDel proceso interrumpidoEntorno de CPU(Archivo) (como palabra de estado del programa, contador de programa PC, varios registros generales)
    3. de acuerdo aTipo de señal de interrupciónTransferir al manejador de interrupciones correspondiente
    4. Restaurar el entorno de la CPU del proceso original y salir de la interrupción, volver al proceso original para continuar con la ejecución.
      Inserte la descripción de la imagen aquí

Llamada al sistema

  • La llamada al sistema la proporciona el sistema operativo parasolicitudLa interfaz utilizada por (programadores / programadores) puede entenderse como una función especial a la que puede llamar el programa de aplicación, que puede emitir una solicitud de llamada al sistema para obtener el servicio del sistema operativo .La llamada al sistema hará que la CPU del procesador ingrese al estado central desde el modo de usuario
    Inserte la descripción de la imagen aquí

¿Por qué el sistema operativo proporciona funciones de llamada al sistema?
Escenario de vida:
en una imprenta, cuando su documento está a la mitad, otra persona también imprime su documento en la computadora y hace clic para imprimir, pero la segunda mitad de su documento no se mezcla con su documento. Esto se debe a que el sistema proporciona una función de llamada al sistema.
Si un proceso de usuario desea utilizar un recurso compartido, como una impresora, solo puede enviar una solicitud al sistema operativo a través de una llamada al sistema, y ​​el sistema operativo coordinará y administrará cada solicitud.

  • Cada uno en el sistemaCompartir recursoTodos los sistemas operativos están bajo control unificado, por lo que en el programa de usuario,Todas las operaciones relacionadas con los recursos(Como asignación de almacenamiento, operación de E / S, administración de archivos),Debe ser llamado por el sistemaSolicite servicios al sistema operativo, y el sistema operativo lo completará en su nombre . Esto puede garantizar la estabilidad y seguridad del sistema y evitar que los usuarios realicen operaciones ilegales.

  • El procesamiento relacionado con las llamadas al sistema implica la gestión de los recursos del sistema y el control de los procesos . Estas funcionesNecesita ejecutar algunas instrucciones privilegiadasPuede completarse, por lo que el procesamiento relacionado de la llamada al sistema debe serEstado centralCompletar.

  • La verdad detrás de la llamada al sistema :
    Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

  • proceso:
    1. Pasar la instrucción movl de los parámetros de llamada del sistema
    2. Ejecute la instrucción atrapada (ejecute en modo de usuario), ingrese al modo de núcleo inmediatamente después de ejecutar
    3. Ejecutar el programa de servicio de la aplicación relacionado con la llamada del sistema (que se ejecuta en el estado central)
    4. Regresar al programa de usuario
  • Nota:
    1. La instrucción de la trampa esEjecutar en modo usuario, Inmediatamente después de que se complete la ejecución, unInterrupción interna, Para que la CPU entreEstado central
    2. asunto(Ocurre) La solicitud de llamada al sistema está enModo de usuario, Y la llamada al sistemaTratar conEs enEstado centralEn marcha
    3. Atascado en ordenEs el únicoSolo se puede ejecutar en modo usuario,yNo se puede ejecutar en modo núcleoInstrucción

La diferencia entre las llamadas al sistema y las funciones de la biblioteca :
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  • Funciones de biblioteca que no involucran llamadas al sistema: como funciones que toman valores absolutos
  • Funciones de biblioteca que involucran llamadas al sistema: como una función para crear un archivo

Supongo que te gusta

Origin blog.csdn.net/Qmilumilu/article/details/112426228
Recomendado
Clasificación