---
# System prepended metadata

title: ㄓㄧㄐㄒ

---

# ㄓㄧㄐㄒ
# 103中央
![image](https://hackmd.io/_uploads/Bkg328Hwyx.png)
Ans:AB
AB:預測皆假設有規律性
C:不一定
D:會影響
E:m history > 2^m history 
![Pasted Graphic 1](https://hackmd.io/_uploads/Sk91pLHvyg.png)
Ans:BDE
C:沒有memory latency hiding 
![compatibility of the software.](https://hackmd.io/_uploads/rJ8l6UBvyl.png)
Ans:ABC
A:L2不影響L1
C:因為superscalar是硬體，VLIW是軟體，所以VLIW要考慮指令那些，相容性比superscalar低
E:更好的去設計 
![Pasted Graphic 3](https://hackmd.io/_uploads/Hkpe6LrDyg.png)

Ans:E
依靠中斷讓real time process執行，其他不重要 
![Pasted Graphic 4](https://hackmd.io/_uploads/r1BZp8rDJg.png)

Ans:AC
Cache讓頻繁的資料更快，Buffer用來處理大量資料，polled I/O和interrupt-driven I/O會一起使用 
![real-time scheduling classes.](https://hackmd.io/_uploads/H12-TLSPkl.png)

Ans:ACD
Linux使用soft real time，提供FCFS和RR做排班
B:這是hard real time
C:保證real time process的優先權
E:FCFS or RR 
![Pasted Graphic 6](https://hackmd.io/_uploads/SJ4zpIBPJl.png)

Ans:ABCD
A:因為大量I/O所以使用Scan減少移動距離
 
![Pasted Graphic 7](https://hackmd.io/_uploads/HyoG68HP1x.png)

Ans:E
A:前23bit為1 遮罩為255.255.254.0
B:32-23=9 2^9-2=510
C:前26bit做And 1後6bit設1 192.168.5.127
D:32-26=6 2^6=64
# 104中央
![image](https://hackmd.io/_uploads/rkcCMRBuye.png)
Ans:A
product of sum:和的積(A+B)(C+D)...
sum of product:積的和AB+CD+...
M=2,N=2,P=1
![image](https://hackmd.io/_uploads/BJFfN0BdJx.png)
Ans:BCD
A:context switch要切到kernel
B:paging要做記憶體映射或位址轉譯,增加時間
C:不斷切換去處理網路的接收
![image](https://hackmd.io/_uploads/S1L_VCHdkg.png)
ICMP:Internet Control Message Protocol,用於網際網路協定（IP）中傳送控制訊息，提供可能發生在通訊環境中的各種問題回饋
OSPF:Open Shortest Path First,廣泛使用的一種路由協定，它屬於鏈路狀態路由協定，具有路由變化收斂速度快、無路由環路、支援變長子網路遮罩（VLSM）和匯總、層次區域劃分等優點
A:通過傳送包含有特殊的TTL的包，然後接收ICMP超時訊息和目標不可達訊息來實現
B:ICMP的"Echo request"（類別代碼：8）和"Echo reply"（類別代碼：0）訊息來實現的
C:OSPF 是 鏈路狀態路由協議（Link-State Routing Protocol,RIP（Routing Information Protocol）才是distance-vector protocol
D:OSPF 是一種 內部網關協議（Interior Gateway Protocol，IGP）,BGP才是exterior
# 105中央
![image](https://hackmd.io/_uploads/ryBIA6H_kx.png)
Ans:ACD
B:Load interlock 是指當執行 load 指令後，下一條指令需要使用剛載入的數據，但數據尚未完全準備好時，會導致管線停滯,要stall 1 cycle,再透過fordwarding
![image](https://hackmd.io/_uploads/HktRJCrdJg.png)
Ans:BD
A:會受硬體影響
C:spinlock是busy waiting
![image](https://hackmd.io/_uploads/Hy3neCBdkx.png)
Ans:ABD
A:atd 則執行單一的命令
B:cron 是後台進程，負責執行排定且重複的命令
C:有可能是init或systemd,現在多使用systemd
D:systemd 使用 依賴性樹狀模型，允許相關的啟動任務同時進行，大幅減少啟動時間
![image](https://hackmd.io/_uploads/Hkx1SMCHu1e.png)
Ans:AD
B:雖然不在header,但仍在擴充header
D:::只能使用一次,表多個0
# 106中央
![image](https://hackmd.io/_uploads/B1cQksGOJl.png)
![image](https://hackmd.io/_uploads/ByZUgjGOJx.png)
Ans:AE
因為I/OCPU用的不多,所以單一thread就好,CPU bound用的多,所以越多thread越好
![image](https://hackmd.io/_uploads/HkvObjfu1l.png)
Ans:BC
D:只是request不合,不代表沒有可以解決的sequence,因為unsafe不是一定發生deadlock
# 107中央
![image](https://hackmd.io/_uploads/SkNGt5zOkx.png)
Ans:AD
A:不考慮其他技術像是NAT之類的,他就是最多2^32
B:非a socket,應該要使用兩個
C:ICMP,Internet Control Message Protocol,傳送控制訊息，提供可能發生在通訊環境中的各種問題回饋,找硬體位址應該是ARP
D:邏輯位址（IP 位址）需要映射到實體位址（MAC 位址

![image](https://hackmd.io/_uploads/B1Ko59Mu1g.png)
![image](https://hackmd.io/_uploads/rykT99G_Jx.png)
Ans:ABC
D:設定為有效的話,則page是在process的logical address space並有效,或是說page is in system physical address space,直接說is the system physical address space有點問題
![image](https://hackmd.io/_uploads/rkHwE2UvJl.png)
Ans:BD
A:允許只留當前所需
B:dynamic linking才要
C:long time才浪費
D:因為busy所以不做context switch
![image](https://hackmd.io/_uploads/BksRVnIPkl.png)
Ans:ACE
選擇有規律性的,因為page不會跳來跳去,所以page fault少

# 108中央
![image](https://hackmd.io/_uploads/SJMf82Ivkg.png)
Ans:ACE
A:superscalar靠硬體,VLIW靠軟體
B:page table是用來儲存邏輯到實體位址的映射,cache是為了加快
D:方便設計
![image](https://hackmd.io/_uploads/HJHku2Uvkg.png)
Ans:E
因為來自不同process,所以不共享
![image](https://hackmd.io/_uploads/ryF4OnLv1g.png)
Ans:AB
這邊的CPU scheduling decision指的是CPU會在哪些時候決定process排班順序,非dispath,process從running離開必定要選一個人進去,所以在running發生exit,I/O,interrupt皆會發生,還有一個是當有人做完I/O,OS可能會給予他較高的優先權
![image](https://hackmd.io/_uploads/rJcrt3UwJe.png)
![image](https://hackmd.io/_uploads/ry8Xq2LDyg.png)
Ans:ABCD
A:ARP,Address Resolution Protocol,位址解析協議,透過網路位址定位MAC
B:DNS,Domain name system,域名系統,IP和Domain互轉
C:IPSec,Internet Protocol Security,網路安全協議，通常用於建立安全的 VPN 連線，提供加密和認證功能
D:ICMP,Internet Control Message Protocol,傳送控制訊息，提供可能發生在通訊環境中的各種問題回饋
# 109中央
![image](https://hackmd.io/_uploads/H1ttonUP1l.png)
Ans:ACE
找只能在kernel做的
D:發射trap,就像是呼叫system call,所以要能在user level做
![image](https://hackmd.io/_uploads/rJcPh3IPye.png)
![image](https://hackmd.io/_uploads/HJUuh2UPkg.png)
Ans:A
A:OS的工作
B:使用者重視互動
C:使用者關心程式會不會突然不能跑
D:使用者在意回應時間
![image](https://hackmd.io/_uploads/HkSMThUPyx.png)
Ans:ABC
A:因為2-level要存兩次memory才能找到位址,1-level存一次,所以TLB可以大大減緩存取時間
B:大page,page table變小
![image](https://hackmd.io/_uploads/HyM6ThUDJe.png)
Ans:E
A:multiprogramming代表一段時間內可同時運行的process,所以在singe-user system仍需要,他可以一次做好多事
B:進到ready
C:the top 20 bits
D:virtual page比較多,但page size一樣
![image](https://hackmd.io/_uploads/By8r1p8Pyx.png)
Ans:ACD
A:兩次存page table,一次存page
![image](https://hackmd.io/_uploads/Hy6xepID1g.png)
Ans:ABCD
A:IPv6:128bit,IPv4:32bit
B:有單播,多播,任播,廣播被任播取代
C:IPsec是網路安全協定,IPv6,4都有用到
D:IPv4才有,6移到擴充
![image](https://hackmd.io/_uploads/rJRmZ6Uvye.png)
Ans:BCE
A:現在大多是multi cycle,pipeline
B:longest possible path
C:只有multi cycle和pipeline可以
E:single cycle比較適合
![image](https://hackmd.io/_uploads/BJvFbTUPyx.png)
Ans:BDE
A:miss就會寫
B:要buffer,縮短時間
CD:只有name dependency(anti dependency(WAR), output dependency(WAW))可以透過renaming解決
E:這就是NUMA,因為memory存取速度不同
![image](https://hackmd.io/_uploads/HJmqGa8DJl.png)
![image](https://hackmd.io/_uploads/ByDiMp8wkx.png)
Ans:CE
A:to physical address
B:of the main meomry
D:page size的bit才一樣
E:因為發生context switch,所以os要將page table的valid設為0,確保P2不會使用
![image](https://hackmd.io/_uploads/HyYvV6LvJe.png)
Ans:AC
B:sp堆疊最新資料位址,fp procedure frame第一個字組的暫存器
D:jr $ra
E:最後一個是常數offset
![image](https://hackmd.io/_uploads/Sk2TSa8Pkl.png)
Ans:BD
C:因為一定會寫到memory,所以不用dirty
D:miss rate下降,cache使用率提高
![image](https://hackmd.io/_uploads/SJKJPa8Dyg.png)
![image](https://hackmd.io/_uploads/BJ7ZDT8Pke.png)
Ans:DE
A:最打好處是減少branch overhead,而且會增加code size
B:消除name hazard
C:independent operation
D:superscalar使用ILP
E:static由complier, dynamic由硬體
# 110中央
![image](https://hackmd.io/_uploads/BJAaoxODJe.png)
Ans:AD
A:使用beq的PC低位元去BHT裡面找
B:只有cache才會使用tag
C:不一定錯兩次才會換狀態
E:會受其他branch影響
![image](https://hackmd.io/_uploads/H1dsTeOvkl.png)
Ans:BC
A:CISC電晶體較多
B:RISC因為指令較簡單,所以需要更多register去完成指令,所以允許更多,CISC因為指令強,所以不允許
C:RISC有更標準的格式,降低解碼時間
![image](https://hackmd.io/_uploads/B1Qqybuw1e.png)
Ans:BD
A:user-level比較快
B:Process-Contention-Scope,允許programmer做scheduling
C:block all threads in the kernel-thread
D:因為OS只認kernel
![image](https://hackmd.io/_uploads/rygIgZOwJl.png)
Ans:BD
A:它僅包括應用程式及其所需的二進制文件和庫，並共享宿主操作系統的核心
B:對,共享host OS
C:on the guest OS
![image](https://hackmd.io/_uploads/SkMrWW_vJl.png)
Ans:AB
A:IPv6不能分片,只能由source決定
B:Dynamic Host Configuration Protocol,用於內部網路或網路服務供應商自動分配IP位址給使用者,用於內部網路管理員對所有電腦作中央管理
C:Network Address Translation,在IP封包通過路由器或防火牆時重寫來源或目的IP位址或埠的技術,題目的工作由ARP
D:DNS,Domain name system,域名系統,IP和Domain互轉,題目工作由ARP
![image](https://hackmd.io/_uploads/SyjGzbODkl.png)
Ans:D
0~1023皆保留,21:FTP,23:Telent,80:HTTP,1024~49151:User or registered ports,49152~65535:Dynamic port
# 111中央
![image](https://hackmd.io/_uploads/HydP7WdDkg.png)
Ans:B
A:Docker是容器執行階段技術，可讓您比傳統方法更快速地建置、測試和部署應用程式。Kubernetes 是一種容器協同運作工具，藉助該工具可擴展容器系統，從而大規模地管理、協調和排程容器
B:Docker virtualizes OS,VM才是虛擬硬體
D:全虛擬才要binary translation
E:JVM,C#都有garbage collection機制,方邊記憶體回收
![image](https://hackmd.io/_uploads/HkAbHW_wkx.png)
Ans:AD
exclusive:上層資料不出現在下層,可放更多,但所花時間多,會往下替換
inclusive:上層資料出現在下層,放得少,但所花時間少，替換上層就好
![image](https://hackmd.io/_uploads/HktkIbdv1e.png)
Ans:
I-cache miss rate<L1 cache miss rate<D-cache miss rate
![image](https://hackmd.io/_uploads/H1nvUW_wkg.png)
Ans:AC
A:kernel由SCS,user由PCS
B:Linux,Mac OSX只允許SCS
C:因為只user kernel一一對應,所以用SCS
D:using SCS scheduling
![image](https://hackmd.io/_uploads/ryb4wb_Pyx.png)
Ans:CD
A:Inter-AS:BGP, Intra-AS:OSPF,RIP,EIGRP
B:HTTPS使用TLS
C:ARP使用廣播去找MAC
![image](https://hackmd.io/_uploads/BkWM_Wdw1x.png)
Ans:B
B:同一個process共享virtual address,所以TLB也會共享
![image](https://hackmd.io/_uploads/BkcUuZ_Pyx.png)
Ans:ACD
B:pipe是內部process通訊的方法,unix只能byte,windows能byte和message
# 112中央
![image](https://hackmd.io/_uploads/rktvR8YDkg.png)
Ans:BCD
segmentation fault會出現在當程式企圖存取CPU無法定址的記憶體區段時
B:指向NULL,無法定位
C:隨機值
D:stack會overflow
![image](https://hackmd.io/_uploads/S1pX1vYD1e.png)
Ans:B
B:page table由kernel保護,user只能存取資料不能修改
![image](https://hackmd.io/_uploads/BkcKxwYw1l.png)
Ans:ACD
B:只有單向在same machine
C:Unix單向,兩條,Windows雙向,一條
![image](https://hackmd.io/_uploads/BkA6lvtPJe.png)
Ans:ACD
B:軟體定義網路是集中的
![image](https://hackmd.io/_uploads/ByJFZDKwyg.png)
Ans:BC
B:valid由OS,modified,reference由hardware
D:這是dirty bit,valid是可不可用
# 113中央
![image](https://hackmd.io/_uploads/ByIZOBHOJe.png)
Ans:E
0.8(C+(1-H)*(M))+0.2(M)
![image](https://hackmd.io/_uploads/B1ts_HHOyl.png)
Ans:B
A:cache controller,cahce不關virtual memory
D:比較像VMM做的
![image](https://hackmd.io/_uploads/ryC96HrdJe.png)
Ans:BD
A:不用guest OS
C:on the guest OS
![image](https://hackmd.io/_uploads/r15P0Sr_Jl.png)
Ans:BCD
A:on cpu,所以SCS
![image](https://hackmd.io/_uploads/HkEARrHOkl.png)
Ans:A
B:DoS 攻擊：目的是透過大量流量或請求使目標系統過載，導致無法正常運作。
MITM 攻擊：駭客在兩方通訊之間插入自己，攔截並可能修改數據。
C:https才是TLS
D:nslookup用於查詢 DNS，來解析網域名稱與 IP 位址的對應關係





