The Idea of Driver Layering--Appreciation of Linux Kernel Kernel Implementation

Let's spray a piece of code in the Kernel first

int tty_register_ldisc(int disc,struct tty_ldisc_ops * new_ldisc)
{
    /*
     一看到这个flags,你就能想到下面的代码了吧,哈哈
     不过,加上这个变量,还真是好. 
    */
    unsigned long flags;

    int ret = 0;

    /*
        上来就对线路规程号码做校验. 

        不管别人传什么东西进来你自己不出事,处理不了就抛异常,
        这样真的很好吗 ? 不管好不好,Linux Kernel在处理这块的时候,
        就是这样做的,而且屡试都爽,我 C!

        不暴露给外界的内部组件函数,自己用的,性能要优于健壮性吧.

        好吧,作者说 天太热,你裸奔去吧,穿衣影响散热的性能 ,是吧,哈哈! 
        不怕一万,就怕万一,是吧 ? 这一万个机会被你这一个万一给挡住了,还要再送9999次,这不是最大的损失吗,
        代码还能暴动、革命,还是咋的 ?

        Linux Kernel 把 函数调用者是当贼一样防,自己调用的也防,真是多此一举!
    */
    if (disc < N_TTY || disc >= NR_LDISCS)
        return -EINVAL;

    ......

    return ret; 
}

One: Layering of Input Subsystem

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325962308&siteId=291194637