Linux的eventfd機制 eventfd初始化 Linux繼承了UNIX”everything is a file”的思想,所有打開的文件都有一個fd與之對應,與QEMU一樣,很多程序都是事件驅動的,也就是select/poll/epoll等系統調用在一組fd上進行監聽,當fd狀態 ...
socket操作函數read write和recv send用法基本相同,后者比前者多了一個flag參數。詳見套接字I O函數。如果是阻塞socket,執行讀操作時,如果socket接收緩存區沒有數據會阻塞等待數據 執行寫操作時,如果socket發送緩存區沒有足夠的空間存放此次寫入的數據,則會阻塞等待緩存區釋放。讀 寫數據到緩存區成功后會立即返回,但寫入socket緩存區並不代表數據會成功發送到 ...
2020-03-23 14:40 0 147 推薦指數:
Linux的eventfd機制 eventfd初始化 Linux繼承了UNIX”everything is a file”的思想,所有打開的文件都有一個fd與之對應,與QEMU一樣,很多程序都是事件驅動的,也就是select/poll/epoll等系統調用在一組fd上進行監聽,當fd狀態 ...
簡介 seccomp是一種內核中的安全機制,正常情況下,程序可以使用所有的syscall,這是不安全的,比如程序劫持程序流后通過execve的syscall來getshell。通過seccomp我們可以在程序中禁用掉某些syscall,這就就算劫持了程序流也只能調用部分的syscall了 演示 ...
一、OOM機制簡介 Linux下面有個特性叫OOM killer(Out Of Memory killer),這個東西會在系統內存耗盡的情況下跳出來,選擇性的干掉一些進程以求釋放一些內存。相信廣大從事Linux服務端編程的農民工兄弟們或多或少遇到過(人在江湖漂,哪有不挨刀啊)。典型的情況 ...
Linux信號(signal) 機制分析 【摘要】本文分析了Linux內核對於信號的實現機制和應用層的相關處理。首先介紹了軟中斷信號的本質及信號的兩種不同分類方法尤其是不可靠信號的原理。接着分析了內核對於信號的處理流程包括信號的觸發/注冊/執行及注銷等。最后介紹了應用層的相關處理,主要包括 ...
很早之前就接觸過同步這個概念了,但是一直都很模糊,沒有深入地學習了解過,近期有時間了,就花時間研習了一下《linux內核標准教程》和《深入linux設備驅動程序內核機制》這兩本書的相關章節。趁剛看完,就把相關的內容總結一下。為了弄清楚什么事同步機制,必須要弄明白以下三個問題: 什么是互斥與同步 ...
一、poll機制的作用 1.poll機制的作用 在前面的使用中斷的的方式來讀取按鍵值(linux 中斷管理(四))。使用這種方式讀取按鍵,如果按鍵沒有按下的時候,應用程序會一直處於睡眠的狀態。如果想要即使按鍵沒有按下,在一定的時間后也能返回,要實現這種功能,可以使用poll機制 ...
linux的initcall機制(針對編譯進內核的驅動) initcall機制的由來 我們都知道,linux對驅動程序提供靜態編譯進內核和動態加載兩種方式,當我們試圖將一個驅動程序編譯進內核時,開發者通常提供一個xxx_init()函數接口以啟動這個驅動程序同時提供某些服務。 那么,根據常識 ...
Linux程序常見用的一些保護機制 一、NX(Windows中的DEP) NX:No-eXecute、DEP:Data Execute Prevention 也就是數據不可執行,防止因為程序運行出現溢出而使得攻擊者的shellcode可能會在數據區嘗試執行的情況。 gcc默認開啟 ...