kernel相关内容
我不知道如何使 XGBoost 分类器工作.我在 Jupyter notebook 上运行下面的代码,它总是生成这条消息“内核似乎已经死了.它将自动重启." 从 xgboost 导入 XGBClassifier模型 = XGBClassifier()模型.fit(X, y) 导入 XGBClassifier 没有问题,但是在将其拟合到我的数据时会崩溃.X 是 502 由 33 个全数字数据帧,
..
我有这个问题,每次我在 Python 中运行包含函数的脚本时,它都会崩溃并重新启动一个全新的内核.然后 IPython 窗口还会显示 Restarting kernel... 我已经尝试卸载并重新安装 Anaconda 和 Spyder.我也遵循了这篇文章中提供的步骤: 无法更新新的 spyder=5.1.5蟒蛇安装 再次卸载并重新安装后,Spyder (4.2.5) 可以运行一
..
我的数据是预处理的图像数据,我想分开两个类.理论上(并希望在实践中)最佳阈值是双峰分布数据中两个峰值之间的局部最小值. 我的测试数据是:http://www.file-upload.net/download-9365389/data.txt.html 我试图遵循 此线程:我绘制了直方图并计算了核密度函数: datafile
..
我正在为我正在开发的一个非常基本的内核处理键盘输入,但我完全卡住了.我似乎无法在网上找到任何可以显示我需要了解的信息的信息. 我的内核现在正在保护模式下运行,所以我无法使用实模式键盘例程而不跳转到实模式并返回,我试图避免这种情况.我希望能够从保护模式访问我的键盘.有谁知道如何做到这一点?到目前为止我发现的唯一一件事是它涉及使用输入/输出端口直接与控制器对话,但除此之外我很难过.当然,这不是经
..
陷阱和中断有什么区别? 如果不同系统的术语不同,那么它们在 x86 上的含义是什么? 解决方案 A 陷阱 是用户进程中的异常.它是由除以零或无效的内存访问引起的.这也是调用内核例程(系统调用)的常用方法,因为那些以更高优先于用户代码.处理是同步的(因此用户代码被挂起并在之后继续).从某种意义上说,它们是“主动的"——大多数时候,代码期望陷阱发生并依赖于这个事实. 中断 是由硬件
..
Linux 内核在 x86 架构上的默认内存页大小是 4 KB,我想知道它是如何计算的,为什么? 解决方案 默认页面大小由 CPU 的 MMU(内存管理单元)支持的内容决定.在 32 位保护模式下 x86 支持两种页面: 普通的,4 KiB 巨大的,4 MiB 并非所有 x86 处理器都支持大页面.需要有一个具有页面大小扩展 (PSE) 功能的 CPU.这不包括奔腾之前的处理
..
我正在用 C 开发内核,并创建了一些可以在视频内存的屏幕上打印的内容.我希望视频内存中的第一个字节是要打印的字符,第二个字节告诉颜色.但我的程序有一些不同的东西,但它有效!!这是非常出乎意料和不寻常的. 我的内核代码- #define VIDEO_MEM 0xb8000void write_string( int colour, const unsigned char *string );
..
首先,我想说我发现 Symfony2 是一个了不起的框架,所以我正在使用 FOSRestBundle 等创建一个 RESTful API.但我的目标不是仅支持一个带有 API 的 symfony2 应用程序,我需要多个其他应用程序symfony2 应用程序与 API 交互.我确实可以使用 cURL 来做到这一点,并且只向 API 发出普通的 http 请求,但是因为 API 总是与所有其他项目在同
..
我想研究在 raspberry pi(raspian)、beaglebone(debian) 或我的笔记本电脑 (ubuntu) 上安装和加载的一些设备驱动程序的源文件. 我的目标是通过研究一些实际工作的驱动程序的源文件来学习如何正确实现我自己的模块. 我对与实际硬件(USB、I2C、SPI、UART 等)通信的驱动程序特别感兴趣. 谁能告诉我如何找到这些资源?它们是否在某个特定
..
24 小时后,我收到 Raspberry Pi 2 系统日志消息,此后我必须硬重置/重新启动 Pi. 来自 syslogd@raspberry 的消息于 3 月 20 日 23:30:53 ...内核:[12540.865789] 内部错误:哎呀:17 [#1] PREEMPT SMP ARM来自 syslogd@raspberry 的消息于 3 月 20 日 23:30:53 ...内核:[1
..
如果我想在 Linux 内核空间中执行用户程序(而不是内核模块),我有哪些选择? 我已经看过 KML(内核模式 linux),但这是特定于 IA-32 架构的.我想要一个跨平台的解决方案,可以在嵌入式 linux 系统上工作. 解决方案 用户程序不在内核空间中执行 - 这就是使它们成为用户程序的原因. 如果您想在内核空间中执行代码,您有两个选择:将其构建到内核中,或者使用内核模
..
我正在尝试编译“hello world"内核模块的示例,在 ubuntu 11.04、内核 3.2.6、gcc 4.5.2 和 fedora 16、内核 3.2.7、gcc 4.6.7 上发现的问题. 代码: #include #include MODULE_LICENSE("GPL");静态 int __init hello_init (void){printk("Hello 模块初始化
..
我知道 linux 执行嵌套中断,其中一个中断可以“抢占"另一个中断,但是其他任务呢. 我只是想了解 linux 如何处理中断.它们可以被其他用户任务/内核任务抢占吗. 解决方案 简单回答:一个中断只能被更高优先级的中断中断. 因此中断可以被内核或用户任务中断如果中断的优先级低于内核调度程序中断优先级或用户任务中断优先级. 请注意,“用户任务"是指用户定义的中断.
..
我正在开发一个小型嵌入式系统.当我的 linux 启动到用户空间时,我知道我的设备在物理内存中的位置.我想将它们映射到用户空间虚拟地址.目前,我是通过内核模块来完成的.我使用 vmalloc/kmalloc(取决于大小),然后在返回的虚拟地址上使用 ioremap_page_range 来映射我的物理地址.我不认为这是正确的方法.首先,我正在分配内存,然后我要求内核将该虚拟地址空间重新映射到某个不
..
我正在研究在 Linux 中与 USB 设备通信的方法,并且不想编写 Linux 内核驱动程序.我知道 libusb 存在并且是一个可以工作的用户级库,但是我们的嵌入式设备不支持 usbfs(并且更改内核以添加支持真的很痛苦). 所以我的问题基本上是这样的:是否可以/建议通过直接读写/dev/USB 或与 USB 设备对应的 udev 文件来与 USB 设备通信,从而绕过对自定义 Linux
..
linux 内核中的黑白 __raw_readl/__raw_writel 和 readl/writel 有什么区别?都说readl/writel比__raw_readl/__raw_writel更安全,那我们为什么还要使用__raw_readl/__raw_writel? 在什么情况下我们应该使用这个:__raw_readl/__raw_writel 或 readl/writel ?
..
是否有更好的方法在 Linux 内核中调试打印输出? 现在乱丢代码: printk(KERN_DBG "%s:%d - %s() ", __FILE__, __LINE__, __FUNCTION__ ); 这不是很干净. 应该有一种方法可以使整行 #ifdef: 以某种不错的方式进行编辑. 解决方案 使用 /* 在文件的顶部,在任何包含之前 */#define pr_f
..
我正在尝试在内核驱动程序和用户空间程序之间进行异步通信(我知道这里有很多问题需要类似的信息,但我找不到与 sysfs_notify 相关的问题). 我将 Vilhelm 的编辑留在这里,但是将源添加到一个使用 sysfs 的简单驱动程序和一个用户空间程序来轮询它.驱动程序工作正常(我从网上获得了大部分内容;它缺少信用,但当我回去添加它们时找不到它们).不幸的是,轮询程序不起作用.它总是立即返
..
我一直在尝试移植一些 linux 驱动程序,并意识到 linux 的内核版本 2.4 和 2.6 之间存在重大差异. 在2.4版本的内核中,模块编程如下- #define MODULE#include #include int init_module(void){printk(KERN_INFO "嗨\n");返回0;}void cleanup_module(void){printk(KE
..
我的问题是:当我在设备驱动程序中正确使用 [pci_]dma_sync_single_for_{cpu,device} 时,如何确定何时禁用缓存监听是安全的? 我正在为通过 PCI Express (DMA) 直接写入 RAM 的设备开发设备驱动程序,并且担心管理缓存一致性.我可以在启动 DMA 时设置一个控制位以在 DMA 期间启用或禁用缓存侦听,显然为了性能我希望尽可能禁用缓存侦听.
..