摘要: 系统调用 应用与内核通信的方式中,最常用的就是系统调用。如常见的open、write、read、ioctl等系统调用。当系统调用时,触发一个软中断,处理器进入内核模式。参数传递到内核空间,完成通信过程。内核完成服务之后,将数据返回给应用,并设置处理器为用户模式。 copy_to_user() / c 阅读全文
posted @ 2024-01-14 17:44 流水灯 阅读(426) 评论(0) 推荐(0)
摘要: 1、compat_ioctl:支持64bit的driver必须要实现的ioctl,当有32bit的userspace application call 64bit kernel的IOCTL的时候,这个callback会被调用到。如果没有实现compat_ioctl,那么32位的用户程序在64位的ke 阅读全文
posted @ 2024-01-14 16:53 流水灯 阅读(621) 评论(0) 推荐(0)
摘要: 如果调用者使用了共享库的符号,则调用者的数据段会有一个GOT,用于记录共享库符号的地址;如果共享库A作为调用者使用了共享库B的符号,则共享库A的数据段也会有一个GOT。由于编译的时候不能知道共享库的符号地址,所以调用者通过GOT获取共享库的符号地址,运行时链接只需要修改位于数据段的GOT的内容,不需 阅读全文
posted @ 2024-01-14 00:03 流水灯 阅读(667) 评论(0) 推荐(1)