# 第 18 週課程簡記 「除了在特殊的情況下,教學大致是沒有什麼效果的,而在那些有效果的愉快場合中,教學幾乎是多餘的」 —— 歷史學家 Edward Gibbon ## 無人機 * [烏克蘭無人機空襲莫斯科,俄羅斯基輔日轟炸基輔,愛國者攔截率接近 100%](https://youtu.be/iZocM9POphY) (2023.05) * [美國 F16 戰鬥機實現無人化,就問俄羅斯怕不怕,以後蘇-27還敢欺負美國無人機嗎?](https://youtu.be/UcDz9yWQDbc) * [烏克蘭打造無人艦隊,台灣成立無人機國家隊,未來如何發展無人艦?](https://youtu.be/ZFLGyd3D6-Y) (2022.12) > [某個國家隊的工程師](https://www.facebook.com/init.kobeengineer/posts/pfbid06cqECpbosxLvVBXWSQmjPVkcVrnA6oHQocjzaUHS3QpD2wANta61P45MTRYf7pVCl) * [國軍大手筆砸 500 億採購 3,000 架無人機,九家無人機廠商通力合作](https://technews.tw/2022/12/28/taiwan-mod-is-investing-50billion-for-small-dornes/) (2022.12) * [淺談 Microkernel 設計和真實世界中的應用](https://hackmd.io/@sysprog/microkernel-design) > CSIRO (自 NICTA 分出) / UNSW 獲得美國國防部 Defense Advanced Research Projects Agency (DARPA) 的資助,將高可靠、安全的 seL4 應用在飛行載具中。具體的應用情境已公佈,對於波音公司出品的 MH-6 Little Bird 直昇機和它的攻擊型本 AH-6,是美國陸軍用於特種作戰的單引擎輕型直昇機,隨著作戰計畫的複雜化,美國軍方正視網路攻擊的嚴酷挑戰,因此採納了 seL4 這個號稱數學上證明過的 "Unhackable Kernel",目前 seL4 用於 High-Assurance Cyber Military Systems (HACMS) 中,已完成測試。 ## 討論區/專題回顧 > * [2023 年系統軟體系列課程討論區](https://www.facebook.com/groups/system.software2023) > * [期末專題](https://hackmd.io/@sysprog/linux2023-projects) - [ ] [系統虛擬機器開發和改進](https://hackmd.io/@sysprog/rkro_FeSh) - [ ] [虛擬無線網路裝置驅動程式和實驗環境](https://hackmd.io/@sysprog/rJD2joOSh) - [ ] [改進 kHTTPd](https://hackmd.io/@sysprog/HkzcnhOHn) - [ ] [以 eBPF 建構 TCP 伺服器](https://hackmd.io/@sysprog/ryBw0adH2) - [ ] [lib/sort.c 解讀和改進](https://hackmd.io/@sysprog/B146OVeHn) - [ ] [紅黑樹實作改進](https://hackmd.io/@sysprog/ryDD1HgS3) ## In-place vs. Out-of-place Sorting Out-of-place Sorting 是指在排序的過程中,演算法需要配置額外的空間暫存資料以達成排序的動作。以 Top-down Mergesort 為例: ![](https://hackmd.io/_uploads/rkGiujrDh.png) 此方法中,演算法需要首先配置一個空陣列 K 以利後續排序,進而增加空間成本。 而 In-place Sorting 演算法則相反,它不需要配置額外的記憶體空間,而在原本的空間內完成排序動作。Quicksort 快速排序屬於此類演算法。 ## [semu](https://hackmd.io/@sysprog/Skuw3dJB3) 中 UART 的潛在風險 原本 semu 中的鍵盤輸入會先暫存在主機的 buffer 中,直到按下 Enter 才會一次發送給模擬器,造成無法使用 tab completion 和 vi 編輯,用 termios 可將鍵盤輸入直接傳給模擬器來解決這個問題,但若鍵盤輸入過於頻繁就會造成模擬器花費大量資源處理,可用多執行緒解決。