Solaris 9 Internal

Versión para impresoraVersión para impresora

Código: SP-365
Duración: Consultar

Fechas previstas: Bajo demanda

Descripción del Curso

El curso Solaris 9 Internal proporciona información sobre los distintos subsistemas, rutinas y estructuras del kernel que componen el entorno operativo Solaris 9.

En las sesiones prácticas se hace un uso abundante de los depuradores kadb y mdb para examinar las estructuras del sistema en sistemas en funcionamiento. Los subsistemas del kernel estudiados incluyen la arquitectura multiproceso, la memoria virtual, la programación de procesos de tiempo real y tiempo compartido, los ciclos de vida de los procesos, la administración de las señales, el file systems UNIX y swapfs.

Este curso sustituye al curso SP-361.

Objetivos

Las personas que realicen el curso aprenderán a:

  • Explicar detalladamente cómo se obtiene un bloqueo.
  • Explicar el propósito de la herencia de prioridad y su implementación.
  • Identificar las fases que componen la traducción de direcciones de memoria virtuales a físicas.
  • Enumerar las rutinas y estructuras de procesos necesarias para implementar una clase de planificación de procesos (scheduling).
  • Enumerar las estructuras de procesos utilizadas para implementar varias clases de planificación y los campos de las tablas de parámetros de ejecución en tiempo real y en tiempo compartido.
  • Describir los algoritmos de paginación e intercambio de memoria que gestionan la memoria física como una caché.
  • Describir la creación, ejecución e interrupción de procesos.
  • Explicar la planificación y la prioridad de subprocesos del núcleo.
  • Usar kadb para localizar y ver las estructuras del sistema de un archivo abierto en un determinado proceso, como la de descriptor, estructura de archivo, vnode, inode, la página y el superbloque.
  • Describir las normas de distribución que utiliza el sistema de archivos UNIX para colocar inodes y bloques de datos.

Prerequisitos

Para obtener el máximo aprovechamiento del curso, los alumnos necesitan:

  • Saber escribir programas C correctos y evaluar una función a "a = (struct foo 8) b" y "c = int (func) (int)".
  • Utilizar el nivel de llamadas del sistema para solicitar servicios del sistema.
  • Saber escribir un programa con las funciones read(2), write(2), mmap(2), fork(2), execve(2), exit(2) y waitid(2).

A quién va dirigido

Este curso es indicado para programadores, ingenieros de sistemas y técnicos de soporte.

Cursos relacionados

Cursos relacionados (Después):
SI-375: Writing Device Drivers for the Solaris Operating Environment

Contenido

Módulo 1 - Introducción al entorno Solaris 9

  • Definir la finalidad del sistema operativo, explicar el concepto de estratificación del kernel en capas y describir las diferentes capas.
  • Describir los procesos y bibliotecas de usuario.
  • Explicar el significado de la administración de memoria en el entorno Solaris.
  • Describir el concepto de almacenamiento temporal de archivos (caching).
  • Explicar los conceptos relacionados con las señales.
  • Explicar el modo de entrada al kernel.
  • Describir el concepto de planificación.
  • Enumerar las funciones nuevas en las versiones más recientes de Solaris 9.

Módulo 2 - Análisis de la arquitectura multiproceso

  • Explicar la diferencia entre multiproceso simétrico (SMP) y multiproceso asimétrico (ASMP).
  • Definir una aplicación y un thread del kernel.
  • Definir un proceso ligero (LWP).
  • Explicar la diferencia entre un thread y LWP.
  • Enumerar las estructuras que describen el estado de un thread, un proceso ligero y un proceso del núcleo.
  • Explicar cómo funciona el bloqueo mutex.
  • Definir una variable de condición.
  • Describir cómo se implementa un semáforo de cuenta.
  • Explicar cómo funciona un bloqueo de lector múltiple y escritor único.
  • Explicar las ventajas que ofrecen múltiples procesos ligeros en un proceso determinado.

Módulo 3 - Análisis de la administración de la memoria de hardware

  • Enumerar los pasos que intervienen en la transformación de la dirección virtual en dirección física.
  • Enumerar las diferencias que existen entre la unidad de administración de memoria (MMU) anterior de Sun y la MMU de referencia SPARC.
  • Describir los tipos de cache (caché) implementados en los sistemas Sun.

Módulo 4 - Análisis de la administración de la memoria de software

  • Enumerar las capas del sistema VM del software SunOS 5.x y definir la función de cada capa.
  • Enumerar las estructuras de mapeo que conforman el espacio de direcciones de un proceso.
  • Localizar las estructuras de página y de espacio de direcciones de un proceso en kadb e identificar los campos contenidos en las estructuras.
  • Explicar cómo puede utilizar un programador de aplicaciones el mapeo de memoria y las llamadas del sistema de control de memoria para administrar los requisitos de memoria del proceso de forma efectiva.

Módulo 5 - Análisis de la paginación y el intercambio de memoria

  • Explicar el mótodo de capas para administrar fallos de página.
  • Enumerar las condiciones en la que se ejecuta el demonio de la página.
  • Enumerar las funciones del demonio de la página.
  • Enumerar las condiciones en las que se ejecuta e swapper.

Módulo 6 - Análisis del file system swapfs

  • Enumerar los defectos en la administración del intercambio de memoria del software SunOS 4.x.
  • Describir los cambios efectuados en la capa de memoria anónima para adaptarla a la implementación del file system swapfs.
  • Enumerar dos ventajas derivadas de la incorporación del file system swapfs al software SunOS 5.x.

Módulo 7 - Análisis de la planificación

  • Enumerar al menos dos obstáculos importantes para realizar procesos en tiempo real en las arquitecturas de UNIX convencionales, como System V Release 3 (SVR3), la versión 4.3 de Berkeley Software Design (BSD) para UNIX y SunOS 4.x.
  • Explicar la diferencia entre un kernel completamente priorizable y un kernel con puntos de prioridad.
  • Indicar una rutina utilizada para introducir un thread en una cola de distribución.
  • Describir cuándo se sitúa un thread al principio de la cola de distribución.
  • Describir cómo están ordenadas las colas de espera.
  • Definir el orden de prioridad del usuario.
  • Definir el orden de prioridad del kernel.
  • Definir la respuesta de distribución determinista (latencia de distribución).
  • Definir la inversión de prioridades.

Módulo 8 - Análisis del tiempo de vida de los procesos

  • Definir las distintas llamadas del sistema que se utilizan para crear un proceso nuevo.
  • Describir las rutinas del kernel utilizadas para implementar la creación de procesos.
  • Enumerar los distintos tipos de ejecutables admitidos en el entorno Solaris.
  • Explicar las rutinas utilizadas para implementar el formato de ejecutables y enlazables (ELF).
  • Citar las ventajas del formato de ejecutables ELF.
  • Describir las acciones que realiza un proceso a su cierre.
  • Explicar la llamada del sistema waitid(2) y cómo se implementa.

Módulo 9 - Análisis de las señales

  • Enumerar los distintos tipos de señales que se pueden suministrar a un proceso o thread.
  • Explicar la diferencia entre una señal de captura y una señal de interrupción.
  • Enumerar las rutinas de gestión de señales y describir sus funciones.
  • Describir para qué sirve la función de señales y cómo se suministra una señal.

Módulo 10 - Análisis del file system

  • Describir la capa de la interfaz vnode de un file system.
  • Enumerar los cuatro campos de una entrada del directorio.
  • Explicar las ventajas del file system BSD 4.3.
  • Describir la función de las estructuras de superbloque y de grupo de cilindros.
  • Enumerar los campos de una estructura inode de disco y explicar para qué sirven.
  • Mencionar las rutinas implicadas en la determinación de políticas de distribución globales.
  • Explicar las rutinas de asignación mediante diagramas de flujo y describir cómo se localizan rápidamente los fragmentos.