kernel 相关问题

在计算中,内核是管理来自软件的输入/输出请求的计算机程序,并将它们转换成用于中央处理单元和计算机的其他电子组件的数据处理指令。内核是现代计算机操作系统的基础部分。此标记用于有关在操作系统内核上下文中运行的代码的一般问题。

在嵌入式 Linux 内核 5.4.31 上未显示启动徽标

我目前正在使用 STM32MP octavo 板,特别是 OSD32MP1-BRK 型号,它运行的是嵌入式 Linux 内核版本 5.4.31。作为我项目的一部分,我正在尝试显示一个

回答 0 投票 0

崩溃:无效的结构成员偏移量:kmem_cache_s_num 文件:memory.c 行:9619 函数:kmem_cache_init()

我正在学习 linux 内核开发。对它很陌生。我在玩弄内核恐慌。 我的操作系统版本: pegasus@pegasusv:~$ uname -a Linux pegasusv 5.19.0-41-generic #42-Ubuntu SMP PREEMPT_DYNAMIC Mon ...

回答 0 投票 0

运行代码后在 spyder 编辑器中重新启动内核

我正在使用 networkx==1.9 和 metis==0.2a5 进行 k-way 图分区。但是,在 spyder 中执行我的代码后,我收到以下消息并最终重新启动内核...由 eac 随机...

回答 0 投票 0

为什么我的内核没有加载?我正在使用 IMG BURN,它只允许我使用 1 个扇区,即使我的引导加载程序 = 512 字节它说它太大了!为什么?

我制作了操作系统的内核,但是当我加载 .ISO 时它只能启动!我使用 IMG BURN,无论如何它只允许我使用 1 个扇区,所以如果它是软件请告诉我任何 o...

回答 0 投票 0

linux内核skb进程函数__netif_receive_skb_core()pt_prev有什么用

读取linux内核接收包处理函数__netif_receive_skb_core()。 我发现 ptype 逻辑很奇怪, pt_prev = NULL; list_for_each_entry_rcu(ptype, &ptype_all, li...

回答 0 投票 0

How to implement an int3 handler to break execution in gdb, in a homemade kernel?

环境:qemu,qemu -s(内置gdbserver); x86,自制引导加载程序和内核; QEMU 读取一个硬盘映像,其中包含一个引导加载程序,它加载内核代码。 目标:假设受保护的 m...

回答 0 投票 0

为 usbbusif 添加库

我正在使用 VisualStudio 2019 中的 KMDF 框架/模板开发内核驱动程序。在进行此工作时,我需要使用 USB_BUS_INTERFACE_USBDI_GUID 的 GUID。在调查了我之后...

回答 0 投票 0

使用 IOVA-VA 内存模式时出现 DPDK EAL 错误

我在 VMWARE 服务器 (vSphere) 中运行虚拟机。 我的目标是设置具有两个硬件端口的 DPDK,并设置一个 virtio_user 来与内核堆栈交互。 在另一个应用程序中,我可以正常工作但是...

回答 0 投票 0

为什么我的 JupyterLab 没有使用 Python3 内核启动?

我在桌面上安装了 JupyterLab,并从 Microsoft Store 安装了 Python 4.11。我确认我安装了最新版本的 JupyterLab。当我启动 JupyterLab 应用程序时,我得到了一些......

回答 0 投票 0

Raspberry pi4:带有 RT 扩展的 64 位内核

我按照这些说明安装了 RPI 64 位的 RT 扩展: 树莓派 4B 64 位 RT 内核编译 该程序有效,我到达了最后,新内核似乎起作用了……

回答 2 投票 0

Kernel Restarting好像死了

正在使用这个用户定义的函数 interactions_mapping(DB_PATH,DB_FILE_NAME,INTERACTION_MAPPING,INDEX_COLUMNS) 存在于 utils.py 中 def interactions_mapping(db_path,db_file_name,

回答 0 投票 0

提示 linux 不要中断线程?

我为我机器上的每个核心启动一个线程。每个线程将运行一个关键函数 1-5 次。我通过在函数上使用相同的数据进行了测试。我测得每次运行大约 95-170 毫秒。是...

回答 0 投票 0

如何在保护模式下使用 x86 ASM 或 C 在屏幕上以高分辨率(1920x1080 或 1366x768)绘制像素?

我正在尝试构建一个爱好操作系统,并且我已经成功构建了我自己的两阶段引导加载程序,它在切换到保护模式后处理对内核的控制。我能够显示

回答 0 投票 0

未解析的外部符号_ftused

我正在使用 Visual Studio 2019 及其 KMDF 模板为 Windows 10 (x64) 创建内核驱动程序,但我遇到了以下错误。 严重性代码描述项目文件 ...

回答 0 投票 0

在另一个带有 EXPORT_SYMBOL 的 linux 模块上使用函数

我正在尝试执行我制作的 linux 模块的功能。但我没有成功。 这是项目 我创建了一个小函数来将 int 转换为 str float: #包括 我正在尝试执行我制作的 linux 模块的功能。但我没有成功。 这是项目 我创建了一个小函数来将 int 转换为 str float: #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/string.h> #include "service.h" #include "fp_printk.h" #define OURMODNAME "fp_printk" MODULE_AUTHOR("Guilherme Giacomo Simoes <[email protected]>"); MODULE_DESCRIPTION("This lib will show float-point in printk()"); MODULE_LICENSE("MIT"); MODULE_VERSION("0.4.1"); void fp_printk(int number, int decimal_places, char* destination) { static char buffer[32] = { 0 }; int buf_index = 30; int count_decimal_place = 0; int point_include = 0; for (; number && buf_index; --buf_index, number /= 10) { count_decimal_place++; if (!point_include && count_decimal_place > decimal_places) { buffer[buf_index] = '.'; buf_index--; point_include = 1; } buffer[buf_index] = "0123456789"[number % 10]; } strcpy(destination, &buffer[buf_index + 1]); } static int __init fp_printk_init(void) { printk(KERN_INFO "%s: initial execute module", OURMODNAME); return 0; } static void __exit fp_printk_exit(void) { printk(KERN_INFO "%s: module end", OURMODNAME); } module_init(fp_printk_init); module_exit(fp_printk_exit); EXPORT_SYMBOL(fp_printk); 转换后,将str复制到目标参数。 在我的测试模块中,我调用: #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <asm/fpu/api.h> #include <linux/slab.h> #include "../fp_printk.h" MODULE_AUTHOR("Guilherme Giacomo Simoes <[email protected]>"); MODULE_DESCRIPTION("LKP book:ch5/fp_in_lkm: no performing FP \ (floating point) arithmetic in kernel mode"); MODULE_LICENSE("Dual MIT/GPL"); MODULE_VERSION("0.1"); static int __init fp_in_lkm_init(void) { const int number = 1234; const int decimal_places = 2; char *r = (char*) kmalloc(sizeof("12.34"), GFP_KERNEL); printk(KERN_INFO "antes de executar\n"); extern void fp_printk(number, decimal_places, r); printk(KERN_INFO "teste apos a conversao"); printk(KERN_INFO "%s",r); printk(KERN_INFO "teste apos o printk"); return 0; } static void __exit fp_in_lkm_exit(void) { printk(KERN_INFO "removed\n"); } module_init(fp_in_lkm_init); module_exit(fp_in_lkm_exit); 但是当我运行 sudo dmesg 查看 printks 时,我只查看: [1210228.128703] test_fp_printk: antes de executar [1210228.128712] test_fp_printk: teste apos a conversao 它不打印 str 如果我在 module_init 中调用 fp_printk(),它会起作用。 static int __init fp_printk_init(void) { printk(KERN_INFO "%s: initial execute module", OURMODNAME); char *dest = kmalloc(sizeof("12.34"), GFP_KERNEL); fp_printk(1243, 2, dest); printk(KERN_INFO, "%s", dest); return 0; } 在您的fp_in_lkm_init()函数中,您正在尝试调用fp_printk()。像这样: extern void fp_printk(number, decimal_places, r); 但是,这不是调用函数的正确方法。在这里,您只是(不必要地)为函数添加一个函数原型,而不是调用它。 你只需要: fp_printk(number, decimal_places, r);

回答 1 投票 0

在 rcu 阅读器端临界区使用 list_for_each_entry 会导致问题吗?

在linux内核中,list_for_each_entry_rcu用于遍历reader side critical section中的rcu protected list。如果改用 list_for_each_entry 会怎样?它会引起问题吗?

回答 1 投票 0

内核调试时-找到用户态地址的页面保护

内核调试 windows (XP SP3) 机器时, 我想找到一个用户模式地址的页面保护(实际上只是为了检查它是否是一个No-Execute页面)。 扩展名 !vprot(d ...

回答 1 投票 0

Android 开源项目中设置的属性“ro.boot.bootreason”在哪里?

我有 2 台不同安卓版本的设备(10 和 11),我在它们上有不同的启动原因。我有一些特定的逻辑,它取决于启动原因重启或用户请求,但有时我

回答 0 投票 0

如何使用 ggplot2 绘制“困难的”概率分布

背景 某些概率分布,如商分布(又名比率分布),柯西分布的一个具体例子,似乎很难形象化,因为......

回答 1 投票 0

如何使用循环进行情感分析,以便对 114 篇文章进行同样的分析?

我正在尝试对 114 篇文章进行情感分析,并使用循环以紧凑的方式完成它。 我需要从 Excel 文件中的链接中提取文本,完成情感分析...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.