組込みLinux向けS/W開発環境構築手法の一提案
2
0
0
全文
(2) 情報処理学会第 76 回全国大会. 共通メインライン / ┣trunk/ ┃ ┣linux/ ┃ ┣u-boot/ ┃ ┣userland/ ┃ ┗dev_env ┃ ┣branches/ ┃ ┣develop#1 ┃ : ┃ ┣develop#2 ┃ : ┃ ┗tags/ ┣linux/ ┣u-boot/ ┣userland/ ┗dev_env. 開発用ブランチ ┣develop#1 開発#1用 ┃ ┣trunk/ ┃ ┃ ┣linux/ ┃ ┃ ┣u-boot/ ┃ ┃ ┣userland/ ┃ ┃ ┗dev_env/ ┃ ┣branches/ ┃ ┃ ┣linux/ ┃ ┃ ┣u-boot/ ┃ ┃ ┣userland/ ┃ ┃ ┗dev_env/ 開発環境 ┃ ┗tags/ ┃ ┣linux/ ┃ ┣u-boot/ ┃ ┣userland/ ┃ ┗dev_env/ ┣develop#2 開発#2用 ┃ ┣trunk/ ┃ :. 表 1 バージョン管理方法の比較 集中管理方式 バージョン ○リビジョン番号が の把握 シーケンシャル 作業用 ◎ファイル単位 コピー リポジトリ ◎リポジトリを の保守 バックアップする 開発者間の △データのコピーに データ共有 なるため変更履歴が 残らない 一時作業の ×中央リポジトリに 履歴管理 コミットした履歴の みしか残らない. 分散管理方式 △リビジョン番号が ハッシュ値 ×リポジトリ単位 ×リポジトリが 複数あり統一して 管理できない ◎リポジトリから取り 込むため。変更履歴も コピー可能 ◎開発者個人の履歴を 保持できる. 3.2.2. 考察 集中管理方式と分散管理方式で大きな違いは、ロ 図 2 リポジトリ構成 ーカルリポジトリを保持するか否かである。 ここまでは従来の S/W 構成管理と同様であるが、 リポジトリが複数存在するため、リビジョン番号 これらに加え各開発で開発環境も管理する。開発環 がハッシュ値で生成しており、リビジョンの前後関 境にはクロスコンパイラや各開発で必要となる外部 係が把握しにくいが、ツールを用いて前後のリビジ データも保持し、バージョンを管理する。 ョンを確認できるため、大きな問題にはならない。 開発環境は図 2 の開発#1 用の dev_env に該当す また、開発者間のデータ共有において集中管理では る。開発環境で共通的に利用できるような外部デー 変更履歴が残らない問題も中央リポジトリを介して タは共通メインラインに保持し、共通化できないも データを共有することで変更履歴を残すことができ のは、各開発の dev_env で管理する。もし、部分的 る。一時作業の履歴管理は、集中管理方式の課題と に別の開発の dev_env を共有できるような場合には、 なるが、長期間保守の観点では、開発者個人の作業 各開発間で共有する。 の履歴が必須ではないため課題とはしない。 不具合発生時にはリリースしたバージョンのソー 長期間保守を考慮した場合、組込み Linux の保守 スコードと開発環境をコピーし、バイナリを生成す 期間の間リポジトリも保守を継続しなけなければな る。このとき、外部からのデータを必要としないた らない。このため、開発者がローカルのリポジトリ め開発時と同様の物を生成できる。 で作業し、リリースしてしまうような場合、開発者 3.2. バージョン管理方法 のローカルリポジトリを保持し続けなければならず、 S/W のバージョン管理には集中管理方式と分散管 管理対象が複数になり、複雑化するため管理ミスが 理方式があり、長期保守する組込み Linux 向け S/W 発生する可能性がある。これを防ぐため、中央管理 開発において、どちらが適切かを検討する。 方式を採用することが望ましい。また、リポジトリ をローカルにクローニングする場合、今回のように 3.2.1. 集中管理方式と分散管理方式 表 1 に集中管理方式と分散管理方式の比較を示す。 コンパイラや外部データまで保持しているとリポジ トリが膨大になるため、リポジトリを各開発者がク 集中管理方式では中央にリポジトリを配置し、そ ローニングするとデータ量が莫大になる問題もある。 のデータを開発者がコピーして作業する。作業完了 リポジトリ自身の長期間保守の観点から、分散管 後中央リポジトリにコミットすることで、変更履歴 理方式ではなく、集中管理方式がよいと判断する。 を記録する。集中管理方式では、中央リポジトリの 1 つであるため、リビジョン番号をシーケンシャル 4. おわりに に割り当てることができ、リビジョンの前後関係が 本稿では、組込み Linux 向け S/W 開発環境におい 把握しやすい。また、ファイル単位での作業用のコ て、長期間保守を実現するためソースコードだけで ピーができるため、管理の負荷も低く、リポジトリ はなくコンパイラや外部データも保持する方法につ のバックアップも容易に行える利点がある。 いて提案した。また、それらのバージョン管理方法 一方、分散管理方式では、各開発者がリポジトリ としては集中管理方式が適切であることを示した。 を所持する。開発者は別のリポジトリからクローニ 今後は本提案手法を用いて運用を実施し、運用上の ングして開発を開始する。作業完了後は開発者がロ 課題について検討していく。 ーカルリポジトリにコミットして変更履歴を記録す 参考文献 る。分散管理方式では開発者個人が、リポジトリを [1]Stephen P. Berczuk , Brad Appleton, Software 所持するため、一時的な作業の変更履歴も保持する Configuration Management Patterns: Effective Teamwork, ことができ、また、他の開発者のリポジトリを自分 Practical Integration, pp.179-184 Addison-Wesley Longman のリポジトリに反映させることが容易であるため、 Publishing Co., Inc., Boston, MA, 2002 最新のソースコードを反映しやすい利点がある。. 1-34. Copyright 2014 Information Processing Society of Japan. All Rights Reserved..
(3)
関連したドキュメント
構成要件段階において未遂犯の成立を基礎づけるとされている「法益侵害結果が発生した
・kseg0: 仮想アドレスの上位 3 ビットが 100 の場合,選択されるアドレス空間 は kseg0 という名前の 512MB のカーネル空間である.kseg0
そこで本章では,三つの 成分系 からなる一つの孤立系 を想定し て,その構成分子と同一のものが モルだけ外部から
1、研究の目的 本研究の目的は、開発教育の主体形成の理論的構造を明らかにし、今日の日本における
(1)環境部【廃棄物(ごみ)関係】事務分掌 ( 平 成 28 年 度 事 務 概 要 ・抜 粋 ) 環境総務課
LPガスはCO 2 排出量の少ない環境性能の優れた燃料であり、家庭用・工業用の
ソリューション事業は、法人向けの携帯電話の販売や端末・回線管理サービス等のソリューションサービスの提
本資料は Linux サーバー OS 向けプログラム「 ESET Server Security for Linux V8.1 」の機能を紹介した資料です。.. ・ESET File Security