interrupt-handling

    0熱度

    2回答

    有人問我,如果我可以使用下列功能: void down(struct semaphore* sem); int down_intterruptible(struct semaphore* sem); 只能從系統調用?

    0熱度

    1回答

    我正在修改一個linux PCIe驅動程序以與altera FPGA PCIe內核一起工作。在我的驅動程序代碼中, I'do pci_set_master(dev)使PCIe讀寫工作正常。 我正在使用altera SG-DMA進行PCIe傳輸,而不是使用ARM DMA。 我需要將啓用位寫入FPGA DMA以啓動傳輸。它通過將pcie寫入(barx,offset,data)到啓用位寄存器來完美工作。

    0熱度

    2回答

    我正在做一個基於音頻的應用程序,我在其中將wav文件轉換爲aac格式。轉換工作成功,但中斷監聽器,而不是在轉換時調用,即使一個調用來了...我正在初始化audioSession並處理main()中的中斷。中斷監聽器在應用程序的另一部分工作,如錄製和回放。任何人都可以幫助我嗎?

    1熱度

    1回答

    我有一個Linux設備驅動程序,它使用中斷處理程序來完成它的工作。 我該如何安排中斷處理程序每​​X毫秒(中斷線壞了)被調用?

    1熱度

    1回答

    我目前正在開發一個內核,並在執行系統調用時遇到一個神祕的問題。我寫這樣的0x80th中斷處理程序: sys_call_s: pushad call sys_call popad iret 「sys_call」是執行實際工作的C函數的名稱。問題是:執行「int 0x80」的下一條指令時出現三重故障。例如,我在執行下面的程序的第三行時遇到了錯誤,最後boch

    1熱度

    2回答

    這是我在CIS-21作業系統課上的一個問題:操作系統課,我已經有了答案,因爲教師給了我們,但他不想解釋爲什麼這是回答。所以這裏的問題是: 在系統中運行的作業,每個隊列的可變時間量需要30毫秒才能完成。如果第一個隊列的時間量爲5毫秒,並且之後每個隊列的時間量都是前一個量的兩倍,那麼該作業將被中斷多少次以及它將在哪個隊列上完成其執行? 第二部分很簡單,工作將在第三級隊列(一級隊列爲5毫秒,二級隊列爲1

    3熱度

    1回答

    我一直在研究x86上的中斷以及內核如何使用中斷處理程序處理各種中斷。但有一件事讓我感到困惑。 我知道中斷可能是硬件生成的,例如磁盤和定時器中斷,或者它們可能是CPU異常,如頁面錯誤,被零除異常等等。令我困惑的是某些int代碼用於處理兩者特別是INT 08-0F)。例如,Ralf Brown的清單說INT09h中斷既是KEYBOARD DATA READY硬件中斷,也是COPROCESSOR SEG

    0熱度

    1回答

    要求:我將首先聲明我的需求以及我如何完成它。我應該打3個電話來支持終端系統,但無法承受連續呼叫,因爲它們需要很長時間並且違反SLA。 解決方案:我使用ExecutorService創建3個線程,併爲它們分別提供3個不同的任務。 final ExecutorService service = Executors .newFixedThreadPool(NUMBEROFTHREADST

    1熱度

    1回答

    比方說,我們在Unix shell工作,下鍵入命令「LS」。當我們敲回車時,一箇中斷請求(IRQ)從鍵盤控制器發送到處理器。當收到IRQ時,處理器會停止正在執行的操作,保存執行上下文並運行中斷處理程序。如何對已按下哪個鍵將信息傳遞給有興趣的線程 我很好奇,(在我們的情況下,它是屬於UNIX shell進程線程)?我想這是中斷處理程序的作用?發生中斷時運行的代碼不一定是unix shell的代碼,對

    1熱度

    2回答

    顯然,mpirun使用SIGINT處理程序,它將SIGINT信號「轉發」給它產生的每個進程。 這意味着您可以爲啓用mpi的代碼編寫中斷處理程序,執行mpirun -np 3 my-mpi-enabled-executable,然後針對這三個進程中的每一個都會引發SIGINT。此後不久,mpirun退出。當你有一個小的自定義處理程序,它只打印一個錯誤消息,然後退出時,這工作正常。 但是,當你的自定義