summaryrefslogtreecommitdiff
path: root/fml/doc/ja/tutorial/bootloader.sgml
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-05-01 15:16:24 +0000
committerfukachan <fukachan>2001-05-01 15:16:24 +0000
commitbe46650e24f5e2ec272d55cbede8b6ab5069d794 (patch)
tree9fbdac5f5a758b988cd2ac35a8a521a8f9e2f020 /fml/doc/ja/tutorial/bootloader.sgml
parent4bb9aaf8949fa030babd96318840aec38e8cfc41 (diff)
downloadfml8-be46650e24f5e2ec272d55cbede8b6ab5069d794.tar.gz
fml8-be46650e24f5e2ec272d55cbede8b6ab5069d794.tar.bz2
fml8-be46650e24f5e2ec272d55cbede8b6ab5069d794.zip
modified to fit with created subdirectories: programs/, install/,
delivery/, internals/, devel/ and include/.
Diffstat (limited to 'fml/doc/ja/tutorial/bootloader.sgml')
-rw-r--r--fml/doc/ja/tutorial/bootloader.sgml153
1 files changed, 0 insertions, 153 deletions
diff --git a/fml/doc/ja/tutorial/bootloader.sgml b/fml/doc/ja/tutorial/bootloader.sgml
deleted file mode 100644
index 69a6632f..00000000
--- a/fml/doc/ja/tutorial/bootloader.sgml
+++ /dev/null
@@ -1,153 +0,0 @@
-<!--
- $FML: bootloader.sgml,v 1.1 2001/04/23 14:14:01 fukachan Exp $
--->
-
-<chapter id="bootloader">
-
-<title> バージョン依存性を解決するための fml ブートローダ </title>
-
-<para>
-
-fml 5.0 にはインストールされている fml のバージョン依存性を考慮するた
-めに、実行時には本章で述べるようなブートストラップの過程があります。
-
-<programlisting>
-boot していくイメージ
-
-libexec/loader ->
- FML::Process::Switch ->
- FML::Process::Flow ->
- FML::Process::それぞれのプログラムのモジュール
-</programlisting>
-</para>
-
-
-<sect1>
-<title> 例: 配送の場合 </title>
-
-<para>
-loader から次々と呼ばれていく様子は、例えば配送処理の場合、次のよう
-になる。
-
-<programlisting>
-libexec/loader は FML::Process::Switch をロードし、
-FML::Process::Distribute を実行すると決める。
-
-FML::Process::Flow::ProcessStart() は引数として
-FML::Process::Distribute を渡され、
-FML::Process::Distribute を実行していく。
-</programlisting>
-</para>
-</sect1>
-
-
-<sect1>
-<title> FML::Process:: クラスの階層構造 </title>
-
-<para>
-<programlisting>
-FML::Process::Distribute >-|
-FML::Process::Command >-|-- FML::Process::Kernel
-FML::Process::Mead >-| |
- |-use-a FML::Parse
- |-use-a FML::Config
- |-use-a FML::Log
- |-use-a ... その他 ...
-</programlisting>
-
-=&gt;
-<ulink url="../../../fml/lib/FML/Process/programs.ja.html">
-FML::Process::それぞれのプログラムのモジュールについて
-</ulink>
-
-</para>
-</sect1>
-
-
-<sect1>
-<title> ブートしていく順番について </title>
-
-<itemizedlist>
-
- <listitem>
- <para>
- libexec/loader (wrapper)
- Bootstrap() を実行する。
- fml.pl などはこの loader へのシンボリックリンクです。
- /usr/local/libexec/fml/ を参照して下さい。
- </para>
- </listitem>
-
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- /etc/fml/main.cf を読み込む。
- 読み込むと fml のバージョンが分かる。
- default_config.cf はバージョン依存であるので、
- ここでまずバージョンを評価しなければいけないことに注意。
- </para>
- </listitem>
-
- <listitem>
- <para>
- ( fml.pl を例にとると)
- @ARGV を評価し、
- どのMLの config.cf 群をロードすればいいのかを準備する。
- 変数の評価と展開には libexec/Standalone.pm を用います。
-
- これはあまりよくないような気がします。
- libexec/ を @INC に加えないといけないこと、
- libexec/loader と libexec/Standalone.pm の2つが
- 入れ換えないといけないものになってしまうので。
- </para>
- </listitem>
-
- <listitem>
- <para>
- 次に
- FML::Process::Switch
- ( バージョン依存 )ファイルを
- ロードします。
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Bootstrap2() および ProcessSwitch() を実行し、
- 配送用、コマンドモード用などの各
- プログラム/プロセスなどへ制御を移します(分岐する)。
- この時は $0 から自分の名前を知り、
- どのプロセスへ分岐すればいいのかを判断しています。
- </para>
- </listitem>
-
- <listitem>
- <para>
- (ポリモーフィズムの例)
- モジュールをダイナミックバインディングし、
- 該当するプロセスオブジェクトを生成する。
- そして、プロセスをスタートさせます。
-
- FML::Process::Flow の中に、
- どのように fml プロセスを実行するかが
- 定義されています。
-<programlisting>
-$process = new FML::Process::なにか;
-$process->prepare($args);
-$process->run($args);
-$process->finish($args);
-</programlisting>
- のように実行されています。
- 各プロセスは、それぞれについて適当な関数を
- 用意してください。
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
-</itemizedlist>
-</sect1>
-
-</chapter>