HILOS NÚCLEO Y MICRONUCLEO

Nucleo y Micronucleos. Estudiante Landaeta Navarro Adolfo Antonio

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
HILOS NÚCLEO Y MICRONUCLEO por Mind Map: HILOS NÚCLEO Y MICRONUCLEO

1. PROGRAMAS, PROCESOS E HILOS

1.1. Un programa, es un código que se almacena en una computadora y que está destinado a llevar a cabo alguna tarea concreta.

1.2. Una aplicación es un programa, un driver también lo es e incluso el sistema operativo es un programa capaz de ejecutar otros programas en su interior.

1.3. Un hilo es la unidad de ejecución de un proceso. Se puede dividir el proceso en subprocesos,y cada uno de ellos será un hilo de ejecución.

1.4. Si un programa no es multi-hilo, los procesos dentro de él solamente tendrán un hilo

1.5. Si tenemos procesos multi-hilo, estos podrán dividirse en varios trozos, y cada uno de esos hilos comparte los recursos asignados al proceso.

1.6. Cada hilo cuenta con su propia pila de registros por lo que podrán procesarse dos o más al mismo tiempo, al contrario que un solo proceso, que tendrá que ejecutarse todo de una sola vez

2. Diferencia entre la CPU y la GPU

2.1. La CPU se encarga de todo tipo de tareas, el GPU está especializado en los gráficos, ambos están formados por los mismos elementos básicos (transistores.)

2.2. GPU que está mucho más especializado para tareas que requieren de un alto grado de paralelismo.

2.3. 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.

2.4. Los programas que ejecuta una GPU se componen de una única instrucción y múltiples datos.

3. Hilos

3.1. Nivel usuario (ULT)

3.1.1. la aplicación gestiona todo el trabajo de los hilos y el núcleo no es consciente de la existencia de los mismos

3.2. Nivel nucleo (KLT)

3.2.1. una aplicación comienza con un solo hilo y ejecutando en ese hilo, esta aplicación y su hilo se localizan en un solo proceso gestionado por el núcleo

3.3. Estados

3.3.1. Los principales estados de los hilos son: Ejecución, Listo y Bloqueado. No tiene estados de suspensión de hilos ya que es un concepto de proceso.

3.4. Cambio de estados

3.4.1. Creación: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de instrucción y los argumentos del nuevo hilo.

3.4.2. Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus registros de usuario, contador de programa y punteros de pila).

3.4.3. Desbloqueo: Cuando pasa el suceso por el que el hilo se bloqueó, el mismo pasa a la final de los listas.

3.4.4. Terminación: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

3.5. Ventajas contra Procesos

3.5.1. Las ventajas de los hilos se dan cuando hablamos de Multihilos, que es cuando un proceso tiene múltiples hilos de ejecución los cuales realizan actividades distintas, que pueden o no ser cooperativas entre sí.

3.5.2. Se tarda mucho menos tiempo en crear un hilo nuevo en un proceso existente que

3.5.3. en crear un proceso.

3.5.4. Se tarda mucho menos en terminar un hilo que un proceso,

3.5.5. Se tarda mucho menos tiempo en cambiar entre dos hilos de un mismo proceso

3.5.6. Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución.

4. Nucleo o Kernel

4.1. El Kernel permite la comunicación entre el software (SO) y el hardware de un dispositivo.

4.2. Se ejecuta en modo privilegiado para que los programas usan los componentes, por lo cual almacena los drivers de estos.

4.3. Facilita el acceso seguro al hardware, esta se llama SHELL.

4.4. Los procesadores de un núcleo ejecutaban un proceso cada ciclo o Megaherzios (MHz).

4.5. Con mas núcleos se pueden ejecutar mas instrucciones.

5. Sistemas operativos microkernel

5.1. Se refiere a estructuras de SO basadas en un tipo kernel (llamadas mínimas o primitivas)

5.2. Micronucleo usa llamadas mínimas, para los servicios básicos (ej.direcciones), otros servicios son realizados por el núcleo (gestión de memoria)

5.3. Tiene un núcleo mas pequeño que el monolítico.

5.4. Microkernel elabora hilos ,no procesos, por lo que esta centrado en su trabajo para el SO

5.5. Tareas, manipulación de las interrupciones en el sistema desde dispositivos físicos, manipula excepciones del procesador, proporciona soporte para la recuperación de un sistema con alguna falla de caída de energía.

5.6. Aporta, reducción de la complejidad, la descentralización de los fallos, facilita crear y depurar controladores de dispositivos.

6. Ventajas

6.1. Uniformidad de Interfaces: Disponen de una interfaz única para las solicitudes de los procesos.

6.2. Extensibilidad: Debido a que las capas ahora son verticales y son un servidor fuera del núcleo.

6.3. Flexibilidad: Implementación más pequeña y por tanto eficiente.

6.4. Portabilidad: Modificar el núcleo haciendo más simple su portabilidad

6.5. Soporte de Sistemas Distribuidos: Tales como NFS, FTP y otros sistemas de red, hacen por ejemplo que un servidor ftp sea accesible como un simple directorio

7. HILOS O THREADS DE PROCESAMIENTO

7.1. Un hilo de ejecución o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.

7.2. La creación de un nuevo hilo, permite a una aplicación realizar varias tareas a la vez, los hilos de ejecución comparten una serie de recursos.

7.3. Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso.

7.4. Cada hilo es dueño del contador de programa, la pila de ejecución y el estado de la CPU.

7.5. Cuando el proceso finaliza, todos sus hilos de ejecución también terminan, en el momento en que todos los hilos de ejecución finalizan, el proceso deja de existir y se liberan sus recursos son liberados.

7.6. Al igual que los procesos, los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos.