vdso

    3熱度

    1回答

    我知道將vdso = 0傳遞給內核可以關閉此功能,並且glibc中的動態鏈接程序可以自動檢測並使用內核中的vdso功能。 在這裏,我遇到了這個問題。在我的機構中有一個RHEL 5.6盒(內核2.6.18-238.el5),我只有一個正常的用戶訪問權限,可能患有RHEL bug 673616。 正如我編譯Linux的頭-3.9的工具鏈/ GCC-4.7.2/glibc的-2.17/binutils的

    2熱度

    1回答

    我使用的CentOS Linux的發佈英特爾1611年3月7日(R)至強(R)CPU E5-2667 V4 @ 3.20GHz 在我的用戶空間應用程序的測試,我已經注意到clock_gettime(CLOCK_MONOTONIC,&ts)可能需要5-6微秒而不是〜23納秒的平均值。每10000次隨後的呼叫可能只發生一次,但可能會發生。 如果沒有VDSO庫,可以解釋。但是,VDSO用於每個clock

    4熱度

    1回答

    考慮下面的程序針對Linux的x86_64的: inf.s: .global _start .text _start: jmp _start 這基本上是一個無限循環。 如果我鏈接和剝離這種我得到一個ELF可執行: $ gcc -nostdlib inf.s $ ./a.out & [1] 15862 $ cat /proc/15862/maps 00400

    0熱度

    1回答

    情況如下: 我想要做的project它在github中篡改內核。內核版本是linux-3.18.6。 QEMU用於模擬環境。 在我的應用程序中,我嘗試通過遵循它們來了解系統調用過程。完成我的目標的方式就像shell程序一樣。我只是創建一些命令來運行相關的系統調用。也許這在圖片中很簡單。 some commands 代碼很簡單如下: 1使用API​​ GETPID。 int Getpid(int a

    1熱度

    1回答

    我對一個java進程進行了調整,這個進程觸發了很多內核時間,以查看系統調用的使用情況,並驚奇地發現gettimeofday()和clock_gettime()占主導地位(我懷疑這是由於日誌記錄造成的),這很奇怪,考慮到man vdso狀態: 當跟蹤系統調用strace(1)時,由vDSO導出的符號(系統調用)不會出現在跟蹤輸出中。 這些系統調用是怎麼發生的?有沒有辦法避免它們? 該機器在EC2上運

    0熱度

    1回答

    我想檢查一下vsyscall_gtod_data的內容(所有的時間保持clock_gettime()工作所需的相關信息)。 我使用gdb進行單步通過__vdso_clock_gettime的彙編代碼()和我看的以下部分: 0x00007ffff7ffaa71 <clock_gettime+129>: cmp eax,DWORD PTR [rbx] 0x00007ffff7ffaa73 <