我写了一个内核模块来检查CR4.PCIDE,它没有设置.为什么Linux不使用这样的功能来减少因TLB失效和缓存污染导致的性能下降?
我注意到GPU可以拥有数百个内核,因此可以大大加快并行计算速度.似乎在OS内核中,没有并行算法用于加速.
人们使用OpenMP进行并行计算,但为什么不在内核空间呢?我想OS中有很多需要并行处理的任务,比如处理多个网络连接和数据包,进行加密操作,管理内存,搜索等等......有些防火墙通过匹配模式过滤和监控网络流量,研究型操作系统也可以在运行之前分析程序,这既耗时又可并行化.
那么为什么操作系统不使用GPU来提高性能和吞吐量呢?在GPU上运行OS计算是否有意义?
AC程序源代码可以根据C语法进行解析(在CFG中描述)并最终变成许多AST.我正在考虑是否存在这样的工具:它可以通过首先随机生成许多AST来做相反的事情,其中包括没有具体字符串值的令牌,只有令牌的类型,根据CFG,然后生成混凝土令牌根据令牌在正则表达式中的定义.
我可以想象第一步看起来像一个迭代的非终端替换,它是随机的,并且可以受到一定数量的迭代次数的限制.第二步是根据正则表达式生成随机字符串.
有没有可以做到这一点的工具?
我有一个想法,在过去,XFree86使用/ dev/fb*framebuffer设备.但现在看起来GUI系统使用OpenGL,这是一个开放标准.那么OpenGL是最低级别的开放API吗?通过'开放',我的意思是没有模糊的私人ioctl或闭源的东西.
更新:
在与@datenwolf讨论后,我得到了我需要的东西,@ datenwolf也提供了很好的答案.如果有人想要更多编码细节:X服务器驱动程序是任何GPU上X系统的最低公共级别.要了解X服务器驱动程序必须实现哪种接口:请参阅DDX Design,它是最新X.org的详细文档,告诉您如何编写X驱动程序.