19
Network Concepts Page 1 壹、OSI 網路七層式架構: #備註: Bridge=Switch ,前者是用軟體模擬;後者是以硬體執行。 Switch 會記錄 MAC adrs ,效能高。 貳、TCP/IP 四層式架構: 參、IP 位址的分類: Class B example: 163.13.1.60=10100011.00001101.00000001.00111100 等級 第一組 Byte 第一組 Byte 範圍 10 進位表示 子網路遮罩範圍 Class A (8 bit 需被指定) 0nnnnnnn 00000001 ~01111111 1~127 : 127(保留) 255.0.0.0 Class B (16 bit 需被指定) 10nnnnnn 10000000 ~10111111 128~191 255.255.0.0 Class C (24 bit 需被指定) 110nnnnn 11000000 ~11011111 192~223 255.255.255.0 #範例: 請問淡江大學 Class B 等級的網路可以擁有幾個可分配的 IP? ANS:淡江大學為 163.13.xxx.xxx 網路,其第三組及第四組 byte 共計為 16bit (2x8) 算式=1111111111111111=2^16(bit)=65536 (IP 位址) 扣掉 全為 0 及全為 1 的保留位址,剩下 65534 (65536-2) 個可分配的 IP 位址 Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer 支援使用者應用程式FTPe-Mail 轉換兩端應用程式的資料格式 以方便資料交換 建立不同電腦間之應用程式的連線(交談)管理保證封包傳送無誤 切割封包 封包重新編號 流量管制等 定址IP 轉成 MAC 位址決定封包傳送路徑(Router) 將資料轉成資料框架(frame)CRC check. (Switch &Bridge) 將資料轉換為電子訊號定義 pin 腳數目與功能(Hub & Repeater) Application Layer Transport Layer Internet Layer Physical Layer 提供使用者應用程式與傳輸層間的服務介面提供主機間的通訊工作階段管理Ex. TCP, UDP 將資料轉成 IP 封包用以執行 routing定義如何透過網路硬體傳送資料的內容

Conputer Concept

  • Upload
    bnd0327

  • View
    126

  • Download
    12

Embed Size (px)

Citation preview

Page 1: Conputer Concept

Network Concepts

Page 1

壹、 OSI 網路七層式架構:

#備註: Bridge=Switch,前者是用軟體模擬;後者是以硬體執行。Switch 會記錄 MAC adrs,效能高。

貳、 TCP/IP 四層式架構:

參、 IP 位址的分類:

Class B example: 163.13.1.60=10100011.00001101.00000001.00111100

等級 第一組 Byte 第一組 Byte 範圍 以 10 進位表示 子網路遮罩範圍

Class A (前 8 bit 需被指定)

0nnnnnnn 00000001~01111111 1~127 註: 127(保留)

255.0.0.0

Class B (前 16 bit 需被指定)

10nnnnnn 10000000~10111111 128~191

255.255.0.0

Class C (前 24 bit 需被指定)

110nnnnn 11000000~11011111 192~223 255.255.255.0

#範例: 請問淡江大學 Class B 等級的網路可以擁有幾個可分配的 IP?

ANS:淡江大學為 163.13.xxx.xxx 網路,其第三組及第四組 byte 共計為 16bit (2x8) 算式=1111111111111111=2^16(bit)=65536 (個 IP 位址) 扣掉 全為 0 及全為 1 的保留位址,剩下 65534 (65536-2) 個可分配的 IP 位址

Application Layer

Presentation Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

支援使用者應用程式,如 FTP、e-Mail 等。

轉換兩端應用程式的資料格式,以方便資料交換。

建立不同電腦間之應用程式的連線(交談)管理。

保證封包傳送無誤。切割封包、封包重新編號、流量管制等。

定址、將 IP 轉成 MAC 位址、決定封包傳送路徑。(Router)

將資料轉成”資料框架”(frame)。CRC check. (Switch &Bridge)

將資料轉換為電子訊號、定義 pin 腳數目與功能。(Hub & Repeater)

Application Layer

Transport Layer

Internet Layer

Physical Layer

提供使用者應用程式與傳輸層間的服務介面。

提供主機間的通訊工作階段管理。Ex. TCP, UDP

將資料轉成 IP 封包,用以執行 routing。

定義如何透過網路硬體傳送資料的內容。

Page 2: Conputer Concept

Network Concepts

Page 2

肆、 子網路切割(Subnetting)的好處?

ANS:(1)由單一網路分割為多個子網路後,可藉由 Gateway 阻隔不必要的廣播封包,提升效能

(2)由可在不同子網路中,使用不同的拓樸(topology),提高網路的使用彈性。

伍、子網路切割的原理? 以 Class B 之 IP: 180.56.0.1,及 subnet mask: 255.255.0.0 為例

ANS:(1)將原來最左邊的「主機識別碼」借 n 個位元給「網路識別碼」使用,以借 2 個位元為

例,可分成四個子網路,分別是 00、01、10、11。

(2)則四個子網路遮罩分別是:

11111111 11111111 00000000 00000000 => 255.255.0.0

11111111 11111111 01000000 00000000 => 255.255.64.0

11111111 11111111 10000000 00000000 => 255.255.128.0

11111111 11111111 11000000 00000000 => 255.255.192.0

陸、 常見的 TCP Port Number:

Port Number Description 20, 21 FTP

23 Telnet

25 SMTP

80 HTTP

110 POP3

柒、 RJ-45 雙絞線之線路顏色與順序:

編號 1 2 3 4 5 6 7 8

顏色 白橙 【橙】 白綠 【藍】 白藍 【綠】 白棕 【棕】

口訣:橙、藍、綠、棕 跳線:1、2 與 3、6 對調

捌、 網路名詞解釋:

ARP:

Address Resolution Protocol,用來解析 IP 位址或主機名稱所對應的硬體位址。

DHCP:

Dynamic Host Configuration Protocol,提供動態的 IP 位址給 DHCP 用戶端電腦、指定用戶端

DNS 位址等,以避免位址衝突並有助於 IP 的管理。

DoS:

Denial of Service,Dos 是一種入侵程式,可以讓電腦無故當機或無法執行某些動作。DoS

攻擊並不會讓電腦內部資料遭到竊取或修改,而是以癱瘓主機為目的。

Page 3: Conputer Concept

Network Concepts

Page 3

Full Duplex / Half Duplex:

全雙工是指資料可同時雙向傳送;半雙工則是在同一時間內,資料只能往單一方向移動。

Fault Tolerant:

容錯系統,指同樣的工作由兩套電腦系統來執行,當其中一套系統發生問題時,另一套系

統就會即時取代並繼續執行。

ADSL:

Asymmetric Digital Subscriber Line,中文譯為「非對稱數位用戶迴路」,它是利用傳統電話

線來提供高速網際網路上網服務的調變/解調變(Modulator/De-modulator)技術。ADSL 使用

「聲音」與「資料」分離技術,同樣使用一條電話線,打電話還可以同時上網路。

ISDN:

Integrated Services Digital Network,可在電話線上同時進行聲音、視訊、及資料的傳輸,整

合了類比與數位訊號的能力。由 2 個 B channel (數據資料通道)與一個 D channel (控制資料

通道)所組成。

IP:定義傳輸資料的基本單位 Datagram,並執行 Routing 功能,選擇最佳路徑。

TCP:

傳輸控制協定,TCP 是點對點的通訊協定標準,它使用 connection-oriented 模式,用以確保

IP 封包資料的正確性。

SNMP:

Simple Network Management Protocol,此服務是用來提供 TCP/IP 網路上某些主機或網路設

備的狀態資訊。

Subnet Mask:

用 AND 運算來辨別某 IP 位址是否位於相同的網路區段 (即檢查是否有相同的「網路識別

碼」)。若該 IP 的「網路識別碼」與目的 IP 位址不同,則表示兩個主機在網路上的資料傳

輸需要透過 Gateway 來轉送。

WINS:

Windows Internet Name Service,用來將電腦的 NetBIOS 名稱解析出對應的 IP 位址,讓使用

者可以直接利用電腦名稱來存取網路資源,而不用記憶 IP 位址。

網路識別碼(network)vs.主機識別碼(host):

前者是用以識別該 IP 位址是否屬於同一網路區段;後者則是用來識別該網路區段中的每個

TCP/IP 主機節點(node)。

5-4-3 原則:

每個 Ethernet 最多只能使用 4 個 Repeater (or Hub),所以會形成 5 個區段,但只有 3 個區段

可以連接電腦,另兩個區段不能連接電腦,只能用來延伸距離。

Reapter:增強訊號以提供更遠的網路傳輸距離。(OSI: Physical Layer)

Hub:提供多 Port 給多台電腦同時使用,在任何時間只能有一對 Port 在傳輸資料,因此又

稱為”頻寬共享式集線器” (Shared Hub)。(OSI: Physical Layer)

Switch:通常又稱 Layer 2 Switch 或 Switch Hub,簡稱 Switch。它會記憶 MAC 位址,並決

定將封包送往何處,效能較高。(OSI: Data Link Layer)

Router:可阻隔廣播封包並將資料封包以最佳的路徑轉送到目的地。可連接不同的網路架構。

Page 4: Conputer Concept

Computer Concepts

Page 4

壹、 BIOS 問題聲響判讀:

AMI BIOS 1 短: DRAM 更新錯誤

2 短: DRAM ECC 檢查錯誤

3 短: DRAM 檢查失敗

5 短: CPU 錯誤

6 短: 鍵盤錯誤

8 短: 顯示卡記憶體錯誤

9 短: ROM 錯誤

1 長 3 短: DRAM 損壞

1 長 8 短: 顯示卡或螢幕有問題

AWARD BIOS 1 短: 系統啟動正常

2 短: CMOS 設定錯誤

1 長 1 短: DRAM 錯誤

1 長 2 短: 顯示卡或螢幕連接錯誤

1 長 3 短: 鍵盤錯誤

1 長 9 短: ROM 錯誤

不斷長響: DRAM 未插好

不停急響: 電源有問題

貳、 什麼是 SCSI?

"Small Computer systems Interface" (小型電腦系統介面),這這是一個連接電腦周邊設備的硬

體與軟體標準協定。以下是目前 SCSI 技術的傳輸速率比較一覽表:

壹、 SCSI-1 5MB/Sec 8 bit SCSI Bus 貳、 SCSI-2 5MB/Sec 8 bit SCSI Bus 參、 SCSI-2 Fast 10MB/Sec 8 bit SCSI Bus 肆、 SCSI-2 Fast Wide 20MB/Sec 16 bit SCSI Bus 伍、 SCSI Ultra 20MB/Sec 8 bit SCSI Bus 陸、 SCSI Ultra Wide 40MB/Sec 16 bit SCSI Bus 柒、 Ultra2 Wide 80MB/sec 16 bit SCSI Bus * 捌、 Ultra160 (Ultra3) Wide 160MB/sec 16 bit SCSI Bus ** 玖、Ultra320 (Ultra3) Wide 320MB/sec 16 bit SCSI Bus ***

Page 5: Conputer Concept

Computer Concepts

Page 5

參、 1’S 與 2’S complement:

1 的補數: 01;10 2 的補數: 01;10,最後一位還要加 1

補數類型 Sign Bit 大數 – 小數

=大數 + (-小數) 小數 – 大數

=小數 + (-大數)

1’S 不考慮

Ex. 1101-0100 = 1001 1. 將「小數」轉為補數型態(1011) 2. 將「大數」+「小數的補數」 3. 若有進位,將其累加至個位

Ex. 0100-1101 = -1001 1. 將「大數」轉為補數型態(0010) 2. 將「小數」+「大數的補數」

(不會進位,所以答案先加”負號”) 3. 將上述運算結果以 1’s 還原。

2’S 考慮

Ex. 1101-0100 = 1001 1. 將「小數」轉為補數型態(1100) 2. 將「大數」+「小數的補數」 3. 若有進位,將其捨棄。

Ex. 0100-1101 = -1001 1. 將「大數」轉為補數型態(0011) 2. 將「小數」+「大數的補數」 3. 將上述運算結果以 2’s 還原。

肆、 數位系統轉換:

1. 10 進位轉 2 進位、轉 8 進位、轉 16 進位:整數部份用倒除法 (餘數定理)

Ex. (10.25)10 = ( 1010.01 ) 2

整數部份=(1010) 2

小數部份 [直至小數為零止]

=0.25 x 2 = 0.50 =0.50 x 2 = 1.0

2. 2 進位轉 8 進位:[整數]從小數點左,每三碼為一組,最左邊若不足三碼,補 0

Ex. (1010.01)2=(001 010.010)2=(12.2) 8

3. 2 進位轉 10 進位:

Ex. (1010.01)2=1x23 + 0x22 + 1x21 + 0x20 + 0x2-1+ 1x2-2 = 10 + 0.25 = 10.25

4. 2 進位轉 16 進位:[整數]從小數點左,每四碼為一組,最左邊若不足四碼,補 0

Ex. (1010.01)2=(1010.0100)2 = (A.4)16

5. 8 進位轉 2 進位:[整數]每三碼為一組開始以目視法分解為 2 進位

Ex. (12.2)8=(001 010.010)2=(1010.010)2

6. 8 進位轉 10 進位:

Ex. (12.2)8=1x81 + 2x80 + 2x8-1 = 8 + 2 + 2(1/8) = 10.25

7. 8 進位轉 16 進位:先轉 2 進位,再轉 16 進位

Ex. (12.2)8=(1010.010)2 = (A.4)16

Page 6: Conputer Concept

Computer Concepts

Page 6

8. 16 進位轉 2 進位:[整數]每四碼為一組開始以目視法分解為 2 進位

Ex. (A.4)16=(1010.0100)2

9. 16 進位轉 10 進位:

Ex. (A.4)16=Ax160 + 4x16-1 = 10x1 + 4(1/16) = 10.25

10. 16 進位轉 8 進位:先轉 2 進位,再轉 8 進位

Ex. (A.4)16=(1010.010)2 = (12.2)8

伍、 BCD 碼:指每個”十進位數”,都用 4 個 bit 的”二進位數”表示。 Ex. (123)10 的 BCD 碼 = 0001 0010 0011 Ex. BCD 碼 101 0011 轉十進位 = (53)10

陸、 ASCII 碼:American Standard Code for Information Interchange 1. ASCII 碼有 7 個 bit,全部共 27 個字碼,即 0~127 個。 2. ASCII 重要內碼:’0’=48;’A’=65;’a’=97

柒、 色彩系統: 16 色=每個 pixel 佔 4bits,即有 24=16 種顏色變化。

256 色=每個 pixel 佔 8bits,即有 28=256 種顏色變化。

高彩=每個 pixel 佔 16bits,即有 216=65,536 種顏色變化。

全彩=每個 pixel 佔 24bits,即有 224=16,777,216 種顏色變化。

捌、 科學記號表示法:

單位 GB MB KB ms μs ns

1 0 進 位 表 示 109 106 103 10-3 10-6 10-9

2 進 位 表 示 230 220 210

玖、 ROM & RAM: ROM 有 Mask ROM 與 PROM(Programmable)兩種,兩種都是寫入資料後便無法再改變。

EPROM(Erasable)與 EEPROM 兩種都可以重覆修改資料,前者需取下用紫外線照射。

RAM 有 DRAM 與 SRAM 兩種,前者需不斷以 refresh 供電以維持資料,後者速度較快。

壹拾、 計算機五大部門: (1)輸入部、(2)輸出部、(3)控制單元(CU)、(4)儲存單元(MU)、(5)運算邏輯單元(ALU) * 運算邏輯單元(ALU) = 真正處理資料的地方,負責所有的計算與比較工作。 * 控制單元 = 用來控制、選取與分析指令,並監督其執行。

Page 7: Conputer Concept

Computer Concepts

Page 7

壹拾壹、 計算機定址法: 計算機組織通常包括: (1)資料匯流排:指 CPU 與記憶體或 I/O 裝置,進行雙向的資料傳輸。 Ex. 一般 32 位元的電腦,即指具有 32 條資料傳輸線的「資料匯流排」。 (2)位址匯流排:表 CPU 最大的記憶體定址能力。訊號僅能由 CPU 單向傳輸。 Ex. 8086 的位址匯流排有 20 條傳輸線,則可定址到 220Bytes=1MB。 (3)控制匯流排:指 CPU 與 I/O 裝置間的控制訊號,每條線亦是單向傳輸。(通常為一組)

壹拾貳、 CPU 排程: FCFS (First Come First Serve):

依照 Queue 中的工作等待順序,讓先到達的工作先進行處理。處理完後才執行下一個工作。

RR (Round Robin):

以 FCFS 為原則,但每個工作都必須在指定時間配額內完成,否則就要再到 Queue 等候。

SJF (Shortest Job First):

以時間最短的工作為第一優先處理。此法的平均等待時間最短。

EX: 假設 process A, B, C, D 分別需要 CPU 時間 10, 8, 6, 4,若以 FCFS 排程執行,每個 process

需等待時間多久?平均等待時間又是多久?

Ans1: A=0、B=10、C=10+8=18、D=18+6=24

Ans2: (0+10+18+24)/4=52/4=13

壹拾參、 記憶體配置法: 先適法 (First Fit):

即,選擇第一塊,且能夠容納程式大小的連續記憶空間。

最適法 (Best Fit):

即,選擇最小塊,且能夠容納程式大小的連續記憶空間。

最不適法 (Worst Fit):

即,選擇第大塊,且能夠容納程式大小的連續記憶空間。

壹拾肆、 資料庫管理系統: 正規化 (normalization):一種將資料元素組織成為適當記錄(record)及表格(table)的技術

(1) 1NF: 移去重覆群 [讓每一筆記錄的各欄位,僅包含一個不重覆的值(value)] (2) 2NF: 移去部份依賴 [不允許記錄的非 key 欄位,僅依賴組合鍵裏的部份欄位] (3) 3NF: 移去遞移依賴 [即每個非 key 欄位不可依賴於另一個非 key 欄位,而需完全 依賴於該表格的主鍵才行]

外來鍵 (Foreign Key): 指某表格中的「非鍵值欄位」,在另一個表格中為「主鍵」。

常用的 SQL 異動資料語法

(1)【新增】Insert Into 資料表(ID, 數學, …) Values (“T0371”, 90, …)

(2)【刪除】Delete From 資料表 Where ID = ”T0371”

(3)【更新】Update 資料表 Set 數學=80 Where ID Like “T%” ‘%表「全部所有」

(4)【查詢】Select * From 資料表 Where ID Like “_0371” And 數學>= 80 ‘_即表 DOS ?

(5)【查詢】Select * From 資料表 Where 數學 > 60 Order By 總分, 國文, 英文 Desc

Page 8: Conputer Concept

Computer Concepts

Page 8

壹拾伍、 HTML & Server-sided scripting languages

【ASP】 <form name="MyForm" method="POST" action="DoUpdateBasic.asp"> 【基本資料修改】 <table border="1"> <tr> <td valign="top"> 請輸入兵號:<input type="text" name="ID" value="" size="10"><br> 請輸入姓名:<input type="text" name="chtName" value="" size="20"><br> 請輸密碼:<input type="password" name="passWD" size="20"><br> <td> 性別: <input type="radio" name="Gender" value="男" checked>男生 <input type="radio" name="Gender" value="女">女生<br> 專長: <input type="checkbox" name="Item1" value="On">班排教練<br> <input type="checkbox" name="Item2" value="On">迫砲教練<br> <input type="checkbox" name="Item3" value="On">甲車教練<br> 軍種:<select name="MilType" size="1"> <option value="1" selected>陸軍</option> <option value="2">海軍</option> <option value="3">空軍</option> </select><br> </table> <input type="Submit" value="更新" name="Finish"> <input type="Reset" value="取消" name="Cancel"> </form> [DoUpdateBasic.asp] <%Dim conn, rs, sqlstr Set conn=server.CreateObject("ADODB.connection") conn.Open "driver={sql server};server=(local);uid=sa; pwd=;database=人事資料庫" Set rs=server.CreateObject("ADODB.RecordSet") varID = request("ID") sqlstr="select * from 軍人資料表 where 兵籍號碼='" & varID & "'" rs.open sqlstr,conn, adOpenKeySet,adLockPessimistic If rs.EOF Then rs.AddNew rs("兵籍號碼")= varID

… rs("性別")= request("Gender")) '男 or 女 If request("Item1")="On" then rs("專長 1")="班排" End If ... rs("軍種")= request("MilType") rs.Update Else response.write "該員已有建檔紀錄,系統無法建檔!" End If%>

Page 9: Conputer Concept

Computer Concepts

Page 9

【PHP】 <form name="MyForm" action="OpenStuFiles.php" method="POST"> <table align="center" border="5" width="579"> …………………………………………… <tr><td> <INPUT type=radio name=RadioType value="FrontPage" checked>FrontPage<br> <INPUT type=radio name=RadioType value="PhotoImpact"> PhotoImpact<br> <td> <select name="ClassNo" size="1" style="FONT-SIZE: 11pt"> <option value="" checked>請選擇</option>

<option value="316">316</option> <option value="317">317</option>

</select></p> </table> <input type="submit" value="開始查詢" name="cmdQuery" style="Font-size=12pt"> <input type="button" value="回前畫面" name="cmdReturn" style="Font-size=12pt"> </form> [OpenStuFiles.php] <?php $StuDB="StuProfiles/List$ClassNo.txt"; //Open the Student Data File (.txt) $DLstr=""; $Found=false; //Not found if (file_exists($StuDB)) { $fp=fopen($StuDB, "r"); while (!feof($fp)) { $line++; $contents=fgets($fp, filesize($StuDB)-1); list($No, $Name, $ID) = sscanf($contents,"%d %s %s"); if ($No==$StuNo) {$Found=true; break;} else {$Name="<font color=red><b>???</b></font>"; $ID="<font color=red><b>???</b></font>";} } fclose($fp); } else {echo "<font color=red><b>Student file: $StuDB does not exist!</font><br>";} switch ($RadioType) { case 'Word2000' : $filename="StuProfiles/2nd/$ClassNo/$StuNo/$Name.doc"; if (!file_exists($filename)) $DLstr="<font color=red><b>不存在</b></font>"; else $DLstr="下載"; break; default : break; }?>

Page 10: Conputer Concept

Computer Concepts

Page 10

壹拾陸、 資料結構:

In-Order、Pre-Order、Post-Order Notation:

(1) In-Order=LNR,ex. A+B

(2) Pre-Order=NLR, ex. +AB

(3) Post-Order=LRN, ex. AB+

Ex. 請將 A/B+C*(D-E)轉為後序式(Post-Order)。

a. AB/+C*(DE-)

b. AB/+CDE-*

c. AB/CDE-*/

壹拾柒、 計算機硬體名詞解釋:

PIO (Programmed Input/Ouput) mode:

當 CPU 參與磁碟機讀取或寫入記憶體動作時,所能達成的速度規格。PIO MODE 4 16.6 MB/s

容錯(Tolerant):

當系統的一部份失效時,該系統仍可繼續運作的能力。

RAID (Redundant Arrays of Inexpensive Disks):

磁碟陣列是由多個磁碟所共同組成。依據 RAID 等級的不同,資料通常被寫入到一個以上的

磁碟,用以增進效能或可靠性。

RAID 等級說明:(RAID 0 是最佳效能)

等級 0 =等量磁區,結合多個實體磁碟的可用空間,成為一個大型的邏輯磁區。[無容錯功能]

等級 1 =鏡像磁區,由一顆主要磁碟與另一棵次要磁碟所組成,所有寫入主要磁碟的資料也

會同時被寫入(mirror)至次要磁碟上,以確保資料的安全性。寫入慢、讀出快。

等級 5 =具同位檢查的等量磁區,將資料寫入多個磁碟所組成的大型邏輯磁區時,RAID 5

會將同位檢查資訊一併寫入至各個硬碟。日後若有任一磁碟損毀時,便可利用同位

檢查資訊將資料救回。寫入及讀出的效能都比較差,且需要三個以上的硬碟。

綠色電腦:

具有(1)省電、(2)低噪音、(3)低污染、(4)低幅射、(5)可回收、(6)符合人體工學,六項特性。

磁碟的存取時間=(Seek Time) + (Rotation Time) + (Data Transfer Time)

Sector (磁區)為磁碟的基本儲存單位;每一個磁軌的容量皆相同。

Page 11: Conputer Concept

Computer Concepts

Page 11

玖、 XML 的特性

1. XML 是用純文字格式檔案來表現結構化資料的一種方法 什麼是 "結構化的資料"?就好比說:試算表、通訊錄、設定參數、財務交易、技術圖表等等。產

生這些資料的程式都常也會把它們存在磁碟上,可能是用 binary 格式,也可能是用純文字格式。

後者(如果必要的話)可以讓你直接看到裡面的資料,而不用透過原來產生這些資料的程式。XML

是一組由許多的規則(或是指導架構、協定)所組成的集合,可以用來設計這些資料的文字格式,

且依此格式定義出來的檔案可以很容易地由電腦產生及讀取,而且不會模稜兩可,不會導致一些

常見的問題,例如:缺乏擴充性、缺乏對國際化/地區化的支援、需依存於某個特定的平台等等。

2. XML 看起來有點像是 HTML,但它不是 HTML XML 像 HTML 也使用 標籤 (被夾在 '<' 和 '>'之間的文字)和 屬性 (以 name="value" 這

種格式出現),但 HTML 明確地定義出每一個標籤和屬性的意義(通常是表示夾在其中的文字

在瀏覽器中該如何表示),而 XML 只是利用標籤來界定每一筆資料,至於如何去解譯這些資料

則完全是應用程式的工作。換句話說,如果你在一個 XML 檔案中看到 "<p>" 這樣的一個標籤,

不要直覺地想到:它代表的就是「段落(paragraph)」。依據各種情況,它有可能代表的是「價

格(price)」、「參數(parameter)」、「人(person)」、「p...」

3. XML 是純文字格式,但它不是給你直接讀的 正如我前面說的,XML 檔案是純文字格式的,但是比起 HTML,它更不是設計來給人類閱讀的。

XML 之所以是純文字格式,是因為它要能讓專家們(例如程式員)能夠簡單地為應用程式除錯,

而且在情況緊急的時候,也可以讓他們用簡單的文字編輯器去修改有問題的 XML 檔。但是 XML

檔的規則比 HTML 更加嚴格,一旦發現檔案損毀,應用程式必須立刻停止運作,並產生錯誤訊息。

4. XML 是一個由許多技術所構成的大家族 現在是有一份 XML 1.0,定義了 "標籤" 和 "屬性" 代表了什麼意義的規格書;但圍繞在 XML

1.0 周圍的,還有許多不斷出現的模組。例如: Xlink 是用來描述一種在 XML 檔案中加入超鍊

結的標準方法。XPointer 和 XFragments 是用來指向 XML 文件中某一部份的語法。(Xpointer

有一點像是 URL,但它所指向的不是 Web 上的文件,而是在 XML 檔案中的一部份資料。)

CSS,文件樣式語言,在 XML 上使用和在 HTML 上一樣合用。 XSL 是用來表達文件樣式更 進

階的語言。它以 XSLT 為基礎,用來加入或刪除標籤和屬性。 DOM 是一組標準的函式呼叫,

可供程式語言去操控 XML 以及 HTML 檔案。 XML 命名空間(Namespaces) 是一種用來描

述在一份 XML 文件中,你要怎麼讓每一個單獨的標籤和屬性能夠關聯到一個 URL 上面的規格

書。不過這個 URL 要做什麼用是由讀取它的應用程式來決定的。(RDF,W3C 的中介資料

(metadata)標準,就是利用它讓每一個中介資料連結到定義這個資料的型態的檔案上。) XML

Schemas 1 和 2 幫助開發人員精確地定義他們以 XML 為基礎所制定的檔案格式。除此之

外,還有更多的模組和工具已經可以利用或正在發展中。

5. XML 的累贅稍多,但那不是個問題 因為 XML 是純文字格式的,而且它利用標籤去分格資料,所以 XML 的檔案幾乎是一定會比相

對應的 binary 格式來等大。這是 XML 的發展人員刻意的抉擇。純文字格式的好處非常明顯(詳

見第 3 點),而其缺點能在各種不同的層次獲得彌補。

Page 12: Conputer Concept

Computer Concepts

Page 12

6. XML 很新,但也沒有那麼新 XML 的發展是從 1996 年開始的,而從 1998 二月開始成為 W3C 的標準。 XML 的前身是

SGML,從 80 年代初期就開始發展了,自 1986 年起成為 ISO 的標準,而且被廣泛地運用在各

種大型的文件計畫中。XML 的設計者只是將 SGML 最精華的部份萃取出來,再依照 HTML 的

發展經驗,產生出一套威力強大且使用上非常規則且簡單的語言。

壹拾、 OOT (物件導向)的觀念:

以小明為例,小明是一個人,小明是一個物件(Object),人這個名詞稱為 class(類別),小

明的數量是一個,這個數量稱為 class variable(類別變數),小明是一個 instance(實體),小明的

名字,稱為實體變數(instance variable)。

真實的物件皆有兩種特性:狀態(status;例如名字、年齡、身材高矮)及行為(active;

例如吃飯、睡覺、動作)。在軟體上,我們利用變數(varible)來描述(儲存)真實物件的狀態,

利用方法(method)來模擬真實物件的行為。

物件變數置於物件的核心,利用 method 來處理物件變數的內容,適度的與外部程式隔

絕的包裝技術,在 OO 中稱為『封包』(Encapsulation)。封包的好處:模組化(Modularity)、資

訊隱藏(Information hiding)。

類別(class):可以視為某一類的物件的藍本或樣板,用來定義同種類物件的狀態(共同的

variable)與行為(method)。類別可以藉由實體化的方式來描述物件,實體化前的 variable 稱

為類別變數,method 稱為類別方法,實體化後的 variable 稱為實體變數,method 稱為實

體方法,有時候我們也可以定義一種,不需要實體化就可以使用的 variable 或 method,例

如人的數量(count)。一般而言,物件都必須將類別實體化後,才能夠使用。

類別的好處:Encapsulation(模組化、資訊隱藏)、Reusability(可再利用性)。

繼承(Inherit):一般而言,物件是透過 class 所定義出來的,OO 允許 user 利用已經定義好

的 class 再去定義其它 class,新定義出的 class 稱為 subclass,原來的 class 稱為 superclass;

subclass 會繼承 superclass 的所有狀態(variable)與行為(method)。

有時候 subclass為了要增強它繼承的某些功能或是改變某些動作,子類別可以利用override

的方式覆蓋掉繼承自 superclass 的 method,提供自我詮釋的 method。

繼承(Inherit) 的好處:Reusability(可再利用性)。

變數視野:分成以下四類:

成員變數:(class 所宣告的 variable;scope 在 class 的範圍中)。

區域變數:(method 所宣告的 variable;scope 在 class 的 method 範圍中)。

類別成員的存取控制:

private:只有同一 class 內的成員可以存取。這類的類別是無法被實體化(產生物件)。

Page 13: Conputer Concept

Computer Concepts

Page 13

protected:允許同一 class、同一 package 與其子類別(可以為不同 package)的成員存取。只有此類別的後代才能夠進行物件的建立。

public:所有 package 的成員都可以存取。任何類別都可以建立這樣的物件。 package (default):同一 package 內的成員可以存取。只有同一 packet 下的 class 才能

建立這樣的物件。 Example2:

class Sample extends Object {

int ivar1; int ivar2;

Sample(int i, int j)

{ivar1 = i;

ivar2 = j;}

int emptyMethod() {}

...

}

壹拾壹、 演算法範例

VB array 當我們宣告一個 X(2)的陣列時,表示這個陣列一共可以儲存三個變數(0~2)

陣列變數名稱 資料儲存順序 陣列資料內容

0 X(0)=資料 a

1 X(1)=資料 b X

2 X(2)=資料 c

99 乘法表

Bubble Sort

Binary Search

壹拾貳、 Virus & Hacker

Page 14: Conputer Concept

Computer Concepts

Page 14

壹拾參、 補充

10 進位 2 進位 16 進位

0 0000 0

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F ※主要的三種數字系統對照表

※各式數字系統轉換對映表

To From

10 進位 2 進位 8 進位 16 進位

10 進位 餘數 餘數 餘數

2 進位 基數 目視法 目視法

8 進位 基數 目視法 目視法

16 進位 基數 目視法 目視法

Page 15: Conputer Concept

Computer Concepts

Page 15

壹拾肆、 Linux

I. Device name & partition:

Disk Drive Device Name Partitioning Description

/dev/hda1 1st partition on /dev/hda IDE1 (Master drive) /dev/hda

/dev/hda2 2nd partition on /dev/hda

/dev/hdb1 1st partition on /dev/hdb IDE1 (Slave drive) /dev/hdb

/dev/hdb2 2nd partition on /dev/hdb

IDE2 (Master drive) /dev/hdc N/A N/A

IDE2 (Slave drive) /dev/hdd N/A N/A

SCSI (1st hard disk) /dev/sda N/A N/A

SCSI (2nd hard disk) /dev/sdb N/A N/A

Floppy drive /dev/fd0 N/A Use “mount /dev/fd0 /mnt/floppy”

CD-ROM drive /dev/cdrom N/A Use “mount /dev/cdrom /mnt/cdrom”

建立 quota 設定,或自動掛載(mount)分割區/光碟/軟碟的設定檔:/etc/fstab 若是設定 quota,修改/etc/fstab 後,還要執行 >quotacheck –ugavm,再重開機

II. Linux 系統或伺服器的設定檔名稱:

/etc/fstab:開機時,可自動掛載指定分割區/光碟/軟碟的設定檔。 /etc/crontab:系統工作排程設定檔。 /etc/chinese/xcin/xcinrc:中文輸入法設定檔。 /etc/hosts:主機位址設定檔。 /etc/services:網路服務資料檔 xinetd (Extended Internet Services Daemon):一個專門管理 Internet 連線要求的程式 /etc/xinetd.conf:供 xinetd 使用的設定檔。 /etc/resolv.conf:DNS 搜尋順序設定檔。 /etc/sysconfig/network:網路組態設定檔。For TCP/IP. [FTP] /etc/ftpaccess:wu-ftp server 主要存取權限設定檔。 [FTP] /etc/ftpusers:wu-ftp server 的黑名單設定檔。 [FTP] /etc/xinetd.d/wu-ftpd:wu-ftp server 組態設定檔。

修改後需再執行 >/etc/rc.d/init.d/xinetd reload,重新載入組態設定。 [WWW] /etc/httpd/conf/httpd.conf:Apache server 主要設定檔。 [WWW] /etc/rc.d/init.d/httpd stop:停止 Apache daemon。 [WWW] /etc/rc.d/init.d/httpd start:啟動 Apache daemon。 [sendmail] /etc/sendmail.cf:設定”中繼”(relay)郵件位址設定檔。 [sendmail] /etc/rc.d/init.d/sendmail stop:停止 sendmail daemon。 [sendmail] /etc/rc.d/init.d/sendmail start:啟動 sendmail daemon。 [sendmail] /etc/rc.d/init.d/sendmail restart:重新啟動 sendmail daemon。 [POP3] /etc/xinetd.d/ipop3:POP3 設定檔。

修改後需再執行 >/etc/rc.d/init.d/xinetd reload,重新載入組態設定。 [Squid] /etc/squid/squid.conf:Squid proxy server 設定檔。 [Squid] /etc/rc.d/init.d/squid start:啟動 Squid daemon。

Page 16: Conputer Concept

Computer Concepts

Page 16

III. Linux 系統-重要目錄介紹

/bin: 系統指令,系統公用程式(cp, mv, dmesg, kill, rm, ping etc.)與各式 shell。 /boot: 系統啟動時必須讀取的核心檔案。 /dev: 各式週邊代號的檔案。Ex. /dev/hda、/dev/tty0 /etc: 各式系統設定檔。 /etc/rc.d: 本目錄包含了「開機」及「關機」時所執行的 script 檔案。 /home: 放置使用者帳號的根目錄。 /lost+found: 系統磁碟發生異常時,修復或找回的檔案片段。 /mnt: 系統預設有/mnt/cdrom 與/mnt/floppy 兩個目錄,供光碟及軟碟的掛載點。 /root: system admin.的專用目錄,亦為 root 的 home directory。 /sbin: 存放啟動系統所需的程式。如 grub、lilo、fsck 等。 /usr: 用來存放使用者使用的系統指令、應用程式等檔案。 /usr/bin: 用來存放使用者可執行的指令(finger, find, grep… etc.)。 /usr/man: 用來存放線上說明文件。 /var: 系統執行時,暫時檔所存放的目錄。(Apache &FTP 專用目錄也在此)

IV. 檔案系統與目錄權限

ext2 & ext3 檔案系統所使用的檔案結構稱為 inode(index node),其可用來記錄檔案類型、大小、權限、擁有者等屬性。

directory : drwx------ owner grpname 4094 6 月 8 21:16 Desktop

file : -rw-r--r-- owner grpname bytes date time test.txt 隱藏檔:若是一個檔案名稱的開頭含有句點“.”,表示此檔為隱藏檔。 改變檔案/目錄權限:chmod [–R] 777 filename/dirname (-R 表啟動遞迴處理)

rwx rwx rwx 可用 777 表示 (r=4 w=2 x=1)

usr grp other Ex1. > chmod 754 test.txt 結果等於 -rwx r-x r-- owner grpname bytes date time test.txt

u g o (u=usr, g=group, o=other) Ex2 > chmod u=rx, g+w, o-r test.txt 結果等於 –r-x rwx --- owner grpname bytes date time test.txt

改變檔案/目錄擁有者:chown [–R] NewUser filename/dirname 改變檔案/目錄群組名:chgrp [–R] NewGroup filename/dirname Hard link:ln /var/temp/srcfile newfile

1. 連結後,不會改變原檔案的擁有者 2. 連結後,兩者的 inode 是一樣的。

Symbolic link:ln –s /var/temp/srcfile newfile 1. 連結後,檔名會變成 newfile->srcfile 2. 連結後,檔案權限的最前面會有一個”l”符號,Soft link 會多佔一個 inode

Hard link 需在同一磁區中,且無法適用在目錄上;Symbolic link 則無此限制。

Page 17: Conputer Concept

Computer Concepts

Page 17

V. Linux 系統開機重要關鍵:

載入 Kernel:可執行 /var/log/dmesg 瀏覽所有開機訊息。 執行/sbin/init,並根據/etc/inittab 的內容,決定 Run Level。

RunLevel Description 0 關機 (Halt)

1 單人模式

2 簡易多人模式,無 NFS (Network File System)

3 完整多人模式,文字介面

4 (Reserved)

5 完整多人模式,X11 圖形介面 (default)

6 重新開機 (Reboot)

執行/etc/rc.d/rc.local:可自行指定開機時欲執行的檔案,功能類似 autoexec.bat。

VI. 系統及網路相關指令: ps:報告程序狀況 (-l=long, -u=user) netconfig:設定網路基本組態。 ifconfig:設定及顯示網路卡組態資訊。Ex. > ifconfig eth0 [down | up] (關閉|啟動) netstat:顯示網路的連線狀態與統計資訊。

Ex1. >netstat –a (顯示本機所有網路連線狀態) Ex2. >netstat –t (顯示本機 TCP/IP 協定的連線狀態) Ex3. >netstat –r (查看 routing table 的狀態)

traceroute:顯示封包經過歷程。 route:顯示及管理路由。(顯示路由=netstat –r) free:檢查記憶體使用狀態。

VII. 帳號管理相關指令: /etc/passwd, /etc/shadow:內含所有使用者的帳號 useradd/adduser:建立使用者帳號 userdel:刪除使用者帳號。Ex. > userdel –r hwtang (-r 表該帳號相關目錄) quota:查詢使用者使用磁碟空間限制。Ex. > quota –v (需先編輯 /etc/fstab) edquota:編輯使用者/群組的磁碟限制。Ex. > edquota –u hwtang / edquota –g grp1

VIII. Common Linux Commands: 建立開機片:mkbookdisk `uname –r` (uname=Kernel Version) 關機:shutdown [-arkhncfF] [-t secs] time [warning message]

1. shutdown –h now (-h=halt,立刻關機)

2. shutdown +5 “System will shutdown after 5 minutes!” 3. shutdown –r now (立即關機後再重開機, reboot) 4. shutdown –r 23:59 & (於背景指定時間進行重開機動作) 5. shutdown –k 3 “Warning, system is going to shutdown!” (只送訊息而不關機)

Page 18: Conputer Concept

Computer Concepts

Page 18

重新啟動:reboot 顯示磁碟尚可用空間:df 顯示磁碟已使用空間:du 複製檔案或目錄:cp –v –R * /backup

(將當前目錄及其子目錄裏的所有檔案,全部複製到/backup 內) –v 表示顯示執行過程 –R 表示遞迴複製

刪除檔案或目錄:rm –v –r * (將當前目錄及其子目錄裏的所有檔案,全部刪除) –v 表示顯示執行過程 –r 表示遞迴刪除

顯示檔案內容,或合併檔案: 1. cat preface.txt | more (運用 pipe,將前者的輸出當作後者的輸入) 2. cat a.txt b.txt > new.txt (將 a.txt 與 b.txt 合併,並輸出到 new.txt) 3. cat preface.txt >> outline.txt (將 preface.txt 的內容附加在 outline.txt 後)

尋找檔案:locate zh_TW (列出所有包含”zh_TW”字串的檔案或目錄) 搜尋字串:grep text *.conf (搜尋 *.conf,包含 “text” 字串的檔案) 登出後,程序繼續執行:nohup myserver & 打包檔案:tar –cvf data.tar * (將所有檔案*打包成 data.tar,檔名需指定)

–c 表示建立一個新的 tar 檔 –v 表示顯示打包過程資訊 –f 表示指定打包的檔案名稱 –x 表示解開 tar 檔 (ex. tar –xvf data.tar) –z 呼叫 gzip 壓縮指令,壓縮或解壓縮檔案

ex1. tar –czvf data.tar.gz * ex2. tar –xzvf data.tar.gz

gzip & gunzip:配合 tar 使用的壓縮及解壓縮指令。只能處理單一檔案。

ex1. > gzip data.tar ex2. > gunzip data.tar.gz (=gzip –d data.tar.gz)

RPM installation: rpm –ivh bind*.rpm (安裝 Bind RPM 套件) –i 表示使用安裝模式(installation) –v 表示顯示安裝過程資訊 –h 表示安裝過程中顯示進度# –e 表示移除(erase)RPM 套件 –U 表示升級(Upgrade)RPM 套件(ex. –Uvh) –F 表示更新(Fresh)RPM 套件,只更新版本較新的套件(ex. –Fvh) –V 表示驗證(Verify)RPM 套件正確性

刪除/終止/重新啟動程序:kill –9 1330 (強制刪除 1330 程序) ex. kill –HUP 1330 (Hang Up, 重新啟動指定的 daemon 程序)

Page 19: Conputer Concept

Computer Concepts

Page 19

IX. Default text editor – vim (PS: “pico” is much easier than vim)

Normal mode:按 ESC 鍵 (default) 1. 按 h 鍵=游標左移一格 (Keyboard layout: H J K L) 2. 按 l 鍵=游標右移一格 3. 按 j 鍵=游標下移一行 4. 按 k 鍵=游標上移一行

Insert mode: 1. 按 a 鍵=從游標後面插入 2. 按 i 鍵=從游標位置插入 3. 按 o 鍵=新增一行, 游標移到行首

Command-line mode:按 : 鍵 1. 按 a 鍵=從游標後面插入 2. 按 i 鍵=從游標位置插入 3. 按 o 鍵=新增一行, 游標移到行首 4. 按 w 鍵=儲存檔案 5. 按 q 鍵=離開 vim (需先存檔) 6. 按 q! 鍵=強制離開 vim,不存檔 7. 按 wq 鍵=存檔後離開 vim。