すみません、素人質問なんですが/etc/rc.d/init.d/以下のファイルと /etc/rc.d/rc0.d〜rc6.dの関係について質問させてください

1)/etc/rc.d/init.d/以下にあるのはいろんなプログラムを実行・停止させる命令とそのとき表示されるメッセージを書いたファイルの実体
2)/etc/rc.d/rc0.d〜rc6.dは、それぞれのランレベルに応じて実行出来るように
 ../init.d/の中のファイルへのシンボリックリンクがおいてある
3)rc3.dの中の「K01dnsmasq -> ../init.d/dnsmasq」など、実行・終了の順序をK01,S01などで表現してる

この理解で問題ないでしょうか?

その前提でさらに質問したいのですが、
1)なぜrc3.dは「K01dnsmasq -> ../init.d/dnsmasq」のようにdnsmasqを終了させるところからスタートしてるんでしょうか
 マシンがrunlevel3で起動する時に処理されるなら、終了するようなプログラムは動いていないのでは?
2)独自に起動時に実行されるプログラムを追加したいとき(たとえば、メール送信の.phpを実行するバッシュ.sh)
 そのプログラムの中身について、最低限書かなければいけないことのルールなどありますか。
 たとえば、service start, reload などで表示されるメッセージは今回必要ない気がしますが…
3)K01とかS90とかの実行順序の数値はいくつ重複しても問題ないですか?

長くなりましたがよろしくお願いします