日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下vdso.so.1的安裝路徑詳解(linuxvdso.so.1位置)

Linux系統(tǒng)中,vdso(Virtual Dynamic Shared Object)是一個(gè)特殊的共享庫,它被內(nèi)核加載到進(jìn)程地址空間中,提供了一些與內(nèi)核交互的系統(tǒng)調(diào)用接口,以提高系統(tǒng)調(diào)用的效率和安全性。vdso.so.1是vdso的動(dòng)態(tài)鏈接庫文件,它在系統(tǒng)啟動(dòng)時(shí)隨內(nèi)核一起加載,并被放置在一個(gè)特定的安裝路徑中。

vdso.so.1安裝路徑解析

vdso.so.1的安裝路徑是系統(tǒng)內(nèi)核預(yù)定義的,它在Linux系統(tǒng)中存在于兩個(gè)不同的位置:/lib/ld-linux.so.2和/lib64/ld-linux-x86-64.so.2。這兩個(gè)庫文件是系統(tǒng)動(dòng)態(tài)鏈接器的實(shí)現(xiàn),負(fù)責(zé)從磁盤上加載動(dòng)態(tài)鏈接庫,構(gòu)建進(jìn)程運(yùn)行時(shí)的內(nèi)存映像,以及執(zhí)行程序的入口點(diǎn)。

在32位系統(tǒng)中,vdso.so.1被安裝在/lib/ld-linux.so.2路徑下。這個(gè)路徑下還包括一些系統(tǒng)基礎(chǔ)庫文件,如libc.so.6、libdl.so.2、libpthread.so.0等。這些庫文件是系統(tǒng)的必要組件,沒有它們,許多應(yīng)用程序無法運(yùn)行。而vdso.so.1作為一個(gè)虛擬庫存在,它不在磁盤上保存任何文件,而是作為內(nèi)核的一部分,隨時(shí)可以加載進(jìn)進(jìn)程地址空間中。

在64位系統(tǒng)中,vdso.so.1被安裝在/lib64/ld-linux-x86-64.so.2路徑下。這個(gè)路徑下包括了一些64位系統(tǒng)專有的庫文件,如lib64c.so.6、lib64pthread.so.0、lib64m.so.6等。它們與32位系統(tǒng)下的庫文件類似,都是系統(tǒng)的基礎(chǔ)組件,必不可少。同時(shí),vdso.so.1的存在也是為了提高系統(tǒng)效率,因?yàn)樗幸恍┍葌鹘y(tǒng)系統(tǒng)調(diào)用更快的機(jī)制,對于一些頻繁使用的系統(tǒng)調(diào)用而言,可以大幅提高程序的執(zhí)行效率。

vdso.so.1的作用與意義

vdso.so.1作為系統(tǒng)的重要組成部分之一,承擔(dān)了許多重要的作用和意義。它提供了一些比傳統(tǒng)系統(tǒng)調(diào)用更快的機(jī)制,如gettimeofday和time等函數(shù),它們都是高頻率調(diào)用的系統(tǒng)調(diào)用,通過vdso.so.1優(yōu)化后可以更快地執(zhí)行。vdso.so.1可以在內(nèi)核態(tài)和用戶態(tài)之間進(jìn)行快速的切換,在系統(tǒng)實(shí)現(xiàn)高并發(fā)和多線程處理的時(shí)候,可以提高系統(tǒng)運(yùn)行效率。vdso.so.1也是系統(tǒng)安全性的重要保證,它通過一些機(jī)制,如地址空間布局隨機(jī)化(ASLR)等,為應(yīng)用程序提供了強(qiáng)大的保護(hù),從而防止攻擊者利用一些漏洞進(jìn)行攻擊。

vdso.so.1在Linux系統(tǒng)中扮演著重要的角色,它通過提供快速的系統(tǒng)調(diào)用和安全的保護(hù)機(jī)制,為應(yīng)用程序提供了高效、安全和可靠的環(huán)境。盡管它不是一個(gè)真正的文件,但它是系統(tǒng)的核心組成部分之一,為系統(tǒng)的穩(wěn)定性和安全性做出了重要貢獻(xiàn)。同時(shí),理解vdso.so.1的安裝路徑和作用,對于Linux系統(tǒng)的學(xué)習(xí)和研究也具有重要的意義。

相關(guān)問題拓展閱讀:

  • Ubuntu 12.04 下安裝 openGL 驅(qū)動(dòng)時(shí),究竟做了什么事
  • linux下ld連接SO文件時(shí)如何制定絕對路徑

Ubuntu 12.04 下安裝 openGL 驅(qū)動(dòng)時(shí),究竟做了什么事

Ubuntu 下安裝 openGL 驅(qū)動(dòng)的確把我折騰慘了

本人機(jī)器是 HP 的使用 i5 的集成顯卡

下載了 intel 的 installer (intel-linux-graphics-installer_1.0.1_amd64.deb ),他們不支持 Ubuntu 12.04, 只支持 13.x

找了個(gè) ATI x1300 的老顯卡,官方的驅(qū)動(dòng)(ati-driver-installer-9-3-x86.x86_64.run)只支持了 Ubuntu 8.x 9.x (讓我深感,計(jì)滲拆算機(jī)真是消費(fèi)品,過時(shí)了就用不起來了 )

只好買了一個(gè) Nvidia GT610 顯卡,下載官方的 NVIDIA-Linux-x86_64-331.49.run, 順利裝上了

這驅(qū)動(dòng)做了如下的事情:

1) 把驅(qū)動(dòng)裝到 Kernel 中 ( 我升級了 Kernel ,又了重裝驅(qū)動(dòng) )

2) 把 /usr/lib/libGL.so 替換為 Nvidia 的(用 ldd 看就知道了),當(dāng)然要把nvidia 自己的 so 也copy 到,這幾個(gè)目錄

view plaincopy在CODE上查看代碼片派生到我的代碼片

ldd /usr/巧喊指lib/libGL.so

linux-vdso.so.1 => (0x00007fffe91ff000)

libnvidia-tls.so.331.49 => /usr/lib/tls/libnvidia-tls.so.331.49 (0x00007fa1a58c0000)

libnvidia-glcore.so.331.49 => /usr/lib/libnvidia-glcore.so.331.49 (0x00007fa1a30b1000)

libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa1a2d7b000)

libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fa1a2b6a000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa1a27aa000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa1a25a5000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa1a22a9000)

libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fa1a208b000)

/lib64/ld-linux-x86-64.so.2 (0x00007fa1a5e15000)

libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fa1a1e87000)

libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fa1a1c81000)

對于 i386 的支持庫,放在/usr/lib32中

view plaincopy在CODE上查看代碼片派生到我的代碼片

ldd /孝配usr/lib32/libGL.so

linux-gate.so.1 => (0xf)

libnvidia-tls.so.331.49 => /usr/lib32/tls/libnvidia-tls.so.331.49 (0xf75f1000)

libnvidia-glcore.so.331.49 => /usr/lib32/libnvidia-glcore.so.331.49 (0xf53ac000)

libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf)

libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf50bb000)

libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf50b6000)

libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf508a000)

libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf)

/lib/ld-linux.so.2 (0xf)

libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf)

libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf505d000)

開發(fā) Android 時(shí)使用 , Android 使用 i386是從 /usr/lib/i386-linux-gnu 裝載

所以要把 lib32 中所有文件復(fù)制到 /usr/lib/i386-linux-gnu

3) Xorg相關(guān)

Xorg是開源的 Xserver 實(shí)現(xiàn)

nvidia 要與Xorg集成的庫,放在usr/lib/xorg/modules下面,并改下 /etc/X11 下面的東西

xorg.conf

讓 Xorg加載 so

view plaincopy在CODE上查看代碼片派生到我的代碼片

Section “Module”

Load”record”

Load”extmod”

Load”dbe”

Load”dri2″

Load”glx”

EndSection

裝載 /usr/lib/xorg/modules/extensions/ 下面的 libglx.so, libdri2.so 等

讓 Xorg 加載 nvida 驅(qū)動(dòng)

view plaincopy在CODE上查看代碼片派生到我的代碼片

Section “Device”

Identifier “Card0”

Driver”nvidia”

BusID”PCI:1:0:0″

EndSection

附帶轉(zhuǎn)帖

Ubuntu通過重新生成/etc/X11/xorg.conf文件來調(diào)整分辨率

1. Ctrl+Alt+F1 , sudo service gdm stop

2. sudo Xorg -configure (生成文件 ~/xorg.conf.new)

3. sudo service gdm start

4. mv ~/xorg.conf.new /etc/X11/xorg.conf

5. gtf-x

6. 然后將上一步中g(shù)tf命令生成的內(nèi)容:

Modeline “1280x1024_60.00” 108.60 -HSync +Vsync

插入到/etc/X11/xorg.conf中:

Section “Monitor”

Identifier “Monitor0”

VendorName “Monitor Vendor”

ModelName “Monitor Model”

Modeline “1280x1024_60.00” 108.60 -HSync +Vsync

EndSection

重新啟動(dòng)X。搞定。

如果不想生成xorg.conf文件,并且只想臨時(shí)的調(diào)整分辨率,那么可以按照如下方法實(shí)現(xiàn):

cvt

sudo xrandr –newmode “1280x1024_60.00” 109.63 -hsync +vsync

sudo xrandr –addmode VGA1 “1280x1024_60.00”

sudo xrandr –output VGA1 –mode “1280x1024_60.00”

linux下ld連接SO文件時(shí)如何制定絕對路徑

連接器使用下面的搜索路徑來定位需要的共享庫: 1. 所有由”-rpath-link”選項(xiàng)指定的搜索路徑. 2. 所有由”-rpath”指定的搜索路徑. “-rpath”跟”-rpath_link”的不同之處在于,由”-rpath”指定的路徑被包含在可執(zhí)行文件中,并在運(yùn)行時(shí)使用, 而”-rpath-link”選項(xiàng)僅僅在連接時(shí)起作用. 它只用槐或于本地連接器. 3. 在一個(gè)ELF系統(tǒng)中, 如果”-rpath”和”rpath-link”選項(xiàng)沒有被使用, 會(huì)搜索環(huán)境變量”LD_RUN_PATH”的內(nèi)容.它也只對本地連接器起作用. 4. 在SunOS上, “-rpath”選項(xiàng)不使用, 只搜索所有由”-L”指定的目錄. 5. 對于一個(gè)本地連接器,環(huán)衫明友境變量”LD_LIBRARY_PATH”的內(nèi)容被搜索. 6. 對于一個(gè)本地ELF連接器,共享庫中的`DT_RUNPATH”和`DT_RPATH”操作符會(huì)被需要它的共享庫搜索. 如果”DT_RUNPATH”存在了, 那”DT_RPATH”就會(huì)被忽略. 7. 缺省目錄, 常規(guī)或槐的,如”/lib”和”/usr/lib”. 8. 對于ELF系統(tǒng)上的本地連接器, 如果文件”/etc/ld.so.conf”存在, 這個(gè)文件中有的目錄會(huì)被搜索.

如上所述,可以用”-rpath-link”,”-rpath”,或者文件”/etc/ld.so.conf”來指定。

關(guān)于linux vdso.so.1位置的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價(jià)格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。


當(dāng)前文章:Linux下vdso.so.1的安裝路徑詳解(linuxvdso.so.1位置)
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/djisise.html