La Red de Conocimientos Pedagógicos - Conocimientos históricos - ¿Qué es un sistema operativo?

¿Qué es un sistema operativo?

El sistema operativo es una colección de software del sistema que administra los recursos de hardware de la computadora, controla el funcionamiento de otros programas y proporciona a los usuarios una interfaz interactiva. El sistema operativo es un componente clave del sistema informático y es responsable de tareas básicas como administrar y configurar la memoria, determinar la prioridad de la oferta y demanda de recursos del sistema, controlar los dispositivos de entrada y salida, operar redes y administrar sistemas de archivos. Hay muchos tipos de sistemas operativos, y los sistemas operativos instalados en varios dispositivos pueden variar desde simples hasta complejos, desde sistemas operativos integrados para teléfonos móviles hasta sistemas operativos a gran escala para supercomputadoras. Los sistemas operativos modernos actualmente populares incluyen principalmente Android, BSD, iOS, Linux, Mac OS X, Windows, Windows Phone y z/OS. Excepto por algunos sistemas operativos como Windows y z/OS, la mayoría de los sistemas operativos son operaciones similares a Unix. . sistema.

Las principales funciones del sistema operativo son la gestión de recursos, el control de programas y la interacción persona-ordenador. Los recursos del sistema informático se pueden dividir en dos categorías: recursos de equipo y recursos de información. Los recursos del dispositivo se refieren a los dispositivos de hardware que componen una computadora, como la unidad central de procesamiento, la memoria principal, el almacenamiento en disco, las impresoras, el almacenamiento en cinta, los monitores, los dispositivos de entrada de teclado y los ratones. Los recursos de información se refieren a diversos datos almacenados en las computadoras, como archivos, bibliotecas de programas, bases de conocimiento, software del sistema y software de aplicación, etc.

El sistema operativo está ubicado entre el hardware subyacente y el usuario, y es el puente entre ambos. Los usuarios pueden ingresar comandos a través de la interfaz de usuario del sistema operativo. El sistema operativo interpreta los comandos, controla los dispositivos de hardware e implementa los requisitos del usuario. Desde una perspectiva moderna, el sistema operativo de un ordenador personal estándar debería proporcionar las siguientes funciones:

Gestión de procesamiento

Gestión de memoria

Sistema de archivos

Redes

Seguridad

Interfaz de usuario

Controladores de dispositivos

Gestión de recursos

Los recursos del dispositivo y los recursos de información de El sistema es asignado y programado por el sistema operativo de acuerdo con ciertas políticas según las necesidades del usuario. La gestión de almacenamiento del sistema operativo es responsable de asignar unidades de memoria a los programas que requieren memoria para que puedan ejecutarse. Una vez completada la ejecución del programa, las unidades de memoria ocupadas por él se recuperan para su reutilización. Para los sistemas informáticos que proporcionan almacenamiento virtual, el sistema operativo también debe cooperar con el hardware para realizar la programación de páginas, asignar páginas de acuerdo con los requisitos del programa en ejecución, transferir páginas dentro y fuera de la memoria y reciclar páginas durante la ejecución.

La gestión del procesador, o programación del procesador, es otra parte importante de la función de gestión de recursos del sistema operativo. En un sistema que permite la ejecución simultánea de múltiples programas, el sistema operativo asignará alternativamente procesadores a los programas que esperan ser ejecutados en el sistema de acuerdo con ciertas estrategias. Un programa en espera de ser ejecutado sólo puede ejecutarse después de haber obtenido un procesador. Si un programa encuentra un evento mientras se ejecuta, como iniciar un dispositivo externo y no poder continuar ejecutándose temporalmente, o la ocurrencia de un evento externo, etc., el sistema operativo manejará el evento correspondiente y luego reasignará el procesador.

La función de administración de dispositivos del sistema operativo es principalmente asignar y reciclar dispositivos externos y controlar dispositivos externos para que funcionen de acuerdo con los requisitos de los programas de usuario. Para dispositivos externos que no son de almacenamiento, como impresoras, monitores, etc., se pueden asignar directamente a un programa de usuario como dispositivo y reciclarse después de su uso para que los utilice otro usuario que lo necesite. Para los dispositivos externos de tipo almacenamiento, como discos, cintas, etc., proporcionan espacio de almacenamiento a los usuarios para almacenar archivos y datos. La gestión de dispositivos de almacenamiento externos y la gestión de la información están estrechamente integradas.

La gestión de la información es una función importante del sistema operativo, que proporciona principalmente a los usuarios un sistema de archivos. En términos generales, un sistema de archivos proporciona a los usuarios funciones como crear archivos, eliminar archivos, leer y escribir archivos, abrir y cerrar archivos, etc. Con un sistema de archivos, los usuarios pueden acceder a los datos por nombre de archivo sin saber dónde están almacenados los datos. Este enfoque no solo es conveniente para los usuarios, sino que también favorece que los usuarios compartan datos públicos.

Además, dado que el creador del archivo puede especificar permisos de uso cuando se crea el archivo, se puede garantizar la seguridad de los datos.

Control de programas

La ejecución de un programa de usuario está bajo el control del sistema operativo de principio a fin. Un usuario escribe un programa en un determinado lenguaje de programación para resolver el problema que quiere resolver y luego ingresa el programa en la computadora junto con los requisitos para su ejecución. El sistema operativo controla la ejecución del programa de usuario de acuerdo con los requisitos hasta que. termina. El sistema operativo controla la ejecución del usuario principalmente de la siguiente manera: llamar al programa compilador correspondiente, compilar el programa fuente escrito en un determinado lenguaje de programación en un programa de destino ejecutable por computadora, asignar recursos como el almacenamiento interno y transferir el programa a la memoria. Inicie, maneje varios eventos que ocurren durante la ejecución de acuerdo con los requisitos especificados por el usuario y comuníquese con el operador para obtener instrucciones sobre cómo manejar eventos inesperados.

Interacción persona-computadora

La función de interacción persona-computadora del sistema operativo es un factor importante que determina la "amabilidad" de un sistema informático. Las funciones de interacción persona-computadora se logran principalmente mediante dispositivos externos que pueden ingresar y emitir y el software correspondiente. Los dispositivos disponibles para la interacción persona-computadora incluyen principalmente teclado, mouse, varios dispositivos de reconocimiento de patrones, etc. El software correspondiente a estos dispositivos es la parte del sistema operativo que proporciona funciones de interacción persona-computadora. La función principal de la parte de interacción persona-computadora es controlar el funcionamiento del equipo relevante y comprender y ejecutar varios comandos y requisitos relacionados transmitidos a través del equipo de interacción persona-computadora.

Gestión de procesos

Ya sea un programa residente o un programa de aplicación, todos utilizan procesos como unidad de ejecución estándar. Cuando las computadoras se construyeron utilizando la arquitectura von Neumann, cada unidad central de procesamiento solo podía ejecutar como máximo un proceso a la vez. Los primeros sistemas operativos (como DOS) no permitían que ningún programa rompiera esta restricción, y DOS sólo podía ejecutar un proceso a la vez (aunque el propio DOS afirmaba que tenían la capacidad de terminar y esperar para permanecer (TSR), lo que podía parcialmente y difícilmente resolver este problema). Los sistemas operativos modernos, incluso si solo tienen una CPU, pueden usar la función multiproceso (multitarea) para ejecutar múltiples procesos al mismo tiempo. La gestión de procesos se refiere a la función del sistema operativo para ajustar múltiples procesos.

Dado que la mayoría de las computadoras solo contienen una unidad central de procesamiento, en el caso de un solo núcleo (Core), múltiples procesos cambian de manera simple y rápida entre procesos para que cada proceso pueda ejecutarse. O, en el caso de los multiprocesadores, todos los procesos se traducen entre procesadores o núcleos a través de una serie de tecnologías colaborativas. Cuantos más procesos se ejecuten al mismo tiempo, menor será el ratio de tiempo que se puede asignar a cada proceso. Cuando muchos sistemas operativos encuentran este problema, habrá situaciones como efectos de sonido intermitentes o pestañas del mouse (llamado Thrashing). Un sistema operativo solo puede seguir ejecutando su propio programa de administración y no se pueden ejecutar otros usos o programas de hardware. La gestión de procesos generalmente implementa el concepto de tiempo compartido. La mayoría de los sistemas operativos pueden usar diferentes niveles de privilegios (prioridad) para cambiar la proporción de tiempo compartido para cada proceso. Cuanto mayor sea el privilegio del proceso, mayor será la prioridad de ejecución y mayor la proporción por unidad de tiempo. Los sistemas operativos interactivos también proporcionan un cierto grado de mecanismo de retroalimentación, lo que permite que los procesos que interactúan directamente con los usuarios tengan mayores privilegios.

Gestión de la memoria

Según la ley de Parkinson: "No importa cuánta memoria le des al programa, el programa hará todo lo posible para consumirla toda". Por lo general, espero que el sistema le proporcione memoria ilimitada e infinitamente rápida. La mayoría de las arquitecturas de memoria de las computadoras modernas son jerárquicas, comenzando con el scratchpad más rápido y más pequeño, seguido por el caché, la memoria y los dispositivos de almacenamiento en disco más lentos. La administración de memoria del sistema operativo proporciona funciones tales como encontrar espacio de memoria disponible, configurar y liberar espacio de memoria e intercambiar el contenido de la memoria y los dispositivos de almacenamiento de baja velocidad. Esta característica, también conocida como gestión de memoria virtual, aumenta considerablemente el espacio de memoria disponible para cada proceso (normalmente 4 GB, aunque la cantidad real de RAM es mucho menor). Sin embargo, esto también trae la desventaja de reducir ligeramente la eficiencia operativa y, en casos graves, incluso puede provocar que el proceso se bloquee.

Otra actividad clave de la gestión de memoria es la gestión de ubicaciones virtuales con ayuda de la CPU. Si muchos procesos se almacenan en un dispositivo de memoria al mismo tiempo, el sistema operativo debe evitar que interfieran con el contenido de la memoria de los demás (a menos que operen dentro de un alcance controlado mediante algún acuerdo y limiten el rango de memoria accesible). Particionar el espacio de la memoria logra el objetivo.

Cada proceso solo verá todo el espacio de memoria (desde 0 hasta el límite superior máximo del espacio de memoria) asignado (por supuesto, algunas ubicaciones están reservadas por el sistema operativo y el acceso está prohibido). La CPU almacena varias tablas por adelantado para comparar ubicaciones virtuales con ubicaciones de memoria reales. Este método se denomina configuración de paginación.

Al crear un espacio de ubicación separado para cada proceso, el sistema operativo también puede liberar fácilmente toda la memoria ocupada por un proceso a la vez. Si el proceso no libera la memoria, el sistema operativo puede salir del proceso y liberar la memoria automáticamente.

Memoria virtual

La memoria virtual es una tecnología para la gestión de la memoria del sistema informático. Hace que la aplicación piense que tiene memoria disponible contigua (un espacio de direcciones completo y continuo), pero de hecho, generalmente se divide en múltiples fragmentos de memoria física y algunos se almacenan temporalmente en un disco externo cuando es necesario.

En los primeros sistemas operativos de usuario único y tarea única (como DOS), cada computadora tenía un solo usuario, ejecutando un programa a la vez, y el orden no era muy grande. almacenados en la memoria real. La memoria virtual no es de mucha utilidad en este momento. Sin embargo, con el aumento de la capacidad de memoria ocupada por los programas y la aparición de sistemas operativos multiusuario y multitarea, durante el diseño de un programa suele existir una contradicción entre la cantidad de almacenamiento requerida por el programa y la capacidad del archivo principal. memoria realmente equipada en el sistema informático. Por ejemplo, en algunas computadoras de gama baja, la capacidad de la memoria física es pequeña, pero algunos programas requieren una gran cantidad de memoria para ejecutarse; en un sistema multitarea multiusuario, varios usuarios o múltiples tareas actualizan toda la memoria principal. , requiriendo la ejecución simultánea de procedimientos arbitrarios. No se puede determinar qué parte de la memoria real ocupada por estos programas que se ejecutan al mismo tiempo al escribir el programa. Debe asignarse dinámicamente hasta que el programa se esté ejecutando. [4]

Por esta razón, esperamos abordarlo de forma independiente al escribir un programa, sin considerar si el programa se puede almacenar en un almacenamiento físico o dónde se debe almacenar físicamente. Cuando el programa se está ejecutando, se asigna un cierto espacio de ejecución a cada programa y el componente de conversión de direcciones convierte la dirección durante la programación en la dirección física de la memoria real. Si la memoria asignada no es suficiente, solo se carga el bloque de programa (o bloque de datos) actualmente en ejecución o por ejecutar, y el resto reside temporalmente en la memoria auxiliar.