Linux筆記(四) Linux核心

2021-10-10 09:40:49 字數 2106 閱讀 7689

2、檔案系統

2.2 檔案系統

處於執行期的程式及其所包含**的總稱。

獲取程序識別符號的系統呼叫。

函式原型

#include

#include

pid_t getpid(void) //返回當前程序的pid

pid_t getppid(void) //返回父程序的pid

uid_t getuid(void) //返回當前程序的使用者id

gid_t getgid(void) //放回當前程序使用者組的id

程序狀態

暫停狀態(task_stopped):程序由於收到乙個訊號致使程序停止

僵死狀態(task_zombie):程序結束但是尚未消亡的狀態,等待父程序**

vim /usr/src/kernels/3.10.0-957.el7.x86_64/include/linux/sched.h 

#define task_running 0

#define task_interruptible 1

#define task_uninterruptible 2

#include

pid_t fork(void)

pid_t vfork(void)

功能:

返回值:

呼叫失敗 返回值為-1

例子:

#include

#include

int main(

)else if(val > 0)

printf(

"i am the parent process,pid is %d\n",getpid());

else

printf(

"error");

return 0;

}

int create(const char *pathname,mode_t mode)
建立乙個普通檔案引數

返回值:

int open(const char *pathname,int flags)

;int open(const char *pathname,int flags,mode_t mode)

;

功能:開啟或建立乙個檔案

引數:

引數flags的說明:

int close(int fd)
功能:關閉乙個可以開啟的檔案

引數:fd:要關閉的檔案的描述符

ssize_t read(int fd,const void *buf,size_t count)

;

引數:

返回值:

ssize_t write(int fd,const void *buf,size_t count)

;

功能:向乙個開啟的檔案寫入資料

引數:

返回值:

off_t lseek(int fd, off_t )
bsd檔案系統

windows檔案系統

linux檔案系統

《深入理解LINUX核心》筆記(四)

每個能夠發出中斷請求的硬體裝置控制器都有一條名為 irq iinterpretrequest 的輸出線 80x86微處理器大約發布了約 20種不同的異常,核心必須位每種異常提供一種專門的異常處理程式 對某些異常,cpu控制單元會在執行異常處理程式前產生乙個硬體出錯碼 hardwareerror co...

linux 核心 筆記

1 在i2c驅動模組中定義實際呼叫的函式 void read i2cinfo from proc void 2 在i2c模組 如i2c演算法驅動模組 初始化時建立乙個proc entry create proc read entry readi2cinfo 0,0,read i2cinfo from...

linux核心分析四

使用庫函式api和c 中嵌入彙編 兩種方式使用同乙個系統呼叫,理解系統呼叫的工作機制。api 第一層是指libc中定義的api,這些api封裝了系統呼叫,使用int 0x80觸發乙個系統呼叫中斷 當然,並非所有的api都使用了系統呼叫,如完成數學加減運算的api就沒有使用系統呼叫 也有可能某個api...