kernel

给 Ubuntu 16.04 64bit(4.4内核)添加一个最简单的系统调用

以前虽然知道原理,但是没真的实践过,这次就留个记录吧 获取内核源码 apt-get提供了一个非常便捷的方式下载内核源码 apt-get source linux-image-$(uname -r) 完成后将会在你的当前目录下产出对应的压缩包及解压后的目录linux-x.x 向 syscall table 添加入口 用你最喜欢的编辑器打开 arch/x86/entry/syscalls/syscall_64.tbl,追加一行 322 64 execveat stub_execveat 323 common userfaultfd

  • Hongcai Deng
    Hongcai Deng
2 min read
Laravel

让 Laravel 运行在 Swoole 中

Laravel是目前比较好的PHP框架,为工匠设计。在熟悉以后,其丰富的特性可以极大的提升开发的效率。但是Laravel有一个致命的缺点:相对于其他的MVC框架来说,性能差强人意。 这里我们使用Laravel 5.1.6,PHP 5.6.9,PHP-FPM的组合进行测试,测试页面为Laravel默认的welcome。经过反复试验,PHP-FPM的worker的数量对测试结果没有明显的影响 RPS仅仅只有30.4,这性能表现对于一个正常的Hello World性质的welcome页面来说实在是太差 到底性能差在什么地方?框架加载时间 我们在Laravel的入口文件里加上时间计算 访问一次后 仅仅只是计算了框架初始化的时间,还并没真正进入到业务的逻辑就已经消耗了这么长的时间 如何解决或者说缓解这个问题,使我们可以开发效率和性能兼得呢?用Swoole PHP-FPM的工作原理是对于每次请求,

  • Hongcai Deng
    Hongcai Deng
5 min read
FPGA

DIGILENT Nexys4 使用中的坑

当需要下载代码到FPGA时,Adept直到到2.4.2这个版本依然不支持Nexys4的开发板,必须使用ISE自带的iMPACT下载,我现在所使用的版本是14.7。并且在下载时,看清楚你的板子的Flash的型号,每块板子的Flash型号并不是一样的 Nexys4板上有巴特沃斯滤波器,因此虽然没有音频ADC,仍然可以让引脚输出PWM波来发声。要注意的一点是滤波器的两个运放有个SDA使能引脚,但是板上并没有将这两个引脚接到音频插座J8的使能口上,音频输出时需要手动将它置为高

  • Hongcai Deng
    Hongcai Deng
1 min read