「UNIX/LINUX」の編集履歴(バックアップ)一覧はこちら
「UNIX/LINUX」(2011/04/26 (火) 06:12:00) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
停止
/usr/sbin/halt
プロセス停止、ディスク同期、ファイルシステムのマウント解除
可能であれば電源を切る。
ただし、rc0 スクリプトを実行しないため推奨できない
/usr/sbin/poweroff
halt へのシンボリックリンク
/sbin/init
rc* スクリプトを実行しプロセスを停止
/etc/telinit
init へのシンボリックリンク
/usr/sbin/uadmin
システム停止、リブート、サスペンドなどを行う
/etc/inittab を参照しないため停止コマンドとしては推奨できない
/sbin/fastboot
稼動中プロセスを単に kill するだけ、安全とはいえない
・再起動
/usr/sbin/shutdown -r now
/sbin/init 6
/etc/telinit 6
/usr/sbin/reboot
/usr/sbin/reboot -n
メモリ上のファイルシステム管理情報をディスクに書き込まない
/usr/sbin/reboot -q
init, shutdown コマンドでリブートできない場合
停止
/usr/sbin/halt
プロセス停止、ディスク同期、ファイルシステムのマウント解除
可能であれば電源を切る。
ただし、rc0 スクリプトを実行しないため推奨できない
/usr/sbin/poweroff
halt へのシンボリックリンク
/sbin/init
rc* スクリプトを実行しプロセスを停止
/etc/telinit
init へのシンボリックリンク
/usr/sbin/uadmin
システム停止、リブート、サスペンドなどを行う
/etc/inittab を参照しないため停止コマンドとしては推奨できない
/sbin/fastboot
稼動中プロセスを単に kill するだけ、安全とはいえない
・再起動
/usr/sbin/shutdown -r now
/sbin/init 6
/etc/telinit 6
/usr/sbin/reboot
/usr/sbin/reboot -n
メモリ上のファイルシステム管理情報をディスクに書き込まない
/usr/sbin/reboot -q
init, shutdown コマンドでリブートできない場合
●パフォーマンスを向上する。
(1) デスクトップ上の [マイコンピューター] を右クリックし、メニューの [プロパティ] を選択。
(2) [システムのプロパティ] ウィンドウの [詳細設定] タブを選択。
(3) [パフォーマンス] 項目の [設定] を選択。
●***基礎
#openclose(show=IPアドレス){郵便で例えるなら、アパートの住所}
#openclose(show=ポート){アパートに所属する部屋の番号}
#openclose(show=マルチリンク制御){&color(red){複数の通信回線を論理的に束ねて、一つのデータリンクとして動作させるためのプロトコル}。例.ISDNの2つのBチャネルを合わせて128kbit/秒の速度として使用する。}
***インターネットの定義
#openclose(show=スニーカーネット){フロッピーとかにデータを入れて、歩いてデータを運ぶ}
#openclose(show=インターネットワーキング){どんな小さいネットワークでもネットワークをまたがっていればインターネットワーキング}
#openclose(show=IX){(Internet eXchage)インターネットによる接続点の一つ。(大学間-企業間を結ぶ)}
#openclose(show=インターネット){世界中にまたがった通信インフラ}
#openclose(show=インターネットの歴史はIPの歴史){最初はDAPRA(米国国防総省高等研究所計画局)によって、可用性が高く、効率的な軍事ネットワークプロトコルとして開発される。&br()1982年,研究機関や大学などの4拠点が体系化を完了&br()ARPANET(最初にネットワーク)として立ち上げる。&br()UNIXの標準プロトコルとして採用された&br()このころ多くのプロトコルが存在していて、 Dod(米国国防省)が1規格=1機能とした。&br()1993年、日本で最初にインターネットの規格を行う。WIDEやJUNETの学術機関などらが民間への普及を開始した。&br()接続業者ISPは、IXを通じて他企業のISPや企業を通じて、インターネットにアクセスすることができる。}
#openclose(show=イントラネット){企業内ネットワーク&br()超大事なデータのために、独自のプロトコルを作ってる企業もある}
#openclose(show=インターネットVPN){伝送路的には、インターネットだが、仮想的な専用通路を使う}
#openclose(show=エクストラネット){異なる企業間。(協力会社)}
***プロトコル
#openclose(show=プロトコル){通信を行うに際して、事前に取り決めるルール&br()【特徴】&br()詳細規定と例外規定の細かさ&br()【例】&br()通信速度、通信形式、宛て先アドレス、データの書き方}
#openclose(show=プロトコルの歴史){プロトコルは誰が作っても良い。(従来は、主にベンダが策定)&br()↓&br()ベンダは自社囲い込みのため、独自のプロトコルを策定&br()↓&br()ネットワークシステム普及のため、標準化が必要}
#openclose(show=IETF){Internet Enginnering Task Force。&br()RFC(Request For Commnets)規格文書を発行}
#openclose(show=ISO){International Organization for Standardization&br()国際標準化機構}
#openclose(show=ITU){International Telecommunications Unions&br()国際電気通信連合。下にITU-Tがいる}
#openclose(show=ITU-T){Telecommunicatiopn&br()ITUで電気通信技術の標準化を担当する部門}
#openclose(show=IEEE){Institute of Electrical and Rlectronic Engineers&br()米国電気電子学会}
#openclose(show=NIST){Natipnal Institute of Standards and Technology&br()米国標準技術局}
#openclose(show=OSI基本参照モデル){Open System Interconnection&br()ISOで検討され、異なる設計思想や世代システムに通信を行うことを 目的に策定された}
#openclose(show=アプリケーション層(HTTP • DHCP • SMTP • SNMP • FTP • Telnet • AFP)ゲートウェイ){やり取りされたデータの意味内容を直接取り扱う。&br()→アプリケーションプロセスのための共通アプリケーションサービスへ直接接続して実行するメールの規定を行うSMTP、Webアクセスの規定を行うHTTPなどそれぞれのアプリに対応したプロトコルとなる。}
#openclose(show=プレゼンテーション層(SMTP • SNMP • FTP • Telnet • AFP)){データの表現形式を管理する。&br()→文字コード、データ拡張子、データは圧縮されているか等。&br() →送信部分と表現形式を切り離しておくことで、新しいデータ形式が現れても通信機器に影響を及ぼさずに対応できる}
#openclose(show=セション層(SSL • NetBIOS • NWLink • DSI • ADSP • ZIP • ASP • PAP • 名前付きパイプ)){最終的な目的に合わせて、データの送受信管理を行う。&br()例えば、チャットの様な対話型の通信とダウンロードの&openclose2(show=バースト){コンピュータで、データを一度に大量に送ること}的な性質を持つ通信では、通信性質が異なる。&br()セション層は、コネクション確立のタイミング管理やデータ転送のタイミング管理を行い、こうした差異を吸収する。&br()&openclose2(show=半二重){送信と受信を切り替えながら行う}通信や&openclose2(show=全二重){同時に送受信を行う}通信の区分などもセション層で定義します。}
#openclose(show=トランスポート層(TCP • UDP • SPX • NetBEUI • RTMP • AURP • NBP • ATP • AEP)){データ転送の制御を行う。&br()ネットワーク層までで、相互通信できる枠組みが提供されてるが、通信の品質は保障されない。&br()①そこで、伝送エラーの検出/再送を行い、&br()ネットワークに流すデータ量を調節して、&br()ネットワーク全体の&openclose2(show=スループット){単位時間あたりの処理能力。コンピュータが単位時間内に処理できる命令の数や通信回線の単位時間あたりの実効転送量などを意味する。}を維持する。&br()②また、ネットワークアドレスはノードに対して付与されるが、&openclose2(show=ノード){ネットワークを構成する一つ一つの要素のこと。}内で動いているアプリケーションを特定する。 (TCPやUDP)&br()TCP コネクション型通信 UDP コネクションレス型通信 &openclose2(show=リンク){ノードとノードを結ぶ線。}&br()データ形式:セグメント}
#openclose(show=ネットワーク層(IP • ARP • RARP • ICMP • IPX • NetBEUI • DDP • AARP)ルータ){エンドtoエンドでのデータのやりとりを規定する。&br()ネットワーク層が存在することで、異なる組織間や遠距離でもデータ通信が可能となる。&br()データリンクアドレス(MACアドレス等)はローカルエリア内だけで有効であるため、ネットワークを越えた通信を行う場合に、付け替える必要があるが、ネットワーク層で提供されるアドレスは、通信の最初から最後まで、一貫したアドレスである。&br()データ形式:パケット}
#openclose(show=データリンク層(ブリッジ、イーサネット • トークンリング • アークネット • PPP • フレームリレー)){&openclose2(show=ブリッジ){ネットワークにおいて、ケーブルを流れるデータを中継する機器。単純にすべての電気信号を再生するだけのリピータと違って、転送先のMACアドレスを見て適切なポートにのみ信号を中継する。EthernetとFDDIなど、媒体の異なるネットワーク間を中継する機能を持ったものもある}同じネットワークに接続された隣接ノード間での通信について、規定した層。&br()元々、1対1通信を想定していたが、ブロードキャストドメイン内の通信もサポートするため、MACアドレスなどのアドレス管理も行う。&br()HDLC手順やMACフレームの規格などが該当する。&br()データ形式:フレーム}
#openclose(show=物理層(RS-232 • RS-422 • 電話線・UTP • ハブ • リピータ • 無線 • 光ケーブル)){&openclose2(show=リピータ){ネットワークにおいて、ケーブル上を流れる信号の再生および中継を行なう機器。}最下位に位置し、システムの物理的、電気的な性質を規定する。&br()→0と1からなるデジタルデータをどのように電流の波形や電圧的な高低に割り付けるものかといったことや&br()ケーブルが満たすべき抵抗の要件、コネクタピンの形状を規定する}
&openclose2(show=上位層){L4~L7。通信でやり取りされるデータの形などを規定する。}
&openclose2(show=下位層){L1~L3。通信そのものを制御する。}
#flash(capcel.swf)
#openclose(show=プロトコルスイート){プロトコルスイートシステムを構成するうえで、中核となるプロトコルの集合。&br()例えば、インターネット・システムの場合は、この中核となるプロトコルの集合のことをTCP/IPプロトコル・スイートと呼ぶ。}
#openclose(show=階層化のメリット){①プロトコルの単機能化&br()複雑になりがちな通信プロトコルをシンプルにでき、1つひとつの機能を小さく絞り込むことで、バグの少ない安定した 通信&openclose2(show=スタック){本を机の上に積み上げるような構造になっており、データを入れるときは新しいデータが一番上に追加され、データを出すときは一番上にある新しいデータが優先して出てくる。}を開発できる。&br()②交換の容易さ&br()1つのネットワークシステムが単一のプロトコルで開発された場合、なんらかの技術変更でプロトコルが更新されると、システム全てを変更する必要がある&br()プロトコルが規定する範囲を絞ることで,「ケーブルのみの交換」、「ルータのみの交換」が可能になっている&br()【例】&br()電話がプレゼンテーション層まで規定していたら、日本語を話すとき と英語を話すときで電話網を交換しなくてはいけない}
#openclose(show=エンティティ){OSI参照モデルにおいて、それぞれの階層をN層 と呼びN層に存在する通信機器などの実体をエンティティと呼ぶ。}
#openclose(show=サービス){異なる階層間でエンティティ同士が通信をする窓口(インターフェース)が必要であり、OSI参照モデルでは下位層がこれを提供し、この機能をサービスと呼ぶ。}
#openclose(show=コネクション){N+1層のエンティティはほかのN+1層のテンティティと通信するために、
N層のサービスを利用する。&br()たとえば、TCPを使用するには、下位のプロトコルなどが必要。}
***回線交換とパケット交換
#openclose(show=回線交換){電話などの占有型の通信形態を回線交換と呼ぶ。&br()回線交換は通信に先立ち、PBXなどの交換機によって回線を確保する。&br()【例】&br()電話中は、回線を二人で占有するから、占有型&br()【長所】&br()他ノードは、当該回線を利用できないため伝送品質が安定し高スループットを期待できる&br()また、セキュリティも向上する&br()【短所】&br()回線使用効率が悪い&br()【まとめ】&br()回線交換は、バースト的な通信が適しており、少量データを長時間送る通信は適してない。}
#openclose(show=パケット交換){データをパケット単位に区切り、各パケットに宛先情報(ヘッダ)を付与して共通通信路に送信する。&br()ネットワーク内では、パケット交換機に蓄積され、ネットワークの状況に応じて、順次送出される。&br()【長所】&br()①耐障害性。通信路を固定しないため、ある通信路に障害が発生した場合でも迂回経路をとることが可能。&br()②パケット多重。1本の回線の中で、別ノード宛てのパケットを割り込ませることができ、回線利用率が向上する。&br()③異機種間接続性。パケット交換機がサポートしている通信プロトコルであれば、異なるプロトコル通信も可能。回線交換では、同一プロトコルのみ&br()【まとめ】&br()パケット交換は、少量のデータを長時間伝送する業務や異なる通信機器間での業務が適しており、バースト的な通信が適してない。}
#openclose(show=通信事業者){大きく回線交換サービスとパケット交換サービスを提供する}
#openclose(show=回線交換サービス){回線交換方式は、通話に先立って送信元ノードと宛先ノードの間に伝送路を確立する。&br()電話------------交換機------交換機-------------電話}
#openclose(show=パケット交換サービス){送信中のデータを中継ノードが一度蓄積するタイプの通信をパケット交換と呼ぶ。&br()パケット交換では、送信ノードから送出されたデータにはヘッダ情報が付けられ、一度ルータに蓄積される。&br()ルータはパケットのヘッダ情報を参照して、そのつど最適な経路を判断する。&br()送信中のデータが同じ宛先に複数あった場合、経路は異なる。&br()【理由】&br()①障害時、迂回経路による通信の可用性の向上&br()②伝送路の有効活用。すべてのノードにP2Pしたら大変...&br()③パケットを一度ルータに蓄積するため、異なる通信速度のネットワーク同士を接続することが可能。&br()(ルータが通信速度に対応している必要性はありますが)}
***集中処理と分散処理
#openclose(show=集中処理){1台の大型コンピュータに複数のクライアントを接続し、クライアントからの要求処理をすべてそのコンピュータで行う処理形態のこと。}
#openclose(show=分散処理){複数のコンピュータやプロセッサを利用して、分散して計算処理を行なうこと。1台のコンピュータに多数のプロセッサを搭載して処理する方法と、ネットワークを通じて複数のコンピュータを結びつけて処理する方法の2種類に大別できる。}
***ネットワーク形態
ピアツーピア型
&blankimg(p2p.gif,width=102,height=76)
クライアントサーバ型
&blankimg(clint.gif,width=102,height=76)
3層クライアントサーバ型
&blankimg(3sou.GIF,width=102,height=76)
3層クライアントサーバだとSQLを発行するのはサーバ側のアプリケーションサーバだが、
&color(red){2層クライアントサーバだとSQLを発行するのはクライアント(アプリケーションサーバがないから)}
MVCモデル
&blankimg(mvc.gif,width=102,height=76)
***トラフィック理論
#openclose(show=アーラン){呼量を表す単位。2回電話があるといっても、40秒通話2回 と 8時間通話2回では呼量は変わってくる。}
#openclose(show=呼){ネットワーク上に存在するサーバや通信機器に対する接続要求&br()&openclose2(show=発呼){要求する側の行為}&br()&openclose2(show=着呼){要求される側の行為}}
#openclose(show=呼損){発呼したのに、話し中で着呼できない状態。&br()当然だけど、会社に電話の数が少なければ呼損率は高くなり、電話の数が多ければ(1000個)、呼損率は低くなる}
#openclose(show=アーラン公式){アーラン = (呼数*平均時間) / 単位時間}
電話機が1台あり、10分間に2回電話がかかってきました。
電話はどちらも3分話して切れました。その場合の呼量は何アーランでしょうか。
下記のアーランB式で、呼損率は求められるけど、普通は呼損率表より求める。
&blankimg(aran.jpg,width=102,height=76)
&blankimg(aran2.jpg,width=102,height=76)
#!/usr/bin/perl
#変数
$buf="";
$vipperbuf="";
$vipperdataflag=0;
sub request_generate{
$key=$_[0];
$value=$_[1];
$vipper_buf="";
if($key eq "fafafa"){
#16進法に変換
$buf=sprintf "%02x", $value;
print "$buf\n";
}
if($key eq "dadada"){
if($value =~ m/default/){
$buf="XXXXXX\n";
print $buf;
}
else{
$buf=sprintf "%03x", $sum;
print "$buf\n";
}
}
if($key eq "qwentry"){
$sum=0;
for($i=0;$i<8;$i++){
$value1=substr($value,8-$i,1);
$sum=$sum+$value1*(2**$i);
}
$buf=sprintf "%04x", $sum;
print "$buf\n";
}
if($key eq "ID"){
#16進法に変換
$buf=sprintf "%04x", $value;
print "$buf\n";
}
if($key eq "kikosama"){
if($value eq "default"){
$buf="YYYYYYYY";
}
else{
$buf=sprintf "%04x", $value;
}
print "value=$value\n$buf\n";
}
if($key eq "square"){
if($value eq "default"){
$buf="ZZZZZZZZ";
}
else{
$buf=sprintf "%04x", $value;
}
print "$buf\n";
}
###############
if($key eq "vipper Header"){
my @header = split( /,/, $value );
#vipperコード
$buf=sprintf "%04x", $header[0];
print "vipperコード=$buf\n";
#vipperフラグ
$sum=0;
for($i=0;$i<8;$i++){
$value1=substr($header[1],8-$i,1);
$sum=$sum+$value1*(2**$i);
}
$buf=sprintf "%04x", $sum;
print "vipperフラグ=$buf\n";
if($header[2] =~ m/default/){
$buf="JJJJJJ\n";
print "vipper長さ=$buf";
}
else{
$buf=sprintf "%03x", $sum;
print "vipper長さ=$buf\n";
}
#vipperflagのビットがたっているとき
$venderflag=substr($header[1],0,1);
if($venderflag eq "1")
{
#16進法に変換
$buf=sprintf "%04x", $header[3];
}
if($vipperdataflag==0 | $vipperdataflag==2)
{
$vipperdataflag=1;
}
else{
#エラー
}
}
if($key eq "st"){
my @nums = unpack "C*", '$value';
foreach my $num (@nums) {
$num16=sprintf "%02x", $num;
print "$num16\n";
$vipper_buf=$vipper_buf.$num16;
}
if($vipperdataflag==1)
{
$vipperdataflag=2;
}
else{
#エラー
}
}
if($vipperdataflag==2)
{
#$vipper_len=strlen($vipper_buf);
#JJJJJをこの長さで置換($vipper_buf)
#[4byte] - [$vipper_buf(bit)*8] / 4byte
#上の計算式分0x00埋めする
}
###############
}
open(FIN,"./test.cfg")||enderr("ERROR:test.cfg $!");
while(<FIN>)
{
$line = $_;
#キーとデータを分割
my @tests = split(/=/, $line,2);
print "$tests[0]=$tests[1]";
&request_generate($tests[0],$tests[1]);
}
close(FIN);