# ㄓㄧㄐㄒ # 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 位址的對應關係