組長:B10315010 張庭頤
組員:學號、姓名
組員:學號、姓名
github: https://github.com/twilightc/xv6-public


3.輸入showdate後,即時顯示日期與時間(UTC+8)
scheduler的部分因為遭遇一些困難導致未能像流程圖當中的結果呈現,也因此這裡只放上結束xv6與即時顯示日期的執行畫面。


為求版面平整,圖片方面主要以date為主,其他部分佐以文字補助說明
date部分:
1.在syscall.h中加入定義的system call

2.defs.h中在欲實作部分加入宣告

3.在syscall.c加入來自外部的函數定義

4.在sysproc.c中加入系統函數內容


5.在user.h中定義user方函數的定義

6.usys.S中加入SYSCALL(函數名)

7.定義使用者呼叫函數時顯示的內容

8.修改Makefile中UPROGS的部分

9.開啟xv6,先檢查是否有指定函數後測試功能
halt:與上述修改地方大致雷同,另有halt.c為使用端呼叫函數
scheduler:與上述修改地方大致雷同,另外在:
透過自己一步一步修改功能,以及大量查詢網路上的資料及教學,這門課讓我對OS中,如何透過shell運作process有更深一層的認識,途中曾經遇到閃神把原本xv6當中proc.c fork()的資料刪除一部分,搞得整夜沒睡的窘境,或是修改scheduler時沒有注意到資料結構的特性搞得一運作xv6就當機,導致最後scheduler的功能顯得陽春,不論結果是好是壞,相信這個學習的過程會對我在面對更複雜的系統提供更多的幫助。
本人:找資料,撰寫程式碼,測試