Professional Documents
Culture Documents
「
Ch1 資料儲存 Data Storage
Bi Vse
binary digit ⽂字 /
:
1
-
可應⽤於 Boolean
operations & gates
:
Logical Gae
$ 每個 Gate 都有接地 ( 圖中省略 )
AND : 兩者皆才特真真 OR :
其⼀為真即特真 X OR :
其⼀⼀真即真
VOT :
其⼀為真即厚真
exclusiveOR
pm ⼆
) Oltput "
Imp-
u Imput = Outpat utpu
Inps -
_
⼀
… - o
!
0 0 0 0 0 0 00 0
1 1
! ” !
0 0 0
1
1 0 0 1 0 0
_”
” , ” 1 ” 0
=
) -
)
- =
Flip Flop -
反器正
⽬的 To keep the of 激活
sfate
outportumtil the Mext exaitement
:
λ Y Z
,
SRFlip -lop ; wo
ast input lines : set and rese
-
λ
0 0
unchanged
One
impout its sfored value to 1 ,
Flip Flop _
是 0 1 0
Y 1 1
The other ifs sfored value to O
0
ionput sets .
Circuit :
0 1
Inputx Imput λ
Outputo
0
— ⼀
⇌
。
。 Oi 0
Inputy
0
—
—
, '
0
Imput y Outpet
, 0
0
0 1 0
1 0 1
.
0 ,
O 0
0 .
0 !
1 .
0 1
0 .
1 0
0 0 1
,
0 ,
O 0
texadecima
Coding tex ⼗ 六 進制 編碼
Bitpattern Hexadecimarepresentation
oooo o Binaryisusuallytoolongtorhumantoremember ,
00 01 1
Binarytotexi 0010111 01011010 1
00 1 0 2 2 E B 5
00 1 1 3
0 100 4
Main
Memorycell
01 0 1 5
01 10 6
01 11 7
Celli
1000 8 Aunitofmainmemory Ilelk 8
bitstypicag ⼆
Ibyte
10 0 1 q
Hghorderend 0100 1111 Loworderend
1010 A
10 11 13
1100 C
Mostsignificantbit Leastsignificantbit
1101 D
eg suchas 10 9872
1110 E
11 1 1 F
Main
Memory 每個 Address 对應 ⼀個 Cell
全部 組成 ⼀個 Main
Memg
I Dimensional
00101110 00100010 10101010 01001101 ⼀、 ,
Recallthepointerincktt Address
Memory Techniques
Randomaccessible
Random Access
Memory RAM i
Memoryinwhichindividualcells canbeeasilyaccessedinanyorder ,
Static ilikefliptlop
Memory SRAM 每個
logicalgate 都 需 持續的 供電 ,
⼀
但 停⽌ 則 資料 消失 但 其 速度 快且穩定 不過容量 ⼩ 價格⾼
,
。
Tinycapacitorsreplenishedregularybyrefreshcircuit
補充
,
因 其電容極 ⼩ 故漏電量極 ⾼ 當 電 压 漸漸 降低後每 隔 段時間補充 ⼀次電量 優桌為 密度⾼ 故体積⼩ 且成本低 但儲存速度慢且耗電量⾼
,
⼀
, ,
, ,
Synchronous 同步
DRMSDRAM i
Allcapacitorsreplenishedbyrefreshcircuitatthesametime ,
Dualīriplechannel 双 三通道
Capacity
Kilobyteki Biibytes ⼆ 1024 bytes ≈ 10
bytes KB = 10 0 0 B
Massstorage
Propertiescomparedwithmainmemory :
gpesi
Largcapacity Magneticsystemsharddisk ,
tape
Lessvolatiity短暫 1揮發
資料 可以保存 很久且 容易 救資料
Opticalystems CD ,
DVD
Slower Flashdrives
資料 存放於每個 sector 中
Accesstime
找到 所 需 資料的 sector
=
seektimetrotationdelg latengtime
readhead 走到 該track
disk 轉 到 該sector所在處花的 時間
所 需 的 時間 ,
的 時間 ,
Physical Recordsvslgicalrecord
⼀個 資料 不會 存 在同 ⼀個 sector ⽽是分散於 不同 track 的 sector 中 ,
即 i
Frgmentationproblem
Buffer
Blocksofdatacompatiblewithphysicalrecordscanbetransferredbetweenbuttersandthemassstoragesystem
Datainbuffercanbereferencedintermsoflogicalrecords ,
Text
Representing
ASC 7 bitsor 8
bitswithaleadingo
:
Unicode : 1 6 bits
standardi 32 bits
Binaryvs Decima ⼗ 進制
Decimai
Binaryqol_Representationfii-iio.ii.nl
1 02 1 01 10
Positionisquantity 1
bpsibitspersecond
Representing Sound
Bitrate
Samplingratex Bitresolution
⼆
Samplingratei 每⼈ 秒 記 1 次 收據 Amplitudes )
Bitresolutioni 每 次記錄的 解析度 振幅 分成 多少
種尺度 ( eglbyte ⼆ 8 bit 有 2 56種
Oorl 的 組合 故振幅 最⼩美 ,
只有 火56 byte 的 差距 )
樂譜
MIDI 把每個 ⾳ (e.gl?o/Re/Mi …
) 所 对應的 ⼀個 爛 組 記錄下來 ,
之後再利⽤ 組合 的 ⽅式把 段 ⼀
鷹 每個⾳ ) 所对 的 檔 叫 出來
2 010
⼗) 3
⼀般加法 可直接 相加
→ 011
:
eg 。
Bingsystem
5← 。
減法 須 先定義 魠⽂後⽤ 正 正
: ⼆ 正 + 䱓⽂求解 ,
-
4 ~ 3 3 bits 1 1 0 -
2 6 0 1 0 2
1 0 1 -
3 5 0 0 1 1
特 桌 1 正 政部分 開頭均 為 0 負 政 部分 開頭均 為 1
:
. ,
1 o o
-
4 4 0 0 0 0
2 正 政部 分 之 編碼 與原本
,
相同 01 1 3 1 1 1 -
1
3 負 政均 為 原本的 -8k 233
我"
.
o 1 0 2 1 1 0 -2
六 %9 3
6%
優桌 加法可 直接 使⽤ 不必 調整
:
f%
⼗
'
⼗) 之
-1 111
o o 1 1 1 0 1 3
-
缺点 無法直接 比 ⼤⼩
,
0 0 0 0 1 0 0 -4
nonoio.no ! > 00 1
0110 10 10
求 負 攻 編碼 ⽅法 :
eg 6 -6
法 li
照抄 直到 抄 下第 1個 ⼯ 後 開始抄相反的 攻字
, ,
1 → 0/ 0 → 1) , 所得 編碼 即 為原
正 政之 負 号 編碼
1:10 6
,
eg.co
i
法⼆ :
iǒǐǒ go.jo
:
-6
直接 將 該正 政 对 照 原 表即可 得 原 負 政在 变換後的 編碼
" "
3bitstxc.es -1
②_ -2 ~
2
snotation 範圍 1 1 7
:
1 1 1 1 3
33in -4 ~
1 1 0 6 1 1 0 2
3 每 項 -4 後平移 原 → 後)
.
0 1 1 3 0 1 1 -1
1
優桌 可直接 比 ⼤⼩
:
0 1 0 2 0 0 -2
0 0 1 1 0 0 1 3
缺桌 相加 後還要 +2 的 處理 後 → 原 )
" -
0 0 0 0 0 0 0 -4
求 負 收 編碼 ⽅法 :
-3 +22=1 → ooi
不变
Overflow
發⽣原因 當 原 編碼 為了 ⽤ 負 攻⽽ 轉換成 Twóscomplement
:
Excess 時 新 編碼 所 包含的 正 址 偵 ⼗ 負
,
負⼗ 負 可能超過 也 可能 在 列表內 +8 zn
5 -8 zn
-5
指收
izizo8bityz-z.pt
-85
'
(i I
Binaryfloatingpoint
⼆ (⼀ x 1 1 0 1 0 1 0 1
.
i # +6
2
-
+ 1 5 -
2 )
假玫
規定 : 1 -
,
0 ⼗ ,
且 中間 不會標上 桌 ⽽ 判斷 為 整 攻或 ,
假攻
浮 桌 玫的 唯⼀ ⽅式取決於 前⾯ 宣告 為 intltloat ⼗ ⼈ 指玫
每個 指 收可以使後⾯ 的1叚攻進 ⼯位 g. 範例 北 ) 以
"" " ""
gbit 下 之 量值 Maxi gx 23
⽬前 主流的 64 bit 系統分配 為
lb.tt/miniixz-411bit
-
指 收
52 bit 假玫
Truncation Errors & Normalizationform
解決⽅式 Normalization
:
假收的
significantbit 進位⾄到 变成 I
22
0
-4
⽽ 當 全部 為 0 時 定義 為 0 , 即 犧牲 了 tlx 2
Lossofdigits 3
3
_
3
,
!
_
3
,
3 I'
k
i 記不住 : 忘記
發⽣原因 當 : 2 政相 運算 時 ,
為了 讓指 救擠 可能 , nizii-4
會 因⽽ 使假故超出所 能表⽰的 範圍 ,
3 -
1 -
1
3 0
右边的 例⼦ 來說 電腦 記不住
'
4 , 但 ⾕ 可以 , 3
t.no t.no
= 1 .
00 0 0
G q 本
3
= x 2 = = 4
htalompression
種類 Lossy 失針压縮 班 失⾦ 压 縮
1111111 州 "
g. ⽵
Frequengdependentencodingi Huttmanencoding
Relativeencoding Differenceencoding 影像压 縮 只 記會 动 的 物件 ,
不會 動 的 則 定格
1 0
Iaditionencodingi Huffmanencoding : D 1 1 1
A
, , ,
0
,
0
從末端走回去並沿路記下 改字
0
1
B 0 1 0
i # 2 × 16 = 32 bits 2
C 1 優缺点 雖然可以減少 所 需 記憶
0
0
'
17 1 1 總共 要 花 32 bits 來記錄此串 收據 : 7
体 但 对 ⽅ 需要 Huffmantree 編碼表
,
'
0 0 00 00 0 1 0 1 01 00 00 1 1 0 00 0 0 00 00 0 1 1 1 16
0
才能 解讀 ,
不過 不可能產⽣ 與 原 碼 不同 的 結果
末端
对 ⽅ 不 須有 此表 即可 解碼 00010101 00010110 0000101 1 1 25 bits
space
✗ 1
LIW encodingsexyxxyxxyxxyx y 2
12134343 4 i 9 bit
space 3
Iaditionencodingi LZW
encodingi xyx 4
✗ 1
共 3×4+3=15 个 bits 應⽤ 情況 ⽤於 同 個 單詞 經常 出現的 情況 eg 段⽂章 中 的 the
" "
:
y
⼀
2
,
,
⼀
之間 的 組字⺟ 視為 ⼀個 單詞 並 編 上新 的 碼
⼀
往後接著 編
|
MP 3 Compression 優桌 不但 編碼 結果之位元 收 比 traditionencoding 少 ,
且 解碼者 不必
得到 該表 只要 有原本 traditionencoding 的 幾 个 基本 編碼 即可 反推
,
,
在 段⾳檔 中 某⼀瞬間 有 ⼀個 響度
⼀
Comunicationerrors 除錯 ⽅式通常 分為 2種
ID numbers ⾝份 証字 号
ISBI book
奇偶校驗碼
Paritycode
2、
Errorcorrectingi 可以知道接收端 得到 的 收據中 有 誤 ,
也 知道哪裡錯 並修正
Dnumbers ISBN
i
3.
2、
3.
4. 4
Paritycode
1 0 使整 串 攻字
⽅式 在每 : ⼀
中 的 1 共 有 奇 攻個 當 任何 1個 1 10 出錯 則 必 能發現 但
如果
。 ,
出錯
同時 有 2個 或 以上 則 沒辦法發現
A 磁碟中 的⼩段 資料
,
11010 …
10011 …
Errorlorrecting Code ECC
IX. y -
repetitioncode : 2 .
Hammingdistancei
原理 傳 入 次相同的 資料 當 其中 有 資料 不同時 即代表有
,
原理 先把每個 字符 編 上 ⼀旦 代碼 當接收端 發 ,
出 錯 出錯 則 選出現 比較 多 次的 當作 正確碼
,
現找 不到 相 对應的 字符 時 把每個 字符 原本 对
,
repetitioncodei distance ,
⽽ distance 最⼩ 的 即視為其 解 ,
eg 010100 D
Computerarchitecture
CPU Central Unit
:
Processing
暫存器 ⽤於 暫時 存放 資料 比 共有 1 6 個 Hex的 1 6 位元 資料 暫存 區
Controllhit
Register :
,
週期 後會 增加 1 以 執⾏ 下 個 指令 只能 保存 8 bits ,
,
只能 保存 16 bits ,
運算 流程 :
2
將 第⼆ 個 改值從memory 存進 另 ⼀個 register ,
3 啟 动 運算 單元 的 电 流 eg 相加 ,
,
將 12
register 內 的 收
值進⾏ 運算 後 把結果存入再 另 ⼀個 ,
register ,
4 將 該 register 內 的 資料 存 回 memg
5 停⽌ ,
RISC vs CISC
⽽ Intel 則 是 ⽤ CISC設計 其 ✗ 86 架構 晶片
3處理器 簡化 电 晶 体 玫量 減少 易於 提升 運作 時脈 dock
, , ,
比起 同 時脈的 LISC處理器
耗电 量 較低 ,
能夠 低於 ✗ 86 的原因 之⼀ 。
假設有 ⼀
條指令 集 由 2 個 指令 組成 但 第 2個 指令 能夠 執⾏的 前提是要 得到 指令
, ,
1 的 執⾏ 結果
指 令 I 指令 2
分⽀預測 先猜 ⼀個 指令 1 可能的 執⾏ 結果
規則 第 1 個 攻字 均 代表其 正 偩 号
: ,
0 為正 (
⼀
昨 1,1 為 負 ( 1):-| ⼀
ceg 8 bit -1 )
,
第 1 個 是 0 其實 也 可以8個 加起來
若為負收 則 由右 ,
左看 ⼀個 ⼀個 ⽑⽂字 照抄 直到 抄 下第 1個 ⼯ 後 開始抄相反的 攻字
, ,
1 → 0/ 0 → 1) ,
eg.li
6
0 1 1 1 1 1 1 1 = 2 +25+2 +22 +2'+20=1 2 7
'
0 0 0 0 0 0 1 0 = 2 = 2
0
0 0 0 0 0 0 0 1 = 2 = 1
0 0 0 0 0 0 0 0 = 0
8
1 1 1 1 1 1 1 1 o o o o o o o 1=-20=-1 ( 2 -
2 55 ) = 1 → -
1
'
8
1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 = -
2 = -
2 (2 -
25 4 ) = 2 → -
2
8
/ o o o o O O 1 0 1 1 1 1 1 1 1 = -
1 27 (2 -
1 29 ) = 12 7 → -
12 7
1 28 8
1 o o o o o o o 1 0 0 0 0 0 0 0 ⼆ -
(2 -
1 28 ) = 128 → -128
痴
( 記得 加 負 号 )
快速 算法 設為 8 bits 則 若 為 負 号 直接 8 個 收字 相加 再 將 ,
, ,
28相加 結果 該2進制 的 10進制 表⽰法
Machinelnstruction
指令 之代碼 執⾏ 动 作 之位址資料
2
bytes
memcgcell 的 A7位址
"
" " "
store 5
registerno ,
nmemgcenmi ( A7 ⼆
10100111
以 此 範例 為 8 bits 來說 為 28
⽽ CPU ⽀援的 最⼤ 記憶体 的 ⼤⼩ 即 以 memgcell 的 位元 玫 決定 256
bytes
⼆
,
fetch :
指令 集例⼦ :
1
Program Execution
把 1变成 0 把 0 变成 I 把 1 变成 0
or
Logic
原始 变成 I
Bit Operations
0
加入
產⽣結果
可 ⽤於 進 健位 eg 叫⼼
,
在進 健位的 同時 不使其正負 号 改变
⽤途 負責 把 外接 的 資料 集中 後再 ⼀次回傳 CPU
ormemory
Othercommunication
Memorymapped V0
DMA 只要 經過授權
Direct
Memory Access :
,
controller
V0 as Load store :
Trans.ferrateibitpersecondbps.kbps.Mbps.i
Pipelining 線路管線化
pipeline 玫量 ,
如右 圖 n= 3 ,
但 實際上 不會 , 指令 I 指令 1之執⾏ 結果
egconditionaljumb 條件 跳位 ⼀
⼀
; 在 滿⾜某 指令 2
指令3
個 指令 的 執⾏ 結果下才 會 跳位 .
A B
hrallelize
⽅式 利⽤ 把原本 會受前 程式執⾏ 結果影 响 的程式進⾏
:
不同
調整 後拆 成 多 條 互不影 响 的 程式 分別 交給 ,
執⾏ pipeline
的 CPU 核 可 ,
以達到 的 ⽬的 ,
A 原 : : A的 ⼆
Alllx 2 後 A 13 ] =
A [1 1 × 4 A 1 4 1 A 12 1 4
= ×
Set 仙⼦ 友 A [ 5 ] A [3 7 4 A [ 6 ] A [⼩ 4
A [ 3] Alzjxz = × =
=
X2 x 2
X2
A [81⼆⽉ 161 ✗ 4
✗2
A 17 ] A [5 7 4 ×
A [3 ] × 2
=
A 14 了 =
i. 友 2 友 4友 8 友 16k ,
-
i :
, , ,
i
1 2 3 4 5
拆 出的 2種程式 互不 影响 故 雖然 仍
A[ i) =
A [i -
1 1 × 2 ,
4 4
受到 前 ⾏ 執⾏ 結果牽制 但 拆 成 2
✗ ✗
⼀
種能夠 提升 2倍 的 執⾏ 效率 ,
B :
原 A [4 ] : =
A 12 ] t A [1 ] 後 A 14] A [ 2 ] + A 1 1 ] :
A 15 ] A [3 ]= t A 12 ]
A 1 5 1 A [3 ]
= t A 12 1 A [ 6 ] A [ 4 了 ⼗ ABI =
Al 71⼆⽉ 1 5 ] t A [4]
A [ 6 ] A [ 4 7 t A 13 ]
=
A [8 ] A [ 6] = t A [5 ] A 19 ] A 17 ] + A [ 6 ]
:
: ˇ
A [1 0 ] =
A [8 ] t A [ 7 7 A [ 1 1 ] A [9 了 吼 81
=
Ali ] =
Ǎlizlt Ali -31 i i
: 每 列 左右 2種程式會 同時 執⾏
⼀
,
: ,
雖然 1 種程式仍 會 需要 另 1種的 執⾏ 結果
⼀ ,
但當 它 需要 時
,
,
2 倍 之執⾏ 效率 ,
'
Speedup Amdahsaw : Gain =
p
+5
a 執⾏ 效率
s
最後的 趨勢 圖 反⽽ 會 下降 ,
Ch3 作業系統 Operating Systems
Operating System 05 ⽬的 :
盡 可能的 使⽤ 硬体 的 性能
Batch Processing
運作 ⽅式 資料 進 出 FIFOFirst-In.First.at
: ⼀
⼀
, 不同 的 任務 全 丟 給 电 腦 項 項 慢慢執⾏ ⼀ ⼀
(佇列 )
的 程式碼送到 电 腦 商 其再 把結果打 在紙 上寄 回 , ,
Interactive Processing
運作 ⽅式 : 电 腦 會 ⾃⾏ 依先後順序 執⾏ .mn Computer
通常 結果 出來就能使⼯程師 收到 ⼀
onlywithscreen
andkeyboard
發展背景 ;
已有 螢幕及鍵盤 但 变成 ,
:
多使⽤者 1 台 主機 ditterentusers
Othergpesof 05
电腦 經執⾏ 後把 結果傳回 ⼈ 所 花 的 總 時間
, ,
t.iii.in
Tmesharing 將 時間 軸 分成好幾段 每 ,
⼀
⼩ 段 只 執⾏ ⼀
項 任務 但 因為 ,
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
time
每 ⼀
⼩ 段 的 時間 t 对 ⼈類來說 極 ⼩ 因此會 以為 电 腦 同時 , ditterenttasks
執⾏ 了 好幾 項 任務 .
Ontextbook :
Software Classification
由於
utiliy 的 分類界線模糊 , 因此 可以直接 ⼤略 分成
Application 和 Operatingsystem 兩 ⼤ 類別 ,
Shell
功⽤ 主要 ⽬的 為 电 腦 與使⽤者 溝通的橋樑 使⽤者 接觸 到 的 ⼀切
:
,
虛擬記憶体 :
利⽤ 種稱作 ( Paping 的 ⽅式 即將 當 前 內存尚未⽤ 到 的 資料 先 丟到 SSD 等硬碟內 使內存 能空出
⼀
,
,
Linux
簡介 : Linux 系統其實 只 是 Kemal 的 部分 其作業系統的 圖形介⾯ 設計 則 是 GNUCGNU Not Unix ) ,
⽽ Android 的 Kemal 是基於 Linux 設計的 , Apple 則 是基於 BSD (Berkelgsoftware Distribution)
,
BIOS會 回復原廠設定
① ②
Step : ⼀
開始 Bootloader存在 內存裡 ,
05存在硬碟內 ,
當 电 腦 啟动 時 Bootloader 會 將 05
,
傳 進 內存裡 然後把控制權交給 05 ,
Process
Schedulei 負責 安排 指令 的 執⾏ 順序 包括 每個 指令 當前 應處於 的 狀態 為 等待 中 1正在 執⾏ 1已執⾏ ,
以及 負責 contextswitchlprocessswith ) 的 執⾏ 通常 在 多⼯ / 中斷 處理 時會 使⽤ ,
,
Contextswitch 每 執⾏ :
⼀
⼩ 段程式片段後會 切 到
另 ⼀
个程式片段執⾏ ,
當程式有 在執⾏ 的 Imeslice
相比 於 Contextswith的 時間 ⼤很多 ,
2條 Process AIB
的 執⾏ 效率就 會⾼ 然⽽ 此時 如果突然 有 ⼀個 新 ,
的 Process 要 中斷 (interrupt ) 進來 就 會 需要 等 比較 ,
該機制⼤致如蹭有⼀條單向的軌道次只有⼀台火⾞能通過台火⾞後進入 就要改变号誌燈 , ,
使
下⼀台火⾞看到後要在外⾯先等待 ⽽當原本的火⾞通過後 就要再把該易誌燈改回來 讓下⼀些火⾞知道可以進, , ,
當中 該單向軌道即好
,
Criticalregion ,
⽽在程式語⾔當中 , 亦有類似的機制 Mutualexlution ( Mutex )
定義 : 當 2
個以上的運算單元同時想取得同⼀資源 然⽽双⽅都在等待对⽅停⽌執⾏ ,
,
故卡住
條件 :
只有當下列了個條件都滿⾜的情況下才有可能發 兩者為必要⽽非充分關係⽣
( 不是⼀定 ,
1 競爭的是不可共享的資源源
2
資源可以部分擁有 即双⽅分別擁有部分資源
,
3 -
但資源被分配 就無法被強⾏取回
,
例⼦
Dining philosophers problem 哲學家就餐問題 ) / 火⾞問題
:
競爭的資源即為筷⼦競爭的資源即為交叉点
Networkdassification
LAN Local Area Network : 即 區域網路 通常 涵蓋 較 ⼩ 的 範圍 且 分配到 的 功通常 為
,
,
Network
Topology 網路拓 撲 結構 & Protocds 協定 )
Bus 对 應 協定 為 CSMAKDKA )
Star
Tkenringi 特 桌為 環狀 結構 但 資料 只 可 單向 固定 為 順使 時針)傳送 , ,
整個 環 只有 1個 Eken ,
當 ⼀個 結 桌拿 到 Token 後才能 發送 訊息 傳送 的 ⽅向 固定 為 順使 時針 每個 結 桌 , ,
拿 到 訊息 後 ,
如果是給 ⾃⼰ 的 就 收下來 如果不是就 往下 ⼀個 傳 依此類推直到 傳 到 ⽬標 ⽽ Token 同理 ,
, , ,
拿到 後如果沒有 要 發送 訊息 就 再 往 下 個 結 桌傳送 ,
以此 來避免 同時 有 收個 訊息在 傳送⽽ 卡住 ,
特 桌 為 資料 傳送的 ⽅式 是 ⽤ 廣播 的 在 同 ⼀個 ,
Bus 上的 ⼈ 全部 都 會 收到 多 路存取 ,
且 此 協定⽤於 有線
時間 到 就再 載波偵聽 ⼀次 如果沒有 ⼈ 就 能 發⾔
⼀
, ,
⼜ 碰到 的 話就再來 ⼀次 碰撞檢測 通常 ⼜撞 到 (即 2 ⼈
,
⼤致上 與 ⼼ 雷同 ,
不同 的 奌在於 此 協定應 ⽤於 無線 ⼄太網路 ,
也 因此在載波偵聽上 可能有 訊号 延遲 問題 誤 ,
以為 ⽬前 沒有 其他⼈要 發⾔ 結果 發⾔ 剛好 就 跟別⼈撞 到 因此 當 它 載波
偵聽 沒有 其它 ⼈要 發⾔ 時 不能立⾺ 發送
⼀
, , , ,
, , ,
降低 碰撞之机率 .
恰好 同時 發送⽽ 碰撞 時 :
資料 會 因此⽽ 產⽣全⾃ 誤 ,
即會 ⽤ 到 前⾯ Chl 說 的
Error-lorrectinglode.ECC)
Wireless Access
Point LWAP
無繳線存取点
定義 為⼀種連接無線網路⾄有繳線網路的裝置, ⼜稱為無繳線基地台
:
整合在⼀超
無線網路的通訊協定為 IEEE 制定的 80211 b ,
g ,
i ,
n ,
ac .
雖然右圖的 Wi Fi 没有辦法直接彼此連接
_
, 但只要能連接到相同的
AP 位置 ,
資料便能透過 AP 來傳送
Repeater ,
bridge ,
Switch 三者均只能連結同個協定下的網路結構 , 且均有加強訊号再傳送的特点
E F A ㄢ E F A 召
G H C p
G H H c P
J
Repeafer &
Bridge :
I
端的資訊只其中
連結 2 Repeater 的功能 :
A 的訊息 但 ,
Bridge 的功能則是 :
當 A 要發送
訊息給 D 只有 ,
BCD 收得到亦即 Bridge 不會 Switch :
好處是如果同時 E 想傳給 H 時 ,
2 個發送 送訊息給 D 只有 BCD 收到
要發送訊息給的
⽽當 A ,
,
任務可以同時進⾏ 因此可以提⾼傳送效率 ,
,
K , 只有 BCDHIJK 收的到
Connecting Networks
Inc ompatible Router
1
Sever client -
: Peer -
to -
peer
P2 P :
架構 :
由⼯ 個对應多個
Sever Client 架構 :
為同不皆邱的互相設備連接
溝通⽅式 由 : Client 端發送請求給 Sever 端後 Sever 溝通⽅式最常⾒的其中⼀個應⽤為 bifforrent 協定 當越多
,
假設 B 從 A 下載⼀個檔案 ,
該檔案分成數分( 10 ]
當 B 載了 20 份 ,
還有 8 份沒載
,
則 B 已載完的
20
份同時要成為⼀個新的檔案原 ,
使 C 能夠從 B
下載該檔案⽽不會占掉 A 的頻寬 ,
Internet Architecture
由⼀組織 ICANN 負責把 Domain 分到各地志再由各地的 ISP ( InternetServiceProvider ) 負則播給各使⽤者 ,
其中 台灣的如
ISP 中華电信 台灣⼤哥⼤ ⽽各個 由藉
Domain
Gateway ⼀走連接⾄ Internetcloud
:
, …
IPA dressd
IP ( Intermet Protocol ] : IPv 4 32 bits ,
IPv 6 [ 128 bits ) ,
因 IPv 4 不使夠购⽤了所以新定了 IPV 6
Domain Name 域名 :
為了使網址更容易記 因此使⽤ ,
e .
為⼀台裝置了設備在網路中⽤來給其它裝置設備識別之⽤途
HTTP Hypertexttransferprotocal
定義 :
中⽂名稱為超 ⽂本 傳輸 協定 為 種使⽤者 和 伺服器 之間 請求和應答 的 標準 通常 使⽤ TCP 協定
,
⼀
, ,
與 HTTPS 之不同 :
HTTP 傳輸 的 過程 中 ,
其 資訊 均 為 明 ⽂ 公開 任何⼈ 從中 攔截修改內 ⽂ 客⼾ 端和 伺服端
, ,
, ,
⽽ CSS 則 為 外觀 JS 則 為 動畫 ,
⽽ HTML 主要 則 在於 表現 1展⽰ 收據 ,
分層 i
應⽤ 層 Application :
負責將 欲傳送的 訊息 附 加上 其 ⽬的地之位址 ,
此層 通常直接 與應⽤程式介⾯ 結合 n_n
, ,
⼀
並 確認 沒有 內容 或 順序 上 的 錯誤後 會 回傳 ,
0K , 並接續 下個 封包 但如果出現 內容 或 順序 上 的
,
, ,
UDP 與 TCP的 不同 :
UDP 不會 做任何 確認 的 溝通动作 就 ⼀直 不斷 發送封包 好處是效率 ⾼ 但 出錯 率 ,
,
,
⾼ 適合 串 流 等 較注重效率 的 部分
, ,
TCP 則 是效率 差 但 正確率 ⾼ ,
適合 長距離運輸 ,
都 能 知道 ⽽私鑰 只有 ⾃⼰ 知道
, ,
2鑰 互為 及函 收
,
因此可以⽤ 公加密後再 ⽤ 私解密 亦 可 ⽤私加 密 公 解密 ,
13 公加密 ,
13私解密 2A 將 加密後的 訊息傳 給 13
3 13 收到 後再 ⽤ ⾃⼰的 私鑰 進⾏ 解密⽽取得 內 ⽂ ,
就算 有 ⼈ 中途攔截
A加密後的 密⽂ 沒有 13的 私鑰 也 解 不 開 原⽂
, ,
13希望確定收到 的 密⽂是八 傳 的 ⼀
: 1 A 先利⽤ ⾃⼰的 私鑰 对 其 內 ⽂進⾏ 加密
A私加 密 忪 解密 ,
2A 將 加密後的 訊息傳 給 13
內 外 外 內
RSA 加密演算法
⽅法 : 1 先⾃⼰定 2 個質改極⼤的 ≈ 21024 P .
2
可以得到 N 8
利⽤ pxGP
3 ⽤歐拉承數可以得到 ≤N ~p
且與互質的正整改有必個 =
[P -
1 ) (8 -
1 )
4 再⾃⼰找⼀個與互質的改 e [通常偏⼩ ,
從 2 ,
35 由⼩漸⼤逐⼀檢查 找到⼯個即可當 e ) ,
5 先將 e .
將原先定的
G
6 P 丟掉 ( 、
權摧毀⽽不能被別⼈知道 )
7 (N ,
e ) 即為公鑰 ,
(γ d ) 即為私鑰 ,
8 設 A 要傳給 B 訊息 m
,
則 A 就⽤ B 的公鑰 (γ , e ) 加密 : me ≡ S ( mod γ ) S ,
即好加密後的密⽂
9 B 收到密⽂ S 後 ⽤其私鑰 ( N , d ,
) 解密 : Sdm
) ( modN 即可得到原⽂ m
範例 " P = 3 ,
q =
11 ∴γ= 3 11 × = 33 , φ= (3 -
1 ) ( 11 -
1 ) = 2)
1 = - 2 3 ( 20 18 )
I
3 20 3 = - -
⽽ e : 2 3 5 7 . … e =
3
您
, , , ,
2
=
3 -
[ 20 -
6 ×
3 : d = 7
⼩
驗証 exd =
21 ≡ 1 ( mod 20 ) v
( )
:
(7)
30
=1 +
x 20 -
∴ 公鑰 : ( 33 ,
3) ,
私鑰 : ( 33 77 ⽉ ,
範例 ) P = 5 ,
q 19 =
: N 5 = ^ 19 = 95 , P =
(5 -
1 ) ( 19 - 1 72
3 R
52 2 14 ∴ 1 5 4 =
5 2 ×
2
11
2 =
=
⽽ 5 7 5
-
…
-
e : … e
步
, , ,
些
,
—
- 2 72 70 ( -
) -
5 29
驗: = 1 ( mod ) 72
045
exd
5 ( 72 14 5 )
=
= -
2 -
私鑰 ( 9529 ) # [ ) 72 ( 29 ) 5
( 955 )
+ ×
2
公鑰
= -
×
:
∴ :
, ,
/
"
,
11
歐拉函數公式証明 ψ= [
P- 1
) [ ε- 1 ) :
杉 "
"
剩下的個数即好中的
,
∵γ= p .
q 且 p q 均为質数 .
: EN 的⾃然数中 ,
只要扣掉服 q 的倍玫 ,
"
A =γ= q ,
B
=☆= P ,
C
== 1
∴①= N - - A B
+ C =γ - q
- P
+ 1 = Pq - - + 1 q P
=
(
P ) ( q 17
-
#
-
s liftle theorem ) :
法 P 多質攻 ,
a 為任意正整改 ,
則 : aP ≡ a (modP )
⼀般化後
α
i 系質改且
)f
modP , a 互質 , : " ≡ 1
"
則 (
証明 加1解密 時 之算式 關 像 北 三 Slmod N ) 及 5 些 mlmod N ) 互通且 正確
ak.htb-kq.tn?kP.qtli edEl(modd)edEl(mod(p-D):seted=ltkcp-D
medcmod N )
↳
由 解密 時 的 開始 ; 三
mlmk)竺 mlmod P )
mtmlmk)
"
mk 必和 P互質 ⼜由 費 ⾺ ⼩ 定理 (兆)竺 1 (modp
tm ,
P 互質 ,
:
,
:
imtmcmodp ) ,
同理 可 得 mhnlmod E)
ifm , P 不互 質 令 ,
mhp ( 河 為 質 玫 : 不互 質 則必 為信 玫 關係 )
當前 2 個 已經排序 完 , 第 3個 依照 排序 插入 前 2 個 中 ,
得到 前 3個 排序 完的 組合 再 往 下個 進⾏
, ,
依此類推 即可 得到 排序 完畢 的 組合 ,
Beudocode 表⽰ :
由 2 → 不 不斷 迴圈 作
找到 其欲移⾄的 位置
Binary Search 時間 複雜度 ( Timecomplexity ) :
gn ↓
嘩 資料
問題 欲從 ⼀
堆 政列 中 找到 1個 收 1欲把 ⼀個
1 政按照 ⼤⼩ 順序 插入 ⼀
串 排好 的 坎 列
⽅法 ; 每 次 只要 找到 中 位攻 並與 其 比較 ⼤ ⼩ 即 可 少 去 ⼀半 收量 的 檢查 ⼯作 依此類推再分成兩 堆
, , , …
應⽤ :
Binarysearchl Mergesort ,
gnamic Programming DP
⽅法 為 7
1 & (分治 法的 延伸 可以說 ,
ynamic Programming Dividandlonquert Memorization
⼆
因為當⼝ 比 把 ⼤ 問題 拆 成 改個 ⼩ 問題 時 很有 可能 改個 ⼩ 問題 中 有 不少 是相同 的 問題
, ,
但 ⼝ &(
卻 仍 會 对 所有 ⼩ 問題 都 重新 運算 ⼀次 以得到 結果 ⽽ 叩 則 解決 了 這個 問題 , ,
每當 出現 重複的
應⽤ hortestpathlMatrix-chainmultiplic.ation ,
Shortesthth
Sh…有 Shortestnxtshortestxē
⽬的 求 出 A : → E 的 最 短路程及 ⽅式
↑
⽅法 核⼼ 概念 即 當 A → ✗ → E 為 最佳 解 時 A
:
,
→ ✗ 與 ✗ → E 均 必 為 最佳解 依此 ⽅式逐步 分解 即可
,
3 依此 ⽅式重覆進⾏ ,
直到 結 桌剩 ⼀ ⼀
條 出路 時 比較結 点上 累積的路徑長 , ,
刪 去長的 保留 最 短的
5 最後得到 的 即為 最短 路徑 ,
⽽ 依照 編 号 往 回 推 即可 得到 該路徑之走法 .
-
17
: 17 : 7 ( 4 1 3)
-
A 3 1
3 : 8 (3+5)
.ee/t:5--
:
Bilt
Bi 4 (3+1) C : 9 ( 7 +2 )
#
Matrix -
chaiumultiplication 矩陣 鍵相乘
C =
AB
矩陣 相乘之運算 次 政 設 A 矩陣 尺⼨ Pxq ,
B 矩陣 尺⼨ ir ,
兩 矩陣相乘後得 ㄥ 矩陣 (尺⼨ Pxr)
⼆点 Aieihr A B ㄥ
當中 ( 矩陣 中的 任⼀ 元素 Cij
p .
q = p
( 矩陣 中的 每 ⼀
元素 均 為 A . 13 矩陣 的 各9 個 元素 彼此相乘之和 配 矩陣 內 共有 , q r r
eg
兩 ⽅式差 了 1 0 倍
⽬的 設有 N個 矩陣 要連續 相乘 希望找 出 ⼀個 相乘順序 使得 運算 (不合加法 只看 乘法) 的 次 攻最 少 , ,
⽅法 : 假設N個 矩陣 最佳 解 時 的 最後⼀次相乘 是由 切 在 1 ,
~ 友和 (友 +1 ) ~ ⼼的 矩陣 相乘⽽ 得 ,
則 (1 友) 及
~
g) 们 的 兩 個 矩陣 ~
,
必定 也是 ⽤ 最佳 解 順序 運算 ⽽ 得 類似於 前⾯ 的 Shortesth ,
列 式 設有 胭 編 号 分別 為 Ai
: ~
名的 矩陣 為了 ⽅便設 ii 為 ,
⼀
組連續 攻字 即 ⼼ 的 ≤ N.AiAi-iA.in ,
Aii RMR ,
A.it?xl?n,Ai+zi1?,xl?iAklik,Ak+ikxhiAj-iP-iP-i,Aj:liB
⽽ mii 函式的 義意 為 Ai 名的 矩陣鏈在最佳 解 的 相乘順序 時 共 要 運算的 總 次 玫 : ~
,
miifmin.miktmktl.it/?iliB,ii
0 i (Ai 乘到 Ai 故不必乘 運算 次政為 0)
列 式可 得
, ,
, j j
切 在 友 , 友+1 Ai 服矩陣 鏈
~
A - Aj 矩陣 鏈相乘 最後 2 個 ⼤ 矩陣
時 為 最佳解 相乘為 最佳解 時 的 為 最佳解 時 的 運算 次 坆 相乘時 所 需 的 運算 次 政
運 算 次政
例⼦ .
最下⾯ 的 4格分別 為 mll.IJ.mn 2 ] ,
⼆ 0
有 4 個 矩陣 鍵 mb.37.nl4,4 了
A. 7 × 3
: ˙
⽽ 第 3層 因 只有 1 個 切 法 (中間 ) 故只有 1 個 ⽅式 ,
A. : 3x 1
m [ 1,2 ] = m [ 1,1 Jtml2,2] +7×3×1=21
A. : 1 x 2
m [2,3 ] =
m [2,2 ] + m (3,33 +3×1×2=6
Aizx 4
m [3,4 ] = m [3,3] tml 4,4 ] +1×2×4=8
m[ 1 3 ] .
= m [ 1,1 Jtm [ 2,37 +7×3×2=0 +6 +42 ⼆ 48 X
如 mll , 271mL2,37 在 前⾯ 已經 算過 了 故 可以直接 拿 來⽤ ,
,
此即 叭 动 態 規劃 ) 之 特性
m[ 1 .
3] = m [ 1,2J tml 3,37 +7×1×2=21 +0 +14 = 35 ˇ
·
第 1 層 因為 有 4 個 矩陣 要 相乘 因此 有 3種 切 法 故 同樣列出 3種 後記下 比較⼩ 的 那組 , ,
:
f(
:
Big -
O : n ) =
O (g ( n
) ( 上界 )
雪 c > 0 ,
n .
> 0 st .
n ≥ 20 ,
O ≤ f( r ) ≤ [ g(n )
定義 :
O ( g (n ) )
= {β ( n ) : 存在正整改 c
, no , 且对於所有 n > no
}
, 滿⾜ 0 ≤h ( n ) ≤
cgn )
即 找出⼀個函式 g ( n ) 以及常數 C 使得當輸入的資料量 n 超過 n 時
:
, 。
Cg
( n ) 為 f ( ) 之上限 n
表⽰此演算法之效率與
n : 輸入資料⼤⼩ 範例 % ( : n ) =
3 = O (1 ) -
量多寡無關 ,
φ( 程式在电腦中實際執⾏次改 f( 6n
3 3
n ) : u ) =
+ 5 n == O (n )
f(
10
∞= O
^
g ( ) 執⾏時間的成長率 n : n ) =
h (2 ) →
指攻增長極快
在最糟糕情況下 程式的執⾏次改 ( 上限 ) φ( (n )
=
c .
g( n ) :
,
n ) =
{ oon =
O v ? )
:
fln
即 找出⼀個函式 g ( n ) 以及常數 C 使得當輸入的資料量 n 超過n 。 cg)
u )原 之上限 , 時
(
最的情況下批會達到
的 則必⼤於實際指令執⾏次改好到會趨近於
成長
gcn g( ) ⼀g) n
n : 輸入資料⼤⼩ 範例 f表⽰此演算法之效率與資资
( ) 3 O (1 )
量寡無關 ,
: n = = →
f( 程式在电腦中實際執⾏次改 φ( 6n
3 3
) ) (n )
2
n : n =
+ 5n = O
f(
0
(n )
n
φ (n) :
執⾏時間的成長率 n ) =
2 = 0 →
指攻增長極快
cg ( n )
: 程式的執⾏次攻上限⾄少會超過的基準 fln ) = 01 "
n =
o (n ) )
Big heta :
f( n ) =
(g ( )) n
雪 "
coo n 30 s . t . n ≥ no , 1 . O≤ :
fingtn cgcn )
。
定義 :
( g (n ) ) =
{ φ (n ) : 存在正整改 , Cno 且对於所有 nn 滿⾜ o ≤
: ) >≤ cg ( n ) , fin
cgcn 。
3
即 找出⼀個函式 g ( n ) 以及常數 f
:
lu
,使得當輸入的資料量 n 超過 n 時 — 最糟的 〈 0
範例 φ( 6n
3 3
: n ) =
+ 5 n == (n )
fln )
01
= n
= (" n )
f( n ) =
ntlogn =
(n )
※ 即只有在 φ( n >= 0 (g ( ) ) n
且f ( n )
=
r (g (n ) ) 時 , φ( n ) =
( gcn ) )
Ch6 程式語⾔ Programming Language
Ianslation Process 1 2 3 4
1
Lexicalanalyzeri 使物件 能被識別 ,
如 ⽔ at 1000 中 的 ✗ ,
⼆
.
a, t.no (能 知道是1000 ⽽ 非 1,0 , 0,0 )
4
Objectprgrami 再 把程式語⾔ ⼀些 內建的 函式/語法引入⾃⼰的 code ,
如
stdio.hn/stdlib.h/stringh
即 可 成為 可執⾏檔 ,
Lexical
Analyzer
⽅法 :
藉由 層 ⼀ ⼀
層 的 辨識 式⼦ 以 了解 物件 其 類別 為何
, ,
x 拉
Rdarativeprogramming Resolution
是由 0 及聯結 , 則 稱 其 為 Clauseform
範例 ( PORQ ) ANDIRORǗQ )
:
( PORR)
証明 :
( PORQ ) ANDIRORTNANDTR之 17 為真
利⽤反証 法 証明 ,
KBlknowl.ge/3ase)AND7P 為 否定 ( 即
1仍 為 新 statement 之集合代 号 運算過程 中 當 兩邊
emptydause ) , , ,
⼀個 有 A ⼀個 有 7A 則 可以相 消 去 但 兩者 不可能同時 為真 )
, ,