“¿Cómo realizan las computadoras varias tareas al mismo tiempo?”
Depende de la tarea. Si es una tarea de cálculo que requiere el núcleo de la CPU, no lo hacen. Si es algo que se puede aplicar a una GPU, entonces la CPU no está involucrada en el cálculo realizado por la GPU. Es una operación de entrada / salida … solo mínimamente, y gran parte del trabajo se aplica al dispositivo.
“¿Cómo prioriza la CPU las tareas?”
- Cómo configurar una unidad flash con un menú de estilo DVD, con videos que puede navegar y reproducir en una computadora y un televisor
- ¿Es el iPad la primera tableta?
- ¿Cómo se soluciona el error BSOD 0x0000007b al cambiar del modo ATA al modo AHCI?
- ¿Son buenas las computadoras portátiles iBall?
- ¿Qué procesador es mejor, un Intel i5 de 7a generación o un i7 de 6ta generación?
varía según la tarea y el estado del sistema. También puede variar según el propósito del sistema.
En un sistema de propósito general, una forma útil de priorizar las tareas es realizarlas primero (FIFO – primero en entrar, primero en salir), esto permite que la prioridad se maneje fácilmente cuando el primero obtiene la máxima prioridad … Sin embargo, existe todavía hay niveles de prioridad incluso entonces: las cosas que requieren interacción con el dispositivo tienen mayor prioridad. Una forma de hacerlo es tener dos listas FIFO, con la actividad del dispositivo en la lista de mayor prioridad. Solo cuando no hay entradas en esa lista de mayor prioridad se examina la segunda lista.
Por lo general, hacer que las cosas entren en la lista de alta prioridad se realiza mediante un dispositivo que indica “He terminado el trabajo solicitado”. La interrupción (más alta que cualquiera de las dos listas de prioridad, ya que puede implementarse en hardware) obtiene suficiente tiempo para ingresar a una tarea de servicio del dispositivo.
Otra forma en que la lista de alta prioridad puede obtener una entrada es mediante una tarea en ejecución que solicita actividad del dispositivo (como la entrada de datos). Una vez que la entrada en la lista de alta prioridad está presente, la tarea actual se suspende y el procesamiento inicia la lista de mayor prioridad. Cuando finaliza (junto con cualquier otra entrada que pueda aparecer), se reanuda la tarea original.
Ahora esto proporciona la base. Una lista de alta prioridad (una tarea de dispositivo, implementada en hardware), una lista de alta prioridad (implementada en software) y una lista de baja prioridad (también implementada en software).
Ahora volvamos a la primera pregunta: “¿Cómo realizan las computadoras varias tareas al mismo tiempo?”
Para permitir la apariencia de llevar a cabo múltiples tareas al mismo tiempo, se requiere un dispositivo para generar interrupciones. Este es el reloj. Como la lista de baja prioridad se gestiona en software, el reloj solicita una tarea de nivel de hardware … que a su vez ingresa una entrada de tarea de dispositivo para ser atendida. Cuando la tarea del dispositivo (incluida en la lista por la interrupción) se procesa, lo que hace es colocar la tarea actual de baja prioridad al final de la lista de baja prioridad. Ahora el sistema puede volver a la primera entrada en la lista de baja prioridad, que ahora es una tarea diferente.
Esta intercalación de procesamiento es lo que hace que parezca que la CPU está realizando múltiples tareas al mismo tiempo.
En un sistema de múltiples núcleos, cada núcleo se maneja de la misma manera, con la ventaja de que tiene dos núcleos de CPU trabajando al mismo tiempo. Ambos trabajarán en diferentes tareas, pero al mismo tiempo.
Kernel (sistema operativo) – Wikipedia
1.5. Conceptos básicos de cómo funcionan los sistemas operativos