有沒有任何有關通過內核可加載模塊向FreeBSD添加系統調用的入門級教程?具體來說,所需的方法形式,從流程中獲取信息等。在FreeBSD中通過KLD創建新的系統調用
5
A
回答
10
我很高興看到你的教授給你這樣的實踐任務。我希望我有這樣的教授。
無論如何,事情是當你在內核域工作,你可以難找到任何資源。在內核領域工作的人不記錄東西或編寫教程。所以,它很難找到任何「入門級」文檔。另外,即使你找到任何這樣的教程,內核中的東西也會不斷變化,文檔也不會被更新。當我開始學習時,我必須通過閱讀內核代碼來學習東西。
另一個重要的事情是Linux比任何UNIX都有更多的文檔記錄。有時你可以閱讀Linux的東西並將這些知識移植到UNIX上。抱怨夠了。現在這裏是可能幫助你的資源。
BSD UNIX:
- Dynamic Kernel Linker (KLD) Facility Programming Tutorial有「KLD系統調用實現框架」
- Designing BSD Rootkits: An Introduction to Kernel Hacking此教您使用另一種方法Runtime kernel patching(一般木馬使用此方法)給系統打補丁呼叫調度員並創建系統調用。
的Linux:
- Adding A System Call to Linux Kernel:一個教程一步一步
- Kernel command using Linux system calls:探索Linux系統調用接口(SCI),學習如何添加新的系統調用(和替代做所以)
相關問題
- 1. FreeBSD從另一個系統調用發出系統調用
- 2. 在FreeBSD-11.0-RELEASE-amd64上添加一個新的系統調用
- 3. 在Linux中創建系統調用
- 4. 通過delphi系統創建進程
- 5. 通過wordpress創建登錄系統
- 6. Android:通過AOSP源代碼創建新的系統權限。
- 7. 我在Rails中創建通知系統
- 8. POSIX:管道系統調用在FreeBSD的VS的Linux
- 9. 在沒有kldload的情況下向FreeBSD添加系統調用
- 10. 如何在FreeBSD系統中增加MAX_PATH_LENGTH?
- 11. 在Minix中調用系統調用時是否創建新進程?
- 12. linux系統中使用的for_each_zone在新系統調用中調用
- 13. Linux:通過ptrace()執行系統調用()
- 14. 通過系統調用在ruby中嵌套超時的問題
- 15. 通過Windows上的MINGW32在Python中進行系統調用
- 16. 通過名稱調用系統調用的麻煩
- 17. 命令通過終端,但不是通過python系統調用
- 18. 如何通過模塊構建器系統在LLVM中調用@printf
- 19. 在Django中創建用戶通知系統
- 20. 通過Recyclerview在android系統
- 21. 訪問通過對象網關通過文件系統創建的Ceph對象
- 22. 如何崇高文本2創建構建系統,用於通過Capistrano的
- 23. 如何通過庫調用C編譯器而不是通過系統調用?
- 24. 創建android系統
- 25. 如何創建過濾系統?
- 26. 通過vala cmake系統構建Sqlite3
- 27. 如何在系統中通過UIpath在本地創建文件夾
- 28. 在Exchange中創建新的日曆系統支持OWA
- 29. 系統調用在C++中
- 30. 如何避免在Ruby on Rails中通過調用系統調用阻止
我應該注意到,這不是一項家庭作業本身,而是作業的一部分。 :) – dckrooney 2010-10-09 03:53:47
我只是好奇。什麼是完整的任務? – claws 2010-10-09 05:18:29
完成分配涉及創建單獨的進程調度算法。 – dckrooney 2010-10-09 06:12:55