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...