You are on page 1of 19

Network Concepts

壹、OSI 網路七層式架構:

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

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

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

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

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

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

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

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

貳、TCP/IP 四層式架構:

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

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

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

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

參、IP 位址的分類:

Class B example: 163.13.1.60=10100011.00001101.00000001.00111100

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


Class A 0nnnnnnn 00000001~01111111 1~127 255.0.0.0
(前 8 bit 需被指定) 註: 127(保留)
Class B 10nnnnnn 10000000~10111111 128~191 255.255.0.0
(前 16 bit 需被指定)

Class C 110nnnnn 11000000~11011111 192~223 255.255.255.0


(前 24 bit 需被指定)

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

ANS:淡江大學為 163.13.xxx.xxx 網路,其第三組及第四組 byte 共計為 16bit (2x8)


算式=1111111111111111=2^16(bit)=65536 (個 IP 位址)
扣掉 全為 0 及全為 1 的保留位址,剩下 65534 (65536-2) 個可分配的 IP 位址

Page 1
Network Concepts

肆、子網路切割(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 2
Network Concepts

 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 3
Computer Concepts

壹、 BIOS 問題聲響判讀:

AMI BIOS AWARD BIOS


1 短: DRAM 更新錯誤 1 短: 系統啟動正常
2 短: DRAM ECC 檢查錯誤 2 短: CMOS 設定錯誤
3 短: DRAM 檢查失敗 1 長 1 短: DRAM 錯誤
5 短: CPU 錯誤 1 長 2 短: 顯示卡或螢幕連接錯誤
6 短: 鍵盤錯誤 1 長 3 短: 鍵盤錯誤
8 短: 顯示卡記憶體錯誤 1 長 9 短: ROM 錯誤
9 短: ROM 錯誤 不斷長響: DRAM 未插好
1 長 3 短: DRAM 損壞 不停急響: 電源有問題
1 長 8 短: 顯示卡或螢幕有問題

貳、 什麼是 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 4
Computer Concepts

參、 1’S 與 2’S complement:

 1 的補數: 01;10
 2 的補數: 01;10,最後一位還要加 1
大數 – 小數 小數 – 大數
補數類型 Sign Bit =大數 + (-小數) =小數 + (-大數)
Ex. 1101-0100 = 1001 Ex. 0100-1101 = -1001
1. 將「小數」轉為補數型態(1011) 1. 將「大數」轉為補數型態(0010)
1’S 不考慮 2. 將「大數」+「小數的補數」 2. 將「小數」+「大數的補數」
3. 若有進位,將其累加至個位 (不會進位,所以答案先加”負號”)
3. 將上述運算結果以 1’s 還原。
Ex. 1101-0100 = 1001 Ex. 0100-1101 = -1001
1. 將「小數」轉為補數型態(1100) 1. 將「大數」轉為補數型態(0011)
2’S 考慮
2. 將「大數」+「小數的補數」 2. 將「小數」+「大數的補數」
3. 若有進位,將其捨棄。 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 5
Computer Concepts

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

10 進位表示 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 6
Computer Concepts

壹拾壹、 計算機定址法:
計算機組織通常包括:
(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 7
Computer Concepts

壹拾伍、 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 8
Computer Concepts

【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 9
Computer Concepts

壹拾陸、 資料結構:

 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 10
Computer Concepts

玖、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 11
Computer Concepts

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 12
Computer Concepts

 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
X 1 X(1)=資料 b
2 X(2)=資料 c

 99 乘法表

 Bubble Sort

 Binary Search

壹拾貳、 Virus & Hacker

Page 13
Computer Concepts

壹拾參、 補充

10 進位 2 進位 16 進位 ※各式數字系統轉換對映表
0 0000 0
To
1 0001 1 10 進位 2 進位 8 進位 16 進位
From
2 0010 2
10 進位 餘數 餘數 餘數
3 0011 3
2 進位 基數 目視法 目視法
4 0100 4
8 進位 基數 目視法 目視法
5 0101 5
16 進位 基數 目視法 目視法
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
※主要的三種數字系統對照表

Page 14
Computer Concepts

壹拾肆、 Linux

I. Device name & partition:

Disk Drive Device Name Partitioning Description


IDE1 (Master drive) /dev/hda /dev/hda1 1st partition on /dev/hda
/dev/hda2 2nd partition on /dev/hda
IDE1 (Slave drive) /dev/hdb /dev/hdb1 1st partition on /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
st
SCSI (1 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 15
Computer Concepts

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 16
Computer Concepts

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 17
Computer Concepts

 重新啟動: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 18
Computer Concepts

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。

Page 19

You might also like