原创 cdev結構

在Linux2.6內核中一個字符設備用cdev結構來描述,其定義如下: struct cdev {         struct kobject kobj;         struct module *

原创 C字符串函數總彙解析

C字符串函數總彙解析函數名: stpcpy功 能: 拷貝一個字符串到另一個用 法: char *stpcpy(char *destin, char *source);程序例:#include <stdio.

原创 【內核&amp;驅動】併發和競態【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

原创 【內核&amp;驅動】字符設備驅動程序【2】

一些重要的數據結構(VFS核心結構體) 1.super_block 和mount一一對應,這也意味着如果mount操作,在內核中分配新的結構體,存儲分區信息 umount時,VFS就把該結構體釋放掉 mount幾次內核中就有幾個supe