操作系统
操作系统
Introncheng
这个作者很懒,什么都没留下…
展开
-
CPU的乱序执行和合并写技术
CPU的乱序执行: CPU在进行读等待的同时执行指令,是CPU乱序的根源,这其实不是乱,而是提高效率。例如指令1去内存读数据,因为CPU与内存访问速度相差100倍,如果指令2的执行过程不需要依赖指令1,那么指令2可以先执行,乱序执行的本质是同时执行。Java对象的创建过程不是一个原子操作,极有可能出现指令重排序,下面通过Java对象创建的汇编码讲解。// 源码:class T { int num = 8;}T t = new T();// 汇编码:0 new #2 <T>原创 2020-05-15 16:34:23 · 1177 阅读 · 2 评论 -
存储器层次结构、Cache Line、伪共享、Cache Line对齐
存储器的层次结构: 存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也越小。寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2,L3等缓存),再次是主存(普通内存),然后是本地磁盘,最次是远程文件存储。存储器层次结构缓存RegisterL1 cacheL2 cacheL3 cacheMain Memory硬盘访问时间< 1ns约1ns约3ns约15ns约80ns约2ms原创 2020-05-14 23:37:57 · 861 阅读 · 1 评论 -
Linux程序基础与程序设计学习笔记
1、Linux基础指令man +指令:可以查看命令手册;$PATH:输入命令可以执行,是因为PATH告诉你这些命令在哪;whereis/which:在目录中找文件或目录;id:可以看出自己的用户身份,属于哪个组;finger + user:可以看出登录用户的登录情况以及键盘空闲时间;du -sh 查看服务器空间;du -sh directory/ 查看目录空间;du -sh fi...原创 2020-03-03 22:55:15 · 214 阅读 · 0 评论 -
操作系统学习笔记(进程、线程、CPU调度、死锁)
1、进程与线程进程:父进程先创建,子进程后创建,但是子进程先死亡,因为子进程可能需要共享父进程的资源;进程中止原因:进程结束、进程终止、内存清除;生产者-消费者:生产者进程是产生数据的进程,在硬盘中读取数据到内存;中间线程将缓冲区1的数据解压到缓冲区2;消费者进程是消费数据的进程,将缓冲区2将数据显示;生产者消费者一定是时间片轮转,不是批处理,否则会陷入无尽的等待;原语:执行过程中不...原创 2020-03-03 23:29:33 · 211 阅读 · 0 评论