Linux 内核技术分享
Linux 是目前应用最广泛的开源操作系统之一,绝大部分互联网厂商的服务端程序均是基于 Linux 系统部署、运维。Linux 内核技术是 Linux 操作系统的精华所在,学习 Linux 内核有助于我们更好的开发、调试、运维 Linux 服务程序。本文会尝试从几个线条阐述 Linux 内核的原理、实现,希望能为大家在 Linux 技术学习提供帮助。
作者:lecury
本文从底层实现机制,分析 Linux 线程与其他操作系统线程的区别。然后接着从资源、调度、性能层面,分析 Linux 线程与进程的差异。紧接着,再阐述一下 Linux 操作系统线程的使用方式,并分享三种常用的多线程模型,最后再分享一下自己在使用线程的过程中,踩过的坑和小技巧。
作者:lecury
本文从基础层面阐述进程概念、解析进程描述符、分析进程创建与上下文切换以及 init 进程的作用和特殊之处;然后从应用角度出发,分析进程间的通信方式、信号处理等,接着以 nginx 应用为例,分析 nginx 的多进程模型;最后介绍一下常用的系统工具,辅助了解进程的一些特性和排查相关问题。通过本次 Live,可以较为全面的认识 Linux 进程模型,熟悉多进程场景下的设计,同时对面试、开发、设计、问题追查都有着一些帮助。
作者:lecury
本文从基础层面描述操作系统的存储层次、段页的寻址机制和进程地址空间的构成;然后从上层视角阐述操作系统的内存分配策略、实存与虚存的概念。
作者:lecury
本文从基础层面阐述 Linux 虚拟文件系统的概念和原理,然后是实现层面分析 Linux 虚拟文件系统的组成部分和实现细节,最后总结 Linux 虚拟文件系统的好处和必要性。
作者:lecury
本文介绍了 Linux cgroups 的概念和组成部分,并详细的介绍了 cgroups 各个子系统的作用和使用方法,最后以代码 Demo 的方式实践了 cgroups 的作用。
版权声明: 本文为 InfoQ 作者【lecury】的原创文章。
原文链接:【http://xie.infoq.cn/article/336beeeb3aa6945a5c78308e1】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论