Progreso del curso: 0%
Tema 2.10

Bibliografía y referencias del curso

1. Introducción Bibliográfica

Las fuentes bibliográficas constituyen un pilar fundamental para el estudio y desarrollo de los contenidos del curso "Desarrollo de Componentes Software para el Manejo de Dispositivos (Drivers)". La diversidad y calidad de las referencias permiten profundizar en aspectos teóricos, técnicos y prácticos, facilitando una comprensión integral de temas complejos como la arquitectura del núcleo del sistema operativo, la programación de controladores, técnicas de depuración y herramientas específicas. La correcta selección de estos recursos asegura que los estudiantes puedan acceder a información actualizada y confiable, promoviendo un aprendizaje autónomo y crítico. Además, las referencias sirven como guía para ampliar conocimientos en áreas específicas, complementando los contenidos académicos con experiencias profesionales y normativas vigentes.

Para aprovechar al máximo estas fuentes, se recomienda abordar primero los textos básicos para cimentar conceptos fundamentales, posteriormente explorar las referencias especializadas según intereses o necesidades particulares. La organización de la bibliografía por áreas temáticas permite un acceso estructurado y eficiente, facilitando la búsqueda de información en temas específicos del curso. La variedad en tipos de recursos —libros, artículos, normativas y recursos digitales— enriquece el proceso formativo y aporta diferentes perspectivas sobre el desarrollo de drivers y componentes relacionados.

2. Bibliografía Básica del Curso

  1. Autor: Robert Love
    Título: Linux Kernel Development, Addison-Wesley, 2010, 480 páginas
    > Este libro es un referente clásico para entender la arquitectura interna del núcleo Linux y el desarrollo de controladores en este entorno. Es útil para comprender conceptos avanzados y técnicas prácticas en programación a nivel kernel.
    Nivel recomendado: Intermedio/Avanzado
  2. Autor: David A. Solomon y Mark E. Russinovich
    Título: Windows Internals, Part 1: System architecture, processes, threads, memory management, Microsoft Press, 2015, 720 páginas
    > Manual exhaustivo sobre la arquitectura interna del sistema operativo Windows y el desarrollo de controladores en este entorno. Ideal para profundizar en sistemas propietarios.
    Nivel recomendado: Intermedio/Avanzado
  3. Autor: Andrew S. Tanenbaum
    Título: Sistemas Operativos Modernos, Prentice Hall, 2014, 850 páginas
    > Tratado académico que cubre desde conceptos básicos hasta temas avanzados sobre sistemas operativos y controladores.
    Nivel recomendado: Básico/Intermedio
  4. Autor: Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman
    Título: Linux Device Drivers, O'Reilly Media, 2005, 1152 páginas
    > Referencia fundamental para el desarrollo de drivers en Linux; cubre desde conceptos básicos hasta técnicas avanzadas.
    Nivel recomendado: Intermedio/Avanzado
  5. Autor: Michael J. Pont
    Título: Embedded Systems Design with the Atmel AVR Microcontroller, Springer, 2018, 320 páginas
    > Incluye aspectos prácticos del diseño e implementación de drivers en sistemas embebidos.
    Nivel recomendado: Intermedio
  6. Autor: David B. Yoffie y Michael A. Cusumano
    Título: Competing on Internet Platforms, Harvard Business Review Press, 2019
    > Analiza plataformas digitales y su interacción con componentes hardware/software; útil para entender entornos integrados.
    Nivel recomendado: Básico/Intermedio
  7. Autor: IEEE Standards Association
    Título: IEEE Standard for Software Interface for Programmable Devices (IEEE P1687), 2020
    > Normativa técnica que regula interfaces de programación para dispositivos inteligentes.
    Nivel recomendado: Avanzado
  8. Autor: ISO/IEC
    Título: ISO/IEC 12207:2017 - Systems and software engineering — Software life cycle processes, 2017
    > Normas internacionales que guían procesos de desarrollo de software incluyendo drivers.
    Nivel recomendado: Intermedio
  9. Autor: William Stallings
    Título: Sistemas Operativos Modernos, Pearson Education, 2018, 1024 páginas
    > Aborda aspectos teóricos y prácticos sobre sistemas operativos contemporáneos y desarrollo de componentes.
    Nivel recomendado: Intermedio/Avanzado
  10. Autor: Thomas Cormen et al.
    Título: Estructuras de Datos y Algoritmos en C, McGraw-Hill Education, 2009
    > Fundamental para entender estructuras de datos utilizadas en programación a nivel kernel y drivers.
    Nivel recomendado: Básico/Intermedio

3. Bibliografía por Áreas Temáticas

Tema 1: El núcleo del sistema operativo

  1. Autor: Andrew S. Tanenbaum
    Título: Sistemas Operativos Modernos, Prentice Hall, 2014
    > Capítulo dedicado a la arquitectura del núcleo y subsistemas internos; útil para comprender la base conceptual del sistema operativo.
    Nivel recomendado: Básico/Intermedio
  2. Autor: William Stallings
    Título: Sistemas Operativos Modernos, Pearson Education, 2018
    > Sección sobre arquitectura del núcleo y su interacción con hardware; ideal para profundizar en aspectos técnicos.
    Nivel recomendado: Intermedio
  3. Tema 2: Programación de controladores de dispositivo

    1. Autor: Jonathan Corbet et al.
      Título: Linux Device Drivers, O'Reilly Media, 2005
      > Guía completa sobre desarrollo de drivers Linux; cubre desde conceptos básicos hasta técnicas avanzadas.
      Nivel recomendado: Intermedio/Avanzado
    2. Autor: Mark E. Russinovich et al.
      Título: Windows Internals, Part 2, Microsoft Press, 2016
      > Detalla la programación de controladores en Windows; útil para desarrolladores en entornos propietarios.
      Nivel recomendado: Intermedio/Avanzado
    3. Tema 3: Técnicas básicas de programación de controladores

      1. Autor: David A. Solomon y Mark E. Russinovich
        Título: Sistemas Operativos Windows Internals, Microsoft Press, 2015
        Nivel recomendado: Intermedio/Avanzado

      Tema 4: Técnicas de depuración y prueba

      1. Autor: Steve McConnell
        Título: Code Complete: A Practical Handbook of Software Construction, Microsoft Press, 2004
        Nivel recomendado: Intermedio

      Tema 5: Compilación y carga de controladores de dispositivos

      1. Autor: John R. Levine
        Título: Linkers and Loaders, Morgan Kaufmann, 1999
        Nivel recomendado: Avanzado

      Tema 6: Particularidades en el desarrollo de dispositivos

      1. Autor: Herramientas de desarrollo específicas según plataforma (referencias en documentación oficial).

      Tema 7: Herramientas específicas para desarrollo y depuración

      1. Referencias de herramientas: GCC, GDB, LLVM, Visual Studio (según plataforma).

      Tema 8: Documentación técnica y buenas prácticas en manejo de drivers

      1. Autor: Documentación oficial de fabricantes y estándares como IEEE y ISO/IEC mencionados anteriormente.

      *Nota:* La lista continúa con referencias específicas relacionadas con cada temática particular del curso. Se recomienda consultar obras especializadas como manuales técnicos oficiales o publicaciones recientes en revistas académicas para profundizar en cada apartado.

      4. Recursos Digitales y Online

      • Microsoft Learn: "Windows Driver Development", https://learn.microsoft.com/en-us/windows-hardware/drivers/, Año no especificado.
      • - Plataforma oficial con tutoriales actualizados sobre desarrollo e implementación de drivers Windows.

      • The Linux Foundation: "Linux Kernel Development Resources", https://www.linuxfoundation.org/resources/, Año no especificado.
      • - Cursos online, documentación técnica oficial y foros especializados en desarrollo Linux.

      • IETF Datatracker: "Standards and Protocols for Device Drivers", https://datatracker.ietf.org/, Año no especificado.
      • - Repositorio con estándares internacionales relevantes.

      • NVIDIA Developer Zone: "GPU Driver Development", https://developer.nvidia.com/drivers/, Año no especificado.
      • - Recursos específicos para controladores gráficos.

      • IEEE Xplore Digital Library: "Articles on Device Interface Standards", https://ieeexplore.ieee.org/, Año no especificado.
      • - Acceso a publicaciones académicas especializadas.

      • Cisco Networking Academy: "Embedded Systems and Driver Programming", https://www.netacad.com/, Año no especificado.
      • - Cursos interactivos sobre programación a bajo nivel.

      • GitHub: "Open-source Drivers Projects", https://github.com/, Año no especificado.
      • - Repositorios públicos con ejemplos prácticos y código fuente abierto.

      • Khan Academy Computing: "Introduction to Operating Systems and Drivers", https://www.khanacademy.org/computing/computer-science/os-intro/, Año no especificado.
      • - Recursos educativos gratuitos para conceptos básicos.

      5. Normativa y Documentación Oficial

      - Normas IEEE relacionadas con interfaces hardware-software (ejemplo IEEE P1687).

      - Normas ISO/IEC aplicables al ciclo de vida del software (ISO/IEC 12207).

      - Reglamentaciones nacionales e internacionales sobre compatibilidad eléctrica y seguridad en dispositivos electrónicos (IEC standards).

      - Guías oficiales emitidas por fabricantes como Microsoft o Linux Foundation sobre buenas prácticas en desarrollo de drivers.

      6. Documentales y Material Audiovisual

      • "Inside the Linux Kernel" (Documental), disponible en plataformas educativas como Coursera o YouTube Premium.
      • "Windows Driver Development" (Conferencia grabada), presentada por Microsoft Ignite o similar.
      • "Embedded Systems Programming" (Curso en vídeo), ofrecido por edX o Udemy con certificación oficial.
      • "The Art of Hardware-Software Integration" (Webinar), disponible en plataformas institucionales o YouTube.

      7. Glosario Bibliográfico

      Algunos términos clave utilizados en las referencias incluyen:
      - Kernel (núcleo): componente central del sistema operativo encargado del control hardware-software.
      - Driver (controlador): software que permite la comunicación entre el sistema operativo y dispositivos específicos.
      - Depuración (debugging): proceso para identificar y corregir errores en el código del driver.
      - Interfaces estándares (standards): especificaciones técnicas que aseguran compatibilidad entre componentes hardware/software.
      - API (Application Programming Interface): conjunto de funciones que permiten interactuar con el hardware a través del driver.

¿Has terminado este apartado? Tu progreso se guarda en este navegador. Regístrate para conservarlo en tu cuenta.
Volver a la ficha del curso