kernel相关内容

jupyter notebook 中的 XGBoost 内核崩溃

我不知道如何使 XGBoost 分类器工作.我在 Jupyter notebook 上运行下面的代码,它总是生成这条消息“内核似乎已经死了.它将自动重启." 从 xgboost 导入 XGBClassifier模型 = XGBClassifier()模型.fit(X, y) 导入 XGBClassifier 没有问题,但是在将其拟合到我的数据时会崩溃.X 是 502 由 33 个全数字数据帧, ..
发布时间:2022-01-10 21:40:57 Python

Spyder 5.1.5 运行自定义函数后创建新内核

我有这个问题,每次我在 Python 中运行包含函数的脚本时,它都会崩溃并重新启动一个全新的内核.然后 IPython 窗口还会显示 Restarting kernel... 我已经尝试卸载并重新安装 Anaconda 和 Spyder.我也遵循了这篇文章中提供的步骤: 无法更新新的 spyder=5.1.5蟒蛇安装 再次卸载并重新安装后,Spyder (4.2.5) 可以运行一 ..
发布时间:2022-01-10 21:23:58 Python

x86 组件上的保护模式键盘访问

我正在为我正在开发的一个非常基本的内核处理键盘输入,但我完全卡住了.我似乎无法在网上找到任何可以显示我需要了解的信息的信息. 我的内核现在正在保护模式下运行,所以我无法使用实模式键盘例程而不跳转到实模式并返回,我试图避免这种情况.我希望能够从保护模式访问我的键盘.有谁知道如何做到这一点?到目前为止我发现的唯一一件事是它涉及使用输入/输出端口直接与控制器对话,但除此之外我很难过.当然,这不是经 ..
发布时间:2022-01-06 13:02:11 其他开发

陷阱和中断有什么区别?

陷阱和中断有什么区别? 如果不同系统的术语不同,那么它们在 x86 上的含义是什么? 解决方案 A 陷阱 是用户进程中的异常.它是由除以零或无效的内存访问引起的.这也是调用内核例程(系统调用)的常用方法,因为那些以更高优先于用户代码.处理是同步的(因此用户代码被挂起并在之后继续).从某种意义上说,它们是“主动的"——大多数时候,代码期望陷阱发生并依赖于这个事实. 中断 是由硬件 ..
发布时间:2022-01-06 12:59:24 其他开发

为什么 Linux (x86) 的页面大小是 4 KB,这是如何计算的?

Linux 内核在 x86 架构上的默认内存页大小是 4 KB,我想知道它是如何计算的,为什么? 解决方案 默认页面大小由 CPU 的 MMU(内存管理单元)支持的内容决定.在 32 位保护模式下 x86 支持两种页面: 普通的,4 KiB 巨大的,4 MiB 并非所有 x86 处理器都支持大页面.需要有一个具有页面大小扩展 (PSE) 功能的 CPU.这不包括奔腾之前的处理 ..
发布时间:2022-01-06 12:51:02 服务器开发

直接打印到文本视频内存时出现意外输出

我正在用 C 开发内核,并创建了一些可以在视频内存的屏幕上打印的内容.我希望视频内存中的第一个字节是要打印的字符,第二个字节告诉颜色.但我的程序有一些不同的东西,但它有效!!这是非常出乎意料和不寻常的. 我的内核代码- #define VIDEO_MEM 0xb8000void write_string( int colour, const unsigned char *string ); ..
发布时间:2022-01-06 12:31:53 其他开发

Symfony 2 - 在服务内处理内核请求(来自另一个应用程序)

首先,我想说我发现 Symfony2 是一个了不起的框架,所以我正在使用 FOSRestBundle 等创建一个 RESTful API.但我的目标不是仅支持一个带有 API 的 symfony2 应用程序,我需要多个其他应用程序symfony2 应用程序与 API 交互.我确实可以使用 cURL 来做到这一点,并且只向 API 发出普通的 http 请求,但是因为 API 总是与所有其他项目在同 ..
发布时间:2022-01-05 15:52:27 PHP

研究设备驱动源文件?

我想研究在 raspberry pi(raspian)、beaglebone(debian) 或我的笔记本电脑 (ubuntu) 上安装和加载的一些设备驱动程序的源文件. 我的目标是通过研究一些实际工作的驱动程序的源文件来学习如何正确实现我自己的模块. 我对与实际硬件(USB、I2C、SPI、UART 等)通信的驱动程序特别感兴趣. 谁能告诉我如何找到这些资源?它们是否在某个特定 ..

在Linux内核空间执行程序

如果我想在 Linux 内核空间中执行用户程序(而不是内核模块),我有哪些选择? 我已经看过 KML(内核模式 linux),但这是特定于 IA-32 架构的.我想要一个跨平台的解决方案,可以在嵌入式 linux 系统上工作. 解决方案 用户程序不在内核空间中执行 - 这就是使它们成为用户程序的原因. 如果您想在内核空间中执行代码,您有两个选择:将其构建到内核中,或者使用内核模 ..
发布时间:2022-01-04 22:51:55 其他开发

中断处理程序可以被抢占吗?

我知道 linux 执行嵌套中断,其中一个中断可以“抢占"另一个中断,但是其他任务呢. 我只是想了解 linux 如何处理中断.它们可以被其他用户任务/内核任务抢占吗. 解决方案 简单回答:一个中断只能被更高优先级的中断中断. 因此中断可以被内核或用户任务中断如果中断的优先级低于内核调度程序中断优先级或用户任务中断优先级. 请注意,“用户任务"是指用户定义的中断. ..
发布时间:2022-01-04 22:50:02 服务器开发

将物理地址映射到虚拟地址 linux

我正在开发一个小型嵌入式系统.当我的 linux 启动到用户空间时,我知道我的设备在物理内存中的位置.我想将它们映射到用户空间虚拟地址.目前,我是通过内核模块来完成的.我使用 vmalloc/kmalloc(取决于大小),然后在返回的虚拟地址上使用 ioremap_page_range 来映射我的物理地址.我不认为这是正确的方法.首先,我正在分配内存,然后我要求内核将该虚拟地址空间重新映射到某个不 ..
发布时间:2022-01-04 22:49:02 服务器开发

访问Linux/dev/USB作为标准文件与USB设备通信

我正在研究在 Linux 中与 USB 设备通信的方法,并且不想编写 Linux 内核驱动程序.我知道 libusb 存在并且是一个可以工作的用户级库,但是我们的嵌入式设备不支持 usbfs(并且更改内核以添加支持真的很痛苦). 所以我的问题基本上是这样的:是否可以/建议通过直接读写/dev/USB 或与 USB 设备对应的 udev 文件来与 USB 设备通信,从而绕过对自定义 Linux ..
发布时间:2022-01-04 22:48:17 服务器开发

Linux内核调试打印输出?

是否有更好的方法在 Linux 内核中调试打印输出? 现在乱丢代码: printk(KERN_DBG "%s:%d - %s() ", __FILE__, __LINE__, __FUNCTION__ ); 这不是很干净. 应该有一种方法可以使整行 #ifdef: 以某种不错的方式进行编辑. 解决方案 使用 /* 在文件的顶部,在任何包含之前 */#define pr_f ..
发布时间:2022-01-04 22:46:12 其他开发

使用 Linux sysfs_notify 调用

我正在尝试在内核驱动程序和用户空间程序之间进行异步通信(我知道这里有很多问题需要类似的信息,但我找不到与 sysfs_notify 相关的问题). 我将 Vilhelm 的编辑留在这里,但是将源添加到一个使用 sysfs 的简单驱动程序和一个用户空间程序来轮询它.驱动程序工作正常(我从网上获得了大部分内容;它缺少信用,但当我回去添加它们时找不到它们).不幸的是,轮询程序不起作用.它总是立即返 ..
发布时间:2022-01-04 22:44:33 服务器开发

DMA 缓存一致性管理

我的问题是:当我在设备驱动程序中正确使用 [pci_]dma_sync_single_for_{cpu,device} 时,如何确定何时禁用缓存监听是安全的? 我正在为通过 PCI Express (DMA) 直接写入 RAM 的设备开发设备驱动程序,并且担心管理缓存一致性.我可以在启动 DMA 时设置一个控制位以在 DMA 期间启用或禁用缓存侦听,显然为了性能我希望尽可能禁用缓存侦听. ..
发布时间:2022-01-04 22:42:29 服务器开发