共 36 篇文章
显示摘要每页显示  条
Perf.这使得 Perf 拥有了众多的性能分析能力,举例来说,使用 Perf 可以计算每个时钟周期内的指令数,称为 IPC,IPC 偏低表明代码没有很好地利用 CPU。Perf list,perf 事件。perf record – e cpu-clock ./t1 perf report.perf record – e cpu-clock – g ./t1 perf report.以上介绍的这些 perf 用法主要着眼点在于对于应用程序的性能统计分...
宋宝华: 迭代螺旋法。这阶段你如果有兴趣,也有耐心,可以读《深入理解Linux内核》、《深入Linux内核架构》这样的书,不过懒得看也没有关系,因为你工作的时候,会自然而然地自己进行代码分析。这阶段你如果有兴趣可以读《深入理解Linux内核》、《深入Linux内核架构》这样的书,不过懒得看也没有关系,因为你的工作让你自己有了分析的能力。下...
低年级的计算机系统基础。斯坦福计算机系系主任 Sahami 教授主持的ACM/IEEE CS2013中,系统基础是新加入的四大块核心知识模块之一,跨系统地综合介绍缓存、延时、并行等核心概念,涉及操作系统、体系结构、网络等领域。该教材从程序员的角度剖析计算机系统, 涵盖了计算机系统领域的广泛内容,不与后续课程抢内容。斯坦福大学的计算机系统教学。...
协程的历史,现在和未来。这种语法抛弃了以 i 变量作为迭代指针的功能,要求迭代器自身能够记住当前迭代位置,调用时返回下一个元素。正因为如此,我们可以从协程的角度来理解迭代器:当控制流转换到迭代器上时,迭代器负责生成和返回下一个元素。当然,yield 只是冰山的一角,现代的 Python 语言还充分利用了 yield 关键字构建了 yield from ...
epi->ep = ep;执行f_op->poll(tfile, &epq.pt)时,XXX_poll(tfile, &epq.pt)函数会执行poll_wait(),poll_wait()会调用epq.pt.qproc函数,即ep_ptable_queue_proc。由于ep_ptable_queue_proc函数设置了等待队列的ep_poll_callback回调函数。所以ep_poll_callback函数主要的功能是将被监视文件的等待事件就绪时,将文件对应的epit...
协程:posix::ucontext用户级线程实现原理分析 | WalkerTalking 文章目录 1. 汇编基础1.1 寄存器分类1.2.指令格式1.3. gcc关于寄存器的使用2. ucontext分析2.1. getcontext实现2.2. makecontext实现2.3. swapcontext实现3. ucontext示例[参考]movq%rdi, oRDI(%rdi)movq%rsi, oRSI(%rdi)movq%rdx, oRDX(%rdi)movq%rcx, oRCX(%rdi)movq%r8, oR8(%...
所有MIPS指令都是32位长的各单位:1字节=8位,半字长=2个字节,1字长=4个字节一个字符空间=1个字节一个整型=一个字长=4个字节单个字符用单引号,例如:''b''字符串用双引号,例如:"A string"Registers寄存器。MIPS下一共有32个通用寄存器在汇编中,寄存器标志由$符开头寄存器表示可以有两种方式。直接使用该寄存器...
从JVM并发看CPU内存指令重排序(Memory Reordering)CPU为何要重排序内存访问指令?针对这种情况,多数架构(包括X86)采用了一种将cache分片的解决方案,即将一块cache划分成互不关联地多个 slots (逻辑存储单元,又名 Memory Bank 或 Cache Bank),CPU可以自行选择在多个 idle bank 中进行存取。从图中可以看到,这是一台配备双CPU的计算机,ca...
SMP、NUMA、MPP体系结构介绍。通常情况下,MPP系统因为要在不同处理单元之间传送信息(请注意上图),所以它的效率要比SMP要差一点,但是这也不是绝对的,因为MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。从架构来看, NUMA 与 MPP 具有许多相似之处:它们都由多个节点组成,每个节...
//arch/x86/kernel/tls.c 112 int do_set_thread_area(struct task_struct *p, int idx,113 struct user_desc __user *u_info,114 int can_allocate)115 { 116 struct user_desc info;//arch/x86/include/asm/desc.h 101 #define load_TLS(t, cpu) native_load_tls(t, cpu) 245 static inline void native_load_tls(struct thread_struct *t, u...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部