linux-kernel

    8热度

    1回答

    我已阅读'Linux设备驱动程序'(which can be found here)中的第7章,可以用'jiffies'来衡量。股票jiffies变量的问题在于它经常包裹(特别是如果你的CONFIG_HZ设置为1000)。 在我的内核模块中,我保存了一个jiffies值,该值设置为将来的某个时间,并在稍后与当前'jiffies'值进行比较。我已经学会已经有称取32位瞬间包裹考虑到这样比较我用这两个

    13热度

    8回答

    Azul Systems拥有一个支持数千个缓存一致性CPU的设备。我很想知道为了安排数千个同时运行的线程而需要对操作系统进行哪些更改。

    6热度

    3回答

    在linux内核中,mem_map是包含所有“结构页”描述符的数组。这些页面包含lowmem中的128MiB内存,用于动态映射highmem。 由于lowmem大小为1GiB,因此mem_map阵列仅有1GiB/4KiB = 256KiB条目。如果每个条目大小是32字节,则mem_map存储器大小= 8MiB。但是,如果我们可以使用mem_map来映射所有4GiB物理内存(如果我们在x86-32上

    4热度

    4回答

    在Linux下,如何知道特定进程拥有/正在使用物理内存中的给定地址? 我知道这可能需要编写一个内核模块来访问某些内核数据结构并将结果返回给用户 - 我需要知道如何完成,无论它有多复杂。

    10热度

    6回答

    我在写一个内核模块,它注册了一个netfilter钩子。我试图通过使用sk_buff-> saddr成员来获取调用者的IP地址。有没有一种方法可以让我的IP以可读的形式出现,即x.x.x.x格式? 我找到函数inet_ntop(),但它似乎在内核头文件中不可用。如何将\ xC0 \ xA8 \ x00 \ x01转换为192.168.0.1?

    2热度

    2回答

    在Linux内核中,给定task_struct的mm我可以访问进程的列表vm_area_struct s。鉴于这些vm_area_struct s,我如何获得实际上对应于此vma的struct page? 我试着在mm/memory.c之类寻找函数,但是我不知所措。 编辑:这个想法是找出vma中的哪些页面当前在内存中,哪些不在内存中。但我不要希望有人告诉我如何做到这一点,因为这是我需要自己弄清楚的

    4热度

    3回答

    在您回答之前vi ... 我正在为主要为Windows/Visual Studio背景的程序员设置开发环境。当然Emacs和Eclipse可以想到IDE,但我只是想确保我没有遗漏任何与构建工具集成等相关的东西。 在此先感谢

    27热度

    3回答

    我想强制Linux内核在缓存开始占用太多内存之后为应用程序分配更多的内存(如'free'输出所示)。 我已经运行 sudo sync; sudo sysctl -w vm.drop_caches=3; free (释放阀瓣的dentry /索引节点缓存和页面缓存),而我看到,只有关于所使用的高速缓存的一半被释放 - 其余部分保持。我怎么知道什么是占用缓存的其余部分并强制它被释放?

    4热度

    4回答

    我想使用netlink在应用程序和内核空间之间进行通信。我的Linux内核版本2.6.28是,和下面是我的错误代码: nf_sock=netlink_kernel_create(NL_PROTO,0,nl_user_skb,THIS_MODULE); 缩写的错误信息是: error: too few arguments to function 'netlink_kernel_create'

    1热度

    2回答

    我正在尝试按照教程在Linux中创建自定义USB驱动程序,并且希望在使用g ++的Ubuntu Eee的Eee PC上开发这个东西。不幸的是,按照教程我需要linux/module.h头文件。根据我的理解,我需要编译内核才能使其工作。我从来没有编译过内核,所有的指令都是针对桌面Ubuntu的。 我在Eee上这样做,因为如果我可以做到这一点并将其用于课堂项目,我将在课堂上获得额外的学分。 ,我下面的