system-calls

    0熱度

    1回答

    考慮到Linux環境,它們有什麼區別? 系統調用與普通函數調用有什麼不同?

    2熱度

    2回答

    我正在準備通過過去考試進行有關操作系統的考試。它主要是關於Unix系統,C編程語言,它提到了很多POSIX,所以最好在這裏提出這個問題。 的問題是: 提供簡單的自旋鎖和/或信號三個缺點。解釋相應的其他機制如何改善問題。 給出一個解釋+ 3個的缺點是: 信號燈需要一個系統調用即使線程可以立即進行。 (0.5 P)另一方面,Spinlocks可以在用戶空間中完全實現,並且不需要系統調用。它們對於短暫的

    0熱度

    1回答

    我遇到一個或多個線程互相鎖定的問題。我不知道那裏發生了什麼。調試程序不能中斷(線程1),中斷但無法獲得回溯(線程2 + 5)或顯示回溯(線程3) Gdb本機顯示相同。 我learned這種情況下,因爲libc在彙編中強調這一點,gdb不能正確地控制堆棧。有時(我不知道什麼時候),我可以在程序集中做幾個步驟,然後我看到回溯。 我剛剛嘗試了一個x64程序,它的工作原理。 查看我的示例代碼: #incl

    8熱度

    1回答

    如果應用程序使用多個文件描述符(例如,打開 - 寫入數據 - 同步 - 關閉)執行一些繁重工作,Go運行時會發生什麼?當昂貴的系統調用發生時(如syscall.Fsync),它是否阻止所有的goroutine?或者只有調用的goroutine被阻止,而其他人仍在運行? 因此,編寫具有多個用戶空間的工作程序 - 內核空間上下文切換?使用多線程模式進行磁盤輸入有意義嗎? package main

    1熱度

    1回答

    #define SYS_abcd abcd #define SYSCALL1(name) \ .globl name; \ name: \ mov $SYS_ ## name, %eax; \ int $T_SYSCALL1; \ ret SYSCALL1(abcd) ,我用它來處理它看起來像系統調用代碼: char ptr="abcd

    1熱度

    2回答

    使用go的價值用什麼系統調用,我想從netstat(1)手冊頁獲得的一些RTF_*標誌(UGHS)值: G RTF_GATEWAY Destination requires forwarding by intermediary H RTF_HOST Host entry (net otherwise) S RTF_STATIC Manually added U RTF_UP Ro

    -2熱度

    2回答

    Python程序的獲取結果 的Python腳本包含了許多庫的進口 我的C代碼至今: #include <stdio.h> #include <python2.7/Python.h> void main(int argc, char *argv[]) { FILE* file; Py_SetProgramName(argv[0]); Py_Initializ

    1熱度

    1回答

    我正在嘗試編寫一個C程序,它使用系統調用(read和write)進行輸入和輸出。不過,我也想使用sscanf進行轉換。該程序將輸入一個開始和結束值,並將計入該結束值。我正在嘗試使用sscanf進行轉換。 int main(int argc, char **argv){ char beg[5]; char stop[5];

    0熱度

    1回答

    我正在編寫一個Linux內核模塊,並且我的用戶空間應用程序正在並行調用ioctl調用(以從內核模塊獲取信息)。但是,當我想關閉文件描述符(鏈接到我的內核模塊)時,函數不會執行,直到ioctl函數尚未退出。 我找不到任何關於它爲什麼表現如此的問題。你有一個想法,爲什麼會發生,我怎樣才能避免這種阻塞?我基本上希望我的內核模塊中同時執行ioctl和close函數。 謝謝! :)

    1熱度

    1回答

    我想創建一個最小的Windows可執行文件,它的確沒有什麼都沒有 - 而且尺寸最小。 我所關心的只是在任務管理器中保留一個進程條目。 在Linux上,這非常簡單(只需要2條彙編指令即可使用系統調用pause )。我如何在Windows上獲得類似的結果? 我試圖保持可執行文件的大小到最低限度,我不想有10kB可執行文件從字面上什麼都不做。 有沒有辦法在裝配中實現這一點?正如我提到的,我寧願不包括龐大