[Versión MOOC del sistema operativo de computadora] Capítulo 1 Resumen de puntos de conocimiento

Capítulo 1 Contenido de los puntos de conocimiento:

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

1.1 Objetivos y funciones del sistema operativo

1.1.1 Objetivos del sistema operativo

1.1.2 Las funciones del sistema operativo (3, cada función tiene muchos puntos de conocimiento)

  1. El sistema operativo sirve como interfaz entre el usuario y el sistema de hardware de la computadora. (La comunicación entre él y el sistema operativo se logra mediante comandos, llamadas al sistema, etc.)

2. El sistema operativo actúa como administrador de archivos de recursos del sistema informático, procesadores, memorias y dispositivos I\0 (hard + soft = recursos del sistema informático).

3. El sistema operativo implementa la abstracción de recursos informáticos (máquina virtual)

1.1.3 La principal fuerza impulsora detrás de los sistemas operativos

1.2 Proceso de desarrollo del sistema operativo.

1.2.1 Sistemas a nivel informático sin sistemas operativos configurados

1. Modo de operación manual (sin sistema operativo en esta etapa)

2. Modo de entrada/salida sin conexión

1.2.2 Sistema de procesamiento por lotes de un solo canal (el sistema operativo comienza a aparecer)

1.2.3 Sistema de procesamiento multilote

1.2.4 Sistema de tiempo compartido (no parece muy importante, solo recuerda la puntualidad)

1.2.5 Sistema en tiempo real

1.2.6 Desarrollo de sistemas operativos de microcomputadoras (Single->Single->Duo->Duo)

1.3 Características básicas del sistema operativo

1.3.1 Concurrencia

1.3.2 Compartir

1.3.3 virtuales

1.3.4 Asíncrono

1.4 Funciones principales del sistema operativo

1.4.1 Función de gestión del procesador

1.4.2 Función de gestión de memoria

1.4.3 Función de gestión de dispositivos

1.4.4 Función de gestión de archivos

1.4.5 Interfaz entre sistema operativo y usuario

1.4.6 Nuevas características de los sistemas operativos modernos

1.5 Diseño estructural del sistema operativo

1.5.1 Estructura del sistema operativo tradicional

1.5.1.1 Sistema operativo sin estructura

1.5.1.2 Sistema operativo de estructura modular

1.5.1.3 SO de estructura en capas

1.5.2 Estructura del sistema operativo Microkernel


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

¿Qué es un sistema operativo?

El sistema operativo (SO) se refiere a controlar y administrar los recursos de hardware y software de todo el sistema informático, y a organizar y programar racionalmente el trabajo de la computadora y la asignación de recursos para proporcionar a los usuarios y otro software interfaces y entornos convenientes.Es el software de sistema más básico. en un sistema informático.

1.1 Objetivos y funciones del sistema operativo

En general: por ejemplo, el usuario es el empleador, el sistema operativo es el trabajador (utilizado para operar la máquina), la computadora es la máquina (que consta de varios componentes como procesador, memoria, equipo y archivos). tiene habilidades calificadas y puede controlar y coordinar el trabajo de varios componentes es la gestión de recursos por parte del sistema operativo; al mismo tiempo, los trabajadores deben recibir órdenes del empleador, que es la "interfaz"; con los trabajadores, la máquina puede jugar un papel más importante, por lo que el trabajador se convierte en una máquina de "expansión".

1.1.1 Objetivos del sistema operativo

1. Conveniencia 2. Efectividad 3. Escalabilidad 4. Apertura

1.1.2 Las funciones del sistema operativo (3, cada función tiene muchos puntos de conocimiento)

  1. El sistema operativo sirve como interfaz entre el usuario y el sistema de hardware de la computadora . (La comunicación entre él y el sistema operativo se logra mediante comandos, llamadas al sistema, etc.)

El sistema operativo también proporciona una interfaz de usuario. Las interfaces proporcionadas por el sistema operativo se dividen principalmente en dos categorías:

Un tipo es la interfaz de comandos. Los usuarios utilizan estos comandos de operación para organizar y controlar la ejecución de trabajos;

El otro tipo son las interfaces de programa, que los programadores pueden utilizar para solicitar servicios del sistema operativo.

(1) Interfaz de comando

Hay dos formas principales de utilizar la interfaz de comando para el control de trabajos: control en línea y control fuera de línea . Según los diferentes métodos de control del trabajo, la interfaz de comando se puede dividir en comandos en línea

Interfaz e interfaz de comando fuera de línea . La interfaz de comando en línea, también conocida como interfaz de comando interactiva, es una interfaz adecuada para sistemas de tiempo compartido o en tiempo real. Consiste en un conjunto de comandos de operación del teclado. Pases de usuario

Ingrese comandos de operación en la consola o terminal para realizar diversos requisitos de servicio al sistema. Cada vez que el usuario ingresa un comando, el control se transfiere al intérprete de comandos del sistema operativo, que luego es interpretado por el comando.

El intérprete interpreta y ejecuta los comandos de entrada para completar las funciones especificadas. Luego, el control se transfiere nuevamente a la consola o terminal, donde el usuario puede ingresar el siguiente comando. La interfaz de comando en línea puede ser

Esta forma de entender: el “empleador” dice algo, el “trabajador” hace algo y da retroalimentación, lo que enfatiza la interactividad. La interfaz de comando fuera de línea también se denomina interfaz de comando por lotes y es adecuada para sistemas de procesamiento por lotes.

Consta de un conjunto de comandos de control de trabajos. Los usuarios fuera de línea no pueden intervenir directamente en la ejecución del trabajo, pero deben usar el comando de control de trabajo correspondiente para escribir un manual de operación del trabajo con anticipación, junto con el trabajo.

presentado al sistema. Cuando el sistema programa el trabajo, el intérprete de comandos del sistema interpreta y ejecuta los comandos en la descripción del trabajo uno por uno, controlando así indirectamente la operación del trabajo. vida fuera de línea

La interfaz se puede entender así: el "empleador" escribe las cosas que quiere que el "trabajador" haga en una lista, y el "trabajador" las completa una por una de acuerdo con los comandos de la lista. Esto es procesamiento por lotes.

(2) Interfaz del programa

La interfaz del programa consta de un conjunto de llamadas al sistema (también llamadas instrucciones generalizadas) . Los usuarios solicitan al sistema operativo que proporcione servicios mediante el uso de estas llamadas al sistema en sus programas, como el uso de varios dispositivos externos.

Prepare, solicite la asignación y recupere memoria y varios otros requisitos. La más popular en la actualidad es la interfaz gráfica de usuario (GUI), es decir, la interfaz gráfica . La GUI se implementa en última instancia llamando a la interfaz del programa, usando

Los usuarios pueden utilizar fácilmente el sistema operativo haciendo clic en la interfaz gráfica con el mouse y el teclado o usando teclas de acceso directo. Estrictamente hablando, la interfaz gráfica no forma parte del sistema operativo, sino la interfaz gráfica.

Los comandos de llamada al sistema llamados por la interfaz son parte del sistema operativo.

2. El sistema operativo actúa como administrador de los recursos del sistema informático (hard + soft = recursos del sistema informático)文件、处理机、存储器、I\0设备
  • Gestión del procesador

  • gestión de la memoria

  • Gestión de archivos

  • Gestión de dispositivos

3. El sistema operativo implementa la abstracción de recursos informáticos (máquina virtual)

1.1.3 La principal fuerza impulsora detrás de los 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. El desarrollo continuo de la arquitectura informática

  5. Proponer continuamente nuevos requisitos de aplicación.


1.2 Proceso de desarrollo del sistema operativo.

1.2.1 Sistemas a nivel informático sin sistemas operativos configurados

1. Modo de operación manual (sin sistema operativo en esta etapa)

El primer método de operación consistía en que los programadores cargaran cintas (o tarjetas) de papel preperforadas en máquinas de entrada de cintas de papel (o máquinas de entrada de tarjetas), y luego las iniciaran para ingresar los programas y datos de las cintas (o tarjetas) de papel en la computadora. y luego inicie la computadora para que se ejecute. Sólo después de que el programa haya terminado de ejecutarse y se hayan retirado los resultados del cálculo, se permitirá que el siguiente usuario acceda a la computadora.

  • Desventajas: 1. Sistema exclusivo de usuario 2. CPU esperando operación manual

2. Modo de entrada/salida sin conexión

El programador ingresa los datos de la cinta de papel en el disco a través de la máquina periférica, luego transfiere los datos del disco a la memoria a alta velocidad y el resultado de salida se envía al dispositivo de salida correspondiente a través de la máquina periférica.

Esto puede resolver el conflicto entre el hombre y la máquina y la discrepancia de velocidad entre la CPU y los dispositivos de E/S.

1.2.2 Sistema de procesamiento por lotes de un solo canal (el sistema operativo comienza a aparecer)

Proceso de procesamiento del sistema de procesamiento por lotes de un solo paso.

Para lograr un procesamiento continuo de trabajos, es necesario introducir un lote de trabajos en la cinta en modo fuera de línea y un programa de supervisión (Monitor) está equipado en el sistema. Bajo su control, el lote de trabajos se puede procesar uno tras otro Procesamiento continuo.

  • Propósito: Mejorar la utilización y el rendimiento

  • Características: 1. Seguimiento único 2. Secuencialidad 3. Automatización

  • Desventajas: los recursos no se utilizan en su totalidad

1.2.3 Sistema de procesamiento multilote

Conceptos básicos de multiprogramación.

En un sistema de multiprogramación, los trabajos enviados por los usuarios se colocan primero en un almacenamiento externo y en una cola, llamada cola de respaldo .

Luego, el programador de trabajos selecciona varios trabajos de la cola de respaldo y los transfiere a la memoria de acuerdo con un algoritmo determinado, para que puedan compartir la CPU y varios recursos en el sistema .

Se cargan múltiples programas en la memoria de la computadora y se convierten en procesos.

  • Características: 1. Multicanal 2. Desorden 3. Programación Paralelo a nivel macro y serial a nivel micro

  • Ventajas: 1. Alta utilización de recursos 2. Gran rendimiento de recursos

  • Desventajas: 1. Tiempo de respuesta promedio prolongado 2. Sin capacidad de interacción

Problemas que deben resolverse en los sistemas de procesamiento por lotes multicanal

  • Problema de contención del procesador

  • Problemas de protección y asignación de memoria

  • Problema de asignación de dispositivos de E/S

  • Problemas de organización y gestión de documentos.

  • Problemas de gestión del trabajo

  • Problemas con la interfaz usuario-sistema

1.2.4 Sistema de tiempo compartido (no parece muy importante, solo recuerda la puntualidad)

Características de los sistemas de tiempo compartido (la más importante es la puntualidad)

1. Multiplexación. Permite conectar múltiples terminales a un host y el sistema atiende a cada usuario según el principio de tiempo compartido;

2. Independencia. Cada usuario ocupa un terminal y opera de forma independiente sin interferir entre sí;

3. Oportunidad. Las solicitudes de los usuarios se pueden responder en muy poco tiempo;

4. Interactividad. Los usuarios pueden mantener un extenso diálogo hombre-máquina con el sistema a través del terminal.

  • Desventajas: No puede manejar eficazmente las tareas de emergencia. El sistema operativo es completamente justo para cada usuario/trabajo y realiza ciclos para cada usuario/trabajo.

    El trabajo cumple una franja de tiempo, sin distinguir la urgencia de la tarea.

1.2.5 Sistema en tiempo real

  • Características de los sistemas en tiempo real (una capa extra de confiabilidad)

  1. Multiplexación

  2. independencia

  3. oportunidad

  4. interactividad

  5. Fiabilidad (los sistemas en tiempo real son superiores a los sistemas basados ​​en el tiempo)

  • Ventajas: capacidad de responder a algunas tareas urgentes con prioridad, y algunas tareas urgentes no requieren colas de intervalos de tiempo.

1.2.6 Desarrollo de sistemas operativos de microcomputadoras (Single->Single->Duo->Duo)

Según la longitud de la palabra:

Longitud de palabra: el número de bits de un número binario que se pueden procesar al mismo tiempo.

  • 8 bits 16 bits 32 bits 64 bits

Según el modo de funcionamiento:

1. Sistema operativo de tarea única de usuario único: CP/M, MS-DOS

2. Sistema operativo multitarea de un solo usuario   El significado de un sistema operativo multitarea de un solo usuario es que solo un usuario puede acceder a la computadora, pero el usuario puede dividir el programa en varias tareas y ejecutarlas en paralelo, mejorando así efectivamente la representatividad del rendimiento del sistema: Los primeros días WIN

3. Sistema operativo multiusuario y multitarea

Permite que varios usuarios utilicen la misma máquina a través de sus respectivos terminales para compartir varios recursos en el sistema host, y cada programa de usuario se puede dividir en varias tareas para que puedan ejecutarse simultáneamente, mejorando así aún más la utilización de recursos y el rendimiento del sistema. La mayoría de las computadoras grandes, medianas y pequeñas están equipadas con sistemas operativos multiusuario y multitarea, mientras que muchas microcomputadoras de 32 bits están equipadas con sistemas operativos multiusuario y multitarea, el más representativo de los cuales es el sistema operativo UNIX.


1.3 Características básicas del sistema operativo

Concurrencia, uso compartido, virtualidad, asíncrono (la facilidad de uso y la seguridad no son características básicas)

1.3.1 Concurrencia

Paralelismo y concurrencia

  • Paralelismo: dos o más eventos que ocurren al mismo tiempo

  • Concurrencia: dos o más eventos ocurren dentro del mismo intervalo de tiempo. Nota: los eventos macroscópicos ocurren simultáneamente y los eventos microscópicos ocurren alternativamente.

La concurrencia es el principal medio para mejorar la utilización de los recursos del sistema y aumentar el rendimiento del sistema: ejecución concurrente en un solo procesador y ejecución simultánea/paralela en varios procesadores.

Introducir proceso

  • Un proceso se refiere a la actividad en ejecución de un programa en una computadora en un determinado conjunto de datos. Antes de que se introduzcan subprocesos, es la unidad básica de asignación y programación de recursos en el sistema.

Introducir procesos para lograr la ejecución concurrente.

1.3.2 Compartir

imagen-20210803160930275

Definición: Compartir recursos, también conocido como reutilización de recursos, significa que los recursos del sistema pueden ser utilizados por múltiples procesos que se ejecutan simultáneamente en la memoria.

Modo de compartir mutuamente excluyente

  • Recursos críticos: recursos a los que solo se permite acceder a un proceso dentro de un período de tiempo.

Por ejemplo: impresora, formulario del sistema

Método de acceso simultáneo

Existe otro tipo de recursos en el sistema que permite el acceso "simultáneo" a ellos por parte de múltiples procesos durante un período de tiempo. La llamada "simultaneidad" aquí se refiere en un sentido macro a un entorno de un solo procesador, y en un sentido micro al acceso de estos procesos al recurso.

Discos, código compartido, bibliotecas compartidas, etc.

Ejemplos de vida:

  • Método para compartir mutuamente excluyente: utilice vídeos QQ y WeChat. La cámara sólo se puede asignar a uno de los procesos al mismo tiempo.

  • Método para compartir simultáneamente: use QQ para enviar el archivo A y use WeChat para enviar el archivo B al mismo tiempo. Desde una perspectiva macro, ambas partes leen y envían archivos al mismo tiempo, lo que indica que ambos procesos acceden a los recursos del disco duro y leen datos de ellos. Desde una perspectiva microscópica, los dos procesos acceden alternativamente al disco duro.

1.3.3 virtuales

En los sistemas operativos, la función de convertir una entidad física en varias contrapartes lógicas mediante ciertas tecnologías se llama virtualización.

  • Multiplexación por división de tiempo: tecnología de procesador virtual (multiprogramación), tecnología de dispositivo virtual

  • Multiplexación por división de espacio: varios programas comparten memoria y varios archivos comparten discos para mejorar la utilización del espacio de almacenamiento.

imagen-20210803161622408

1.3.4 Asíncrono

En un entorno de multiprogramación, el sistema permite que se ejecuten múltiples procesos simultáneamente. En un entorno de un solo procesador, dado que solo hay un procesador en el sistema, solo se permite ejecutar un proceso a la vez y los procesos restantes solo pueden esperar.

Se puede ver que debido a limitaciones de recursos y otros factores, la ejecución de un proceso generalmente no es posible de una sola vez, sino que se ejecuta de forma "parada y continua".


1.4 Funciones principales del sistema operativo

1.4.1 Función de gestión del procesador

  • Funciones principales: crear y cancelar procesos, coordinar la operación de procesos, realizar el intercambio de información entre procesos y asignar procesadores a procesos de acuerdo con ciertos algoritmos.

  1. control de procesos

  2. Sincronización de procesos

  3. comunicación de proceso

  4. Planificación

1.4.2 Función de gestión de memoria

  • La tarea principal: proporcionar un buen entorno para el funcionamiento de múltiples programas, mejorar la utilización de la memoria, facilitar a los usuarios y expandir lógicamente la memoria.

  1. asignación de memoria

  2. protección de memoria

  3. mapeo de direcciones

  4. Ampliación de memoria

1.4.3 Función de gestión de dispositivos

  • Tareas principales: completar solicitudes de IO realizadas por procesos de usuario, asignar dispositivos de E/S requeridos a procesos de usuario y completar operaciones de IO especificadas; mejorar la utilización de la CPU y los dispositivos de IO, aumentar la velocidad de IO y facilitar a los usuarios el uso de dispositivos de E/S.

  1. Gestión de búfer

  2. Asignación de equipos

  3. Manejo de equipos

1.4.4 Función de gestión de archivos

  • Tareas principales: Administrar archivos de usuario y archivos del sistema para facilitar el uso del usuario y garantizar la seguridad de los archivos.

  1. Gestión del espacio de almacenamiento de archivos.

  2. Gestión de directorios

  3. Gestión y protección de lectura/escritura de archivos

1.4.5 Interfaz entre sistema operativo y usuario

Interfaz de usuario (interfaz de comando)

(1)Interfaz de usuario en línea

(2) Interfaz de usuario sin conexión

(3) Interfaz gráfica de usuario

Interfaz del programa (que consta de llamadas al sistema)

La interfaz del programa está configurada para que los programas de usuario accedan a los recursos del sistema durante la ejecución. Es la única forma para que los programas de usuario obtengan servicios del sistema operativo .

1.4.6 Nuevas características de los sistemas operativos modernos

sistema de seguridad

  • Tecnología de autenticación

  • criptografía

  • tecnología de control de acceso

  • Tecnología antivirus

Funciones y servicios de red

  • Telecomunicación

  • Administracion de recursos

  • Interoperabilidad de aplicaciones

Soporte multimedia

  • Función de control de admisión.

  • Programación en tiempo real.

  • Almacenamiento de archivos multimedia


1.5 Diseño estructural del sistema operativo

estructura del sistema operativo

SO de arquitectura tradicional

SO de arquitectura moderna

SO sin estructura

Sistema operativo de estructura modular

SO jerárquico

1.5.1 Estructura del sistema operativo tradicional

1.5.1.1 Sistema operativo sin estructura

En el desarrollo inicial de los sistemas operativos, los diseñadores sólo se centraban en realizar funciones y lograr una alta eficiencia, careciendo de ideas de diseño consistentes.

En este momento, el sistema operativo es una colección de una gran cantidad de procesos. Cada proceso puede llamar a otros procesos arbitrariamente, lo que hace que el sistema operativo sea internamente complejo y caótico, por lo que este sistema operativo no está estructurado.

1.5.1.2 Sistema operativo de estructura modular

Conceptos básicos de la tecnología de programación modular.

Esta tecnología es una tecnología de programación estructurada que surgió en la década de 1960. Esta tecnología se basa en los principios de "descomposición" y "modularización" para controlar la complejidad de software de gran tamaño.

Para que el SO tenga una estructura más clara, el SO se divide cuidadosamente en varios módulos con cierta independencia y tamaño según sus funciones.

independencia del módulo

En el método módulo-interfaz, las cuestiones clave son la división de módulos y la definición de interfaces entre módulos.

Aviso:

  •   Al dividir los módulos, no los divida en demasiado pequeños o demasiado grandes.
  •   Al dividir los módulos, preste atención a la independencia de los módulos.

Dos criterios para medir la independencia del módulo: cohesión y acoplamiento

  • ventaja:

    (1) Mejorar la corrección, comprensibilidad y mantenibilidad del diseño del sistema operativo.

    (2) Mejorar la adaptabilidad del sistema operativo.

    (3) Acelerar el proceso de desarrollo del sistema operativo.

  • Desventajas: (1) Durante el diseño del sistema operativo, es difícil que las regulaciones de interfaz entre módulos satisfagan las necesidades reales de la interfaz una vez completado el diseño del módulo. (2) En el diseño de la estructura modular, el diseño de cada módulo va de la mano y es imposible encontrar una secuencia de decisión confiable, lo que resulta en el "desorden" de varias decisiones, lo que dificultará la toma de los programadores " decisiones en cada paso del diseño" “Todo está construido sobre una base sólida.

1.5.1.3 SO de estructura en capas

Conceptos básicos de estructura jerárquica.

Al construir un sistema operativo con este método, un sistema operativo se divide en varias capas, y cada capa se compone de varios módulos, y solo existe una dependencia unidireccional entre las capas.

  • ventaja:

(1) Es fácil garantizar la corrección del sistema.

(2) Fácil ampliación y mantenimiento.

  • Desventajas: eficiencia reducida

1.5.2 Estructura del sistema operativo Microkernel

Microkernel: una versión simplificada del kernel que proporciona la funcionalidad principal de un sistema operativo.

Características del sistema operativo Microkernel: la culminación de varias ventajas técnicas. Ejemplos: Mach, Minix, Windows NT, sistema operativo Hongmeng

Actualmente, la arquitectura del kernel se puede dividir en: microkernel y macrokernel.

  • núcleo macro

El macronúcleo generalmente implementa todos los componentes principales del sistema en el núcleo. Es concebible que la correlación entre los componentes del núcleo diseñado de esta manera sea muy grande, lo que a menudo se dice que está muy acoplado, lo que no favorece el diseño modular.

La ventaja también es obvia, es decir, es rápido. Toda la comunicación entre componentes se completa en modo kernel, no hay cambio entre procesos y no hay cambio del modo usuario al modo kernel.

Los representantes típicos son el sistema operativo Linux y el sistema UNIX.

Conceptos básicos del sistema operativo microkernel.

1. Siempre un grano lo suficientemente pequeño

2. Basado en el modelo cliente\servidor

3. Aplicar el principio de “separación de mecanismos y estrategias”

4. Utilice tecnología orientada a objetos

Funciones básicas del micronúcleo

Hoy en día, se adopta generalmente el principio de "separación de mecanismo y estrategia", y las partes del mecanismo y las partes estrechamente relacionadas con el hardware se colocan en el micronúcleo.

1) Gestión de procesos (hilos)

2) Gestión de memoria de bajo nivel

3) Procesamiento de interrupciones y trampas.

Ventajas del sistema operativo microkernel

La estructura del sistema operativo microkernel se basa en una estructura modular y jerárquica y adopta el modelo cliente/servidor y la tecnología de programación orientada a objetos.

(1) Escalabilidad mejorada del sistema

(2) Confiabilidad mejorada del sistema

(3) Gran portabilidad

(4) Proporciona soporte para sistemas distribuidos.

(5)Tecnología integrada orientada a objetos

Problemas con los sistemas operativos microkernel

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

Motivo: al completar la solicitud de servicio de un cliente al sistema operativo, se deben utilizar mensajes para lograr múltiples interacciones y múltiples cambios de contexto y modo de usuario/núcleo.

Supongo que te gusta

Origin blog.csdn.net/weixin_62985813/article/details/133267600
Recomendado
Clasificación