IoTデバイスへのニーズが高まる昨今では,Webサーバを介して機器の外部に接続されたハードウェアを制御するといったハードウェアとインターネットのWebテクノロジが融合した総合アプリケーションの開発が要求される.そのようなアプリケーションを開発する上で最も重要となるのが,ハードウェアの詳細を概念化し,ユーザ・レベルに見せるためのデバイス・ドライバであり,開発者たちが最も悩む技術の一つである.
本セミナでは,組み込みLinuxを用いたシステムにも応用可能な,Linuxのデバイス・ドライバに関する入門部分を,キャラクタ・デバイスによるハンズオンを通して習得する.
また,講師によるPCIデバイス・ドライバへの発展に関する実演を通し,次のステップへの道筋を示すセミナ内容となっている.
*実習で使用する,ノート・パソコン,開発環境は事務局がご用意します.
1. オペレーティング・システムの基礎
1.1 ドライバとは何か?
1.2 OSの種類とLinux
2.Linuxアーキテクチャ
2.1 Linuxのドライバ
3.ファイル・システムについて
3.1 ファイル操作するプログラムを書いてみよう(演習)
4.簡単なキャラクタ・デバイス・ドライバをつくる(演習)
4.1 キャラクタ・デバイス・ドライバの動きを制御する(演習)
4.2 キャラクタ・デバイス・ドライバでメモリを操作する(演習)
4.3 サブ・デバイスという考え方
5.PCIデバイスに拡張しよう(実演)
5.1 DMAのやりかた
5.2 割り込み処理
●対象聴講者
・Linuxの内部構成を知りたいソフトウェア開発者
・ドライバを実際に開発する機会を得たいソフトウェア/ハードウェア開発者
・PCIデバイスなどのデバイス・ドライバを開発しようとしているソフトウェア・エンジニア
●講演の目標
・オペーレーティング・システムの基礎を知ることが出来る
・キャラクタ・デバイス・ドライバの作り方を開発できるようになる
・周辺デバイスを操作するドライバの構成について説明できるようになる
※参考文献
Linux Device Drivers, 3rd Edition, O'Reilly