
os
江上渔者21号
这个作者很懒,什么都没留下…
展开
-
1 汇编指令
冯诺一曼体系,cpu ,总线,内存中汇编指令的各种替换栈区域是如何有上到下的走动指令的。原创 2018-01-26 21:34:04 · 204 阅读 · 0 评论 -
计算机为什么要设置线性地址,从逻辑地址到线性地址再到物理地址?
作者:龚黎明链接:https://www.zhihu.com/question/41431386/answer/91115537来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。逻辑地址是给操作系统之上的软件看的。他们不需要知道硬件是怎么设计的,只需要一台理想的虚拟机就可以了。这样是为了同样的软件应用于不同的硬件上。线性地址是给CPU看的。CPU不需要知道...转载 2019-03-17 19:35:38 · 451 阅读 · 0 评论 -
磁道、柱面、扇区、磁盘簇、寻道时间、旋转延迟、存取时间
1.磁道以盘片中心为圆心,用不同的半径,划分出不同的很窄的圆环形区域,称为磁道。2.柱面上下一串盘片中,相同半径的磁道所组成的一个圆柱型的环壁,就称为柱面。3.扇区磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区.扇区是磁盘最小的物理存储单元4.磁盘簇(windows)windows将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理5.寻道时间磁头...转载 2019-03-21 23:48:26 · 3942 阅读 · 0 评论 -
磁盘系统基本概念以及磁盘的顺序读写与随机读写
本文总结自(1)《数据库系统实现》(2)知乎:https://www.zhihu.com/question/482547801.基本概念2.细节3.顺序读写和随机读写1.基本概念(1)磁盘组合盘片=2盘面主轴磁道柱面扇区间隙块:对于理解数据库系统特别重要的是磁盘被划分为磁盘块(或就称为块,或者像操作系统称为页),每块的大小是4-64kB。整个块被从一个...转载 2019-03-17 19:22:28 · 4209 阅读 · 0 评论 -
sendfile:Linux中的"零拷贝"
https://www.jianshu.com/p/fad3339e3448如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先...转载 2019-03-17 19:06:27 · 161 阅读 · 0 评论 -
pageCache
写在前面在开始正式的讨论前,我先抛出几个问题:谈到磁盘时,常说的HDD磁盘和SSD磁盘最大的区别是什么?这些差异会影响我们的系统设计吗? 单线程写文件有点慢,那多开几个线程一起写是不是可以加速呢? write(2)函数成功返回了,数据就已经成功写入磁盘了吗?此时设备断电会有影响吗?会丢失数据吗?write(2)调用是原子的吗?多线程写文件是否要对文件加锁?有没有例外,比如O_APPE...转载 2019-03-17 19:19:40 · 2193 阅读 · 6 评论 -
怎样理解阻塞非阻塞与同步异步的区别?
作者:严肃链接:https://www.zhihu.com/question/19732473/answer/20851256来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous commu...转载 2019-01-13 12:12:38 · 110 阅读 · 0 评论 -
中断
早期的计算机没有中断的 时候,就是执行完一个程序接着执行另外一个程序。有了中断也就有了多道程序设计。也就是系统里跑多个程序。线程是一个程序的执行流那么从这个执行流怎么切换到另外一个程序中呢?当中断发生的时候,cpu帮我们做了一些事情,cpu把当前的eip,esp,ebp都压到内核堆栈中去,然后eip指向中断处理程序的入口。cpu和内核代码共同实现了保护现场和恢复现场的工作。原创 2018-02-07 21:45:44 · 199 阅读 · 0 评论 -
函数调用堆栈指令过程
计算机工作的三个法宝:计算机存贮程序,函数调用堆栈和中断堆栈是高级语言的开始esp 堆栈指针ebp 基址指针push 栈顶指针较少4个字节pop 栈顶指针增加4个字节ebp 在c语言中用作记录当前函数调用的基址。PS:EBP是当前函数的存取指针,即存储或者读取数时的指针基地址;ESP就是当前函数的栈顶指针。每一次发生函数的调用(主函数调用子函数)时,在原创 2018-01-28 22:01:50 · 718 阅读 · 0 评论 -
C语言对应的汇编程序
gcc -S -o main.c -m32得到汇编程序把得到的汇编程序中的以点号开头的都是用于链接时候的辅助信息去掉得到下面干净的汇编程序 (1)esp:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。(2)ebp:基址指针寄存器(extended base pointer),其内存放着一个指针,原创 2018-01-27 22:56:47 · 2945 阅读 · 0 评论 -
Linux CPU性能分析与监控——vmstat、top
Linux性能监控工具汇总:iostat 磁盘性能监控 vmstat 虚拟内存性能监控、CPU监控(进程上下文切换、CPU利用率) top 系统负载、CPU使用率、各个进程的详细报告(CPU使用率、内存使用情况)等 free 内存使用情况。 ps ps命令不算是性能监控工具,但是可以使用ps配合上述命令,找到占有系统资源较高的进程本文重点讲下vmstat的用法,其他如top不做讲解,...转载 2019-03-23 12:00:28 · 1235 阅读 · 0 评论