![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
硬件,操作系统
文章平均质量分 90
jimmee
这个作者很懒,什么都没留下…
展开
-
(转载)硬盘概念:柱面、磁道、扇区、簇
硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇 形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节, 盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都...2010-03-06 21:31:24 · 305 阅读 · 0 评论 -
物理IO与逻辑IO
IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。 IO系统的分层: 三层结构上图层次比较多,但总的就是三部分。磁...原创 2016-03-19 21:30:01 · 427 阅读 · 0 评论 -
linux c时间操作相关函数
1. linux c的时间操作的函数关系图如下: 2. strftime时间格式化的说明如下: specifierReplaced byExample%aAbbreviated weekday name *Thu%AFull weekday name *Thursday%bAbbreviated month name *...2014-12-11 23:00:03 · 97 阅读 · 0 评论 -
c内存操作感悟(2)
不从分配的地址开始访问, 希望跳过一些字节, 怎么处理? 如下一段代码正确么(假设文件名为test.c)? #include <stdio.h>#include <stdlib.h>int main(void) { void *p = malloc(20); printf("%p\n", p); char *t = (char *...2014-12-10 20:52:35 · 94 阅读 · 0 评论 -
c内存操作感悟(1)
直接使用c, 有个好处, 自己可以完全控制内存啊,一切脑海中记住内存及指针, 就很容易知道操作是怎样. 1. 分配一段内存, 这段内存使用什么样的指针操作, 那么对应就是多少字节的操作, 也就是说, 看你怎么去解释这块内存了. 例如, 若分配给一个10个字节的类型, 如果用一个int类型的指针指向这块内存, 那么一次操作, 就是int的字节的大小, 如果一个struct指向...原创 2014-12-08 21:38:18 · 106 阅读 · 0 评论 -
多线程程序中操作的原子性[转载]
0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?1. 多线程环境下对变量的读写操作是否是原子的?我们先从一道...原创 2014-12-06 10:49:39 · 104 阅读 · 0 评论 -
6. 内存屏障[转载]
原文地址 作者:Martin Thompson 译者:一粟 校对:无叶,方腾飞本文我将和大家讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见的一项技术。CPU使用了很多优化技术来实现一个目标:CPU执行单元的速度要远超主存访问速度。在上一篇文章 “Write Combing (合并写)”中我已经介绍了其中的一项技术。C...原创 2014-11-26 00:07:37 · 85 阅读 · 0 评论 -
5.合并写(write combining)[转载]
原文地址 译者:无叶 校对:丁一现代CPU采用了大量的技术来抵消内存访问带来的延迟。读写内存数据期间,CPU能执行成百上千条指令。多级SRAM缓存是减小这种延迟带来的影响的主要手段。此外,SMP系统采用消息传递协议来实现缓存之间的一致性。遗憾的是,现代的CPU实在是太快了,即使是使用了缓存,有时也无法跟上CPU的速度。因此,为了进一步减小延迟的影响,一些鲜为人知的缓冲区派上了用场。本...原创 2014-11-25 21:54:23 · 813 阅读 · 0 评论 -
4. 内存访问模型的重要性[转载]
在高性能的计算中,我们常说缓存失效(cache-miss)是一个算法中最大性能损失点。 近些年来,我们的处理器处理能力的增长速度已经大大超过了访问主内存的延迟的缩短。 通过更宽的,多通道的总线,到主内存的带宽已经大大增加,但延迟并没有相应显著减少。 为了减少延迟,处理器采用愈加复杂的多层的高速缓存子系统。在1994年的一篇论文“Hitting the memory wall: implicati...原创 2014-11-25 21:53:01 · 166 阅读 · 0 评论 -
3. Java 7与伪共享的新仇旧恨[转载]
原文:False Shareing && Java 7 (依然是马丁的博客) 译者:杨帆 校对:方腾飞在我前一篇有关伪共享的博文中,我提到了可以加入闲置的long字段来填充缓存行来避免伪共享。但是看起来Java 7变得更加智慧了,它淘汰或者是重新排列了无用的字段,这样我们之前的办法在Java 7下就不奏效了,但是伪共享依然会发生。我在不同的平台上实验了一些列不同的方案,并且...原创 2014-11-25 21:45:42 · 110 阅读 · 0 评论 -
2. 伪共享(False Sharing)[转载]
作者:Martin Thompson 译者:丁一缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个字节。当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会无意中影响彼此的性能,这就是伪共享。缓存行上的写竞争是运行在SMP系统中并行线程实现可伸缩性最重要的限制因素。有人将伪共享描述成无声...原创 2014-11-25 21:40:26 · 78 阅读 · 0 评论 -
1. CPU缓存刷新的误解[转载]
原文地址 作者:Mechanical Sympathy 译者:潘曦 校对:Simon-SZ ,方腾飞即使是资深的技术人员,我经常听到他们谈论某些操作是如何导致一个CPU缓存的刷新。看来这是关于CPU缓存如何工作和缓存子系统如何与执行核心交互的一个常见误区。本文将致力于解释CPU缓存的功能以及执行程序指令的CPU核心如何与缓存交互。我将以最新的Intel x86 CPU为例进行说明,其...原创 2014-11-25 21:28:48 · 119 阅读 · 0 评论 -
[转载]并发之痛 Thread,Goroutine,Actor
转自 http://jolestar.com/parallel-programming-model-thread-goroutine-actor/ 本文基于我在2月27日Gopher北京聚会演讲整理而成,进行了一些补充以及调整。投稿给《高可用架构》公众号首发。聊这个话题之前,先梳理下两个概念,几乎所有讲并发的文章都要先讲这两个概念:并发(concurrency) 并发的关...原创 2017-04-06 19:21:10 · 530 阅读 · 0 评论 -
A tcpdump Tutorial and Primer[reproduced]
tcpdump is the premier network analysis tool for information security professionals. Having a solid grasp of this über-powerful application is mandatory for anyone desiring a thorough understanding o...原创 2014-12-24 22:29:07 · 227 阅读 · 0 评论 -
Spy on Yourself with tcpdump[转载]
As a network administrator, you've got to cultivate a certain amount of professional paranoia. tcpdump indulges your need to know and tells you exactly what's going on over your networks.By Carla ...原创 2014-12-24 20:13:08 · 119 阅读 · 0 评论 -
整理一下准备编写的笔记目录
工作6年,主要从事分布式服务器端开发(3年),做过垂直爬虫和搜索以及数据挖掘(2年),1年的产品的业务开发,学习过和使用过的东西,陆续会写笔记,在整理的同时,算是一种经验积累的记录吧。 tcp通信过程中的一些重要事项,udt的原理和源码分析,参看 http://jimmee.iteye.com/admin/blogs/2037451 系列图片处理垂直爬虫的注意点 ht...原创 2013-12-31 21:21:15 · 196 阅读 · 0 评论 -
一些备注
1.由于我们以后会经常在命令行下执行命令, 每次打开一个新的命令行窗口默认的当前目录都是C:\Documents and Settings\$UserName,这样在执行命令之前都要切换目录,很麻烦,所以我们先来解决这个问题。在“开始”-“运行”中输入“regedit”,打开注册表。找到\HKEY_CLASSES_ROOT\Folder\shell,如果没有shell,可以在Folder下新建一...原创 2010-05-24 13:51:39 · 277 阅读 · 0 评论 -
(转载)关于信号量与线程互斥锁的区别与实现
之前一直没有怎么关注过这个问题,前些日子在面试一家公司的时候,面试官提到了pthread_cond_wait/pthread_cond_signal的实现,当时答的不是很好,回来就查了nptl的代码。前天,水木上又有人问到了信号量和互斥锁的问题,我想还是对它们的区别与实现总结一下。首先了解一些信号量和线程互斥锁的语义上的区别:>>>>>>>>>>>>>>>>>>>>>2010-03-18 10:07:23 · 101 阅读 · 0 评论 -
Mac OSX 10.10 Yosemite编译OpenJDK 8
编译时间:2016-04-03系统版本:Mac OS X Yosemite 10.10.2编译OpenJDK版本:JDK8相关软件版本: • XCode版本:Version 5.1.1 (5B1008) • JDK版本:1.8.0_51 • 软件管理工...2016-04-03 18:14:04 · 181 阅读 · 0 评论