void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); start:映射区的开始地址 length:映射区的长…
标签:内核
Linux系统查看内存使用情况
Windows及带有GUI的Linux操作系统中,我们通常可以使用UI查看系统内存及空间使用情况,但是对于开发或者运维人员来说,经常要工作在没有GUI的Linux的服务器,命令行能比GUI提供更多功能和灵活性。 特别当我…
微信小程序/小游戏运行环境小结
1 运行环境 微信小程序分为逻辑层和渲染层,分别运行在各自的线程中。两个线程之间的通信经由微信客户端(Native)做中转,逻辑层发送网络请求也经由Native转发。 渲染层使用WebView进行渲染,逻辑层采用JSCo…
更好的任务窃取可以使 Linux 更快吗?
Oracle Linux 内核开发人员 Steve Sistare 参与了这场有关内核调度程序改进的讨论。 通过可扩展的任务窃取进行负载平衡 Linux 任务调度程序通过将唤醒的任务推送到空闲的 CPU,以及在 CPU …
Linux 内核测试的生命周期
内核持续集成(CKI)项目旨在防止错误进入 Linux 内核。 在 Linux 内核的持续集成测试 一文中,我介绍了 内核持续集成Continuous Kernel Integration(CKI)项目及其使命:改变内核…
在 21 世纪该怎样编译 Linux 内核
也许你并不需要编译 Linux 内核,但你能通过这篇教程快速上手。 在计算机世界里,内核kernel是处理硬件与一般系统之间通信的低阶软件low-level software。除过一些烧录进计算机主板的初始固件,当你启动…
Linux系统调用原理
操作系统通过系统调用为运行于其上的进程提供服务。 当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程…
记录一次 FreeBSD 的内核编译
最近想在 FreeBSD 下尝试下虚拟化解决方案jail,但是默认的阿里云内核不支持虚拟网络栈,所以只能重新编译内核 删除并重新下载内核源码 删除自带的内核源码rm -rf /usr/src 下载内核源码wget htt…
Linux 内核生日快乐 —— 那么你喜欢哪个版本?
自从第一个 Linux 内核发布已经过去 28 年了。自 1991 年以来发布了几十个 Linux 内核版本,你喜欢的是哪个?投个票吧! 让我们回到 1991 年 8 月,那个创造历史的时间。科技界经历过许多关键时刻,这…
如何在 Ubuntu 18.04 LTS 中获取 Linux 5.0 内核
最近发布的 Ubuntu 18.04.3 包括 Linux 5.0 内核中的几个新功能和改进,但默认情况下没有安装。本教程演示了如何在 Ubuntu 18.04 LTS 中获取 Linux 5 内核。 Ubuntu 18…
探索 Linux 内核:Kconfig/kbuild 的秘密
深入理解 Linux 配置/构建系统是如何工作的。 自从 Linux 内核代码迁移到 Git 以来,Linux 内核配置/构建系统(也称为 Kconfig/kbuild)已存在很长时间了。然而,作为支持基础设施,它很少成…
Linux 内核的持续集成测试
CKI 团队是如何防止 bug 被合并到 Linux 内核中。 Linux 内核的每个发布版本包含了来自 1,700 个开发者产生的 14,000 个变更集,很显然,这使得 Linux 内核快速迭代的同时也产生了巨大的复…