SlideShare una empresa de Scribd logo
1 de 2
Taller: programación de drivers para Linux 2.6

Resumen:

Se hará una introducción teórica a la programación de Drivers para Linux, con
ejemplos que serán usados y modificados por los participantes. Escribir drivers
básicos ayuda a comprender lo que pasa en espacio de kernel con las llamadas
de sistema que con frecuencia se usan (read, write, lseek, ioctl).


Material de apoyo:

Antes y durante la semana de la Campus Party, se mejorará el documento
http://wiki.freaks-unidos.net/linux%20drivers, y los ejemplos que allí se
encuentran.


Recomendaciones para el taller:

Preparar un entorno seguro para compilar drivers antes de el taller será de mucha
utilidad.

Se recomienda como mínimo tener una instalación reciente de GNU/Linux para la que se
puedan compilar módulos.

Lo ideal es contar con una máquina virtual (Qemu, VMWare) ó User mode Linux lista,
con conexión a la red local, y con su distribución preferida instalada. Se
recomienda Debian ó Ubuntu.

Los siguientes documentos pueden ser de utilidad:

* http://wiki.freaks-unidos.net/instalando%20debian%20en%20user%20mode%20linux
* http://wiki.freaks-unidos.net/qemu-debian-es


¿Qué es un driver?

Desde el punto de vista de El Kernel, un driver es una capa de código entre el
dispositivo de hardware y la aplicación. Un driver usa los (grandes) privilegios con
los que se ejecuta su código para definir exactamente como se quiere que un
dispositivo sea visto por una aplicación. Pueden existir diferentes drivers para un
mismo dispositivo de hardware.

El driver está en el kernel. El kernel tiene las siguientes tareas:

       Manejo de procesos : Creación y destrucción de procesos, comunicación entre
   ●
       procesos, asignación de CPU
       Manejo de memoria : La memoria es un recurso crítico, y el kernel administra
   ●
       su asignación.
       Sistemas de archivos
   ●
       Control de dispositivos (drivers).
   ●
El kernel diferencia tres tipos de drivers:

       Drivers de carácter (char devices)
   ●
       Drivers de bloques (block devices)
   ●
       Drivers de red (network devives)
   ●

No todos los drivers son de dispositivos. Algunos son de software. Por ejemplo, el
driver de un sistema de archivos como ext3 o reiserfs son drivers de software, que
mapea estructuras de datos de bajo nivel a estructuras de datos de más alto nivel.

¿Por qué escribir un driver?

  Existen muchas razones para querer escribir un driver.

           Para dar soporte a nuevo hardware
       ●
           Para mantener un producto propio
       ●
           Se está creando hardware a un ritmo rápido, y se necesitarán más personas en
       ●
           capacidad de crear drivers.

Recomendaciones para la creación de drivers:

 Proveer mecanismos, y no políticas

La idea es que un driver permita acceder    a los dispositivos de hardware, sin imponer
restricciones arbitrarias a los que usan    el driver. En UNIX esto es una regla de
diseño, que se conoce como separación de    mecanismos y políticas. Una consecuencia de
esta filosofía es la minimización de las    líneas de código que tiene un driver.

Para no escribir políticas en el driver, se puede hacer una aplicación de usuario
que se encargue de configurar el dispositivo, y/o una librería para acceder a él. La
idea es que el driver cambie muy poco.

Más contenido relacionado

La actualidad más candente (15)

Trabajo personal
Trabajo personalTrabajo personal
Trabajo personal
 
Taller
TallerTaller
Taller
 
Raid Por Software
Raid Por SoftwareRaid Por Software
Raid Por Software
 
Cluster
ClusterCluster
Cluster
 
3ro primaria
3ro primaria3ro primaria
3ro primaria
 
Sistema de redes
Sistema de redesSistema de redes
Sistema de redes
 
Uesjb
UesjbUesjb
Uesjb
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
Multiprocesamiento
 
Act 1 sistema operativo.
Act 1 sistema operativo.Act 1 sistema operativo.
Act 1 sistema operativo.
 
Grupo7 10 mo c gaby
Grupo7 10 mo c gabyGrupo7 10 mo c gaby
Grupo7 10 mo c gaby
 
Vmware mquinas-virtuales-19365
Vmware mquinas-virtuales-19365Vmware mquinas-virtuales-19365
Vmware mquinas-virtuales-19365
 
cuestionari 3
cuestionari 3cuestionari 3
cuestionari 3
 
Hardware
HardwareHardware
Hardware
 
Hardware
HardwareHardware
Hardware
 
Hardware
HardwareHardware
Hardware
 

Similar a Taller Drivers

Fedefran asd asd 123
Fedefran asd asd 123Fedefran asd asd 123
Fedefran asd asd 123fedefran
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administranDaly Munar
 
¿Qué es un sistema operativo?
¿Qué es un sistema operativo?¿Qué es un sistema operativo?
¿Qué es un sistema operativo?Peioarteta
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administranBrahian Perlaza
 
Sistemas operativos [Incompleto]
Sistemas operativos [Incompleto]Sistemas operativos [Incompleto]
Sistemas operativos [Incompleto]Manu Almanzar
 
Instalacion y desinstalacion
Instalacion y desinstalacionInstalacion y desinstalacion
Instalacion y desinstalacionJenner Gonzalez
 
Introducción al software
Introducción al softwareIntroducción al software
Introducción al softwaremaryoria
 
Introducción al software
Introducción al softwareIntroducción al software
Introducción al softwaremaryoria
 
Ejercicios sistemas operativos I
Ejercicios sistemas operativos IEjercicios sistemas operativos I
Ejercicios sistemas operativos IINÉS ARABIA DíAZ
 
Expo Adrenalinux
Expo AdrenalinuxExpo Adrenalinux
Expo Adrenalinuxoswchavez
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...gabrieladwarf
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...gabrieladwarf
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...gabrieladwarf
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...gabrieladwarf
 

Similar a Taller Drivers (20)

Fedefran asd asd 123
Fedefran asd asd 123Fedefran asd asd 123
Fedefran asd asd 123
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administran
 
¿Qué es un sistema operativo?
¿Qué es un sistema operativo?¿Qué es un sistema operativo?
¿Qué es un sistema operativo?
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administran
 
Capítulo 5 it essentials
Capítulo 5 it essentialsCapítulo 5 it essentials
Capítulo 5 it essentials
 
Resumen tema 2
Resumen tema 2Resumen tema 2
Resumen tema 2
 
Sistemas operativos [Incompleto]
Sistemas operativos [Incompleto]Sistemas operativos [Incompleto]
Sistemas operativos [Incompleto]
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Instalacion y desinstalacion
Instalacion y desinstalacionInstalacion y desinstalacion
Instalacion y desinstalacion
 
KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS
KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOSKERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS
KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS
 
Kernel o núcleo
Kernel o núcleoKernel o núcleo
Kernel o núcleo
 
Introducción al software
Introducción al softwareIntroducción al software
Introducción al software
 
Introducción al software
Introducción al softwareIntroducción al software
Introducción al software
 
Ejercicios sistemas operativos I
Ejercicios sistemas operativos IEjercicios sistemas operativos I
Ejercicios sistemas operativos I
 
Expo Adrenalinux
Expo AdrenalinuxExpo Adrenalinux
Expo Adrenalinux
 
Red hat
Red hatRed hat
Red hat
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...
 

Más de campus party

¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad? ¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad? campus party
 
Producción del largometraje pequeñas voces
Producción del largometraje pequeñas vocesProducción del largometraje pequeñas voces
Producción del largometraje pequeñas vocescampus party
 
Conferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvilConferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvilcampus party
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contrerascampus party
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contrerascampus party
 
X taller bluevialiminal
X taller bluevialiminalX taller bluevialiminal
X taller bluevialiminalcampus party
 
X liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-tallerX liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-tallercampus party
 
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1campus party
 
Theremin Alfredo Vargas
Theremin Alfredo Vargas Theremin Alfredo Vargas
Theremin Alfredo Vargas campus party
 
Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon campus party
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés BautistaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautistacampus party
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés FonsecaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonsecacampus party
 
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASPAseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASPcampus party
 
Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping campus party
 
Creación transmediática y comunidades en práctica
Creación transmediática y comunidades en prácticaCreación transmediática y comunidades en práctica
Creación transmediática y comunidades en prácticacampus party
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...campus party
 

Más de campus party (20)

Titulo
Titulo Titulo
Titulo
 
¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad? ¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad?
 
Producción del largometraje pequeñas voces
Producción del largometraje pequeñas vocesProducción del largometraje pequeñas voces
Producción del largometraje pequeñas voces
 
Conferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvilConferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvil
 
Liminal Bluevia 1
Liminal Bluevia 1Liminal Bluevia 1
Liminal Bluevia 1
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
 
X taller bluevialiminal
X taller bluevialiminalX taller bluevialiminal
X taller bluevialiminal
 
X liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-tallerX liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-taller
 
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
 
Theremin Alfredo Vargas
Theremin Alfredo Vargas Theremin Alfredo Vargas
Theremin Alfredo Vargas
 
Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés BautistaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés FonsecaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
 
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASPAseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
 
Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping
 
Creación transmediática y comunidades en práctica
Creación transmediática y comunidades en prácticaCreación transmediática y comunidades en práctica
Creación transmediática y comunidades en práctica
 
Android+Arduino
Android+ArduinoAndroid+Arduino
Android+Arduino
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
 
Linux en caja
Linux en cajaLinux en caja
Linux en caja
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (16)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Taller Drivers

  • 1. Taller: programación de drivers para Linux 2.6 Resumen: Se hará una introducción teórica a la programación de Drivers para Linux, con ejemplos que serán usados y modificados por los participantes. Escribir drivers básicos ayuda a comprender lo que pasa en espacio de kernel con las llamadas de sistema que con frecuencia se usan (read, write, lseek, ioctl). Material de apoyo: Antes y durante la semana de la Campus Party, se mejorará el documento http://wiki.freaks-unidos.net/linux%20drivers, y los ejemplos que allí se encuentran. Recomendaciones para el taller: Preparar un entorno seguro para compilar drivers antes de el taller será de mucha utilidad. Se recomienda como mínimo tener una instalación reciente de GNU/Linux para la que se puedan compilar módulos. Lo ideal es contar con una máquina virtual (Qemu, VMWare) ó User mode Linux lista, con conexión a la red local, y con su distribución preferida instalada. Se recomienda Debian ó Ubuntu. Los siguientes documentos pueden ser de utilidad: * http://wiki.freaks-unidos.net/instalando%20debian%20en%20user%20mode%20linux * http://wiki.freaks-unidos.net/qemu-debian-es ¿Qué es un driver? Desde el punto de vista de El Kernel, un driver es una capa de código entre el dispositivo de hardware y la aplicación. Un driver usa los (grandes) privilegios con los que se ejecuta su código para definir exactamente como se quiere que un dispositivo sea visto por una aplicación. Pueden existir diferentes drivers para un mismo dispositivo de hardware. El driver está en el kernel. El kernel tiene las siguientes tareas: Manejo de procesos : Creación y destrucción de procesos, comunicación entre ● procesos, asignación de CPU Manejo de memoria : La memoria es un recurso crítico, y el kernel administra ● su asignación. Sistemas de archivos ● Control de dispositivos (drivers). ●
  • 2. El kernel diferencia tres tipos de drivers: Drivers de carácter (char devices) ● Drivers de bloques (block devices) ● Drivers de red (network devives) ● No todos los drivers son de dispositivos. Algunos son de software. Por ejemplo, el driver de un sistema de archivos como ext3 o reiserfs son drivers de software, que mapea estructuras de datos de bajo nivel a estructuras de datos de más alto nivel. ¿Por qué escribir un driver? Existen muchas razones para querer escribir un driver. Para dar soporte a nuevo hardware ● Para mantener un producto propio ● Se está creando hardware a un ritmo rápido, y se necesitarán más personas en ● capacidad de crear drivers. Recomendaciones para la creación de drivers: Proveer mecanismos, y no políticas La idea es que un driver permita acceder a los dispositivos de hardware, sin imponer restricciones arbitrarias a los que usan el driver. En UNIX esto es una regla de diseño, que se conoce como separación de mecanismos y políticas. Una consecuencia de esta filosofía es la minimización de las líneas de código que tiene un driver. Para no escribir políticas en el driver, se puede hacer una aplicación de usuario que se encargue de configurar el dispositivo, y/o una librería para acceder a él. La idea es que el driver cambie muy poco.