HILOS, NÚCLEO Y MICRONÚCLEO

Description

Mapa mental sobre el tema de hilos, núcleo y micronúcleo
Boris Roque
Mind Map by Boris Roque, updated more than 1 year ago
Boris Roque
Created by Boris Roque about 3 years ago
94
0

Resource summary

HILOS, NÚCLEO Y MICRONÚCLEO
  1. Todo dispositivo esta compuesto de dos partes fundamentales: HARDWARE y SOFTWARE. El optimo funcionamiento depende del buen entendimiento entre ambas partes. Para esto existe un un intermediario, el KERNEL
    1. EL KERNEL
      1. La palabra tiene raíces de origen germano, "kern" = nucleo.
        1. Posee prioridad al ejecutarse y facilita el acceso seguro a los componentes
          1. En el se encuentran los DRIVERS, mediante los cuales se gestiona y controlan por ejemplo: el audio, WiFi, la pantalla, etc.
            1. Es la parte mas importante del Sistema Operativo, toda la comunicacion la hace a través del Shell, un interprete de comandos.
              1. Los procesadores de hace años poseían un solo núcleo, capaces de procesar una instrucción por ciclo medidos en Megahertzios (MHz)
                1. *A más MHz más procesos se podrán hacer por segundo
                2. Actualmente se tienen procesadores de hasta 8 núcleos, permitiendo la realización de 8 procesos simultáneamente.
                  1. Se encuentran físicamente en el procesador.
                  2. SISTEMAS OPERTIVOS MICROKERNEL
                    1. El micronúcleo es un tipo de núcleo de un sistema operativo que provee llamadas mínimas para implementar servicios básicos.
                      1. Su estructura está basada en un núcleo más pequeño que el núcleo monolítico. Se basa en programación modular aportando flexibilidad al SO.
                        1. Se encarga de la planificación de hilos, no de procesos, haciendo posible tener varias tareas.
                          1. *Por tanto el microkernel planifica todo el código que corre el sistema.
                          2. Su utilización permite:
                            1. Reducción de la complejidad
                              1. Descentralización de fallos
                                1. Facilita el proceso de creación y depuración de los controladores de dispositivos.
                                2. Aporta grandes ventajas:
                                  1. Uniformidad de Interfaces
                                    1. Disponen de una interfaz única para las solicitudes de los procesos
                                    2. Extensibilidad
                                      1. Su arquitectura consta de capas verticales y son un servidor fuera del micronúcleo, por lo cual añadir una nueva capa es más sencillo, a diferencia de su anterior arquitectura.
                                      2. Flexibilidad
                                        1. Se puede simplificar reduciendo características, obteniendo una implementación más pequeña y por tanto eficiente.
                                        2. Portabilidad
                                          1. Para implementarlo en arquitecturas diferentes solo habría que modificar el núcleo haciendo más simple su portabilidad
                                          2. Soporte de Sistemas Distribuidos
                                            1. Tales como NFS, FTP y otros sistemas de red haciendo que estos sean accesibles como un simple directorio.
                                          3. Realiza importantes tareas:
                                            1. Manipulación de interrupciones en el sistema desde dispositivos físicos.
                                              1. Manipula excepciones del procesador
                                                1. Proporciona soporte para la recuperación de un sistema con alguna falla de caída de energía.
                                            2. HILOS O THREADS
                                              1. Son la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo
                                                1. Son simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea.
                                                  1. La creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vez.
                                                    1. *Un proceso sigue en ejecución mientras al menos uno de sus hilos siga activo. Al terminar dicho proceso se liberan los recursos usados.
                                                    2. Constan o es propio de ellos:
                                                      1. Contador del programa
                                                        1. Pila de ejecución
                                                          1. Estado de la CPU (Incluyendo el valor de los registros)
                                                          2. Los hilos son independientes, llevan bastante información de estados e interactúan sólo a través de mecanismos de comunicación dados por el sistema.
                                                            1. Los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos
                                                              1. ESTADOS DE UN HILO
                                                                1. Los principales son: Ejecución, Listo y Bloqueado. Como nota, si un proceso está expulsado de la RAM, todos sus hilos deberán estar expulsados pues comparten el espacio de direcciones del proceso.
                                                                  1. Cambio de Estados
                                                                    1. Creación
                                                                      1. Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso. El hilo tendrá su propio contexto y su propio espacio de la columna, y pasará al final de los Listos.
                                                                      2. Bloqueo
                                                                        1. Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus registros de usuario, contador de programa y punteros de pila). Ahora el procesador podrá pasar a ejecutar otro hilo que esté en el final de los Listos mientras el anterior permanece bloqueado.
                                                                        2. Desbloqueo
                                                                          1. Cuando pasa el suceso por el que el hilo se bloqueó, el mismo pasa a la final de los Listos.
                                                                          2. Terminación
                                                                            1. Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.
                                                                      3. Generalmente cada hilo tiene una tarea determinada, como forma de aumentar la eficiencia del uso del procesador.
                                                                        1. Hilos de Nivel Usuario
                                                                          1. o User level Threads, ULT. Son implementados en alguna librería. Estos hilos se gestionan sin soporte del SO, el cual solo reconoce un hilo de ejecución. Los ULT tienen como beneficio que su cambio de contexto es más sencillo que el cambio de contexto entre los KLT.
                                                                          2. Hilos de Nivel Núcleo
                                                                            1. o Kernel level threads, KLT. Conocidos también como hilos soportados por el núcleo (Kernel supported threads) mayormente usado en Lightweight process (procesos ligeros)
                                                                            2. VENTAJAS DE LOS HILOS CONTRA LOS PROCESOS
                                                                              1. Se tarda mucho menos tiempo en crear un hilo nuevo en un proceso existente que en crear un proceso.
                                                                                1. Se tarda mucho menos en terminar un hilo que un proceso, ya que cuando se elimina un proceso se debe eliminar el BCP del mismo, mientras que un hilo se elimina su contexto y pila.
                                                                                  1. Se tarda mucho menos tiempo en cambiar entre dos hilos de un mismo proceso
                                                                                    1. Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución. Si hay una aplicación que debe implementarse como un conjunto de unidades de ejecución relacionadas, es más eficiente hacerlo con una colección de hilos que con una colección de procesos separados.
                                                                                  2. PROGRAMAS, PROCESOS E HILOS
                                                                                    1. Los hilos de un Proceso
                                                                                      1. Denominados subprocesos en los SO. Un hilo es la unidad de ejecución de un proceso.
                                                                                        1. Se puede dividir el proceso en subprocesos y cada uno de ellos será un hilo de ejecución
                                                                                          1. Si se tienen procesos multi-hilo, estos podrán dividirse en varios trozos, y cada uno de esos hilos comparte los recursos asignados al proceso. Por eso la ejecución en múltiples hilos es más eficiente
                                                                                        2. DIFERENCIA ENTRE GPU Y CPU
                                                                                          1. La CPU y la GPU son dos procesadores principales que existen en todo PC, el primero se encarga de todo tipo de tareas mientras que el segundo está especializado en los gráficos, ambos están formados por los mismos elementos básicos.
                                                                                            1. Una GPU esté optimizada para procesar grandes cantidades de datos y realizar las mismas operaciones específicas una y otra vez. Una GPU es capaz de ejecutar miles de programas a la vez, pero mucho más específicos que los que puede manejar una CPU.
                                                                                              1. Diferencias entre la arquitectura de ambos componentes
                                                                                              Show full summary Hide full summary

                                                                                              Similar

                                                                                              Diapositivas de Topología de Redes
                                                                                              lisi_98
                                                                                              Elementos que conforman a google chrome
                                                                                              juan carlos hernandez morales
                                                                                              Construcción de software
                                                                                              CRHISTIAN SUAREZ
                                                                                              Sistema de Gestor de Base de Datos MongoDB
                                                                                              Edwin Herlop
                                                                                              TRABAJO DE TOPOLOGÍA DE REDES
                                                                                              lisi_98
                                                                                              Arquitecturas de Sistemas Distribuidos
                                                                                              Edisson Reinozo
                                                                                              Cloud Data Integration Specialist Certification
                                                                                              James McLean
                                                                                              INFORMÁTICA - Periféricos de entrada y salida
                                                                                              Serna Izaoly
                                                                                              Conceptos Básicos de Informática
                                                                                              jose antonio negreros orellana
                                                                                              CARACTERISTICAS DE UN PROCESO INDUSTRIAL
                                                                                              josm8506
                                                                                              LA RESPONSABILIDAD EN MI PROYECTO DE VIDA
                                                                                              daylen castillo