本文共 1661 字,大约阅读时间需要 5 分钟。
目录
一.摩尔定律
二.分层
三.加速大概率事件
四.通过并行性提高性能
五.通过流水线提高性能
六.通过预测提高性能
七.局部性原理
八.存储器层次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
GRO(Generic Receive Offloading)
RFS (Receive Flow Steering)
RPS(Receive Packet Steering)
《try_to_wake_up()中4个内存屏障的使用都想明白,对操作系统的理解将达到二本水平或者FAE水平》
SELinux 包含五个基本组成:
用于处理文件系统的辅助模块, 即SELinuxFS;
集成Linux Security Modules 的hooks sets;
Security Policy Database;
Security Label 验证模块;
Access Vector Cache (AVC),访问向量缓存,以便提高验证速度。
在Linux“通识”方面,典型的要求包括:
1.首先,体系结构你得熟悉一个
不管是X86,ARM,还是这些年兴起的RISC-V。需要深入理解一种处理器体系结构,了解其微架构、内存、中断等相关领域,还有Linux对其的支持实现。
2.其次,Linux内核通用基础模块
熟悉Linux内核,起码熟读过某一个主要子系统(调度器、内存管理、中断、存储、文件系统、TCP/IP, I/O)的源代码,至少对一个内核子系统有深入的钻研和总结并且有自己的见解。
3.再次,内核常见的Debug手段得是你的拿手好戏
熟悉softlockup、 hardlockup、死锁、panic、oom等日常调试手段,有丰富内核故障调试经验。
4.内核优化工具你也得熟
熟悉Linux常用性能分析工具如 perf/ftrace/ebpf/systemtap/blktrace等,有实际的系统级性能优化经验。
当然,这些还不够,针对具体的岗位还有不同的“专识”要求,比如:
搞网络的话
熟悉网络和存储协议,有DPDK和SPDK开发经验
搞虚拟化的话
熟悉KVM,qemu,libvirt, virtio/vhost等模块
容器开发的话
Kubernetes,Docker,k8s,cgroups等的深入理解
转载地址:http://avvaf.baihongyu.com/