2008年5月30日 星期五

Linux Programming (3) Compiler

待續.................

2008年5月28日 星期三

Linux Programming (2) Wrapper

上課的內容:如何在上班時偷看股票~~~

1.先去找你要的網頁資料,並透過lynx 去抓股票:2475 下來存到aaa.txt

[root@SI502U30 Class]# lynx -dump http://tw.stock.yahoo.com/q/q?s=2475 > aaa.txt

2.人工搜尋你要的資料。例如我想要的股票資料為 [19] 和 [20] 那兩行中間(請自行打開aaa.txt文件檔)

[18]2475M
[19][X
14:30 9.55 9.55 9.56 0.24 29,595 9.79 9.80 9.82 9.55
[20]N@[21]sD
@[22]wX
xU (_) R (_) _____ i [BUTTON] [23]s

3.所以利用grep和cut去搜尋[19] 和 [20] 在檔案的那一行?
如例子上所列為 aaa.txt的 20行 和 22行

cut -d: -f1 表示 以 ":" 作分隔 ,並取 f1 (第一欄)
所以得到的 19\] 位於檔案的20行 ; 20\] 位於檔案的22行 ;

[root@SI502U30 Class]# grep -n 19\] aaa.txt |cut -d: -f1
20
[root@SI502U30 Class]# grep -n 20\] aaa.txt |cut -d: -f1
22

4.利用head 和 tail 將資料擷取出來 所以得到的資料
head -21 表示將檔案的第一行到第21行保留,第22行以下刪除
tail -1 表示將檔案的最底下數來第1行以下保留,倒數第2行以上刪除

[root@SI502U30 Class]# head -21 aaa.txt > temp.txt
[root@SI502U30 Class]# tail -1 temp.txt > temp2.txt
[root@SI502U30 Class]# cat temp2.txt
14:30 9.55 9.55 9.56 0.24 29,595 9.79 9.80 9.82 9.55

5.在利用cut把剩下精簡的資料作分欄
# cut -d" " -f9 temp2.txt 以空格當分隔 所以9.55為第九個分隔 14:30 為第6個分隔

[root@SI502U30 Class]# cat temp2.txt
14:30 9.55 9.55 9.56 0.24 29,595 9.79 9.80 9.82 9.55
[root@SI502U30 Class]# cut -d" " -f9 temp2.txt
9.55

6. 將上述所學的指令串成一個shell script (stock.sh)

如此就可以將每日的股票資料和你所想要觀察的資料當漏下來寄給自己。
如果公司有擋網頁的話就可以在上班的時候利用電子郵件看股票。


#(stock.sh)

i=2601
lynx -dump http://tw.stock.yahoo.com/s/s/kimo_day${i}.html >${i}.txt

begin_line=`grep -n 19\] ${i}.txt|cut -d: -f1`
echo "begin_line= $begin_line"

end_line=`grep -n 21\] ${i}.txt|cut -d: -f1`
echo "end_line= $end_line"

cut_line=$(( (end_line + begin_line)/2 ))
echo "cut_line= $cut_line"

head -${cut_line} ${i}.txt > tmp.txt
tail -1 tmp.txt > tmp2.txt

echo
echo time:`cut -d' ' -f4 tmp2.txt`
echo price:`cut -d' ' -f5 tmp2.txt`

exit
rm tmp.txt
rm tmp2.txt
rm ${i}.txt

2008年5月27日 星期二

Linux Programming (1) Shell

  1. Shell is a piece of software that provides an interface for users.
  2. Executable File VS. Built-in Commands
  3. #echo $SHELL //顯示目前使用中的SHELL
  4. #chsh -s /bin/tcsh //改變SHELL
  5. A shell script will be writen by a text editor.
  6. Begin with " #!/bin/bash ".
  7. " # " 註解!! 只能寫在每一行的 head
  8. echo -n " my name is " // " -n "means that don't the newline
    whoami
  9. 執行 shell script 可以增加權限以後就不需加 sh 去執行
    #chmod +x hello.sh 或是 #chmod hello.sh 777
    #hello.sh (就可以直接執行)
  10. 若是不行,需要增加執行目錄=>編輯 .bash_pprofile 加入 PATH= . : $PATH
  11. Shell變數 (1) 預定變數(Predefined variables) local variable (2) 環境變數(Environment variables) Global variable , ex: PATH、HOME
  12. 設定變數,a=3,等號前後不能有空格。
  13. #longpath=/usr/home/ee/99/kph
    #cd $longpath (使用$符號取得設定的變數)
  14. set 可以查看所有已設定的變數
    #set grep longpath
  15. unset varName 移除設定的變數
  16. 變數輸出 echo 相當於printf() ; 變數輸入 read 相當於 scanf() ;
    #echo test (直接顯示"test")
    #echo $test (顯示 test變數內容)
    #read test (讀進來的取名test)
  17. 宣告環境變數:
    export變數名稱=內容 =>Global變數
    變數名稱=內容=>Local變數
    查看 set (宣告local) #set test=abc (宣告global) #export test=abc
    移除 unset (宣告local) #unset test (宣告global) #export -n test
  18. 引號:單引號:(" ' " ,所夾的所有內容保持不變)
    #echo 'pig cat $dog'
    #pig cat $dog (裡面所有符號皆無效)
  19. 引號:雙引號:(" " " ,所夾的內容保持不變)
    有三種例外(1)變數 $var ($ 跳脫字元) (2)反斜線 \ (3)反單引號:`
    (1)變數 $var ($ 跳脫字元)
    #color=blue
    #echo $color ==>#blue
    #echo '$color' ==>#$color
    #echo "$color" ==>#blue
    (2)反斜線 \ (其後的字元的特殊意義會被取消)
    #num=10
    #echo "#num" ===>#10
    #echo "\$num" ===>#$num
    #echo "\"$num\"" ===>#"10"
    (3)反單引號:` (不同於單引號 ' ,所夾內容會先執行)
    #echo "Your....is `pwd`"
    #Your....is /home/jhhsu
  20. ..
  21. .待續.......

2008年5月25日 星期日

嵌入式班:2008年6月 課表

星期
週別
星期一 星期二 星期三 星期四 星期五 星期六 星期日

1

5/26
 
 
 
5/27
孫文駿
    Linux程式設計
    310
5/28
郭惠民
    計算機組織
    310
5/29
孫文駿
    Linux程式設計
    310
5/30
郭惠民
    計算機組織
    310
5/31
莊博景
    8051微處理器
    310
6/1
 
 
 

孫文駿
    Linux程式設計
    310
黃馨瑧
    DS
    310
孫文駿
    Linux程式設計
    310
 
 
 
黃馨瑧
    DS
    310
莊博景
    8051微處理器
    310
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2

6/2
孫文駿
    Linux程式設計
    310
6/3
郭惠民
    計算機組織
    310
6/4
黃馨瑧
    DS
    310
6/5
郭惠民
    計算機組織
    310
6/6
 
 
 
6/7
 
 
 
6/8
 
 
 

黃馨瑧
    DS
    310
孫文駿
    Linux程式設計
    310
黃馨瑧
    專題
    310
孫文駿
    Linux程式設計
    310
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3

6/9
 
 
 
6/10
 
 
 
6/11
黃馨瑧
    DS
    310
6/12
孫文駿
    Linux程式設計
    310
6/13
李志賢
    嵌入式系統概論
    310
6/14
蔡宜璋
    嵌入式處理器架構
    310
6/15
 
 
 

 
 
 
李志賢
    嵌入式系統概論
    310
陳衍華
    TCP/IP
    310
黃馨瑧
    DS
    310
孫文駿
    Linux程式設計
    310
蔡宜璋
    嵌入式處理器架構
    310
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

4

6/16
 
 
 
6/17
陳衍華
    TCP/IP
    310
6/18
蔡宜璋
    嵌入式處理器架構
    310
6/19
陳衍華
    TCP/IP
    310
6/20
陳衍華
    TCP/IP
    310
6/21
 
 
 
6/22
 
 
 

 
 
 
黃馨瑧
    DS
    310
蔡宜璋
    嵌入式處理器架構
    310
黃馨瑧
    DS
    310
黃馨瑧
 程式設計(C/C++)
    310
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

5

6/23
 
 
 
6/24
陳衍華
    TCP/IP
    310
6/25
 
 
 
6/26
蔡宜璋
    嵌入式處理器架構
    310
6/27
 
 
 
6/28
莊博景
    8051微處理器
    310
6/29
鄧淇文
    驅動程式
    310

 
 
 
黃馨瑧
 程式設計(C/C++)
    310
黃馨瑧
 程式設計(C/C++)
    310
蔡宜璋
    嵌入式處理器架構
    310
黃馨瑧
 程式設計(C/C++)
    310
莊博景
    8051微處理器
    310
鄧淇文
    驅動程式
    310

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

6

6/30
 
 
 
7/1
 
 
 
7/2
陳衍華
    TCP/IP
    310
7/3
蔡宜璋
    嵌入式處理器架構
    310
7/4
方華韋
    OS
    310
7/5
鄧淇文
    驅動程式
    310
7/6
 
 
 

 
 
 
方華韋
    OS
    310
李志賢
黃馨瑧 專題
孫文駿 106
蔡宜璋
    嵌入式處理器架構
    310
黃馨瑧
 程式設計(C/C++)
    310
鄧淇文
    驅動程式
    310
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2008年5月20日 星期二

一天只睡四小時的拿破崙讀書法

在 Zen,敦南新生活 發現一篇文章 一天只睡四小時的拿破崙讀書法~世界名人讀書法系列六

轉貼部分給大家看,全文請到該出處。

一天只睡四小時的拿破崙讀書法

傳說拿破崙一天只睡四小時,然而卻仍能有旺盛的精力,清楚的頭腦處理法國軍政大事。實在令人欽佩。

凡夫俗子如我等之輩,要像拿破崙般精力旺盛,長期只睡四小時,處理龐大的國家事物,自然不太可能。

然而,人生難免會遇到決定未來的重要關卡,例如聯考、研究所考試、國家考試等。在這些關卡之前,任誰都希望多一些的時間,盡可能的準備完全,好上考場,贏取好成績。

「一天只睡四小時的拿破崙讀書法」,正是一項為特殊需求而延伸的「讀書時間安排術」,作者在此並不推薦長期使用。最好以四十天為最上限。但是,有效使用, 卻可以幫助全職準備考試,或即將面臨人生重大大考的考生,甚至需要臨時報佛腳的考生,在不傷害身體與影響作息的狀況下,盡可能的充分利用時間,讓一天變三 天使用,爭取更多的時間準備考試,讓自己的考試更有勝算。

「一天只睡四小時的拿破崙讀書法」,能否切實實行,更考驗著考生的毅力與決心,若是能夠貫徹者,心智能力也會被鍛鍊到某種程度的堅毅,思想能夠更清楚而專注在考試上,讓學習效能更加倍。

主軸

拿破崙讀書法並不鼓勵熬夜,其核心是利用最有效而省時的睡眠,在不影響身體狀況之下,將時間做最有效益的切割和安排,幫助考生盡可能擠出時間複習。

一天只睡四個小時。建議睡眠時間有三種:

22:00~02:00
23:00~03:00
24:00~04:00

並沒有硬性規定哪一種,得看考生的學習準備需要而定。但是,00:00~03:00的肝臟休息時間,一定要有睡到。否則長期熬夜,身體會壞掉。

詳細作息表(以24:00~4:00睡眠時間為例):

24:00~4:00,睡覺

04:00~4:10,刷牙、洗臉、上廁所(規定自己背1~3個不熟悉的單字/片語/成語/公式),喝杯熱可可或溫牛奶,吃點東西墊肚子。

04:10~8:00,第一階段閱讀。每五十分鐘,休息五分鐘。休息時間可以做做運動,上廁所或喝水。

08:00~08:10,早餐時間,早餐要吃飽且吃的好,這是最大原則。

08:10~12:00,第二階段閱讀。每五十分鐘,休息五分鐘。休息時間可以做做運動,上廁所或喝水。第二階段的第一個時段(也就是用完早餐之後的時間),用來閱讀報刊雜誌社論專欄(可自選),掌握時事。

12:00~13:00,午休。午餐十分鐘,不用吃多,但要營養。吃多中午容易昏。飯後休息五分鐘(規定自己背1~3個不熟悉的單字/片語/成語/公式),然後午睡四十五分鐘。

13:00~17:00,第三階段閱讀。每五十分鐘,休息五分鐘。休息時間可以做做運動,上廁所或喝水。

17:00~18:00,晚餐與電視。晚餐十五分鐘,和家人、朋友聊聊天。剩下四十五分鐘或看電視新聞,或休閒娛樂。

18:00~21:00,第四階段閱讀時間。每五十分鐘,休息十分鐘。休息時間可以做做運動,上廁所或喝水。到了第四階段,身體雖有經過午睡,但已經較為 疲累,顧每五十分鐘就休息十分鐘,以恢復疲勞。這個階段一定不可以喝咖啡茶或有刺激性的飲料,可以喝薰衣草等有助睡眠和放鬆的花草茶。避免影響到主體睡眠 時間。

21:00~24:00,第五階段閱讀書。時間每五十分鐘,休息十分鐘。休息時間可以做做運動,上廁所或喝水。這段時間可以做全天的總複習,或者自我測驗,寫寫考古題。

休息的五或十分鐘,可以用來做運動,或者複習剛才所念科目中,尚不清楚/非常能掌握的部分(看個人需要而取捨),可以加強記憶。另外,做測驗或考古題的動腦思考(請不要做在書桌前做),或和一起讀書的朋友同學討論一下剛才所碰到的難題。


拿破崙讀書法的作息注意事項

1四個小時的主體睡眠,一定要睡好。

2在第五階段閱讀時間,可以輔助喝一些助睡的飲料。

3三餐分配,早餐要營養豐富,中餐要營養但不需多吃,晚餐少吃。但一定都要吃青菜水果。

4三餐點心可以請家人代為準備。若是外宿者,可以事先選定好幾家乾淨衛生的餐館,但可能就必須連帶壓縮其他的休息時間。

5早上起床時的點心和可可一定要吃,補充營養。書桌邊可以放一些甜食、糖果,在疲勞時吃一點,補充血糖。

6午睡是一定要的。午睡是一定要的輔助軸線,沒有午睡時間,拿破崙一天只睡四小時讀書法,很難貫徹。


善加利用「一天只睡四小時的拿破崙讀書法」,一天將至少有完整的十八小時可供學習,半小時的時事新聞資料複習整理(這對現代靈活考試題目非常有幫助),半 小時左右的各式小複習(上廁所、飯後、小時段休息時間),你將能夠非常有效率的分配與使用時間。再加上規律的作息,充足的營養和睡眠,都可以幫助你專注於 學習,有效提升學習效果。還可以培養毅力耐力(早起對學生來說事件困難的事情)。

另外,在執行拿破崙讀書法之前,請先確定確切的執行日期,並且定下每一個時段的複習計畫和閱讀進度,這樣才不至於空有許多時間,卻不能平均分配在各科複習進度上,而讓這套讀書法打了折扣。

後記:
此套拿破崙讀書法,其想法和操作原則,都是來自於現在就讀於台大化工研究所的林姓學弟。他說當年準備大學聯考,就是以此拿破崙讀書法,和朋友相互砥礪,方 能一口氣順利考上台大,是他個人珍藏的讀書密法。今特此公開,與大家分享。盼望大家都能夠如願以償,考上自己理想的學校/職缺!

2008年5月18日 星期日

Class2 I/O 、掃秒技巧、七段顯示、keyboard (ch4)

delay的問題


//********************** 4_1.c *******************

//動作:令P10反相輸出指定時間的方波,送到喇叭發出聲音

//***********************************************

#include

void delay_1m(unsigned int dly); //宣告延時1m秒函數

main()

{

P0 = 0x04;

loop:

P1=P1^0x01; //P101xor會反相,令喇叭發出聲音

delay_1m(1); //呼叫延時函數1ms,自行調整延時時間

goto loop;

}

void delay_1m(unsigned int dly) //自訂1ms延時函數

{

int count;

while(dly>0)

{

count=120; //延時1ms的空轉次數

while (count>0) count--; //延時1ms

dly--; //dly遞減

}

}

//********** 4_2.c *****************************

//動作:令P10輸出方波到喇叭發出聲音,P3決定延時時間

//**********************************************

//#include

#include "reg51.h"

unsigned int dly;

void delay (void); //宣告自定延時函數

main()

{

while(1) //不斷循環執行

{

// P1_0=!P1_0; //P10反相,令喇叭發出聲音

P1 = ~P1;

delay(); //呼叫延時函數

}

}

void delay(void) //自訂延時函數

{

dly= P3*100; //P1輸入決定延時時間

while (dly>0) //dly>0 則再遞減

dly--; //dly遞減

}



//********** 4_3.c *****************************

//動作:令P10輸出嗶嗶聲

//**********************************************

#include

void delay(int dly); //宣告自定延時函數

void beep(char i);

main()

{

while(1)

{

beep(1); //嗶一聲

delay(30000); //間隔時間

beep(2); //嗶一聲

delay(30000); //間隔時間

beep(3); //嗶一聲

delay(30000); //間隔時間

}

}

void beep(char i)

{

int j;

while(i>0) //嗶聲次數

{

for(j=0;j<400;j++) //令輸出反相400

{

P1_0=!P1_0; //P10反相,令喇叭發出聲音

delay(10); /呼叫延時函數

}

delay(10000); //嗶聲的間隔時間

i--;

}

}

void delay(int dly) //自訂延時函數

{

while (dly>0) //dly>0 則再遞減

dly--; //dly遞減

}



未解碼七段顯示器範例實習

l程式7seg.c

l修改程式使七段顯示器顯示0~9

l讓七段顯示器顯示0~9,在顯示9~0

l配合作業1的版子,用兩個PORT的輸出控制兩個七段顯示器動作做00~99的計數(SEG4.c

作業

設計一程式,使用一個七段顯示器及一顆按鈕,設計亂數程式,按下按鈕後使七段顯示器亂數顯示1~6的其中一個數字。(參考3-823_45.c使用rand()函式)




8051 Class1 簡介、開發環境介紹與安裝 (ch1~ch3)

1. 使用最多的MCU(8051)

微電腦系統(Micro Computer System) MCS-51
資料匯流排 8 bit
位址匯流排 16 bit
最大定址能力 64K byte

2. 單晶片微電腦架構

除了一般電腦的基本架構外,還內含一些非必要的特殊用途I/O及電路

l時脈產生器( CLOCK Generator )
l外部中斷( External Interrupt )
l串列輸出入( Serial Input/Output )
l脈波寬度調變電路( PWM : Pulse width Modulation )
l類比/數位 ( A/D : Analog/Digital ) 轉換器
l數位/類比 ( D/A: Digital/Analog ) 轉換器

8051單片具有以下之特性:

l專為控制使用所設計的8位元單晶片。

l具有位元邏輯運算能力。

l具有128位元的RAM,以及4K位元的ROM

l具有48位元I/O埠。

l具有216位元的計時/計數器。

l具有全雙工的UART

l具有5個中斷源及兩層中斷優先權結構。

l具有時脈產生電路。

3. MCS-51單晶片微電腦的結構

l805140隻接腳分為凹點記號

l左邊由上而下: P1RESETP3CLOCKVSS

l右邊由下而上: P2/PSENALEEAP0VCC

4. Keil C51視窗環境練習

l德國Keil 軟體研發的 8051C編譯器

lVision2 可用於C語言跟組合語言

lμVision模式(撰寫、編譯、編譯/連結、執行檔)

lDebug模式(觀察、偵錯)

lP.2-2

5. 單晶片開發流程

l程式開發 > 編譯 > 生成影像檔 > 燒錄IC > 硬體模擬 純軟體模擬

l純軟體模擬 :進入SIM5模擬軟體1及各實驗單元畫面

lSimLab 8051模擬軟體

6. C51需注意事項

l程式主體為main組成

l;為結尾

l字母大小寫是不一樣的

l註解:// /*~*/

l#include為前置命令

#include

#include 指定載入表頭檔

7. C51程式語言的基本結構:

l P0=0x81; //輸出到P0

l P1=0x0f; //輸出到P0

8. 資料型態的轉換

l 當不同料型態變數一起運作時,51會強制加以轉換。以不流失資料為原則

l char int èint

l unsigned char char è unsigned char

9. 89C51 ED2 使用方式

l 89c51ED2電路實習板採用低電位驅動,所以程式須反向才能理解訊號。(10不亮)

10. 習題

l 利用一組指撥開關和一組LED設計一個兩位數加法器,指撥開關設定數X和數Y,其中數X由左邊4個指撥開關設定值決定,數Y由右邊4個指撥開關設定值決定。例如指撥開關設定值為10010011,則數X=1001B,數Y=0011B,則相加結果為00001100,只有位元2,3LED亮,其餘LED皆不亮。

NET/TCPIP 復習重點

感謝 "唬爺" 的精心製作,越來越專業了!!!!

1. 網路的實體拓樸種類(課本P1)

匯流排拓樸(Bus Topology)、星狀拓樸(Star Topology)、環狀拓樸(Ring Topology)、網狀拓樸(Mesh Topology)

2. 10BASE2, 10BASE5的規格(網路)

10BASE2(RG-58 cable)所用的接頭

10 Mbps 的傳輸速率、BASE 代表使用基頻 (BASEBAND)2代表纜線最大長度在200m之內

10BASE5(RG-11 cable)所用的接頭

10 Mbps 的傳輸速率、BASE 代表使用基頻 (BASEBAND)2代表纜線最大長度在500m之內

3. OSI 七層架構中,應用層、表達層、傳輸層、資料連結層的功能(講義93~95及後面內容)

應用層(Application Layer):第7

1. 使用者,應用程式與網路之間的溝通介面,如FTPTelnetE-mail

2. 提供使用者網路的應用服務,服務項目有:

a.檔案 b.列印 c.訊息 d.應用程式 e.資料庫

表達層(Presentation Layer):第6

1. 將所傳來的資料轉換成該電腦系統內所能看得懂得格式

如:資料格式的表示或是改變方式a.資料是否壓縮或加密 b.資料

的內碼格式

傳輸層(Transport Layer):第4

1. 當兩節點已建立聯繫的狀態下,監督資料能安全無誤的送達(提供可靠的傳輸)

2. 為端到端連接提供流量控制、差錯控制、服務質量(Quality of

Service,QoS)等管理服務

資料連結層(Data Link Layer):第2

1. 將實體層傳來的O/I訓好組成資料框(Frame),並辨識或加上目的與來源地址

2. 將資料傳送往實體媒介

3. 傳送的過程中會處理偵錯、復原

4. 控制資料的流向

5. 識別網路上各設備實體位置

4. UTP、同軸電纜線的接頭規格--(講義36,39,42)

UTP的接頭規格:(無遮蔽雙絞線)

1. RJ-45(48)RJ-11(24)

a. Category 1傳統電話使用,不支援資料傳輸

b. Category 2 4 對線,資料傳輸最高速率達 4 MBPS

c. Category 3 4 對線,資料傳輸最高速率達 10 MBPS

d. Category 4 4 對線,資料傳輸最高速率達 16 MBPS

e. Category 5 4 對線,同樣長度的線,CAT 5 的纏繞圈數需

要比其他規格高,且需要較特殊的工具來使用,資

料傳輸最高速率達 100 MBPS (乙太網絡用)

f. Category 6資料傳輸最高速率達 2.4 GMBPS1000BaseT網路

使用

同軸電纜線的接頭規格:

1. RG-11,用於10Base5的粗線,阻抗50ohm,直徑0.4”乙太網絡(Ethernet)

2. RG-58,用於10Base2細線,阻抗50ohm,直徑0.18” 乙太網絡(Ethernet)

3. RG-59,用於Cable,阻抗75ohm,直徑0.25”

4. RG-62,用於ARCnet,阻抗93ohm,直徑0.25”

5. 橋接器、路由器、閘道器的功能(講義68,79,81)

橋接器(Bridge)連接二網路段的設備,過濾與區隔資料流

1. 可降低網路負載

2. 可連接不同的傳輸媒介,CoaxialUTP

3. 可過濾屬網路段內還是網路外的資料流

4. 如果網路位址在同一個網路中,橋接器會依網路地址而將該封包限制不傳出去

5. 啟動後經由學習建立實體位址的對照表

路由器(Router)Inter Network間資料的傳輸設備

1. 連接不同型網路設備。 例:Token RingEthrenet連接

2. 可連接不同的通訊媒介(Multi-media Router)

3. 可傳送不同的通訊協定。 例:TCP/IPIPX的傳送

4. 在傳輸過程中隨時調整傳輸路徑(最佳路徑選擇)

5. 包括了OSI中實體層(1)、資料連階層(2)、網路層(3)

6. 位址的判斷是Logical Network Address

閘道器(Gateway)

1. 連接不同架構的網路,如LANMainframe相連

2. 含括了OSI全部層級架構

3. 可轉換不同的通訊協定

6. 乙太網路傳送資料的方法:CSMA/CDCSMA/CA—(P13-5)

CSMA並沒有定義碰撞的程序

CSMA/CD載波感測多重存取/碰撞偵測

每個成員在發送資料時必須先偵測網路上是否有資料正在傳送,如果偵

測不到訊號,就表示可以傳輸。在同一個網路媒介上,如果有一個以上

的成員同時傳送資料,或是正準備傳送資料,都必偵測聽碰撞訊號,一

旦偵測到碰撞訊號,則任何人都不可以傳輸,開始再等安靜的一刻,才

能再試著傳輸。

1. 使用於傳統的乙太網路。

2. 傳輸效率較佳, 但硬體成本比較高。

CSMA/CA

先感測路線是否閒置,閒置時,等待IFG(訊框間隔)時間;然後在等待隨機機時間。之後,它送出訊框並啟動計時器。工作站等待接收者的確認,如果時間到之前收到,表式傳輸成功;否則表示有問題。

1.使用在無線區域網路中。

7. Token Passing—(講義179)

1. 用於Ring網路(IEEE 802.5)

2. 網路上有一個token不斷繞圈子,需要送資料者必須先取得token,然後token被設定成佔用中(busy)。直到對方接收到資料後會改變token的狀態上讓發送者知道資料已到達,而將token還原成free狀態。

3. CSMA/CD較好之處在於各節點佔用Token的機率比較平均

4. 傳輸資料時不會發生碰撞

5. 適用在比較多節點的網路

8. 5-4-3原則

使用 802.3 協定的時候﹐必需遵守的原則:

網路上最多只能有5個網段(segment)4個中繼器(repeater)3個電腦群體(population)

9. 雙工、半雙工,多工技術-(P1-4)(講義155)

雙工(Duplex)

1. 指的是資料在一個通訊媒體當中傳輸的方向是兩方面的。

2. 又區分全雙工(Full-Duplex)與半雙工(Half-Duplex)

3. 全雙工(Full-Duplex) 指的是資料同時可做傳送和接收的動作

半雙工(Half-Duplex)

半雙工所指的是資料在同一時間當中,只能向一個方向傳遞的模式,又

稱為單工 (Simplex)

多工技術(Multiplexing)

多工是在同一條傳輸媒介中先匯集幾個較低頻的訊號,然後改用高頻的

路線一起送出。當訊號到達後,再將高頻的訊號分解回原來低頻的訊號

10.網際網路資料交換技術(3)—網路層(3)

  1. 電路交換(Circuit Switching)
  2. 訊息交換(Message Switching)
  3. 分封交換(Packet Switching)

11.同步與非同步傳輸(P4-20)

同步傳輸(Synchronous transmission)

所同步傳輸在傳輸過程中,會先送出同步(sync)碼,以便發送設備與接收設備藉由各自時鐘的對時,而保持同步,再正式送出所要傳送的資料,最後送出同步碼(sync)做結束,此種方式比較貴,但較有效率。

1.講白一點:兩個單元的資料轉移動作是由時脈同步

非同步傳輸(Asynchronous transmission)

傳輸每一位元組利用起始(start)位元和結束(stop)位元附加在位元組

兩端來辨別。

1.講白一點:兩個單元的資料轉移動作沒有共同時脈控制

12.T1T3—(P6-15)

T1:傳輸速度是1.554Mbps

T2:相同於4條的T1,傳輸速度是6.312Mbps

T3:相同於6條的T2,傳輸速度是44.726Mbps

T4:相同於7條的T3,傳輸速度是274.176Mbps