Tag: 内核

什么是操作系统内核? 它与操作系统有什么不同?

我无法理解内核和操作系统之间的区别。 我没有看到他们之间的任何区别。 内核是一个操作系统吗?

Linux内核实时debugging,如何完成以及使用哪些工具?

什么是最常见的,为什么不常用的方法和工具在Linux内核上进行实时debugging? 我知道Linus例如。 反对 Linux内核的这种debugging,或者至less是在那个年代没有做过那么多的事情,但是从2000年开始,老实说已经有很长的一段时间了,而且我对Linux的心态如何变化感兴趣项目和当前使用哪些当前方法在Linux内核上进行实时debugging(本地或远程)? 欢迎参考有关所提及技术和工具的演练和教程。

如何以编程方式禁用硬件预取?

我想以编程方式禁用硬件预取。 从使用硬件实现的预取程序优化英特尔®酷睿™微体系结构上的应用程序性能以及如何在32位英特尔®体系结构上进行硬件和软件预取之间进行select ,我需要更新MSR以禁用硬件预取function。 这是一个相关的片段: “DPL Prefetch和L2 Streaming Prefetch设置也可以通过编写一个设备驱动实用程序来改变IA32_MISC_ENABLE寄存器 – MSR 0x1A0的位,从而以编程方式进行更改,这种实用工具可以启用或禁用预取机制,而不需要任何服务器停机。 下表显示IA32_MISC_ENABLE MSR中为了控制DPL和L2stream预取而必须更改的位: Prefetcher Type MSR (0x1A0) Bit Value DPL (Hardware Prefetch) Bit 9 0 = Enable 1 = Disable L2 Streamer (Adjacent Cache Line Prefetch) Bit 19 0 = Enable 1 = Disable" 我尝试使用http://etallen.com/msr.html,但没有奏效。 我也尝试直接在asm/msr.h使用wrmsr ,但是那段错误。 我试图在一个内核模块中做这个…并杀死了机器。 顺便说一句 – 我正在使用内核2.6.18-92.el5,它有MSR链接在内核中: $ grep -i msr […]

什么是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.8 7f3c00179000-7f3c00379000 —p 00042000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00379000-7f3c0037a000 r–p 00042000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c0037a000-7f3c0037b000 rw-p 00043000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c0037b000-7f3c00383000 r-xp 00000000 08:01 21237216 /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0 7f3c00383000-7f3c00583000 —p 00008000 08:01 21237216 /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0 7f3c00583000-7f3c00584000 r–p 00008000 08:01 21237216 /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0 7f3c00584000-7f3c00585000 rw-p 00009000 08:01 21237216 /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0 7f3c00585000-7f3c0059b000 r-xp […]

获得iOS系统的正常运行时间,睡眠时不会暂停

我正在寻找一种方法来获得一个绝对的,不断增加的iOS系统正常运行时间。 它应该返回自设备上次重新启动以来的时间,而不会受到系统date更改的影响。 当设备睡着时(CACurrentMediaTime,[NSProcessInfo systemUptime],mach_absolute_time),或者系统date改变(sysctl / KERN_BOOTTIME)时,所有的方法都可以暂停。 有任何想法吗?

操作系统开发入门有哪些资源?

有一件事我一直想做的是开发我自己的操作系统(不一定像Linux或Windows那样的花哨,但是比我已经做的一个简单的引导装载程序更好)。 我很难find资源/指南,通过编写一个简单的“Hello World”操作系统。 我知道很多人可能会推荐我看看Linux或BSD; 但是像这样的系统的代码库(可能)是如此之大,我不知道从哪里开始。 有什么build议么? 更新:为了让那些通过Google登陆这个post的人更容易一些操作系统开发资源: 编写自己的操作系统 (感谢Adam) Linux从零开始 (谢谢John) SharpOS(C#操作系统) (感谢lomaxx) Minix3和Minix2 (感谢Mike) 操作系统开发维基和论坛 (谢谢史蒂夫) BonaFide (感谢史蒂夫) 麸 (谢谢史蒂夫) 滚动自己的玩具UNIX克隆操作系统 (感谢史蒂夫) Broken Thorn OS开发系列 其他资源: 我find了一个名为MikeOS的好资源,“MikeOS是一个学习工具,可以演示简单的操作系统是如何工作的,它使用16位实模式访问BIOS,所以它不需要复杂的驱动程序” 更新11/14/08 我在Freebyte的指南中发现了一些资源…免费和非免费的操作系统 ,链接到工具包,如OSKit和ExOS库。 这些对于开始操作系统开发看起来非常有用。 更新2/23/09 里卡东京在这个问题上推荐nanoos 。 Nanoos是用C ++编写的操作系统。 更新3/9/09 Dinah为有抱负的操作系统开发人员提供了一些有用的Stack Overflow讨论: 创build自定义操作系统的路障讨论了在开发OS和OS开发时可能遇到的缺陷,这是一个更为一般的讨论。 更新7/9/09 LB提供了Pintos项目的链接, Pintos项目是为学习操作系统开发的学生devise的教育操作系统。 更新7/27/09(仍然强劲!) 我偶然发现了来自伯克利的在线操作系统课程 ,有23个讲座。 TomOS是MikeOS的一个分支,包括一点内存pipe理器和鼠标支持。 作为MikeOS,它被devise成一个教育项目。 它是用NASM汇编写的。 2009年8月4日更新 我find了幻灯片和其他材料 ,以及上面列出的在线伯克利讲座。 更新8/23/09 所有问题在stackoverflow上标记为osdev […]