kernel

    3熱度

    3回答

    我正在編寫一個內核,並且我有幾個朋友在項目中與我一起工作。我們一直在使用DJGPP編譯這個項目,但是我們在編譯這種方式時遇到了一些跨平臺兼容性問題,導致我的主Partnet無法在Windows XP上編譯。 (DJGPP的GCC在Windows XP上的參數列表長度超過了127,但是在Vista上沒有相同的參數列表,所以一次,Vista在某些方面比XP更好用) Anywho,比試圖解決一些骯髒的黑

    4熱度

    2回答

    我目前正在研究一個項目,該項目可以掛鉤到各種系統調用中,並根據調用的內容將事情寫入日誌。因此,例如,當我更改文件的權限時,我會向跟蹤舊權限和新權限的日誌文件寫入一些內容。但是,我在確定要看的位置時遇到了一些麻煩。對於上面的例子,strace告訴我,「chmod」命令使用系統調用sys_fchmodat()。但是,還有一個sys_chmod()和一個sys_fchmod()。我確定內核開發者知道他們

    9熱度

    2回答

    我正在學習幾個教程和參考,試圖讓我的內核設置。我在教程中遇到了一些不熟悉的代碼,根本沒有解釋它。這是我聽說代碼映射16 IRQs (0-15)到ISR位置32-47: void irq_remap(void) { outportb(0x20, 0x11); outportb(0xA0, 0x11); outportb(0x21, 0x20); outpor

    2熱度

    2回答

    在Linux內核中,給定task_struct的mm我可以訪問進程的列表vm_area_struct s。鑑於這些vm_area_struct s,我如何獲得實際上對應於此vma的struct page? 我試着在mm/memory.c之類尋找函數,但是我不知所措。 編輯:這個想法是找出vma中的哪些頁面當前在內存中,哪些不在內存中。但我不要希望有人告訴我如何做到這一點,因爲這是我需要自己弄清楚的

    21熱度

    3回答

    我最近開始潛入低級操作系統編程。我(非常緩慢)目前正在研究兩本舊書,XINU和Build Your Own 32位操作系統,以及我上一個問題How to get started in operating system development中的SO人員建議的一些資源。 這可能只是因爲我還沒有在任何這些資源中遇到它,但它可能是因爲這些資源中的大部分都是在無處不在的多核系統之前編寫的,但我想知道的是中

    18熱度

    3回答

    給定一個Linux內核oops,你如何去診斷問題?在輸出中,我可以看到似乎給出一些線索的堆棧跟蹤。有什麼工具可以幫助找到問題嗎?你追蹤哪些基本程序? Unable to handle kernel paging request for data at address 0x33343a31 Faulting instruction address: 0xc50659ec Oops: Kerne

    0熱度

    3回答

    我正在WinXp VmWare會話中編譯一個vc8 C++項目。在RedHat VmWare會話中,它比gcc3.2慢很多,所以我正在查看任務管理器。這就是說我的編譯過程中有很大一部分是在內核中使用的。這聽起來並不正確。 是否有相當於Win32的strace?至少可以給我一個關於哪些內核函數被調用的概述。可能有些東西突出成爲罪魁禍首。

    4熱度

    3回答

    我書面方式一個Linux模塊(內核編程),和我真的越來越: 「無法處理內核NULL指針引用」 這是什麼意思?

    13熱度

    2回答

    我正在爲操作系統開發內核。爲了執行它,我決定使用GRUB。目前,我有一個腳本附加到GRUB的stage1,stage2,一個填充文件和內核本身一起使其可引導。唯一的問題是,當我運行它,你必須讓GRUB知道的內核,它手動有多大,然後引導它,就像這樣: kernel 200+KERNELSIZE boot KERNELSIZE是塊內核的大小。這很好,可以開始,但是可以在二進制文件中獲取這些值,並使G

    13熱度

    3回答

    我正在開發我正在開發的一個非常基本的內核的鍵盤輸入,並且我完全卡住了。我似乎無法在網上找到任何可以顯示我需要知道的信息的信息。 我的內核現在正在保護模式下運行,所以我不能使用實模式鍵盤例程而不跳入實模式並返回,這是我試圖避免的。我希望能夠從保護模式訪問我的鍵盤。有誰知道如何做到這一點?到目前爲止,我發現的唯一一件事就是它涉及到直接使用輸入/輸出端口與控制器通話,但除此之外,我被困住了。這當然不是經