kernel相关内容

C - Linux - 内核模块 - TCP 标头

我正在尝试创建 linux 内核模块,它将检查传入的数据包.目前,我正在提取数据包的 TCP 标头并读取源和目标端口 -> 但是我得到的值不正确.我有钩子功能: unsigned int hook_func(unsigned int hooknum, struct sk_buff *skb,const struct net_device *in,const struct net_device * ..
发布时间:2021-12-28 13:09:01 其他开发

两个 TCP 套接字之间的基于内核 (Linux) 的数据中继

我编写了 TCP 中继服务器,它的工作原理类似于对等路由器(超级节点). 最简单的情况是两个打开的套接字和它们之间的数据中继: clientA 服务器 clientB 但是服务器必须提供大约 2000 个这样的 A-B 对,即.4000 个套接字... userland 中有两个众所周知的数据流中继实现(基于 socketA.recv() --> socketB.send( ..
发布时间:2021-12-28 13:00:27 其他开发

从内核分配用户空间内存

我正在尝试打电话 sys_readlink(const char __user *path, char __user *buf, int bufsiz) 直接,但得到 EFAULT 错误代码.出现此错误是因为 buf 从内核空间指向内存. 那么,有没有可能从内核分配用户空间内存的方法? kmalloc(size, GFP_USER) 类似于 kmalloc(size, GFP_KE ..
发布时间:2021-12-24 17:13:12 服务器开发

cscope 或 ctags 为什么选择一个?

我主要使用 vim/gvim 作为编辑器,并且正在考虑使用 lxr(Linux 交叉参考) 和 cscope 或 ctags 用于探索内核源代码.但是,我从未使用过 cscope 或 ctags 并想听听为什么考虑到我将 vim 用作主要编辑器,人们会选择一种而不是另一种. 解决方案 ctags 启用了两个功能:允许您从函数调用跳转到它们的定义,以及全方位完成.第一个意思是当你调用一个方法 ..
发布时间:2021-12-24 08:21:16 其他开发

Mac OS X 虚拟音频驱动程序

我想创建一个虚拟音频设备,它从默认输出(即输出 IOAudioStream)获取音频数据并将其转换为输入 IOAudioStream. 我浏览了我能找到的大部分示例,但是它们最多只实现了将输出 IOAudioStream 复制到输入的功能.这意味着它仅在选择音频设备作为输出时才将音频转换为输入流. 这应该是可能的,因为 ScreenFlow 允许通过安装创建虚拟驱动程序的 kext 来 ..
发布时间:2021-12-20 23:56:12 其他开发

如何将 dmesg 时间戳转换为自定义日期格式?

我试图理解 dmesg 时间戳,发现很难将其转换为 Java 日期/自定义日期格式. 示例 dmesg 日志: [14614.647880] airo(eth1):链接丢失(丢失信标) 那么如何将 14614.647880 转换为标准日期? 解决方案 理解 dmesg 时间戳非常简单:它是内核启动后的秒数.因此,有了启动时间 (uptime),您可以将秒数相加并以您喜欢的任何格式 ..
发布时间:2021-12-19 10:54:11 其他开发

__gxx_personality_v0 有什么用?

这是一个来自操作系统开发站点的二手问题,但它让我很好奇,因为我在任何地方都找不到合适的解释. 在使用 gcc 编译和链接一个独立的 C++ 程序时,有时会出现这样的链接器错误: out/kernel.o:(.eh_frame+0x11):对`__gxx_personality_v0'的未定义引用 这显然是因为这个符号是在 libstdc++ 中定义的,它在独立环境中是缺失的.解决这个问题 ..
发布时间:2021-12-18 22:34:09 C/C++开发

如何为我的引导加载程序制作内核?

我正在尝试制作自己的自定义操作系统,但我的代码需要一些帮助.这是我的bootloader.asm: [ORG 0x7c00]开始:命令行异或斧头,斧头mov ds, 斧头mov ss, 斧头移动,斧头mov [BOOT_DRIVE], dl移动 bp, 0x8000mov sp, bp移动 bx, 0x9000mov dh, 5mov dl, [BOOT_DRIVE]调用 load_kernel ..
发布时间:2021-12-18 08:53:08 其他开发

内核模块上的 addr2line

我正在尝试调试内核模块.我怀疑有一些内存泄漏.为了检查它,我已经为内核和模块准备了启用内存泄漏调试的构建.我从中得到了一些警告: [11839.429168] verify_redzone_free() 中的slab 错误:缓存`size-64':对象外的内存被覆盖[11839.438659] [] (unwind_backtrace+0x0/0x164) 来自 [ ..
发布时间:2021-12-14 09:01:35 其他开发

Linux内核实时调试,是怎么做的,用的什么工具?

用于在 Linux 内核上进行实时调试的最常见的方法和工具是什么?为什么不是不常用的方法和工具?我知道 Linus 例如.是反对这种Linux内核调试,或者至少是和因此,那些年在这个意义上没有做太多事情,但老实说,自 2000 年以来已经过去了很多时间,我很感兴趣关于 Linux 项目的心态是否发生了变化以及当前使用哪些方法在 Linux 内核上进行实时调试目前(本地或远程)? 欢迎参考上述 ..
发布时间:2021-12-14 08:28:17 其他开发

为 Ubuntu 安装 RT Linux 补丁

试图通过修补/安装 RT Linux 来修改内核,使我的通用 Ubuntu 成为实时 Ubuntu,但找不到直接设置.有人可以帮忙完成这些步骤吗? 解决方案 步骤 0 - 创建工作目录 创建工作目录 #移动到工作目录mkdir ~/kernel &&cd ~/内核 步骤 1 - 下载内核和补丁 转到https://www.kernel.org/pub/linux/kerne ..
发布时间:2021-12-12 12:53:56 其他开发

Symfony2 locale 语言整页事件监听器

我需要创建一个像 facebook lang 系统这样的系统,当用户点击语言时,例如 france('fr') 页面将重新加载,并且将显示 messages.fr.yml 中的所有内容... 我试图制作类似 /language/{localExtension} 的路线,但是当我在那里 setLocale 然后重定向它没有用...我不知道我假设它只是针对某个页面不是全球性的?因为当我在控制器顶部设 ..
发布时间:2021-12-10 11:51:49 其他开发

理解 TensorFlow 中的操作注册和内核链接

我对 TensorFlow 还很陌生,现在正在研究自定义操作开发.我已经阅读了官方教程,但我觉得很多事情发生在幕后,我并不总是想将我的自定义操作放在 user_ops 目录中. 因此,我使用了 示例 word2vec 使用自定义“Skipgram"操作,其注册定义如下: /word2vec_o​​ps.cc 其内核实现在这里: /word2vec_kernels.cc 查看 ..
发布时间:2021-12-09 22:53:57 C/C++开发

什么是 vdso 和 vsyscall?

我做了sudo cat/proc/1/maps -vv 我正在尝试理解输出.我可以看到许多共享库按预期映射到内存映射段. 7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923/lib/x86_64-linux-gnu/libdbus-1.so.3.5.87f3c00179000-7f3c00379000 ---p 00042000 0 ..
发布时间:2021-12-03 13:39:30 服务器开发

是否有 64 位 UEFI ELF 引导程序?

我有 ELF 内核.所以我需要一个引导加载程序来加载我的 64 位 ELF 文件.我不需要过时的 Legacy BIOS 引导加载程序,我需要带/不带 GUI 的 UEFI 引导加载程序. 解决方案 我有 ELF 内核.所以我需要一个引导加载程序来加载我的 64 位 ELF 文件. 你有一个 ELF 内核;所以你可能需要一个引导加载程序: 加载内核的 ELF 文件 告 ..
发布时间:2021-11-25 07:37:52 C#

为什么 NTOSKRNL.exe IMAGE_MACHINETYPE 标头字段仅在某些版本的 Windows 7 x64 上设置为 x86?

我使用的是 Windows 7 家庭高级版 x64.我想知道为什么我的 system32 目录中 ntoskrnl 标头中的 IMAGE_MACHINETYPE 字段指定 x86.IDA 甚至会让我将它分解为原生 x86. 然而在我的 Windows 7 pro 机器上,image_machinetype 是 x64.我是不是遗漏了什么……或者为什么 ntoskrnl 在 64 位操作系统上 ..
发布时间:2021-11-25 06:01:28 C#