草庐IT

linux - 内核线程在 Linux 中运行在什么上下文中?

我是Linux内核的新手。我知道有两个上下文1.进程上下文,在用户空间或内核空间中运行(例如:作为系统调用的一部分)2.中断上下文内核线程(与任何用户线程无关,例如:flush任务)在什么上下文中运行?Linux内核中除了Process和Interrupt上下文还有其他上下文吗? 最佳答案 内核线程在内核空间的进程上下文中运行。尽管也有一些内核线程也可以处理中断。他们被称为threadedinterrupthandlers.但它们仍然在进程上下文中运行!Here很好地解释了这两种情况之间的重要区别!这里有一个可以帮助您加深理解!Wh

c - linux中的ls命令使用哪个linux系统调用来显示文件夹/文件名?

我想知道ls命令在linux中使用哪个系统调用来显示文件夹(或文件的名称)?特别是以“.”开头的文件/文件夹。(点)我执行了stracels-a命令来查看系统调用。对于所有其他属性(inode到许可)。究竟是哪一个给它起了名字?execve("/bin/ls",["ls","-a"],[/*37vars*/])=0brk(0)=0x1762000access("/etc/ld.so.nohwcap",F_OK)=-1ENOENT(Nosuchfileordirectory)mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONY

c - linux中的ls命令使用哪个linux系统调用来显示文件夹/文件名?

我想知道ls命令在linux中使用哪个系统调用来显示文件夹(或文件的名称)?特别是以“.”开头的文件/文件夹。(点)我执行了stracels-a命令来查看系统调用。对于所有其他属性(inode到许可)。究竟是哪一个给它起了名字?execve("/bin/ls",["ls","-a"],[/*37vars*/])=0brk(0)=0x1762000access("/etc/ld.so.nohwcap",F_OK)=-1ENOENT(Nosuchfileordirectory)mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONY

linux - 如何解释内核 oops 中的地址

我写的linux设备驱动程序中有一个内核oops。我想确定哪条线是造成oops的原因。我有以下输出,但我不知道如何解释它。这是否意味着我的代码在write_func+0x63处的指令处崩溃了?如何将EIP中的值与我自己的功能联系起来?反斜杠后的值是什么意思?[10991.880354]BUG:unabletohandlekernelNULLpointerdereferenceat(null)[10991.880359]IP:[]iret_exc+0x7d0/0xa59[10991.880365]*pdpt=000000002258a001*pde=0000000000000000[10

linux - 如何解释内核 oops 中的地址

我写的linux设备驱动程序中有一个内核oops。我想确定哪条线是造成oops的原因。我有以下输出,但我不知道如何解释它。这是否意味着我的代码在write_func+0x63处的指令处崩溃了?如何将EIP中的值与我自己的功能联系起来?反斜杠后的值是什么意思?[10991.880354]BUG:unabletohandlekernelNULLpointerdereferenceat(null)[10991.880359]IP:[]iret_exc+0x7d0/0xa59[10991.880365]*pdpt=000000002258a001*pde=0000000000000000[10

linux - 您如何诊断内核 oops?

给定一个linux内核oops,你如何着手诊断问题?在输出中,我可以看到一个堆栈跟踪,它似乎提供了一些线索。是否有任何工具可以帮助找到问题?您遵循哪些基本程序来追踪它?Unabletohandlekernelpagingrequestfordataataddress0x33343a31Faultinginstructionaddress:0xc50659ecOops:Kernelaccessofbadarea,sig:11[#1]tpsslr3Moduleslinkedin:datalog(P)manet(P)vnetwlan_wepwlan_scan_staath_rate_samp

linux - 您如何诊断内核 oops?

给定一个linux内核oops,你如何着手诊断问题?在输出中,我可以看到一个堆栈跟踪,它似乎提供了一些线索。是否有任何工具可以帮助找到问题?您遵循哪些基本程序来追踪它?Unabletohandlekernelpagingrequestfordataataddress0x33343a31Faultinginstructionaddress:0xc50659ecOops:Kernelaccessofbadarea,sig:11[#1]tpsslr3Moduleslinkedin:datalog(P)manet(P)vnetwlan_wepwlan_scan_staath_rate_samp

c - 在 Linux 内核中使用模块覆盖功能

在不深入了解原因的细节的情况下,我正在寻找一种干净(尽可能)的方式来替换可加载模块中的内核函数和系统调用。我最初的想法是编写一些代码来覆盖一些函数,这些函数将采用原始函数(如果可能的话,调用函数),然后添加一些我自己的代码。关键是我编写的函数必须具有原始函数的名称,因此其他代码在尝试访问它时将访问我的函数。我可以轻松地(相对地)直接在内核中执行此操作,只需将我的代码放入适当的函数中即可,但我想知道是否有人知道一点C魔法,这不是必然可怕的内核(或C)可以达到相同结果的编码实践。#defines和typedef的想法浮现在脑海中,但我无法在脑海中完全破解。简而言之:有没有人知道一种有效覆盖

c - 在 Linux 内核中使用模块覆盖功能

在不深入了解原因的细节的情况下,我正在寻找一种干净(尽可能)的方式来替换可加载模块中的内核函数和系统调用。我最初的想法是编写一些代码来覆盖一些函数,这些函数将采用原始函数(如果可能的话,调用函数),然后添加一些我自己的代码。关键是我编写的函数必须具有原始函数的名称,因此其他代码在尝试访问它时将访问我的函数。我可以轻松地(相对地)直接在内核中执行此操作,只需将我的代码放入适当的函数中即可,但我想知道是否有人知道一点C魔法,这不是必然可怕的内核(或C)可以达到相同结果的编码实践。#defines和typedef的想法浮现在脑海中,但我无法在脑海中完全破解。简而言之:有没有人知道一种有效覆盖

linux - 了解 linux 或 BSD 内核内部结构的最佳方式是什么?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我想更好地了解操作系统内部结构。进程管理,内存管理,诸如此类。我正在考虑通过了解linux或BSD内核来学习。哪一个内核更适合学习目的?从哪里开始最好?能推荐几本好书吗?