コンピュータネットワーク基礎
2004.5.7

Back to index page

  1. 本日の作業内容



  2. 小テストの評価結果

    小テストを採点した結果も今年度から公開することにしました.専用のページが ありますので,適宜利用してください.また,解答例を紹介したページもありま すので,参考にしてください.

  3. 総合情報処理センターのパスワード変更

    総合情報処理センターによって割り当てられたパスワードは自分で変更可能です. センターのページ

    www.ipc.shimane-u.ac.jp

    にアクセスして変更できますので,検討して下さい.

  4. デジタル通信

    • 補足

      コンピュータにおける1,000倍の意味は,1,024倍であることに注意が必要です. 表1に示してある法則を理解しておいて下さい.

      表1 コンピュータにおける1,000の意味するもの

      1 kbps1,024 bps
      1 Mbps1,024 kbps = 1,048,576 bps
      1 Gbps1,024 Mbps = 1,048,576 kbps = 1073741824 bps (1.074E+09 bps)

    • 帯域と波形

      教科書の図1.8にあるように,厳密な矩形波は伝送できません.ここでは,帯域と波形の関係 を実際に自分で確認してみましょう.そのためにはグラフ化するツールなどを使 う方が視覚的にきれいに正確に表現できますが,この授業ではターミナルに波形を粗 くですが出力できる方式を考えてみます.言語としてはRubyを使ってみましょう. 次のようなスクリプトを利用します.

      
      #!/usr/bin/ruby
      
      include Math
      
      n = ARGV[0].to_i
      
      a = Array.new(63,0)
      
      sp = " "
      
      for theta in 0..62
        for k in 0..n
          a[theta] += 4 * sin((2*k + 1) * theta/10.0) / (2*k + 1) / PI
        end
        print theta/10.0, "\t", sp * (((a[theta] * 40 + 50) / 2).round), "*\n"
      end
      

      このスクリプトはダウンロード可能です.リンクの部分 を右クリックして出てくるメニューから「リンク先を名前をつけて保存」を選択 して適当な場所に保存して,ターミナルから実行します.先週行ったように,パネル(タスクバー)にある画面にGのアイコン をクリックしてGNOME 標準の仮想端末である「Gnomeターミナル」を起動します.画面には,コマンド プロンプト(コマンド入力待ち受け記号)である $ がありますので, そこがコマンド入力位置です.

      $ ruby wave.rb 2

      のように引数に数字(整数)をつけて実行します.この整数は基本となる三角関数 の何次の高調波まで計算するかを示すもので,スクリプトの中では 2*k+1 として入れてあります.ですから,0であればsin関数そのものになり ますし,1を入れると3次(奇数次しか扱わないので,2番目)の高調波まで取り込 んだ計算になります.文字を利用して表現しているので,ちょっと粗くなりますがそれでも7あ たりまでは見掛け上なんとかなっていると思います.どのくらいのところまで計 算すれば方形波になるのかも試してみましょう.

  5. データ符号化

    • 文字テキスト(教科書2.1)

      ASCIIコードのファイルを作成して,文字コードを眺めてみましょう.作業はター ミナルで行います.

      $ cat > sample.txt

      とすると,画面に文字を入力してそれを sample.txt というファイル に書き込むことができます.コマンドプロンプトがありませんがカーソル位置に 文字入力できます.例として,

      ABCabc

      と入力し,Enterキーを押して改行した後,Ctrl-Dの操作をします.これで, sample.txt に上のように ABCabc という文字が入力さ れていることになります.

      このような方法によるデータの作成では,入力を間違った場合に修正は出来ませ ん.文字入力を間違えた場合には,Ctrl+Dで一旦終了して,また最初からやり直 します.それが気になる人は,エディタを使用して作成しても構いません.

      作成できたら,中身を確認してみましょう.ファイルの中身を見るコ マンドは cat です.

      $ cat sample.txt

      では,これらの文字の文字コードを見てみることにしましょう.教科書の図2.1 に実際のコードが示してあります.それと一致するでしょうか.文字コードを直 接見る方法はいろいろありますが,ここでは hexdump というコマンド を利用してみます.次のようにしてみましょう.

      $ hexdump -xc sample.txt

      きちんと作業できていると結果は次のようになるはずです.

      0000000    4241    6143    6362    000a                                
      0000000   A   B   C   a   b   c  \n                                    
      0000007
      

      hexとはhexadecimalの略で,16進数の意味です.2進数はbinary,8進数はoctal, 10進数がdecimalです.dumpはダンプカーとして知られているダンプで,どさり と捨てる,放り投げる,の意味です.

      自分で他の文字を試してみるのも良いかも知れません.ASCIIコードの一覧は以 下のページなどで知ることが出来ます.

      http://www.psl.ne.jp/perl/pdojo00b.html

      次に,日本語の入っているもので同様の作業をしてみましょう.先ほどと同じ ように,

      $ cat > sample-euc.txt
      日本語あいう

      としてみましょう.日本語を入力するときには,Shiftキーを押し下げたまま Spaceキーを押して入力モードを切替えます.図1に示すように,入力位置に[あ] が出ているとかんなによる日本語入力モードです.

      図1 ターミナルにおける日本語入力モードの確認

      やはり同様に hexdump コマンドを使用してみます.

      $ hexdump -xc sample-euc.txt

      結果は以下のようになっているはずです.

      0000000    fcc6    dccb    ecb8    a2a4    a4a4    a6a4    000a        
      0000000 306 374 313 334 270 354 244 242 244 244 244 246  \n            
      000000d
      

      見方が難しいですが,どうやら教科書とはコードが異なっているようです. Linuxが通常使用する日本語文字コードはEUCですので,図2.1で説明されている JIS X 0208とは違うコードが割り当てられていることがわかります.では,先ほ どのサンプルを教科書と同じようにJIS X 0208に変換してみましょう.

      $ nkf -j sample-euc.txt > sample-jis.txt

      以後の作業は先ほどと同じですので,各自で試してみて下さい.

      0000000    241b    4642    4b7c    385c    246c    2422    2424    1b26
      0000000 033   $   B   F   |   K   \   8   l   $   "   $   $   $   & 033
      0000010    4228    000a                                                
      0000010   (   B  \n                                                    
      0000013
      

      ただし,結果の 解釈は図2.2にある「エスケープ・シーケンス」を理解する必要があります.

      nkf Nihongo Kanji Filter の略です.詳 しくは jman コマンドで確認して下さい.
      テキストエディタによっても文字コードの中身を確認してみましょう.先ほど作 成したファイルをGNOME標準エディタであるgEditで開いてみます.パネル(タス クバー)ののアイコンをクリックする ことで図2の画面が起動します.

      図2 gEditのメインウィンドウ

      アイコンメニューから「開く」をクリックして自分が作成した, sample-jis.txt を開いてみましょう.また,gEditは同時に複数のファ イルを開くことができますので,もう一度操作して,sample-euc.txt も開いてみて下さい.ファイルの切替えはオレンジ色のタブの部分に表示 されている名前をクリックすることで行います.gEditは日本語に関してはEUC コードしかサポートしないので,JISコードの文章を見ると,教科書の図2.2に あるようなエスケープシーケンスを確認できます.

  6. 小テスト

    授業の終了20分前くらいにAクラスBクラス別の小テストを実施します.アナウ ンスに注意してください.また,提出は電子メールにより行いますので,メール の送信準備は忘れないでいて下さい.

  7. 宿題

    授業の終りに宿題(AクラスBクラス)の説明をしますので,アナウンスに注意してください.


目次ページへ戻る