【linux内核】
文章平均质量分 81
loe
专注linux
展开
-
linux下删除正在运行的程序文件
linux下删除正在运行的程序文件答:不会有任何影响。Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说,每个文件都有2个link计数器:i_count 和 i_nlink。i_count 和 i_nlink,从VFS inode结构体中可以找到:struct inode {struct hlist_node i_hash;struct list_head i_list;struct list_head i_s原创 2021-08-16 14:37:10 · 3161 阅读 · 0 评论 -
copy_from_user
关于在驱动中 copy_to_user 与memcpy的区别,参考下面文章就可以了。https://www.zhihu.com/people/smcdef-74但是上面的文章,有个地方说的不太清楚,比如说 driver中用copy_to_user时,将数据传入user层提供的地址,user提供的是非法的地址时,是不会引发引发内核 oops,用户层的read函数仅仅是返回 "bad address"信息,这是如何做到的呢?这就关系到了内核的 fixup功能。...原创 2021-07-09 17:42:55 · 295 阅读 · 0 评论 -
nameidata路径查找辅助结构
转自:http://blog.sina.com.cn/s/blog_4a2f24830100l2h4.html根据路径名寻找目标节点的dentry 下面来研究文件系统中的一个非常关键的操作:根据路径名寻找目标节点的dentry。 例如要打开/mnt/win/dir1/abc 这个文件,就是根据这个路径,找到目标节点 ‘abc’ 对应的 dentry ,进而得到转载 2017-03-01 12:19:20 · 1086 阅读 · 0 评论 -
对linuxVFS的理解
讨论linuxVFS是个很沉重的话题, 个人觉得,从源码上分析确实不太明智,第一,看完分析完就忘,第二,太浪费时间,懂了后也无法应用在实际场合中,所以,理清脉络个人觉得对内核的学习是最重要的,理清实现的思路,之后在以后真的要应用时详细的分析代码细节,所以对VFS的理解要理解的关键点是1.什么是VFS2.inode, dentry3.文件系统的注册,挂载4.如何实现不同文件系统之间的原创 2017-02-28 22:30:36 · 6454 阅读 · 0 评论 -
mmap系统调用的实现
GLIBC 文件 sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c:__ptr_t __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) { if (offset & ((1 << MMAP_PAGE_SHIFT) - 1)) //转载 2017-10-31 22:40:46 · 1340 阅读 · 0 评论 -
进程栈与线程栈的关系
本文转自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2018590&pid=24691312&page=1&extra=page%3D1#pid24691312大家好,本人被下面这个问题困扰了一段时间,最近似乎找到了答案。 这里和大家分享一下,可能对有相同困惑的同学有点帮助,同时也请各位帮忙...转载 2018-05-24 13:33:49 · 7272 阅读 · 1 评论 -
关于Linux IPI中断
两个核,核A发送 smp_call_function_single函数,这个函数给B核发送IPI中断 B核被中断后,执行handle_IPI函数,走IPI_CALL_FUNC_SINGLE分支,B核执行generic_smp_call_function_single_interrupt函数 linux版本 3.2.0...原创 2018-09-01 09:47:21 · 4779 阅读 · 0 评论