超実践!Linuxアプリケーションプログラミング

Androidは、Linuxベース。
需要が高いスキルをオンラインで。

最近のAndroidは、Linuxをベースに開発されております。そのため、Android開発にはLinuxを使いこなせる事が必要不可欠。また、Linuxは2ヶ月に1回のペースでバージョンアップするため、日々スキルを磨くことが大切です。日本システム開発株式会社では、Linux2.6.34までを網羅したLinuxコンテンツを提供しております。

超実践!Linuxアプリケーションプログラミング

NSKのe-ラーニングシリーズ

1日1時間でLinuxプログラミングの世界へ

特徴

  • メーカーの方に受講して頂いているセミナーをe-Learning化しました。
  • 現役の開発者が作ったコンテンツのため、実践で使える内容になっています。
  • 実習課題が14種類あり、学んだ知識を実際にプログラミングして理解します。
  • e-Learningなので、自分のペースで学習できます。(ライセンス期間は5ヶ月と余裕があります。)

ライセンス価格

ライセンス

(期間:5ヶ月)

40,000円

(税込44,000円)

11ライセンス以上でボリュームディスカウントを用意しています。

※初期契約でディスカウントが発生しなくても、一定期間内はディスカウントの可能性が残る料金設定を行っています。

その他サービス

テキスト提供サービス

ライセンス期間延長サービス

Q&Aサポートサービス

オンサイト講師サービス

「超実践!Linuxアプリケーションプログラミング」
学習内容一覧

-本コースを受講する前に-

  1. Linux概要
    0.1. Linuxとは
    0.2. 特徴
    0.3. 組込みLinuxとは
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎00 第0章」の実施
  2. 組み込みLinuxアプリケーション開発
    1.1. 組込みLinuxに適したアプリケーション
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎01 第1章」の実施
  3. Linux基礎知識
    2.1. Linuxの構成
    2.2. シェル
    2.3. プロセス/カーネルモデル
    2.4. Linuxカーネルが提供する主な機能
    2.5. ファイルシステム
    2.6. メモリ管理
    2.7. デバイスドライバ
    2.8. 割り込み管理
    2.9. ネットワーク
    2.10. プロセス管理
    2.11. 時間管理
    2.12. Linux起動から終了まで
    2.13 errno
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎02 第2章」の実施
  4. システムコール
    3.1. システムコールの仕組み
    3.2. システムコールの non ブロックモード
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎03 第3章」の実施
    演習課題「【課題1】システムコール (1)」の実施
    演習課題「【課題2】システムコール (2)」の実施
  5. プロセス
    4.1. プロセスとプログラムの関係
    4.2. プロセスの状態遷移
    4.3. プロセスの親子関係
    4.4. 子プロセスの生成
    4.5. プロセスの終了
    4.6. exec 処理
    4.7. プロセスに関する資源の制限
    4.8. プロセス制御関連の関数
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎04 第4章」の実施
    演習課題「【課題3】プロセス制御」の実施
  6. シグナル
    5.1. シグナルの送受信
    5.2. シグナルハンドラの登録
    5.3. シグナルブロック
    5.4. リアルタイムシグナル
    5.5. シグナル処理関連の関数
    5.6. シグナル使用時の注意事項
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎05 第5章」の実施
    演習課題「【課題4】シグナル制御」の実施
  7. ソケット通信
    6.1. ソケット通信の仕組み
    6.2. ソケット通信手順
    6.3. ソケット関連のシステムコール
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎06 第6章」の実施
    演習課題「【課題5】ソケット通信 (1)」の実施
    演習課題「【課題6】ソケット通信 (2)」の実施
  8. 他プロセスとの連携
    7.1. パイプ
    7.2. splice
    7.3. tee
    7.4. vmsplice
    7.5. パイプ関連の関数
    7.6. IPC とは
    7.7. セマフォ
    7.8. メッセージキュー
    7.9. 共有メモリ
    7.10. IPC 情報
    7.11. IPC 資源の取得
    7.12. IPC 使用時の注意事項
    7.13. IPC 関連のコマンド・関数
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎07 第7章」の実施
    演習課題「【課題7】IPC (1)」の実施
    演習課題「【課題8】IPC (2)」の実施
  9. タイマー管理
    8.1. アラーム・クロック
    8.2. インターバル・タイマー
    8.3. タイマー使用時の注意事項
    8.4. タイマー関連のシステムコール
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎08 第8章」の実施
  10. 事象通知の共通化
    9.1. 事象通知方法の統一
    9.2. signalfd
    9.3. timerfd
    9.4. eventfd
    9.5. イベント通知の共通化関連のシステムコール
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎09 第9章」の実施
  1. プロセスアドレス空間
    10.1. プロセスアドレス空間の生成と削除
    10.2. プロセスアドレス空間のレイアウト
    10.3. mmap
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎10 第10章」の実施
    演習課題「【課題9】メモリマッピング」の実施
  2. デバイス制御
    11.1. デバイスとデバイスファイル
    11.2 misc デバイス
    11.3. デバイスを使用する手順
    11.4. デバイスドライバ関連のシステムコール
    11.5. UIO(user-space driver)
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎11 第11章」の実施
    演習課題「【課題10】デバイス制御」の実施
  3. CGROUP
    12.1. CGROUP資源
    12.2. CGROUP使用方法
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎12 第12章」の実施
  4. リソース制御を意識したアプリケーション設計
    13.1. CPU が遅い
    13.2. メモリが小さい/swap が使用できない
    13.3. ファイルシステム作成領域が小さい
    13.4. ファイルシステムへの書き込みができない
    13.5. アプリケーション設計前のリサーチの重要性
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎13 第13章」の実施
  5. メモリ消費量の削減
    14.1. ライブラリ
    14.2. BusyBox
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎14 第14章」の実施
    演習課題「【課題11】モジュールの軽量化(1)」の実施
    演習課題「【課題12】モジュールの軽量化(2)」の実施
  6. プロセスの軽量化(スレッド)
    15.1. スレッドライブラリ
    15.2. スレッドの生成から終了
    15.3 スレッドの合流
    15.4. スレッドのデタッチ
    15.5. スレッドのキャンセル
    15.6. クリーンアップハンドラの登録・削除
    15.7. 排他制御(mutex)
    15.8. 排他制御(条件変数)
    15.9. スレッドにおけるシグナル制御
    15.10. スレッド属性
    15.11. スケジューリング属性
    15.12. スレッドの利点・欠点
    15.13. スレッドプログラミングの注意点
    15.14 スレッド関連の関数
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎15 第15章」の実施
    演習課題「【課題13】スレッド制御 (1)」の実施
    演習課題「【課題14】スレッド制御 (2)」の実施
  7. プロセススケジューリング
    16.1. O(1)スケジューラのスケジューリングポリシー
    16.2. SCHED_OTHER
    16.3. SCHED_BATCH
    16.4. SCHED_FIFO
    16.5. SCHED_RR
    16.6. O(1)スケジューラのスケジューリングポリシーによるプロセスの実行順番
    16.7. O(1)スケジューラのプロセスディスパッチ契機
    16.8. O(1)スケジューラのプロセスの優先度
    16.9. O(1)スケジューラの基礎クォンタム時間

    16.10. CFS(Completely Fair Scheduler)でのキュー管理
    16.11. CFS のスケジューリングポリシー
    16.12. CFS のグループスケジューリング
    16.13. CFS のプロセスディスパッチ契機
    16.14. CFS のプロセスの優先度
    16.15. CFS の仮想実行時間
    16.16. sched_yield(2)
    16.17. O(1)スケジューラとCFSの比較
    16.18. スケジューリング関連のシステムコール
    16.19. カーネルプリエンプション
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎16 第16章」の実施
  8. アプリケーションデバッグ
    17.1. ロードモジュールが実行できない
    17.2. コアダンプした
    17.3. セグメンテーションフォルト発生
    17.4. システムコールがエラー終了
    17.5. コマンドが異常終了
    17.6. シェルから実行した場合は期待通りに動作するが、exec すると期待通りに動作しない
    17.7. ファイル書き込みエラー
    17.8. 性能測定/性能テストでの注意点
    17.9. デバッグでよく使用するコマンド
    17.10. システムの状態を確認する
    試験「【超実践!Linuxアプリケーションプログラミング】◼︎章末問題◼︎17 第17章」の実施
  9. 付録
    組込みLinux開発に必要なスキル
pagetop