*先輩方の目次

#contents

**笹田さん(2002年度)

 第1章緒言1
 1.1 背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1.1.1 スレッドプログラミング. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1.1.2 マルチスレッドプロセッサアーキテクチャ. . . . . . . . . . . . . . . . . . . 3
 1.1.3 マルチスレッドアーキテクチャにおけるシステムソフトウェア. . . . . . . . 4
 1.2 目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 第2 章問題分析6
 2.1 従来のスレッド処理機構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 2.1.1 カーネルレベルスレッド. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
 2.1.2 ユーザレベルスレッド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
 2.1.3 2 レベルスレッド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
 2.1.4 協調型ユーザレベルスレッドモデル. . . . . . . . . . . . . . . . . . . . . . 11
 2.1.5 スレッドモデルについての考察. . . . . . . . . . . . . . . . . . . . . . . . . 12
 2.2 マルチスレッドアーキテクチャにおけるスレッドライブラリ. . . . . . . . . . . . . 12
 2.2.1 従来の実スレッド管理方式. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
 2.2.2 マルチスレッドアーキテクチャにおけるスレッドの排他制御・同期. . . . . . 14
 2.3 議論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
 第3 章本研究の目標と設計方針18
 3.1 本研究の目標. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 3.2 本研究の設計方針. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 第4 章システムの全体構成20
 4.1 システム全体の構成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 4.2 OChiMuS PE プロセッサ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 4.2.1 プロセッサ概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 4.2.2 プロセッサ内部のスレッド管理. . . . . . . . . . . . . . . . . . . . . . . . . 24
 4.2.3 スレッド制御命令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
 i
 4.3 Future OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
 4.3.1 プロセス管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
 4.3.2 スレッドライブラリとの連携. . . . . . . . . . . . . . . . . . . . . . . . . . 26
 第5 章スレッドライブラリの方式設計27
 5.1 スレッドライブラリの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
 5.2 プログラミングインターフェース. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 5.2.1 スレッドの生成と削除,合流. . . . . . . . . . . . . . . . . . . . . . . . . . 28
 5.2.2 スレッド間の排他制御. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 5.2.3 条件変数による同期. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 5.3 スレッドの管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
 5.3.1 スレッド管理ブロック. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
 5.3.2 スレッド識別子とLTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 5.3.3 待ちスレッドリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 5.3.4 スレッドスケジューリング. . . . . . . . . . . . . . . . . . . . . . . . . . . 36
 5.3.5 空きLTN リスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
 5.4 プロセッサ命令を利用するスレッド制御. . . . . . . . . . . . . . . . . . . . . . . . 36
 5.4.1 スレッド生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
 5.4.2 スレッドの削除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
 5.4.3 排他制御,同期機構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
 5.4.4 並列実行のための排他制御. . . . . . . . . . . . . . . . . . . . . . . . . . . 44
 5.5 OS との協調. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
 5.5.1 プリエンプティブなスレッド切り替え. . . . . . . . . . . . . . . . . . . . . 48
 5.5.2 ブロック,停止している実スレッドの扱い. . . . . . . . . . . . . . . . . . . 48
 5.5.3 OS との競合回避. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
 第6 章評価52
 6.1 実装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
 6.2 評価環境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
 6.3 並列実行による高速化の評価. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
 6.3.1 画像縮小プログラム. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
 6.3.2 行列演算プログラム. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
 6.4 スレッド制御の評価. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
 6.5 考察. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
 第7 章結言59
 7.1 本研究の成果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
 ii
 7.2 本研究の適用可能性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
 7.3 今後の課題. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
 謝辞62
 参考文献64
 付録A 評価プログラムと結果65
 A.1 平均画素法による図形縮小プログラム. . . . . . . . . . . . . . . . . . . . . . . . . 65
 A.1.1 ソースコード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
 A.1.2 結果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
 A.2 行列の掛け算を行うプログラム. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
 A.2.1 ソースコード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
 A.2.2 結果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

**阿部さん(2004年度)

 第1章緒言1
 1.1 背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1.1.1 携帯電話上でのJavaVM における2 次記憶装置の管理. . . . . . . . . . . . 1
 1.1.2 携帯電話で利用できるインターネットリソース. . . . . . . . . . . . . . . . . 3
 1.2 問題点と対処法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 1.3 目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 第2 章目標と方針6
 2.1 本研究の目標. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 2.2 本研究の方針. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
 2.3 ターゲットとする携帯電話機. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
 第3 章システムの全体構成9
 3.1 FML の構成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
 3.1.1 ローカルストレージの利用. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
 3.1.2 ネットワークストレージの利用. . . . . . . . . . . . . . . . . . . . . . . . . 12
 第4 章FML 15
 4.1 概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
 4.2 全体の設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
 4.2.1 全体の構成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
 4.2.2 データの保全性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
 4.3 データ構造. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 4.3.1 FileEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
 4.3.2 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 4.3.3 Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 4.3.4 FileInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
 4.3.5 FileOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 4.3.6 FileReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 i
 4.3.7 FileWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 4.3.8 RandomAccessFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 第5 章StorageAccessStream 44
 5.1 概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
 5.2 機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
 5.3 設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
 5.3.1 クラス構成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
 5.3.2 DoJa プロファイル向け「ScratchpadStream」. . . . . . . . . . . . . . . . 46
 5.3.3 MIDP プロファイル向け「RecordstoreStream」. . . . . . . . . . . . . . . 48
 5.3.4 SD カード向けStorageAccessStream . . . . . . . . . . . . . . . . . . . . . 48
 5.3.5 ネットワークストレージ向け「NetstorageStream」. . . . . . . . . . . . . . 49
 5.4 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 第6 章Suite クラス群54
 6.1 概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
 6.2 全体の機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
 6.3 DojaSDSuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
 6.3.1 概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
 6.3.2 設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
 6.4 NetSuite の設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
 6.4.1 概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
 6.4.2 設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
 第7 章FML 専用サーバ60
 7.1 概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
 7.2 FML での基本機能とサーバへのアクセスメソッドとの関係. . . . . . . . . . . . . 60
 7.3 サーバへのインターフェース. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
 7.4 FML のクライアントとサーバ間通信. . . . . . . . . . . . . . . . . . . . . . . . . 63
 第8 章評価65
 8.1 実装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
 8.1.1 ライブラリ容量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
 8.1.2 動作確認. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
 8.2 性能評価. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
 8.2.1 評価の目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
 8.2.2 評価対象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
 ii
 8.2.3 評価環境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
 8.2.4 実験内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
 8.2.5 シーケンシャルアクセスの実行速度評価. . . . . . . . . . . . . . . . . . . . 80
 8.3 考察. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
 第9 章結言87
 9.1 本研究の成果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
 9.2 今後の課題. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
 謝辞89
 参考文献91

[[Lab/卒業論文]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS