Revisión del sistema operativo Capítulo 3: Estructuras del sistema operativo

Capítulo 3: Estructuras del sistema operativo

Componentes comunes del sistema

  • Gestión de procesos: un proceso es un programa en ejecución

    Proceso de creación y eliminación.

    proceso de suspensión y reanudación.

    Provisión de mecanismos para: (1) sincronización de procesos (2) comunicación de procesos (3) manejo de puntos muertos

  • Administración de memoria principal

    Mantenga un registro de qué partes de la memoria se están utilizando actualmente y por quién.

    Decida qué procesos cargar cuando el espacio de memoria esté disponible.

    Asigne y desasigne espacio de memoria según sea necesario.

  • Gestión de archivos

  • Gestión del sistema de E / S:

    Un sistema de almacenamiento en caché

    Una interfaz general de dispositivo-controlador

    Controladores para dispositivos de hardware específicos

  • Gestión de almacenamiento secundario

  • Redes

  • Sistema de protección

  • Sistema de intérprete de comandos

Servicios del sistema operativo

  • Ejecución del programa
  • Operaciones de E / S
  • Manipulación del sistema de archivos
  • Comunicaciones
  • Detección de errores

Funciones adicionales del sistema operativo (no para ayudar al usuario, sino para garantizar un sistema eficiente):

  • Asignación de recursos
  • Contabilidad
  • Proteccion

Llamadas al sistema

Las llamadas al sistema proporcionan la interfaz entre un programa en ejecución y el sistema operativo.

Inserte la descripción de la imagen aquí

Implementación de llamadas al sistema

Por lo general, un número asociado con cada llamada al sistema: la interfaz de llamada al sistema mantiene una tabla indexada de acuerdo con estos números (系统 调用 表)

La persona que llama no necesita saber cómo se implementa la llamada al sistema:

  • Solo necesita obedecer la API y entender qué hará el sistema operativo como resultado.
  • La mayoría de los detalles de la interfaz del sistema operativo están ocultos para el programador por API

API - Llamada del sistema - Relación del sistema operativo

Una API puede tener múltiples llamadas al sistema

Inserte la descripción de la imagen aquí

Paso de parámetro de llamada del sistema

Tres métodos generales utilizados para pasar parámetros al sistema operativo:

  • Más simple: pasar los parámetros en los registros: en algunos casos, puede haber más parámetros que registros
  • Parámetros almacenados en un bloque, o tabla, en la memoria, y la dirección del bloque pasado como parámetro en un registro
  • Parámetros colocados, o empujados, en la pila por el programa y extraídos de la pila por el sistema operativo

Modelos de comunicacion

La comunicación puede llevarse a cabo utilizando el paso de mensajes (canalización) o la memoria compartida.

Inserte la descripción de la imagen aquí

Programas del sistema

Estructura simple

MS-DOS: escrito para proporcionar la mayor funcionalidad en el menor espacio:

  • No dividido en módulos.
  • Aunque MS-DOS tiene alguna estructura, sus interfaces y niveles de funcionalidad no están bien separados

Inserte la descripción de la imagen aquí

UNIX

limitado por la funcionalidad del hardware, el sistema operativo UNIX original tenía una estructuración limitada

  • Programas de sistemas
  • El núcleo

Inserte la descripción de la imagen aquí

Enfoque en capas

El sistema operativo se divide en varias capas (niveles), cada una construida sobre las capas inferiores. La capa inferior (capa 0), es el hardware; la más alta (capa N) es la interfaz de usuario.

Con la modularidad, las capas se seleccionan de modo que cada una use funciones (operaciones) y servicios de solo capas de nivel inferior.

Ventajas:

  • Los niveles bajo y alto se pueden realizar por separado (fácil de expandir);
  • Los errores de alto nivel no afectarán a los de bajo nivel, fáciles de depurar, propicios para la adición, eliminación y modificación de funciones;
  • La relación de llamada es clara (la dependencia unidireccional de alto nivel del nivel bajo), para evitar llamadas recursivas, lo que conduce a garantizar la corrección del diseño y la implementación

Desventajas

  • Tareas como la transferencia de control y la comunicación de todos los procesos en el sistema se entregan al núcleo del sistema para administrar, lo que cuesta un cierto precio
  • Baja eficiencia
  • Confusión al acodar

Microkernels

Se mueve tanto del núcleo al espacio de "usuario".

La comunicación se lleva a cabo entre módulos de usuario mediante el paso de mensajes.

Inserte la descripción de la imagen aquí

Beneficios:

  • Más fácil de extender un microkernel
  • Más fácil de portar el sistema operativo a nuevas arquitecturas
  • Más confiable (menos código se está ejecutando en modo kernel)
  • Más seguro

Detrimentos

Sobrecarga del rendimiento del espacio del usuario a la comunicación del espacio del núcleo (la sobrecarga del rendimiento es demasiado alta, la eficiencia es baja)

Estructura cliente-servidor de Windows NT

Inserte la descripción de la imagen aquí

Maquinas virtuales

Una máquina virtual proporciona una interfaz idéntica al hardware básico subyacente.

El sistema operativo crea la ilusión de múltiples procesos, cada uno de los cuales se ejecuta en su propio procesador con su propia memoria (virtual).

Inserte la descripción de la imagen aquí

máquina virtual de Java

WORE: escribe una vez, corre por todas partes.

Inserte la descripción de la imagen aquí

Diseño e implementación del sistema operativo

Comience definiendo objetivos y especificaciones. Afectado por la elección del hardware, tipo de sistema.

Objetivos de usuario y objetivos del sistema:

  • Objetivos del usuario: el sistema operativo debe ser conveniente de usar, fácil de aprender, confiable, seguro y rápido
  • Objetivos del sistema: el sistema operativo debe ser fácil de diseñar, implementar y mantener, así como flexible, confiable, libre de errores y eficiente

Principio para separar Importante (mecanismo de separación y la estrategia)

Política: ¿Qué se hará?

Mecanismo: ¿Cómo hacerlo?

La separación de la política del mecanismo es un principio muy importante, permite la máxima flexibilidad si las decisiones de política se van a cambiar más adelante.

Generación de sistema operativo

  • Arranque: iniciar una computadora cargando el kernel
  • Programa Bootstrap: código almacenado en la ROM que puede localizar el núcleo, cargarlo en la memoria e iniciar su ejecución.

Arranque del sistema

Publicado 38 artículos originales · ganó 11 · vistas 3833

Supongo que te gusta

Origin blog.csdn.net/qq_43721475/article/details/104846186
Recomendado
Clasificación