Detalles del historial de desarrollo del sistema operativo
Introducción básica Nombre chino: Historial de desarrollo del sistema operativo Etapa 1: Operación manual Etapa 2: Sistema de procesamiento por lotes Etapa 3: Sistema de procesamiento por lotes en línea Operación manual, sistema de procesamiento por lotes, sistema de multiprogramación, sistema de tiempo compartido , Sistema en tiempo real, sistema operativo general, desarrollo de sistemas, operación manual La primera computadora nació en 1946; a mediados de la década de 1950, no existía un sistema operativo y todo el trabajo de la computadora se realizaba manualmente. El programador carga la cinta de papel perforada (o tarjeta) correspondiente al programa y los datos en la máquina de entrada, luego inicia la máquina de entrada para ingresar el programa y los datos en la memoria de la computadora, y luego inicia el programa a través del interruptor de la consola para ejecutar el una vez completado el cálculo, la impresora genera los resultados del cálculo; el usuario obtiene los resultados y descarga la cinta (o tarjeta), luego permite que el siguiente usuario use la computadora. Operación manual El modo de operación manual tiene dos características: (1) El usuario tiene control exclusivo de toda la máquina. No habrá fenómeno de espera porque el recurso ya está ocupado por otros usuarios, pero la tasa de utilización del recurso es baja. (2) La CPU espera la operación manual. La CPU no se utiliza por completo. ? A finales de la década de 1950, surgió la contradicción entre el hombre y la máquina: la aguda contradicción entre la lenta velocidad de la operación manual y la rápida velocidad de las computadoras. Las operaciones manuales dañan gravemente la utilización de los recursos del sistema (reduciendo la utilización de recursos a un pequeño porcentaje o incluso menos) y no pueden tolerarse. La única solución: deshacerse de las operaciones manuales y realizar la transición automática del trabajo. De esta forma apareció el procesamiento por lotes. Sistema de procesamiento por lotes Sistema de procesamiento por lotes: software del sistema instalado en la computadora. Bajo su control, la computadora puede procesar automáticamente y por lotes los trabajos de uno o más usuarios (incluidos programas, datos y comandos). El sistema de procesamiento por lotes en línea fue el primer sistema de procesamiento por lotes en línea, donde la CPU procesaba la entrada/salida del trabajo. Se agrega un dispositivo de almacenamiento, una cinta, entre el host y la máquina de entrada. Bajo el control automático del programa de monitoreo que se ejecuta en el host, la computadora puede leer automáticamente los trabajos del usuario en la máquina de entrada en la cinta en lotes, leer los trabajos del usuario en la cinta en la memoria del host en secuencia, ejecutarlos y generarlos. los resultados del cálculo en la máquina de salida. Una vez completado el último lote de trabajos, el programa de gestión ingresa otro lote de trabajos desde la máquina de entrada, lo guarda en cinta y repite los pasos anteriores. El programa de monitoreo procesa continuamente varios trabajos, realiza transferencias automáticas entre trabajos, reduce el tiempo para el establecimiento de trabajos y la operación manual, supera efectivamente el conflicto entre el hombre y la máquina y mejora la utilización de la computadora. Sin embargo, durante la entrada del trabajo y la salida de resultados, la CPU de alta velocidad del host todavía está inactiva, esperando que el dispositivo de entrada/salida lento complete el trabajo: el host está en un estado "ocupado". Para superar y aliviar la contradicción entre el host de alta velocidad y los periféricos lentos y mejorar la utilización de la CPU, se introduce un sistema de procesamiento por lotes fuera de línea, es decir, la entrada/salida se separa del control del host. La característica distintiva de este método es la adición de un satélite que no está conectado directamente al host, sino que se utiliza específicamente para manejar dispositivos de entrada y salida. Su función es (1) leer el trabajo del usuario desde la máquina de entrada y colocarlo en la cinta de entrada. (2) Lea los resultados de la ejecución de la cinta de salida y envíelos a la máquina de salida. De esta manera, el host no procesa directamente dispositivos de entrada/salida lentos, sino unidades de cinta relativamente rápidas, lo que alivia efectivamente el conflicto entre el host y el dispositivo. La computadora host y la computadora satélite pueden funcionar en paralelo, con una clara división del trabajo, y pueden aprovechar al máximo la potencia informática de alta velocidad de la computadora host. Sistema de procesamiento por lotes fuera de línea: ampliamente utilizado en la década de 1960, que alivió en gran medida la contradicción entre el hombre y la máquina y la contradicción entre el host y los periféricos. IBM-7090/7094: el hipervisor era un sistema por lotes fuera de línea que era el prototipo de los sistemas operativos modernos. Desventajas: Solo se almacena un trabajo en la memoria del host a la vez. Cada vez que se emite una solicitud de entrada/salida (E/S) durante su operación, la CPU de alta velocidad está en estado de espera por la I de baja velocidad. /O se complete, lo que provocará que la CPU quede inactiva. Para mejorar la utilización de la CPU, se introdujo un sistema multiprograma. Sistema de multiprogramación Tecnología de multiprogramación La llamada tecnología de multiprogramación se refiere a permitir que múltiples programas ingresen a la memoria y se ejecuten al mismo tiempo. Es decir, se colocan varios programas en la memoria al mismo tiempo y se dejan ejecutar alternativamente en la CPU, para que pueda disfrutar de varios recursos de software y hardware en el sistema. Cuando un programa se bloquea debido a una solicitud de E/S, la CPU cambia inmediatamente a otro programa.
El proceso de ejecución de un programa de un solo canal: la E/S está inactiva cuando el programa A está calculando y la CPU está inactiva cuando el programa A está ejecutando E/S (lo mismo ocurre con el programa B solo puede ingresar); memoria y comenzar a trabajar después de que se complete el trabajo de A. Los dos están conectados en serie y se necesita tiempo = T1 + T2 para completarlos todos. ? Proceso de ejecución de múltiples programas: dos programas A y B se almacenan en la memoria al mismo tiempo y se pueden ejecutar alternativamente en la CPU bajo el control del sistema. Cuando el programa A abandona la CPU porque solicita una operación de E/S, el programa B puede ocupar la CPU para ejecutarse, de modo que la CPU ya no esté inactiva y el dispositivo de E/S que realiza operaciones de E/S tampoco esté inactivo. Obviamente, la CPU y los dispositivos de E/S están ocupados. & ltT1 + T2 no solo hace un uso completo de la CPU, sino que también mejora la utilización de los dispositivos de E/S y la memoria, mejorando así la utilización de recursos y el rendimiento del sistema de todo el sistema (trabajos de procesamiento (programas) por unidad de tiempo). ) cantidad), mejorando en última instancia la eficiencia de todo el sistema. Las características de los programas multicanal que se ejecutan en un sistema de un solo procesador: (1) Multicanal: varios programas independientes se almacenan en la memoria de la computadora al mismo tiempo (2) Macroparalelo: varios programas ingresan al sistema al mismo tiempo; Al mismo tiempo, todos se están ejecutando, es decir, han comenzado a ejecutarse por separado, pero aún no han terminado de ejecutarse (3) Micro-serial: de hecho, cada programa usa la CPU por turno y se ejecuta alternativamente; La aparición de sistemas multiprograma marca la madurez gradual de los sistemas operativos, y funciones como la gestión de la programación de trabajos, la gestión del procesador, la gestión de la memoria, la gestión de dispositivos externos y la gestión del sistema de archivos han surgido una tras otra. Sistema de procesamiento por lotes multicanal A mediados de la década de 1960, se introdujo la tecnología de programación multicanal en el sistema de procesamiento por lotes mencionado anteriormente, formando un sistema de procesamiento por lotes multicanal (sistema de procesamiento por lotes para abreviar). Tiene dos características: (1) Multicanal: El sistema puede acomodar múltiples trabajos al mismo tiempo. Estos trabajos se colocan en un almacenamiento externo para formar una cola de respaldo. El sistema selecciona uno o más trabajos de la cola de trabajos de respaldo para ejecutarlos al mismo tiempo en la memoria de acuerdo con ciertos principios de programación. El sistema realiza automáticamente el final, la salida y la entrada del trabajo de respaldo, formando así un cambio automático y continuo. flujo de trabajo en el sistema. (2) Procesamiento por lotes: durante la operación del sistema, los usuarios no pueden interactuar con el trabajo, es decir, una vez que el trabajo ingresa al sistema, el usuario no puede intervenir directamente en la ejecución del trabajo. El objetivo de un sistema de procesamiento por lotes es mejorar la utilización y el rendimiento de los recursos del sistema, así como automatizar el flujo de trabajo. Una deficiencia importante del sistema de procesamiento por lotes es que no proporciona capacidades de interacción persona-computadora, lo que genera inconvenientes para los usuarios cuando usan computadoras. Aunque los usuarios monopolizan los recursos de toda la máquina y controlan directamente la ejecución del programa, siempre pueden conocer el estado de ejecución del programa. Sin embargo, este modo de trabajo es extremadamente ineficaz porque monopoliza toda la máquina. ? Un nuevo objetivo: no sólo garantizar la eficiencia de la computadora, sino también hacer que su uso sea cómodo para los usuarios. A mediados de la década de 1960, el desarrollo de la tecnología informática y de software hizo posible esta búsqueda. ? Sistema de tiempo compartido Debido a la mejora continua de la velocidad de la CPU y la adopción de la tecnología de tiempo compartido, una computadora se puede conectar a múltiples terminales de usuario al mismo tiempo, y cada usuario puede usar la computadora en línea en su propia terminal como un exclusivo máquina. Tecnología de tiempo compartido: divida el tiempo de ejecución del procesador en intervalos de tiempo cortos y asigne el procesador a cada operación en línea por turno de acuerdo con el intervalo de tiempo. Si un trabajo no puede completar sus cálculos dentro del intervalo de tiempo que se le ha asignado, el trabajo se interrumpe temporalmente y el procesador se asigna a otro trabajo para que continúe ejecutándose hasta la siguiente ronda. Como las computadoras son rápidas, los trabajos se ejecutan rápidamente, lo que da a cada usuario la impresión de que tiene una computadora para ellos solos. Y cada usuario puede enviar varios comandos de control de operación al sistema a través de su propia terminal para completar la operación del trabajo bajo plena interacción humano-computadora. Un sistema informático con las características anteriores se denomina sistema de tiempo compartido, que permite que varios usuarios utilicen la computadora en línea al mismo tiempo. Características: (1) Reutilización. Varios usuarios utilizan una computadora simultáneamente. Desde una perspectiva micro, los usuarios utilizan las computadoras en secuencia; desde una perspectiva macro, los usuarios trabajan en paralelo. (2) Interactividad. Los usuarios también pueden realizar nuevas solicitudes al sistema en función de la respuesta del sistema a la solicitud. Este modo de trabajo que permite a los usuarios mantener un diálogo entre humanos y computadoras con el sistema es obviamente diferente del sistema de procesamiento por lotes, por lo que el sistema de tiempo compartido también se denomina sistema interactivo. (3) Independencia. Los usuarios pueden operar de forma independiente sin interferir entre sí. Este sistema garantiza la integridad del programa de cada usuario y que no pueda confundirse ni corromperse. (4) Puntualidad. El sistema puede responder a las entradas del usuario de manera oportuna. Uno de los principales indicadores del desempeño del sistema de tiempo compartido es el tiempo de reverberación, que se refiere al tiempo requerido desde el terminal hasta la respuesta del sistema. El objetivo principal de un sistema de tiempo compartido es responder al usuario de manera oportuna, es decir, que el usuario no espere demasiado para que se procese cada comando.
Los sistemas de tiempo compartido pueden albergar a decenas o incluso cientos de usuarios al mismo tiempo. Debido al espacio de memoria limitado, a menudo se utiliza el almacenamiento de intercambio (también llamado intercambio). Es decir, las operaciones que no están "en rollo" se colocan en el disco y, una vez "en rollo", se transfieren a la memoria después de que se agota el intervalo de tiempo, el trabajo se guarda nuevamente en el disco (comúnmente conocido como "en rollo); in" y "rolling out"), para que la misma área de almacenamiento pueda atender a varios usuarios en secuencia. Los sistemas de tiempo compartido multiusuario son los sistemas operativos informáticos más utilizados. Aunque los sistemas de procesamiento por lotes multicanal y los sistemas de tiempo compartido pueden lograr una utilización de recursos y un tiempo de reverberación del sistema satisfactorios, no pueden satisfacer las necesidades de control en tiempo real y procesamiento de información en tiempo real. Esto crea un sistema en tiempo real, es decir, el sistema puede responder a eventos externos aleatorios de manera oportuna y completar el procesamiento de eventos dentro de un rango de tiempo estricto. Los sistemas en tiempo real se utilizan a menudo como dispositivos de control en aplicaciones específicas. Los sistemas en tiempo real se pueden dividir en dos categorías: (1) Sistemas de control en tiempo real. Cuando se utiliza para el control automático del vuelo de una aeronave y el lanzamiento de misiles, se requiere que la computadora procese los datos medidos por el sistema de medición lo más rápido posible, controle la aeronave o el misil de manera oportuna o proporcione información relevante a los tomadores de decisiones a través de la pantalla. Terminal. Cuando se utilizan para controlar procesos de producción industrial, como la laminación de acero y la petroquímica, las computadoras también deben procesar los datos enviados desde varios sensores de manera oportuna y luego controlar los actuadores correspondientes. (2) Sistema de procesamiento de información en tiempo real. Cuando se utiliza para reservar boletos aéreos, consultar sobre vuelos, rutas, tarifas, etc., o cuando se usa en sistemas bancarios y sistemas de recuperación de información, se requiere que la computadora dé respuestas oportunas y correctas a las solicitudes de servicio emitidas por la terminal. dispositivo. Este requisito de puntualidad del eco es ligeramente más débil que el primero. Las principales características del sistema operativo en tiempo real: (1) Eco oportuno. Todo proceso de recepción, análisis, procesamiento y entrega de información debe completarse dentro de estrictos plazos. (2) Alta confiabilidad. Es necesario tomar medidas de redundancia y el trabajo frontal y posterior del sistema de doble máquina también incluye las medidas de seguridad necesarias. Hay tres tipos básicos de sistemas operativos de propósito general: sistemas por lotes multicanal, sistemas de tiempo compartido y sistemas en tiempo real. Sistema operativo de propósito general: Un sistema operativo con varias características operativas. Puede tener funciones de procesamiento por lotes multicanal, procesamiento de tiempo compartido y procesamiento en tiempo real al mismo tiempo, o puede tener más de dos de ellas. Por ejemplo: procesamiento en tiempo real + procesamiento por lotes = sistema de procesamiento por lotes en tiempo real. Primero, asegúrese de que se dé prioridad a las tareas en tiempo real y que los trabajos de procesamiento por lotes se realicen en el medio. Las tareas en tiempo real suelen denominarse trabajos en primer plano y los trabajos por lotes se denominan trabajos en segundo plano. Otro ejemplo: procesamiento de tiempo compartido + procesamiento por lotes = sistema de procesamiento por lotes de tiempo compartido. Es decir, los trabajos que no son críticos en el tiempo se colocan en "segundo plano" (procesamiento por lotes), los trabajos que requieren interacción frecuente se colocan en "primer plano" (tiempo compartido) y el procesador da prioridad al "primer plano". empleos. Desde mediados de la década de 1960, se han desarrollado internacionalmente algunos sistemas operativos de propósito general a gran escala. Estos sistemas intentan lograr el objetivo de una funcionalidad completa y adaptabilidad a diversos entornos con diferentes alcances de aplicación y métodos operativos. Sin embargo, estos sistemas son demasiado complejos y grandes, lo que no sólo paga un precio enorme, sino que también encuentra grandes dificultades a la hora de resolver su fiabilidad, mantenibilidad y comprensibilidad. Por el contrario, el sistema operativo UNIX es una excepción. Este es un sistema operativo interactivo de tiempo compartido multiusuario de uso general. Primero construye un núcleo ligero, pero es tan poderoso como muchos sistemas operativos grandes y puede soportar enormes sistemas de software fuera de la capa central. Se ha aplicado y promocionado rápidamente y se ha mejorado continuamente, lo que ha tenido un gran impacto en los sistemas operativos modernos. En este punto, se han formado y mejorado gradualmente los conceptos básicos, funciones, estructura básica y composición del sistema operativo. El desarrollo de sistemas entró en la década de 1980 con el rápido desarrollo de la tecnología de circuitos integrados a gran escala y la aparición y desarrollo de microprocesadores, se desató una ola de desarrollo y popularización de las computadoras. Por un lado, marcó el comienzo de la era de las computadoras personales y, al mismo tiempo, evolucionó hacia las redes de computadoras, el procesamiento distribuido, las supercomputadoras y la inteligencia. Como resultado, se han desarrollado aún más los sistemas operativos, como los sistemas operativos de computadoras personales, sistemas operativos de red, sistemas operativos distribuidos, etc. Sistema operativo de computadora personal El sistema operativo de una computadora personal es un sistema operativo de usuario único con interacciones en línea que son muy similares a las proporcionadas por un sistema general de tiempo compartido. Al ser personal, algunas funciones serán mucho más sencillas. Sin embargo, debido a la popularidad de las computadoras personales, la demanda de sistemas de archivos que proporcionen una interfaz de usuario más conveniente y amigable y funciones ricas será cada vez más urgente. Red informática de sistema operativo de red: sistema que conecta sistemas informáticos autónomos y geográficamente dispersos a través de instalaciones de comunicación para realizar el intercambio de información, el intercambio de recursos, la interoperación y el procesamiento colaborativo.
Sistema operativo de red: basado en el sistema operativo original de la computadora, se agregan módulos de administración de red de acuerdo con varios estándares de protocolo de la arquitectura de red, que incluyen: comunicación, uso compartido de recursos, seguridad del sistema y diversos servicios de aplicaciones de red. A primera vista, no hay mucha diferencia entre un sistema operativo distribuido y un sistema de red informática. Los sistemas operativos distribuidos también interconectan sistemas de procesamiento de datos o sistemas informáticos geográficamente dispersos con funciones autónomas a través de redes de comunicación para lograr el intercambio de información, el intercambio de recursos y la colaboración para completar tareas. -Las conexiones de hardware son las mismas. Pero también existen algunas diferencias obvias, como las siguientes: (1) Los sistemas distribuidos requieren un sistema operativo unificado para lograr la uniformidad de las operaciones del sistema. (2) El sistema operativo distribuido gestiona todos los recursos del sistema distribuido, es responsable de la asignación y programación de recursos, la división de tareas, la transmisión de información y la coordinación del control de todo el sistema, y proporciona a los usuarios una interfaz unificada. (3) A través de esta interfaz, los usuarios pueden implementar las operaciones requeridas y utilizar los recursos del sistema. En cuanto a en qué computadora se realizará la operación o qué recursos de la computadora se utilizarán, todo lo realiza el sistema operativo y el usuario no necesita saberlo. A esto se le llama transparencia del sistema. (4) Los sistemas distribuidos enfatizan la computación y el procesamiento distribuidos, por lo que tienen mayores requisitos de colaboración entre múltiples máquinas y reconstrucción del sistema, robustez y tolerancia a fallas. Se espera que el sistema tenga tiempos de respuesta más cortos, alto rendimiento y alta confiabilidad.