![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux_kernel
文章平均质量分 61
lingedeng
海纳百川有容乃大,壁立千仞无欲则刚!
展开
-
linux kernel处理提要——字符设备
1. 字符设备dev_t管理关键结构和变量,使用hash表及开链法,hash算法为major % 255 static struct char_device_struct { struct char_device_struct *next; unsigned int major; unsigned int baseminor; int minorct; char name[64]; struct cdev *cdev; /* will die */ } *chrdevs[CHRDEV_MA原创 2021-07-30 11:15:41 · 142 阅读 · 0 评论 -
Linux kernel处理提要——模块加载
sys_init_module主要工作,load_module(kernel/module.c): 1. 在内核空间建立模块的静态视图(从用户空间拷贝到内核空间) 2. 获得段名,符号名称符号表的地址 info->secstrings = (void *)info->hdr + info->sechdrs[info->hdr->e_shstrndx].sh_offset; if (info->sechdrs[i].sh_type == SHT_SYMTAB) {原创 2021-07-30 11:06:12 · 395 阅读 · 0 评论