Presentation title (on one or two lines)
|
|
|
- さなえ こやぎ
- 6 years ago
- Views:
Transcription
1 社会インフラシステムへの Linux の適用 Applying Linux to Social Infrastructure Systems ( 株 ) 東芝宮川雅紀 2016 年 3 月 11 日 2016 Toshiba Corporation
2 自己紹介 2016 Toshiba Corporation 2
3 目次 システム概要 Linux 適用で発生した問題の事例 事例 1 : pthread_mutex_lockによるデッドロック 事例 2:e1000ドライバによるkernelパニック まとめ 社会インフラシステムへの Linux 適用で見えてきた課題 2016 Toshiba Corporation 3
4 目次 システム概要 Linux 適用で発生した問題の事例 事例 1 : pthread_mutex_lockによるデッドロック 事例 2:e1000ドライバによるkernelパニック まとめ 社会インフラシステムへの Linux 適用で見えてきた課題 2016 Toshiba Corporation 4
5 システム概要 何故 Linux か? TCP/IPベースの産業用通信プロトコルスタックライブラリが入手しやすい 豊富なCPUアーキテクチャサポート 商用利用可能なディストリビューション 産業用通信プロトコルスタックをサードベンダから購入する 弊社で開発したシステムの概要は以下 Main Control Application Communication Control Application ModbusTCP Foundation Fieldbus Profibus DP DeviceNet User Land ( Ex. Debian) Linux Kernel 2016 Toshiba Corporation 5
6 目次 システム概要 Linux 適用で発生した問題の事例 事例 1 : pthread_mutex_lockによるデッドロック 事例 2:e1000ドライバによるkernelパニック まとめ 社会インフラシステムへの Linux 適用で見えてきた課題 2016 Toshiba Corporation 6
7 Linux を適用して発生した問題の事例 事例 1 pthread_mutex_lockによるデッドロック 問題の概要 Linux 適用製品の連続通電にて 1 週間に2,3 回の割合でWDTリセット発生 問題発生時 あるプロセスのCPU 使用率が90% を超える 問題を起こすプロセスのスケジューリングポリシはSCHED_FIFO ( 優先度 98) 2016 Toshiba Corporation 7
8 Linux を適用して発生した問題の事例 proc/<pid>/task/stat からスレッドの状態を得る 問題のスレッドより高い優先度を持つスレッド以外スケジュールされない状態 /proc/1649/task # cat */stat ; sleep 20; cat */stat; 1649 (hoge) R < 省略 > 1652 (hoge) R < 省略 > 1654 (hoge) S < 省略 > 1655 (hoge) R < 省略 > 1656 (hoge) R < 省略 > 1657 (hoge) R < 省略 > 1658 (hoge) R < 省略 > 優先度 99のスレッド CPU 使用時間が更新されていない 1659 (hoge) R < 省略 > < 20sec > 優先度 98のスレッド CPU 使用時間が更新されている 1649 (hoge) R < 省略 > 1652 (hoge) R < 省略 > 1654 (hoge) S < 省略 > 1655 (hoge) R < 省略 > 1656 (hoge) R < 省略 > 1657 (hoge) R < 省略 > 1658 (hoge) R < 省略 > 1659 (hoge) R < 省略 > 2016 Toshiba Corporation 8
9 Linux を適用して発生した問題の事例 gdbserver + gdb で問題が発生したプロセスにアタッチ pthread_mutex_lockの呼び出しから戻らないことが判明 この時ロック変数は優先度 99のスレッドによってロックされていた 怪しいと思った点 pthread inheritanceを使用していない 優先度 99のスレッドと優先度 98のスレッドが排他制御を行っている 優先度逆転現象が起こり得る! 納得できない点 PTHREAD_MUTEX_INITIALIZERで初期化していない 優先度逆転現象が起きたとしてもデッドロックはしないはず 常時発生するわけではない 2016 Toshiba Corporation 9
10 Linux を適用して発生した問題の事例 問題の発生を ftrace でトレースする 短時間で sys_futex を繰り返し呼び出していることが分かる <function-tracer> ~/dbgfs/tracing # cat trace # tracer: function # # TASK-PID CPU# TIMESTAMP FUNCTION # hoge-1657 [000] : futex_wait_setup <-futex_wait hoge-1657 [000] : get_futex_key <-futex_wait_setup hoge-1657 [000] : sys_futex <-syscall_call hoge-1657 [000] : do_futex <-sys_futex hoge-1657 [000] : futex_wait <-do_futex hoge-1657 [000] : futex_wait_setup <-futex_wait hoge-1657 [000] : get_futex_key <-futex_wait_setup hoge-1657 [000] : sys_futex <-syscall_call hoge-1657 [000] : do_futex <-sys_futex hoge-1657 [000] : futex_wait <-do_futex hoge-1657 [000] : futex_wait_setup <-futex_wait hoge-1657 [000] : get_futex_key <-futex_wait_setup 2016 Toshiba Corporation 10
11 Linux を適用して発生した問題の事例 sys_futex の実装を確認する ロック変数が 4 バイト境界に配置されていない時 -EINVAL を返す static int get_futex_key(u32 user *uaddr, int fshared, union futex_key *key) { unsigned long address = (unsigned long)uaddr; struct mm_struct *mm = current->mm; struct page *page; int err; /* * The futex address must be "naturally" aligned. */ key->both.offset = address % PAGE_SIZE; if (unlikely((address % sizeof(u32))!= 0)) return -EINVAL; address -= key->both.offset; 一方 pthread_mutex_lockはロック変数がロックされている状態でsys_futexから-einval が返されたとき sys_futexを再度呼び出す実装 実際にロック変数のアドレスが 4 バイト境界ではなかった! 2016 Toshiba Corporation 11
12 Linux を適用して発生した問題の事例 問題発生時の pthread_mutex_lock の動作まとめ thread A thread B 優先度 99 優先度 98 pthread_mutex_lock クリティカルセクション lock preempt ロック変数 wait thread A スケジュール待ち therad B ロック解放待ち ( ビジーループ ) pthread_mutex_lock ビジーループの発生! クリティカルセクション pthread_mutex_unlock pthread_mutex_unlock 2016 Toshiba Corporation 12
13 Linux を適用して発生した問題と事例 マルチコア環境では再現性が低い Proc A Proc B 優先度 99 優先度 98 Proc C 優先度 98 pthread_mutex_lock lock ロック変数 preempt wait ビジーループ! pthread_mutex_lock ビジーループ! クリティカルセクション thread A スケジュール待ち therad B ロック解放待ち ( ビジーループ ) thread C ロック解放待ち ( ビジーループ ) クリティカルセクション wait pthread_mutex_lock クリティカルセクション pthread_mutex_unlock pthread_mutex_unlock pthread_mutex_unlock 2016 Toshiba Corporation 13
14 Linux を適用して発生した問題と事例 要因は? ロック変数が4バイト境界に配置されていなかったこと pthread_mutex_lockの実装の問題 pthread inheritanceを使用していなかったという問題 対策 優先度を継承していれば問題は発生していなかった ロック変数を4バイト境界に移動 pthread_mutex_lockの修正は難しい 2016 Toshiba Corporation 14
15 Linux を適用して発生した問題と事例 発生条件まとめ ロック変数を4バイト境界に配置しない 優先度の異なる複数のリアルタイムスレッドにて排他制御をする pthread_mutex_lockで排他制御をする pthread inheritanceを使用しない 問題を引き起こした環境 Kernel : Linux rt31 UserLand : Debian Squeeze (eglibc ) 他の比較的新しい環境でも再現 Kernel:Linux UserLand:Ubuntu14.04 (glibc 2.19) 2016 Toshiba Corporation 15
16 Linux を適用して発生した問題の事例 事例 2 e1000ドライバによるoops + カーネルパニック 問題の概要 Linux 適用製品の連続通電にて カーネルパニック発生 カーネルが出したバックトレースからe1000ドライバで発生していることを特定 製品出荷後約 3 年後の出来事 2016 Toshiba Corporation 16
17 Linux を適用して発生した問題の事例 問題に対するパッチはすぐに見つかった より引用 2016 Toshiba Corporation 17
18 Linux を適用して発生した問題の事例 製品出荷から時間が経ち過ぎている このパッチは製品で使用している Kernel に素直にあたってくれるだろうか パッチの内容を確認すると 思ったより小規模 これなら大丈夫! 2016 Toshiba Corporation 18
19 Linux を適用して発生した問題の事例 新たな不安 今回は大事を免れたが 今後大きな修正パッチが出た時 無事適用できるか Long-term support 版を使用する? Target kernel selection rules Maintainer will choose one LTS version per year Maintain it for 2 years from its original release より引用 社会インフラシステムのライフサイクルはもっと長い 20 年前に出荷した製品の保守が必要になるケースがある 2016 Toshiba Corporation 19
20 まとめ 社会インフラシステムへの適用で見えてきた点 事例 1 より 信頼性 linuxの信頼性はかなり高い アプリケーションの実装でも思いもよらない落とし穴がある 設計段階で見つけにくい 開発者の経験値は必要 事例 2 より 保守性 メンテナンス期間はLong-term support 版の期間を上回る 社内にOSSの動向をウオッチするメンテナが必須 2016 Toshiba Corporation 20
21
Insert your Title here
マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?
Microsoft PowerPoint - WRR-celinux-upload 1.ppt
Embedded optimization (2) Starvation free real time scheduler NEC システムプラットフォーム研究所塚本明 (Akira Tsukamoto) WRR スケジュラーの設計 No starvation 従来の Linux スケジュラーではリアルタイムタスク (FIFO,RR) が存在中は 全く通常タスク (OTHER) が選択されない (
POSIXスレッド
POSIX スレッド (3) システムプログラミング 2011 年 11 月 7 日 建部修見 同期の戦略 単一大域ロック スレッドセーフ関数 構造的コードロッキング 構造的データロッキング ロックとモジュラリティ デッドロック 単一大域ロック (single global lock) 単一のアプリケーションワイドの mutex スレッドが実行するときに獲得, ブロックする前にリリース どのタイミングでも一つのスレッドが共有データをアクセスする
自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植
Kprobes による Embedded Linux kernel 動的解析手法 Yoichi Yuasa OSAKA NDS Embedded Linux Cross Forum #3 自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes とは Linux kernel デバッグ機能の一つ
POSIXプログラミング Pthreads編
POSIXプログラミング Pthreads 編 デジタルビジョンソリューション 中山一弘佐藤史明 参考図書 Pthreads プログラミング, Bradford Nichols, Dick Buttlar, Jacqeline Proulx Farrell, ISBN4-900900-66-4 Pthreads POSIX スレッド標準を実装したライブラリを Pthreads と呼ぶ C 言語のデータ型
2
1 12123456789012345678901234 12123456789012345678901234 12123456789012345678901234 12123456789012345678901234 12123456789012345678901234 12123456789012345678901234 12123456789012345678901234 12123456789012345678901234
S24-2411 S24-2211 S22-2321 S24-2421 S24-2311 20
TOSHIBA S24-2411 S24-2211 S22-2321 S24-2421 S24-2311 20 S24-3321 S24-3341 S24-3331 S24-3211 21 S24-3361 S24-3381 S24-3371 S24-3351 S24-3221 22 S25-5511 S24-5321 S24-5411 S24-5111 23 S24-5541 S24-5521 S24-5531
Microsoft PowerPoint ppt [互換モード]
計算機アーキテクチャ特論 A 2017 年 11 6 枝廣 計算機アーキテクチャ特論 A 並列アーキテクチャの基本 ( 枝廣 ) 10/2, 10/16, 10/23, 10/30, 11/6, 11/13, (11/20( 予備 )) 内容 ( 変更の可能性あり ) 序論 ( マルチコア= 並列アーキテクチャ概論 ) キャッシュ コヒーレンシ メモリ コンシステンシ 並列プログラミングモデル 語
Microsoft PowerPoint ppt [互換モード]
計算機アーキテクチャ特論 2013 年 10 28 枝廣 前半 ( 並列アーキテクチャの基本 枝廣 ) 10/7, 10/21, 10/28, 11/11, 11/18, (12/2)( 程は予定 ) 内容 ( 変更の可能性あり ) 序論 ( マルチコア= 並列アーキテクチャ概論 ) キャッシュ コヒーレンシ メモリ コンシステンシ 並列アーキテクチャモデル OSモデル 並列プログラミングモデル 語
ARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................
untitled
Linux Core0 RedHat Enterprise Linux 5 2.6.26 RedHawk Linux Linux 1/1 RedHat Shared Memory Core1. Core31 2.6.21 Linux + PREEMPT_RT Shared Memory Core0 1/2 FIFO 2.6.14 Linux RealTime Scheduler Core1 POSIX(RedHat)
AquesTalk プログラミングガイド
AquesTalk プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2 種類があります 使用するアプリケーションに応じて選択してください
今週の進捗
Virtualize APIC access による APIC フック手法 立命館大学富田崇詠, 明田修平, 瀧本栄二, 毛利公一 2016/11/30 1 はじめに (1/2) マルウェアの脅威が問題となっている 2015年に4 億 3000 万以上の検体が新たに発見されている マルウェア対策にはマルウェアが持つ機能 挙動の正確な解析が重要 マルウェア動的解析システム : Alkanet 仮想計算機モニタのBitVisorの拡張機能として動作
POSIXスレッド
POSIX スレッド (4) システムプログラミング 2012 年 11 月 5 日 建部修見 Thread-Specific Data (TSD) スレッド単位で別々のデータを持つ仕組み 内部の静的データのポインタを返すなどの関数を, スレッドセーフ化できる TSD は, ポインタ (void *) の集合であり, ポインタは各スレッドごとにある ポインタを TSD の値という TSD は key
AMT機能セットアップガイド
Intel AMT 機能セットアップガイド C79860000 AMT ME BIOS 目次 AMT 機能とは...2 AMT 機能を使うための準備...2 AMT Local Manageability Service のインストール...3 ME BIOS の操作...4 ME BIOS の設定項目...6 ME BIOS の初期化...8 AMT 機能とは AMT 機能でできること AMT AMT
Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以
No. ESC-APN-026-02 Document No.: ESC-APN-026-02 adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以下 本書 ) は adviceluna にて下記 Linux 環境をデバッグする手順を説明した文書です Application Shared Library Loadable
スレッド
POSIX スレッド (1) システムプログラミング 2009 年 10 月 19 日 建部修見 組込機器における並行処理 GUI における反応性向上 ダイナミックな Wait カーソル 各イベントを別制御で実行 Auto save 機能 サーバの反応性向上 各リクエストを別制御で実行 マルチコア マルチプロセッサでの並列実行 スレッドとは? プロセス内の * 独立した * プログラム実行 同一プロセス
04-process_thread_2.ppt
オペレーティングシステム ~ 保護とシステムコール ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/05/08 復習 : OS の目的 ( 今回の話題 ) 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと 1 つしかプログラムが動作しない
AquesTalk Win Manual
AquesTalk Win マニュアル 株式会社アクエスト http://www.a-quest.com/ 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
Developer Camp
2F Delphi/C++ チュートリアルセッション Delphi でキカイを制御する アプリケーションの設計とテクニック 株式会社イマジオム代表取締役 高木太郎 1 はじめに この講演の内容 制御プログラムというもの 制御プログラム設計のポイント 制御プログラム実装のテクニック 3 どんなものを考えているのか? 例 :3 次元プリンタ ここに入っている PC がシステム全体を制御 3 次元プリンタ原理
PRIMERGY BX924 S4 未サポートOS動作検証確認情報
ソフトウェア名称 SAS アレイコントローラ拡張ボード SAS RAID Mezz Card 6Gb (D3016) 動作確認結果 オンボード SATA コントローラ拡張オプション オンボード SATA コントローラ CentOS 7.0(x86_64) - - [ 詳細 ]( 注 5) CentOS 6.6(x86_64) - - [ 詳細 ]( 注
スライド 1
1 システムコールフックを使用した攻撃検出 株式会社フォティーンフォティー技術研究所 http://www.fourteenforty.jp 取締役技術担当金居良治 2 お題目 System Call について System Call Protection System Call Hook 考察 3 System Call とは? ユーザアプリケーションからカーネルのサービスルーチンを呼び出す Disk
LinuxカーネルにおけるDevice Tree情報のパース処理
Linux カーネルにおける Device Tree 情報のパース処理 坂本貴史 Ubuntu Japanese Team January 30, 2017 今日の内容 Device Tree について その概要の説明 Linux における Device Tree のアプリケーション および Flattened Device Tree(FDT) の説明 Linux の ARMv7-A/ARMv8-A
Linuxのベンチマーク評価 とボトルネック解析
LKST による Linux カーネルの評価と ボトルネック解析 ( 株 ) 日立製作所システム開発研究所 平松雅巳, 杉田由美子 Japan OSS Promotion Forum OSC2005 1 目次 カーネル性能評価手法 LKST とは LKST Log Tools とは 性能解析ツール 可視化ツール 使い方 IO ボトルネック解析例 Iozone によるボトルネック例 リクエストキュー長解析
ダンプ取得機能強化サポートオプション Enterprise Edition
株式会社様 ダンプ取得機能強化サポートオプション Enterprise Edition Enterprise Event Recorder for Linux 2017/06 株式会社日立製作所システム & サービスビジネス IoT クラウドサービス事業部オペレーティングシステム本部 1. ダンプ取得機能強化サポート Enterprise Editionの位置付け ダンプ取得機能強化サポート Enterprise
(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド
メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが
// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma
HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります
アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2
Renesas Synergy TM プラットフォーム ThreadX リアルタイム OS 紹介 アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2 Synergy プラットフォーム構成中核を担う ThreadX リアルタイム OS ご紹介部分 ページ 3 ThreadX
HULFT Series 製品における Javaの脆弱性(CVE )に対する報告
2017 年 4 月 28 日 お客様各位 株式会社セゾン情報システムズ HULFT Series 製品における Java の脆弱性 (CVE-2017-3512) に対する報告 HULFT 事業部 HULFT Series 製品における Java の脆弱性 (CVE-2017-3512) に対する報告をご案内いたします - 記 - 1. 脆弱性の内容 Java において 脆弱性が公表されました (CVE-2017-3512)
HashMapからConcurrentHashMapへの移行
HashMap から ConcurrentHashMap への移行 レガシー アプリケーションにおける注意点 2012 年 1 月 4 日橋口雅史 1. はじめにアプリケーションでは キーと値のマッピングが多用されます 例えば ユーザー名 というキーにユーザーの 情報 をマッピングするといった用途で java.util.map インタフェースは広く使われています 特に ハッシュテーブルに基づいて高速にマップを検索
AquesTalk2 Win マニュアル
株式会社 AQUEST http://www.a-quest.com/ AquesTalk2 Win Manual 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk2 Win をアプリケーションに組み込んで使用するためのプログラミングに関しての方法および注意点を示したものです AquesTalk2 は 簡単に小型機器への組み込みが出来る音声合成ミドルウェアです このライブラリを用いることで
型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1
型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1 第 1 章製品概要本開発キットは RF007 ラジオコミュニケーションテスタ ( 本器 ) を使用したソフトウェアを開発するためのライブラリソフトウェアです
スライド 1
RX62N 周辺機能紹介データフラッシュ データ格納用フラッシュメモリ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ データフラッシュの概要 プログラムサンプル 消去方法 書き込み方法 読み出し方法 FCUのリセット プログラムサンプルのカスタマイズ 2 データフラッシュの概要 3 データフラッシュとは フラッシュメモリ
背景 1 / Reprinted with permission from paper c 2013 SAE International.
車載グラフィックメータ開発プロセス革新への挑戦 ~ REMO ZIPC による 3D HMI 開発事例 ~ 西川良一株式会社デンソー情報通信システム開発部 背景 1 / 17 2008 2009 2010 2011 2012 2013 Reprinted with permission from paper 2013-01 01-04250425 c 2013 SAE International.
02: 変数と標準入出力
C プログラミング入門 総機 1 ( 月 1) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ
Page 1
Page 1 Page 2 Page 3 Page 4 620 628 579-41 -6.7-49 -7.9 71 41 47-24 -33.3 6 15.9 11.5 6.5 8.1 36 15 22-14 -38.9 7 43.4 Page 5 277 302 23 24 12/3Q 12/4Q 13/1Q 13/2Q 13/3Q 13/4Q 14/1Q 14/2Q 14/3Q 14/4Q 15/1Q
Microsoft Word - 第5回 基本データ構造2(連結リスト).doc
第 5 回基本データ構造 2 連結リストとその操作 第 5 回 Page 1 5-1. リスト構造 データ部 と ポインタ部 で構成され ポインタをたどることによりデータを扱うことができる構造 5-2. 単方向リストとその操作 5-2-1. 単方向リスト 次のデータへのポインタを 1 つだけ持っているデータ構造 ( データ部は 複数のデータを持っている場合もある ) データ部 ポインタ部 ノード リストを構成する要素のことを
3.....ren
823 2011 329 20 11 20 48.3 90.5 20 40 21 12 16 22 3 23 50 50 50 1 54 2 55 3 56 57 49 330 823 2011 6 0.3 0.7 1.0 3 1 0.3 0.7 1.0 5 m 3 m 3 m 5 m 5 3 m 1 2 5001,000 3 50 52 mm 4 0.1 1 50 823 2011 331 5 10
Microsoft PowerPoint - CproNt02.ppt [互換モード]
第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント
Web Web Web Web Web, i
22 Web Research of a Web search support system based on individual sensitivity 1135117 2011 2 14 Web Web Web Web Web, i Abstract Research of a Web search support system based on individual sensitivity
bitvisor_summit.pptx
BitVisor 内蔵の lwip で Alkanet ログの送信を試みる 命館 学システムソフトウェア研究室 下雄也, 明 修平, 瀧本栄, 利公 1 はじめに (1/4) 近年, マルウェアが増加しており, マルウェアの脅威が問題となっている マルウェアの脅威に対抗するためには, 多数のマルウェアを迅速に解析する必要がある システムコールトレーサ Alkanet Windows 上で動作するマルウェアを対象とし,
AN424 Modbus/TCP クイックスタートガイド CIE-H14
Modbus/TCP クイックスタートガイド (CIE-H14) 第 1 版 2014 年 3 月 25 日 動作確認 本アプリケーションノートは 弊社取り扱いの以下の機器 ソフトウェアにて動作確認を行っています 動作確認を行った機器 ソフトウェア OS Windows7 ハードウェア CIE-H14 2 台 ソフトウェア ezmanager v3.3a 本製品の内容及び仕様は予告なしに変更されることがありますのでご了承ください
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項
S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0
S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません
RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for
RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for ARM Lite 4.2.0 で作成した STM32F4 Discovery 基板用のプロジェクトです
Linux障害解析の状況と今後の展望
Linux 障害解析の状況と今後の 展望 Oct.15, 2004 NTT Data 先端技術株式会社鈴木幸市 [email protected] エンタープライズ環境で Linux の利用を促進するうえで カーネル障害解析は重要な位置を占める カーネルダンプとしては LKCD や NetDump が知られているが より高い確実性 信頼性を目指した Linux カーネルダンプ取得ツールの提案もなされてきている
02: 変数と標準入出力
C プログラミング入門 基幹 2 ( 月 4) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2014-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ
