亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網

17站長網 首頁 網站 服務器 查看內容

詳解Linux用戶態與內核態通信的幾種方式

2022-10-6 15:37| 查看: 1670 |來源: 互聯網

Linux 用戶態和內核態由于 CPU 權限的限制,通信并不像想象中的使用進程間通信方式那么簡單,今天這篇文章就來看看 Linux 用戶態和內核態究竟有哪些通信方式。

Linux 用戶態和內核態由于 CPU 權限的限制,通信并不像想象中的使用進程間通信方式那么簡單,今天這篇文章就來看看 Linux 用戶態和內核態究竟有哪些通信方式。

我們平常在寫代碼時,一般是在用戶空間,通過系統調用函數來訪問內核空間,這是最常用的一種用戶態和內核態通信的方式。(關于 Linux 用戶態和內核態可以參考 xx)

除此之外,還有以下四種方式:

  • procfs(/proc)

  • sysctl(/proc/sys)

  • sysfs(/sys)

  • netlink 套接口

procfs(/proc)

procfs是 進程文件系統 的縮寫,它本質上是一個偽文件系統,為什么說是 偽 文件系統呢?因為它不占用外部存儲空間,只是占用少量的內存,通常是掛載在 /proc目錄下。

我們在該目錄下看到的一個文件,實際上是一個內核變量。內核就是通過這個目錄,以文件的形式展現自己的內部信息,相當于/proc目錄為用戶態和內核態之間的交互搭建了一個橋梁,用戶態讀寫/proc下的文件,就是讀寫內核相關的配置參數。

比如常見的/proc/cpuinfo、/proc/meminfo和/proc/net就分別提供了 CPU、內存、網絡的相關參數。除此之外,還有很多的參數,如下所示:

root@ubuntu:~# ls /proc/
1   1143 1345 1447 2   2292 29  331  393 44  63  70  76  acpi    diskstats  irq     locks     sched_debug  sysvipc      zoneinfo
10  1145 1357 148  20  23  290 332  396 442  64  7019 77  asound   dma     kallsyms   mdstat    schedstat   thread-self
1042 1149 1361 149  2084 2425 291 34  398 45  65  7029 8  buddyinfo driver    kcore    meminfo    scsi      timer_list
1044 1150 1363 15  2087 25  3  3455 413 46  66  7079 83  bus    execdomains keys     misc     self      timer_stats
1046 1151 1371 16  2090 256  30  35  418 47  6600 7080 884 cgroups  fb      key-users  modules    slabinfo    tty
1048 1153 1372 17  21  26  302 36  419 5   67  71  9  cmdline  filesystems kmsg     mounts    softirqs    uptime
11  1190 1390 18  22  27  31  37  420 518  6749 72  96  consoles  fs      kpagecgroup mtrr     stat      version
1126 12  143  182  2214 28  32  373  421 524  68  73  97  cpuinfo  interrupts  kpagecount  net      swaps     version_signature
1137 1252 1434 184  2215 280  327 38  422 525  69  74  98  crypto   iomem    kpageflags  pagetypeinfo sys      vmallocinfo
1141 13  144  190  2262 281  33  39  425 5940 7   75  985 devices  ioports   loadavg   partitions  sysrq-trigger vmstat

可以看到,這里面有很多的數字表示的文件,這些其實是當前系統運行的進程文件,數字表示進程號(PID),每個文件包含該進程所有的配置信息,包括進程狀態、文件描述符、內存映射等等,我們可以看下:

root@ubuntu:~# ls /proc/1/
attr/      cmdline     environ     io        mem       ns/       pagemap     schedstat    stat       timers
autogroup    comm       exe       limits      mountinfo    numa_maps    personality   sessionid    statm      uid_map
auxv       coredump_filter fd/       loginuid     mounts      oom_adj     projid_map    setgroups    status      wchan
cgroup      cpuset      fdinfo/     map_files/    mountstats    oom_score    root/      smaps      syscall     
clear_refs    cwd/       gid_map     maps       net/       oom_score_adj  sched      stack      task/

綜上,內核通過一個個的文件來暴露自己的系統配置信息,這些文件,有些是只讀的,有些是可寫的,有些是動態變化的,比如進程文件,當應用程序讀取某個 /proc/文件時,內核才會去注冊這個文件,然后再調用一組內核函數來處理,將相應的內核參數拷貝到用戶態空間,這樣用戶讀這個文件就可以獲取到內核的信息。一個大概的圖示如下所示:

sysctl

我們熟悉的 sysctl 是一個 Linux 命令,man sysctl可以看到它的功能和用法。它主要是被用來修改內核的運行時參數,換句話說,它可以在內核運行過程中,動態修改內核參數。

它本質上還是用到了文件的讀寫操作,來完成用戶態和內核態的通信。它使用的是/proc的一個子目錄/proc/sys。和 procfs 的區別在于:

procfs 主要是輸出只讀數據,而 sysctl 輸出的大部分信息是可寫的。

例如,我們比較常見的是通過cat /proc/sys/net/ipv4/ip_forward 來獲取內核網絡層是否允許轉發 IP 數據包,通過echo 1 > /proc/sys/net/ipv4/ip_forward或者 sysctl -w net.ipv4.ip_forward=1來設置內核網絡層允許轉發 IP 數據包。

同樣的操作,Linux 也提供了文件/etc/sysctl.conf[來讓你進行批量修改。

sysfs

sysfs 是 Linux 2.6 才引入的一種虛擬文件系統,它的做法也是通過文件/sys來完成用戶態和內核的通信。和 procfs 不同的是,sysfs 是將一些原本在 procfs 中的,關于設備和驅動的部分,獨立出來,以 “設備樹” 的形式呈現給用戶。

sysfs 不僅可以從內核空間讀取設備和驅動程序的信息,也可以對設備和驅動進行配置。

我們看下/sys下有什么:

# ls /sys
block bus class dev devices firmware fs hypervisor kernel module power

可以看到這些文件基本上都跟計算機的設備和驅動等息息相關的。更多關于這些文件的解釋大家可以自行了解,這里就不過多展開了。

netlink

netlink 是 Linux 用戶態與內核態通信最常用的一種方式。Linux kernel 2.6.14 版本才開始支持。它本質上是一種 socket,常規 socket 使用的標準 API,在它身上同樣適用。比如創建一個 netlink socket,可以調用如下的 socket 函數:

#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
netlink_socket = socket(AF_NETLINK, socket_type, netlink_family);

netlink 這種靈活的方式,使得它可以用于內核與多種用戶進程之間的消息傳遞系統,比如路由子系統,防火墻(Netfilter),ipsec 安全策略等等。

引申:

net-tools 工具通過 procfs(/proc) 和 ioctl 系統調用去訪問和改變內核網絡參數配置,而 iproute2 則通過 netlink 套接字接口與內核通信,前者已經被淘汰了,后者逐步成為標準。

總結

Linux 用戶態和內核態通信主要的四種方式,其中 netlink 和 procfs 是最常見的方式。

本文最后更新于 2022-10-6 15:37,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:17tui@17tui.com
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

  • 當我們在共享網絡訪問的時候,可能會遇到提示指定的網絡名不再可用的問題,這可能是由于我們的共享網絡出現了錯誤,也可能是被共享的對象所拒絕了。指定的網絡名 ......

    故障排除 2023-03-10
  • 1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......

    軟件教程 2023-02-17
  • 一、軟件沖突1、首先確認是否是應用程序沖突導致的。2、查看是否只有特定幾個游戲或應用會導致該問題。3、如果是應用沖突,那么只要卸載這些app就可以解決了。二 ......

    軟件教程 2022-12-27
  •   文/曹楊  原標題:誰還看電視?  爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發,一人躺在床上,各自刷著自己關注的博主更新的短視頻。電視也許開著,但只是背景。  這樣的畫面,幾乎成了洛奇家的常 ...

    站長 2020-12-09
  • 圖片來源于簡書  文/郭開森 楊帆  陸玖財經準備開新欄目了,每周一創始人郭開森和楊帆合體郭德帆,對行業進行一些觀察和評論,第一篇我們仍是打算寫社區團購,這是當下最火的話題。  來過陸玖財經做客的朋友們...

    熱議 2020-12-07
  • 一、N100對比intel i3 1、N100的跑分達到了147210分,這個數據可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......

    硬件知識 2023-04-26
  • 電腦端:1、大家可以點擊右邊鏈接進入網頁版的百度網盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......

    軟件教程 2022-12-27
  • 在填寫一些項目申請書中,總是免不了要選擇一些數字,但是在方框中如何插入數字,該怎么辦呢?那么下面就由學習啦小編給大家分享下word在方框里輸入數字的技巧, ......

    Word教程 2023-04-27
  • 8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內容被用戶舉報。對此,百度圖片官方進行了回應,百度圖片表示已經對報道中所涉及的“生吃旋風哥”等爭議內容進行了下線處理。 此外,百度...

    站長 2016-08-15
  • 迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續的內容,就可以創建下載鏈接了。 1、磁力鏈接不基于文 ......

    軟件教程 2023-06-03
  • WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......

    WPS教程 2023-03-31
  • 一、內容特權。 1、半價點播。 許多站內視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內無限次觀看。有部分的內容是只限在中國大陸內觀 ......

    軟件教程 2023-05-05
  • 藍奏云怎么打開別人分享的鏈接1、當我們獲得了鏈接以后,首先需要把鏈接粘貼進瀏覽器里回車進入。2、進入以后就會轉到這樣一個頁面,如果有密碼的話我們就輸入給 ......

    軟件教程 2023-03-16
  • 1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...

    硬件知識 2023-05-17
  • 1、打開手機輕顏相機app,點擊“我的”,點擊“設置”,2、點擊“幫助與反饋”,3、點擊右下角“在線咨詢”即可聯系客服,詢問自己的問題啦!...

    軟件教程 2023-03-16
  • 答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......

    鴻蒙系統 2023-04-24
  • 近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現了應用和已壓縮的文件點擊毫無反應,拖拽都不行,只能從開始菜單打開的情況,這是怎 ......

    windows11 2022-12-13
  • 可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區域。方法:篩選或隱藏數據,復制需要粘貼的值,在目標單元格區域左上角的第一個單元格處右擊,選擇【 ......

    WPS教程 2022-12-10
  • 答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構方面都是保持一致的,比如說CPU的架構、GPU的架構等等。 驍龍7+和驍龍8+具體 ......

    硬件知識 2023-04-06
  • 1、先打開機頂盒進入主界面,并且使用遙控器打開設置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調試”的選項,直接開啟就行了 ......

    軟件教程 2023-06-01
  • 答:在3DMark壓力測試當中,顯卡需要超高97%才能夠算合格,證明顯卡的穩定性是過關的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數越高說明顯卡 ......

    軟件教程 2023-06-01
  • 文件被win10系統誤報病毒自動刪除了如何進行恢復?有用戶下載了某些破解軟件卻被Win10系統誤認為是病毒文件而自動刪除,當然系統自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...

    windows10 2022-11-20
  • win11系統如何釋放掉系統默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設備獲得良好性能和成功更新。但是當出現系統盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...

    windows11 2022-11-17
  •   文/黎明  一場針對中國互聯網巨頭的反壟斷風暴正在醞釀,而且這次動真格了。  11月10日,國家市場監管總局發布《關于平臺經濟領域的反壟斷指南(征求意見稿)》,要加大對互聯網巨頭涉嫌壟斷的調查和監管。 ...

    熱議 2020-11-14
  • 我們經常用WPS的時候,如果需要輸入波浪號~,會發現鍵盤上的波浪號輸入之后在最上面,但是為了美觀,我們希望波浪號顯示在中間。這里總結了三個方法分享給大家 ......

    WPS教程 2023-02-18
  • 答:不一樣。 字類不同、數量不同、使用也不同。 1、字類不同 仿宋gb2312只包含符合GB2312標準的簡體字,仿宋包含所有的簡體字,包括特殊的繁體字。 2、版本不 ......

    軟件教程 2023-02-17
  • 1、下載番茄作家助手,登錄你自己的賬號進入。2、在首頁這里可以看到你創建的書籍,或者新建一個小說,點擊這個黃色的編輯圖標。3、進入以后,再點擊“創建章節 ......

    軟件教程 2023-03-16
  • 答:中高端水平 i513500hx在處理器當中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎頻率為2.4GHz,表現十分的不錯。 i513500hx介 ......

    硬件知識 2023-04-27
  • 羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......

    硬件知識 2023-03-16
  • 打開軟件,直接填寫就可以。 1、下載安裝easyconnect軟件, 2、打開easyconnect應用,在如圖所示的“服務器地址”一欄輸入如圖所示網址,點擊“連接”, 3、等 ......

    軟件教程 2023-04-03

熱門排行

    最近更新

      返回頂部
      亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
      91麻豆高清视频| 91麻豆国产在线观看| 国产制服丝袜一区| 日韩美女精品在线| 欧美成人精品福利| 日韩一区欧美小说| 中文字幕中文字幕在线一区 | 亚洲精品日日夜夜| 亚洲成人av一区二区三区| 91香蕉国产在线观看软件| 日本一区二区三区四区| 欧美日韩你懂得| 蜜臂av日日欢夜夜爽一区| 久久国产夜色精品鲁鲁99| 精品一区二区综合| 国产一区二区三区免费播放| 成年人网站91| 亚洲乱码一区二区三区在线观看| 欧美亚洲一区三区| 免费人成精品欧美精品| 3atv在线一区二区三区| 亚洲妇女屁股眼交7| 亚洲不卡在线观看| 国产精品不卡一区二区三区| 99视频超级精品| 色偷偷88欧美精品久久久| 久久电影网站中文字幕| 国产乱对白刺激视频不卡| 久久一夜天堂av一区二区三区| 国产一区二区影院| 免费在线观看视频一区| 欧美日韩一区二区三区视频| 综合久久久久久| 中文字幕在线观看一区| 亚洲午夜一区二区| 久草这里只有精品视频| 国产福利视频一区二区三区| 欧美最新大片在线看| 91麻豆免费观看| 久久久亚洲高清| 久久国产综合精品| 中文在线免费一区三区高中清不卡| 国产一区二三区| 91免费小视频| 欧美日韩精品一区二区在线播放 | 日韩影院在线观看| 美女一区二区在线观看| 国产成人综合亚洲91猫咪| 久久精品国产精品青草| 亚洲欧美日韩国产另类专区| 精品欧美乱码久久久久久 | 中文字幕巨乱亚洲| 久久国产人妖系列| 天天综合网天天综合色| 国产不卡视频在线播放| 欧美一级日韩一级| 欧美一区二区私人影院日本| 日本成人在线一区| 欧美日韩在线三区| 精品国产乱码久久久久久影片| 久久成人久久爱| 久久精品99久久久| 喷白浆一区二区| 成人永久看片免费视频天堂| 国产一区二区精品久久99| 国内成人免费视频| 久久国产精品色婷婷| 日韩欧美成人一区二区| 亚洲综合一区在线| 一区二区三区四区蜜桃| 91麻豆精品91久久久久久清纯| 国产日韩亚洲欧美综合| 国产一区在线观看麻豆| 精品欧美乱码久久久久久1区2区| 精品久久久久一区二区国产| 亚洲免费观看高清| 国产自产v一区二区三区c| 亚洲18女电影在线观看| 亚洲特黄一级片| 亚洲精品视频自拍| 欧美一级午夜免费电影| 成人激情黄色小说| 亚洲免费观看高清完整版在线 | 国产91精品一区二区麻豆网站| 日韩伦理免费电影| 久久精品国产澳门| 制服.丝袜.亚洲.中文.综合| 亚洲精品在线网站| 午夜精品久久久| 国产成人h网站| 国产成人免费xxxxxxxx| 国产女同性恋一区二区| 91精品国产91久久久久久一区二区| www激情久久| 在线欧美小视频| 国产iv一区二区三区| 亚洲综合一区二区精品导航| 亚洲欧洲日产国产综合网| 亚洲精品成人天堂一二三| 色哟哟一区二区三区| 亚洲高清免费观看高清完整版在线观看 | 亚洲一区二区3| 欧美精品18+| 色综合色狠狠综合色| 成人av小说网| 欧美精选在线播放| 午夜欧美视频在线观看| 色又黄又爽网站www久久| 欧美日韩一区二区三区不卡| 日韩一区二区三区av| 日韩欧美在线1卡| 亚洲影院理伦片| 色老头久久综合| 亚洲v日本v欧美v久久精品| 欧美一二三区在线| 亚洲日本免费电影| 成人网页在线观看| 日韩一区二区免费视频| 欧美精品一区二区高清在线观看| 国产偷国产偷精品高清尤物| 制服丝袜激情欧洲亚洲| 欧美最猛黑人xxxxx猛交| 成人性生交大片免费看在线播放| 国内精品第一页| 国产精品996| 岛国av在线一区| 一区二区三区在线免费视频| 337p日本欧洲亚洲大胆精品| 欧美日韩国产高清一区二区 | 视频一区二区不卡| 亚洲欧美电影一区二区| 精品一区二区三区免费| 成人福利视频网站| 在线免费av一区| 国产曰批免费观看久久久| 91精品国产色综合久久不卡电影| 亚洲国产中文字幕| 美女精品一区二区| 精品美女被调教视频大全网站| 亚洲一区免费观看| 在线播放一区二区三区| 美国十次综合导航| 国产精品乱码一区二区三区软件 | 亚洲欧美韩国综合色| 一区二区三区精密机械公司| 蜜桃精品视频在线观看| 在线观看网站黄不卡| 波多野结衣精品在线| www.性欧美| 欧美疯狂性受xxxxx喷水图片| 亚洲精品一区二区三区香蕉| 国产一区二区在线影院| 爽爽淫人综合网网站| 91极品美女在线| av动漫一区二区| 中文文精品字幕一区二区| 国产精品自拍网站| 久久精品一级爱片| 极品少妇xxxx精品少妇| 亚洲国产精品一区二区www在线| 国产成人精品在线看| 亚洲精品乱码久久久久久久久 | 久久久久久久综合狠狠综合| 日韩精品一区二区三区三区免费| 夜夜嗨av一区二区三区网页| 成人综合婷婷国产精品久久蜜臀| 欧美精品三级日韩久久| 亚洲一级不卡视频| 91黄色免费观看| 日本一区二区免费在线| 亚洲成人在线观看视频| 久草在线在线精品观看| 精品国产乱码久久久久久牛牛 | 欧美蜜桃一区二区三区| 免费成人在线影院| 国产91丝袜在线播放| 久久免费看少妇高潮| 视频一区国产视频| 欧美主播一区二区三区| 亚洲精品免费在线| 一本大道久久a久久综合婷婷| 中文字幕亚洲电影| 日韩一级完整毛片| 99久久婷婷国产综合精品| 日韩毛片在线免费观看| 国产精品一二三区| 一级中文字幕一区二区| 亚洲欧洲三级电影| 日韩精品在线一区二区| 亚洲va欧美va天堂v国产综合| 毛片不卡一区二区| 国产成人精品免费网站| 欧美图区在线视频| 久久综合成人精品亚洲另类欧美 | 亚洲卡通动漫在线| 欧美主播一区二区三区美女| 另类人妖一区二区av| 日产国产高清一区二区三区| 久久久久久久久久电影| 精品国产不卡一区二区三区|