# Project ###### tags: `作業系統` ## Project 1 System Call ### Deadline: 05/06 23:59 [report編輯處](https://onedrive.live.com/view.aspx?resid=110098534F5A2124!178&ithint=file%2cdocx&authkey=!AETePKNhg2sCXRs) [onedrive放置處](https://1drv.ms/f/s!AiQhWk9TmAARgTF_tOyH3XKxM4BY) ### 問題討論留言區 #### Ref 1. [鳥哥的 Linux 私房菜](http://linux.vbird.org/linux_basic/0540kernel.php) 2. [Source code of Linux kernel](https://www.kernel.org) 3. [Source code of raspbian](https://github.com/raspberrypi/linux) --- ### 流程 1. 在virtual machine上跑Linux OS 2. 新增system call - 下載合適的Linux kernel source code - 新增system call - compile modified kernel, reboot 3. 測試 4. 追蹤system call >[color=#FF00FF]給想用raspbian做作業的人,我在這篇[筆記](https://hackmd.io/kZ7kFri2Q-Wt0FlwVwjhyA)寫了如何在電腦執行raspbian以及如何在raspbian新增system call >[name=Neko] >[color=#FF00FF]追蹤system call可以使用linux的工具 >```strace -T {executable}``` >就可以看到這個可執行檔的運作過程。 >[name=Neko] > ### 繳交 所有檔案置於資料夾,壓縮成zip檔後寄至助教信箱,資料夾名稱與信件主旨請遵照 "[OS_108]project1_組別" 格式。 1. 專題報告(report.pdf) 至多10 頁 - 實驗過程 + [x] 截圖 + [ ] 詳細說明 (包含code tracing in user, kernel mode) - Questions: + [x] Which files have you edited when adding a new system call? + [x] what are the purpose of those files? + [x] why do you made such modification? + [x] what extend knowledge you have learned in this project? 2. - [ ] System call 程式碼 - [ ] Makefile ### 評分 | 項目 | 配分 | | -------- | -------- | | 安裝 VM 並運行任意 Linux 發行版 | 10% | |下載 Linux kernel 源碼並加入新 system call|20% | |成功編譯且安裝新的 kernel |20% | |測試新增之 system call 是否能正常執行 |20% | |報告之可讀性以及進階問題的探討與分析 |30% |