原创 cdev結構
在Linux2.6內核中一個字符設備用cdev結構來描述,其定義如下: struct cdev { struct kobject kobj; struct module *
原创 C字符串函數總彙解析
C字符串函數總彙解析函數名: stpcpy功 能: 拷貝一個字符串到另一個用 法: char *stpcpy(char *destin, char *source);程序例:#include <stdio.
原创 【內核&驅動】併發和競態【1】
1.導致併發執行的原因 硬件中斷服務 SMP(對稱多處理) 內核搶佔 schedule() 2.scull的缺陷 if (!dptr->data[s_pos]) { dptr->data[s
原创 【APUE】進程控制
本文介紹進程控制,包括創建進程,執行程序和進程終止1.進程標識符 每一個進程都有一個非負整數表示的唯一進程ID,pid。雖然pid是唯一的,但是可以重複使用,當進程結束的時候, 其pid就可以在次使用了。 系統中常
原创 【APUE】系統數據文件和信息
本文章介紹有關係統數據文件和信息的函數1.一切皆文件 linux操作系統的特點就是一切皆文件,所以僅通過操作文件就可以操作linux的所有。2.口令文件 /etc/passwd 這些字段定義在<pwd.h>中定義的pa
原创 linux 系統調用執行過程
linux 系統調用執行過程 轉載 簡單總結一下linux的系統調用過程: 層次如下: 用戶程序------>C庫(即API):INT 0x80 ----->system_call------->系統調用服務例程-----
原创 關於指針的一個面試題
前幾天,去一個公司面試實習生,遇到下面這個題: void test(void) { char *str = NULL; get_memory(str); strcp
原创 【內核&驅動】字符設備驅動程序【2】
一些重要的數據結構(VFS核心結構體) 1.super_block 和mount一一對應,這也意味着如果mount操作,在內核中分配新的結構體,存儲分區信息 umount時,VFS就把該結構體釋放掉 mount幾次內核中就有幾個supe