随笔分类 - 操作系统
摘要:出处: 一文读懂处理器流水线 多线程之指令重排序 本文将讨论处理器的一个重要的基础知识:“流水线”。熟悉计算机体系结构的读者一定知道,言及处理器微架构,几乎必谈其流水线。处理器的流水线结构是处理器微架构最基本的一个要素,犹如汽车底盘对于汽车一般具有基石性的作用,它承载并决定了处理器其他微架构的细节。
阅读全文
摘要:作者:Yngz_Miao 来源:CSDN 原文:https://blog.csdn.net/qq_38410730/article/details/81036768 一、概要(页面的加载): 当处理器试图访问一个虚存页面时,首先到页表中去查询该页是否已映射到物理页框中,并记录在页表中。如果在,则MM
阅读全文
摘要:传统IO拷贝流程 比如:读取文件,再用socket发送出去 先读取、再发送,实际经过1~4四次copy。 1、第一次:将磁盘文件,读取到操作系统内核缓冲区; 2、第二次:将内核缓冲区的数据,copy到application应用程序的buffer; 3、第三步:将application应用程序buff
阅读全文
摘要:出处: Linux 中的零拷贝技术,第一部分 引言 传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在
阅读全文
摘要:出处: Java编程如何高效利用CPU缓存? 引言 首先我们来看一个Java的例子: public class Main { static long[][] arr; public static void main(String[] args) { arr = new long[1024 * 102
阅读全文
摘要:进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2.假定工厂的电力有限,一次只能供给一个车间使用。
阅读全文
摘要:问题: 如何理解:程序、进程、线程、并发、并行、高并发? 作者:大宽宽链接:https://www.zhihu.com/question/307100151/answer/894486042来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在这里你可以了解: 为啥大家说
阅读全文
摘要:出处: 深入探究:操作系统为什么要引入虚拟地址? 在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址
阅读全文
摘要:出处: Java和操作系统交互细节 结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示。 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单元,存储单元
阅读全文
摘要:出处:操作系统概述 文章参考: 《现代操作系统》第四版 https://baike.baidu.com/item/ 操作系统 / 192?fr=aladdin 《Modern Operating System》forth edition http://faculty.cs.niu.edu/~hutc
阅读全文
摘要:出处: User space 与 Kernel space (整理)用户空间_内核空间以及内存映射 学习 Linux 时,经常可以看到两个词:User space(用户空间)和 Kernel space(内核空间)。 简单说,Kernel space 是 Linux 内核的运行空间,User spa
阅读全文
摘要:阅读目录 1 基础知识回顾 2 I/O模式 3 事件驱动编程模型 4 select/poll/epoll的区别 网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。 1 基础知识回顾 注意:咱们下面说
阅读全文