标签: kernel

sysconf(_SC_CLK_TCK)返回什么?

我试图了解各种sysconf宏.我编写了一个程序如下.

int main()
{
    fprintf(stdout, "No. of clock ticks per sec : %ld\n",sysconf(_SC_CLK_TCK));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我总是得到100的结果.我在一个时钟频率为2.93GHz的CPU上运行它.数字100的确切含义是什么.

c linux kernel

14
推荐指数
1
解决办法
2万
查看次数

1024个CPU的内核调度

Azul Systems有一个支持数千个高速缓存一致CPU的设备.我希望能够深入了解操作系统需要进行哪些更改才能安排数千个同时运行的线程.

multithreading bsd kernel linux-kernel

13
推荐指数
4
解决办法
1442
查看次数

Windows如何保护转换到内核模式?

Windows如何防止用户模式线程任意将CPU转换为内核模式?

我理解这些事情是真的:

  1. 当通过NTDLL进行系统调用时,用户模式线程实际上转换到内核模式.
  2. 向内核模式的转换是通过特定于处理器的指令完成的.

那么通过NTDLL对这些系统调用有什么特别之处呢?为什么用户模式线程不能伪造它并执行特定于处理器的指令转换到内核模式?我知道我在这里错过了一些关键的Windows架构......它是什么?

windows winapi kernel

13
推荐指数
3
解决办法
2749
查看次数

如何在Buildroot中配置Linux内核?

我正在尝试为x86目标构建一个rootfs,这很简单.但是我无法弄清楚我如何配置buildroot生成的内核.第一次运行时出现了menuconfig,但从那时起缓存了.config,我无法看到在哪里更改它.

~650MB的内核模块对嵌入式目标没有好处:P

有没有一种简单的方法在buildroot中配置内核?像uclibc-menuconfig目标这样的东西是完美的.

linux embedded kernel buildroot

13
推荐指数
2
解决办法
3万
查看次数

什么是沙盒

当反病毒在称为"沙盒"的虚拟环境中运行某些应用程序时,从Windows内核的角度来看,这个沙箱是如何精确工作的?

写这样的沙箱难吗?

c++ windows kernel sandbox

13
推荐指数
1
解决办法
1336
查看次数

在Linux内核源代码中实现系统调用/陷阱

我目前正在学习操作系统使用陷阱来促进Linux内核中的系统调用.我在traps.c中找到了陷阱表,并在entry.S中实现了许多陷阱.

但是,我被指示在Linux内核中找到两个系统调用的实现,它使用陷阱来实现系统调用.虽然我可以找到陷阱本身的定义,但我不确定内核中的其中一个陷阱的"调用"是什么样的.因此,我正在努力寻找这种行为的一个例子.

在有人问之前,是的,这是作业.

作为一个注释,我正在使用Github浏览内核源代码,因为kernel.org已关闭:https: //github.com/torvalds/linux/

c kernel system-calls linux-kernel

13
推荐指数
2
解决办法
3712
查看次数

什么编程语言是android os及其内核编写的?

我只是想知道什么编程语言是android操作系统而且内核是写的..


android kernel

13
推荐指数
1
解决办法
2万
查看次数

为什么sockaddr_in需要零填充?

我用谷歌搜索了一些人说"要与struct sockaddr保持相同的大小".但内核不会直接使用sockaddr(对吧?).使用时.内核会把它重新归结为它.那么为什么需要零填充?

struct sockaddr {
    unsigned short    sa_family;    // address family, AF_xxx
    char              sa_data[14];  // 14 bytes of protocol address
};

struct sockaddr_in {
    short            sin_family;   // e.g. AF_INET, AF_INET6
    unsigned short   sin_port;     // e.g. htons(3490)
    struct in_addr   sin_addr;     // see struct in_addr, below
    char             sin_zero[8];  // zero this if you want to
};

struct in_addr {
    unsigned long s_addr;          // load with inet_pton()
};
Run Code Online (Sandbox Code Playgroud)

c linux kernel

13
推荐指数
1
解决办法
8395
查看次数

优先顺序 - printk()vs dev_dbg()vs netdev_dbg()

我最近在linux源代码树中运行了scripts/checkpatch.pl脚本并得到了这个警告:

WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then pr_debug(...  to printk(KERN_DEBUG ...
printk(KERN_DEBUG "Hello World! \n");
Run Code Online (Sandbox Code Playgroud)

据我所知,pr_debug和dev_dbg提供的动态调试界面对printk有明显的优势,因此它们比printk更受欢迎.

即使在dev_dbg和pr_debug中,如果我们有一个结构设备来标准化设备信息输出以及我们的调试消息,我们更喜欢dev_dbg.它提供了从"编辑/重建/重启循环"中逃脱的功能,还允许通过dynamic_debug/control接口维护整洁的日志.

我的问题是: 为什么netdev_dbg更喜欢dev_dbg?

linux kernel kernel-module linux-device-driver

13
推荐指数
1
解决办法
8117
查看次数

Android中主机卡仿真的编辑功能

我目前正在为我的大学课程开发一个项目,我希望能够编辑Android的HCE功能的功能,以便在模拟卡片时设置我自己的UID.

现在,我已经下载了AOSP源代码,并构建了一个没有编辑代码的自定义映像,并将其安装到我的Nexus 7中(这包括下载并包含供应商特定的硬件驱动程序),我仍然坚持下一部分.

我实际上找不到管理Android的NFC功能的设备代码,我不确定如何去寻找a)寻找它,以及b)我应该如何编辑这段代码.

基于内核的Android中的NFC代码是什么?如果是这样,在我再次运行"make"并希望它构建之前,我将如何编辑?还是在其他地方?我注意到我下载和提取的Vendor文件夹中的文件是.ncd格式,我认为这是不可编辑的.

我能得到的任何帮助将不胜感激.

android kernel serial-number nfc hce

13
推荐指数
2
解决办法
1万
查看次数