
操作系统
pi9nc
这个作者很懒,什么都没留下…
展开
-
7个示例科普CPU Cache
为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?) 出处信息 最后一次修改:2010年11月11日 本文所讨论的计算机模型是Shared Memory Multiprocessor,即我们现在常见的共享内存的多核CPU。本文适合的对象是想用C++或者Java进行多线程编转载 2014-05-26 20:49:06 · 3330 阅读 · 0 评论 -
ZeroMQ,史上最快的消息队列 —– ZMQ的学习和研究
ZeroMQ,史上最快的消息队列 —– ZMQ的学习和研究投递人 itwriter 发布于 2012-08-13 22:10 评论(4) 有8872人阅读 原文链接 [收藏] « » 一、ZeroMQ 的背景介绍 引用官方的说法: “ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,转载 2013-09-12 13:26:55 · 1386 阅读 · 0 评论 -
为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)
You are here: Home / 2010 / 三月 / 06 / 为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)最后一次修改:2010年11月11日本文所讨论的计算机模型是Shared Memory Multiprocessor,即我们现在转载 2013-09-05 14:31:25 · 978 阅读 · 0 评论 -
TCMalloc:线程缓存的Malloc
TCMalloc:线程缓存的Malloc5 条回复作者:Sanjay Ghemawat, Paul Menage原文翻译:ShiningRay动机TCMalloc要比glibc 2.3的malloc(可以从一个叫作ptmalloc2的独立库获得)和其他我测试过的malloc都快。ptmalloc在一台2.8GHz的P4机器上(对于小对象)执行一次转载 2013-09-05 13:43:24 · 798 阅读 · 0 评论 -
7个示例科普CPU Cache
2013年7月30日Leo发表评论阅读评论19,070 人阅读 (感谢网友 @我的上铺叫路遥 翻译投稿)CPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章转载 2013-09-04 14:40:27 · 751 阅读 · 0 评论 -
Nginx源码分析-事件循环
Nginx源码分析-事件循环事件循环这个概念貌似在windows编程中提得更多,Linux程序却很少提及这个概念。本文所提及的事件循环其实就是worker cycle,由于此处将关注的不再是worker进程,而是worker进程在循环过程中关于事件处理的环节,因此就盗用了事件循环这个概念。在具体看代码前,先看一下这个“循环”的概貌:经过前面相关博文的介绍,我们了解到mast转载 2013-09-04 14:32:05 · 933 阅读 · 0 评论 -
perfgeeks
perfgeekslinux . bash . php . python . clinux mmap 内存映射mmap() vs read()/write()/lseek()通过strace统计系统调用的时候,经常可以看到mmap()与mmap2()。系统调用mmap()可以将某文件映射至内存(进程空间),如此可以把对文件的操作转为对内存的操作,以此避免更多的l转载 2013-09-04 14:29:15 · 934 阅读 · 0 评论 -
等待队列的原理与源码分析
分类: linux2.6.xx内核代码分析2011-04-29 09:55 772人阅读 评论(0) 收藏 举报structlistfunctionupnull数据结构 等待队列(wait queue)用于使进程带等待某一特定的事件发生,而无需频繁的轮询操作,进程在等待时间内睡眠,在等待的事件发生时由内核自动唤醒。 一、 等待队列相关数据结构 每一个等待转载 2013-09-04 13:52:47 · 669 阅读 · 0 评论 -
另一个视角解读计算机编码-补码编码
2011-02-09 21:13 7431人阅读 评论(38) 收藏 举报语言汇编c数学是一个完全抽象的学科,而计算机是这个学科的一种形象化的实现,显然无法处理一些仅在抽象意义上有意义的特殊“数字”,比如无穷之类的东西,。像数学中的加法,乘法这样运算,计算机必须给与实现,然而由于数学中的实数加法(以及别的运算)是建立在实数域上的,而实数域又是无限的,而计算机只能处理有限域的运算,因转载 2013-09-03 21:50:54 · 900 阅读 · 0 评论 -
Socket/TCP粘包、多包和少包, 断包
Socket/TCP粘包、多包和少包, 断包分类: java2012-03-12 00:35 3693人阅读 评论(3) 收藏 举报minatcpexceptionsocketimage算法目录(?)[+]为什么TCP 会粘包 前几天,调试mina的TCP通信, 第一个协议包解析正常,第二个数据包不完整。为什么会这样吗,我们用mi转载 2013-09-03 20:26:55 · 2774 阅读 · 0 评论 -
Linux 下定时器的实现方式分析
赵 军 (mypopy@gmail.com), 开发工程师, Pixelworks简介: 定时器属于基本的基础组件,不管是用户空间的程序开发,还是内核空间的程序开发,很多时候都需要有定时器作为基础组件的支持,但使用场景的不同,对定时器的实现考虑也不尽相同,本文讨论了在 Linux 环境下,应用层和内核层的定时器的各种实现方法,并分析了各种实现方法的利弊以及适宜的使用环境。转载 2013-09-03 19:58:13 · 914 阅读 · 0 评论 -
网络游戏服务器构架设计(三):刀剑Online - 总控服务器、场景服务器
网络游戏服务器构架设计(三):刀剑Online - 总控服务器、场景服务器 上一篇《网络游戏服务器构架设计(二)》介绍了刀剑Online的连接负载服务器CLS,博友提出质疑“说得不够详细,比如你怎么,场景服务器怎么才算一个场景服务器,场景服务器切换怎么处理不断线后连接另一个场景的,还有很多细节问题没有说到”,本篇就来介绍游戏服务器最为核心的部分:游戏逻辑服务器,同时也回答转载 2013-09-03 19:48:44 · 1833 阅读 · 0 评论 -
分布式一致性Paxos算法学习笔记(三):算法的工程化描述
分布式一致性Paxos算法学习笔记(三):算法的工程化描述前两篇学习笔记给出paxos算法较为详细的文字描述。如果对算法的两个阶段四个过程的定义还不太了解可以点击这里,这段文字出自夏超伦的论文,描述在算法的两个阶段里proposer、acceptor、learner三个角色需要完成什么工作。可惜小夏同学并没有描述得很详细,我在编码实现的时候发现有很多重要的细节没有提到,proposer转载 2013-09-03 19:47:54 · 911 阅读 · 0 评论 -
浅谈 磁盘调度算法
浅谈 磁盘调度算法分类: 算法 2012-05-03 19:42 1070人阅读 评论(0)收藏 举报算法磁盘service优化磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列,常用的磁盘调度算法有以下四种:先来先服转载 2013-09-15 00:00:25 · 913 阅读 · 1 评论 -
80386的各种寄存器一览
80386的各种寄存器一览分类: linux内核基础2013-09-15 19:06 85人阅读 评论(0) 收藏 举报80386寄存器注:本分类下文章大多整理自《深入分析linux内核源代码》一书,只是为了更好地理清系统编程和网络编程中的一些概念性问题,并没有深入地阅读分析源码,我也是草草翻过这本书,请有兴趣的朋友自己参考相关资料。此书出版较早,分转载 2013-09-15 21:26:48 · 813 阅读 · 0 评论 -
深入浅出进程与线程的基本概念
深入浅出进程与线程的基本概念分类: linux多任务编程2013-09-16 13:04 168人阅读 评论(0) 收藏 举报深入浅出进程与线程的基本概念进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算转载 2013-09-16 20:13:20 · 924 阅读 · 0 评论 -
Windows API Hook
Windows API Hook分类: HOOK VC MFC C++2013-10-02 12:22 1212人阅读 评论(0) 收藏 举报HOOKHOOK APIMFCAPI钩子原文地址:http://blog.sina.com.cn/s/blog_628821950100xmuc.html原文对我的帮助极大,正是因为看了原文,我才学会了HOOK,鉴于原转载 2014-06-05 20:18:13 · 893 阅读 · 0 评论 -
API Hook基本原理和实现[图文]
API Hook基本原理和实现[图文]关键字:API Hook,消息,拦截API,钩子,wskjuf作者:wskjuf 更新:2007-12-23 8:18:25 浏览:37269注:本文主要为解决论坛上http://www.ccrun.com/forum/forum_posts.asp?TID=7281的提问而写的。我搜索了一下互联网,将网络上几篇有代表性的a转载 2014-06-05 16:14:25 · 931 阅读 · 0 评论 -
现代操作系统学习笔记——分页存储
现代操作系统学习笔记——分页存储分类: 操作系统2013-09-02 09:28 314人阅读 评论(0) 收藏 举报目录(?)[+]背景知识内存是现代计算机系统操作的核心。内存由大量的字或字节队列构成,每个字或字节都有它自己的地址。CPU根据程序计数器的值从内存中取指令(fetch instruction)。这些指令可能会从指定的内存地址读取数转载 2014-03-23 09:55:20 · 943 阅读 · 0 评论 -
操作系统内存,磁盘调度,进程调度算法
操作系统虚拟内存中的四种典型页替换算法(OPT,LRU,FIFO,Clock)分类: operation system2013-10-24 20:10 382人阅读 评论(1) 收藏 举报operating system 页面置换:在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断(page fault)。当发生缺页中断时操转载 2014-02-24 22:13:01 · 10344 阅读 · 3 评论 -
STL与多线程+写时拷贝
STL与多线程+写时拷贝分类: Linux多线程编程2013-10-27 20:40 184人阅读 评论(0) 收藏 举报STL与多线程 STL并不是线程安全的,当多个线程同时读取STL时没什么问题。当多个线程中有写STL时则非线程安全,导致其它线程的end()检测或迭代器算术操作无意义,修改操作可能导致STL重新分配内存,原来的迭代器可能失效。要实转载 2014-01-27 21:28:31 · 1366 阅读 · 0 评论 -
从资源池和管理的角度理解物理内存
从资源池和管理的角度理解物理内存2013-11-09 18:35 2506人阅读 评论(12) 收藏 举报目录(?)[+]早就想搞一下内存问题了!这次正趁着搞bigmemory内核,可以写一篇文章了。本文旨在记录,不包含细节,细节的话,google,百度均可,很多人已经写了不少了。我只是按照自己的理解记录一下内存的点点滴滴而已,没有一家之言,不讨论,转载 2014-01-15 15:29:21 · 974 阅读 · 0 评论 -
为什么寄存器比内存快?
为什么寄存器比内存快?分类: 计算机原理及常识2013-10-15 20:54 266人阅读 评论(0) 收藏 举报内存计算机寄存器原文出处: Mike Ash 译文出处: 阮一峰计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。同样都是晶体管存储设备转载 2014-01-14 10:30:39 · 867 阅读 · 0 评论 -
程序的链接与装入(动、静态重定位)
程序的链接与装入(动、静态重定位)分类: 操作系统2013-10-08 00:23 248人阅读 评论(0) 收藏 举报目录(?)[+] 原由: 多道程序环境下,程序是并发执行的,所以要使程序运行,必须先为之创建进程,而创建进程的第一件事就是将程序和数据装入内存 目的: 用户程序到内存可执转载 2013-10-08 10:03:26 · 1368 阅读 · 0 评论 -
浅谈原始套接字 SOCK_RAW 的内幕及其应用(port scan, packet sniffer, syn flood, icmp flood)
浅谈原始套接字 SOCK_RAW 的内幕及其应用(port scan, packet sniffer, syn flood, icmp flood)分类: linux网络编程2013-10-07 16:30 72人阅读 评论(0) 收藏 举报原始套接字SOCK_RAWsyn floodpacket sniffer一、SOCK_RAW 内幕首先在讲转载 2013-10-07 19:02:58 · 7049 阅读 · 1 评论 -
Linux 的多线程编程的高效开发经验
Linux 的多线程编程的高效开发经验杨 奕 (yangyish@cn.ibm.com), 软件工程师, IBM贺 皓 (haohe@cn.ibm.com), 软件工程师, IBM张 俊伟 (zhjunwei@cn.ibm.com), 软件工程师, IBM简介: 本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改转载 2013-09-03 19:29:23 · 751 阅读 · 0 评论 -
DNS解析过程原理【深入浅出详解】
DNS解析过程原理【深入浅出详解】2013年06月06日 ⁄ 搜索引擎优化 ⁄ 共 1523字 ⁄ 评论数 3 ⁄ 阅读 401 次DNS速度优化是网站优化SEO中的一部分,优化DNS解析就必须了解DNS解析原理及过程。当用户访问我们网站一个网页时,他需要经过以下步骤:1)找到这个网页的存放服务器;2)服务器将用户的请求信息接入;转载 2013-09-03 19:23:43 · 3033 阅读 · 1 评论 -
图解网络虚拟化之概念篇
图解网络虚拟化之概念篇分类: 虚拟化2013-04-14 19:24 383人阅读 评论(1) 收藏 举报VMware云计算虚拟化数据中心网络作者:范军 (Frank Fan)新浪微博:@frankfan7 如果要实现软件定义数据中心的愿景,网络虚拟化将会是旅程中的最后一公里。IDC估计网络虚拟化市场会从2013年 360 million美金增长到2016年转载 2013-09-03 13:49:24 · 1367 阅读 · 0 评论 -
缓存算法
缓存算法发表于 2011-10-28 原文:http://www.jtraining.com/component/content/article/35-jtraining-blog/98.html 翻译:http://www.zavakid.com/25引言 我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他转载 2013-06-09 20:48:15 · 3172 阅读 · 0 评论 -
脚本语言随笔分类
脚本语言随笔分类windows脚本技术:windows脚本技术简介(一)windows脚本实例(二)windows脚本与其他语言互调(三)分别用c++,c#,vb script 来打开www.baidu.comwindows系统管理:《windows系统管理--使用命令行,批处理文件和windows脚本》(前言)《windows系统管理--使用命转载 2013-04-07 15:53:09 · 661 阅读 · 0 评论 -
C 堆栈详解
下学期要开嵌入式高级c语言的课,前两天偶尔听老板讲了几句关于堆栈的问题表示才疏学浅没听懂,遂翻阅各大论坛找详细解答,如此找到了这篇文章,堪称神级,下面开始。话说不是故意分几章写的,帖子长度受限制没得办法=。= 看到July大神的微博评论了,我在此写一点我对这个地方难点的理解。首先是这里的ebp,文章里面提到了三个不同的ebp,即main函数前的基址指针、main函数的基址指针和tes转载 2013-03-19 19:04:49 · 1860 阅读 · 0 评论 -
kernel space vs user space
康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。摘要:在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用户程序之间交换信息。Linux提供了多种方法可以用来完成转载 2013-03-12 16:50:58 · 6672 阅读 · 0 评论 -
Linux/Unix 新手和专家教程
2009年6月21日陈皓发表评论阅读评论23,443 人阅读 你正在找一些高质量的Linux 和 UNIX 的教程吗?如果是,这篇文章会告诉你到哪去找到这些教程。这里我们将给出超过30个相当的不错的 Linux 和 UNIX 在线的教程。需要大家注意的是,他们都是英文的,也许有一些也经被翻译到了中文社区,你可以搜索一下。但不管怎么样,我的建议是应该尽可转载 2013-01-22 19:43:50 · 775 阅读 · 1 评论 -
秒杀多线程第五篇 经典线程同步 关键段CS
秒杀多线程第五篇 经典线程同步 关键段CS分类: Windows多线程 Windows编程2012-04-11 09:06 12873人阅读 评论(71) 收藏 举报多线程threadmicrosoftfunnullstruct上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试转载 2013-01-23 16:58:18 · 528 阅读 · 0 评论 -
秒杀多线程第三篇 原子操作 Interlocked系列函数
秒杀多线程第三篇 原子操作 Interlocked系列函数分类: Windows多线程 Windows编程2012-04-09 09:08 15415人阅读 评论(67) 收藏 举报多线程thread汇编原子操作上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以转载 2013-01-23 16:40:31 · 643 阅读 · 0 评论 -
秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别分类: Windows多线程 Windows编程2012-04-05 09:36 23466人阅读 评论(66) 收藏 举报多线程threadnullstructureattributessecurity 本文将带领你与多线程作第一次亲密接触,并深入分析Cre转载 2013-01-23 16:34:36 · 606 阅读 · 0 评论 -
估算的应用与Little定律
[珠玑之椟]估算的应用与Little定律分类: 珠玑之椟 学习笔记 算法2013-06-26 08:35 204人阅读 评论(0) 收藏 举报 估算的数据主要依赖于所能获得的数据和常识,有时还包括实践而不仅仅是理论。它常常作为一个大问题中的子问题,恰当地估算可以省去精确计算的时间和开销。在计算机领域,所谓常识的内容很宽泛,比如硬盘的传输速度、CPU每秒能执行多少指令、转载 2013-07-09 21:40:37 · 838 阅读 · 0 评论 -
Deadlock的一些总结
1.1.1 摘要 在系统设计过程中,系统的稳定性、响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁。 今天的博文将着重介绍死锁的原因和解决方法。1.1.2 正文 定义: 死锁是由于并发进程只能按互斥方式访问临界资源等多种转载 2013-06-27 21:55:42 · 654 阅读 · 0 评论 -
索引的一些总结
1.1.1 摘要如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化。1. 计算机硬件调优2. 应用程序调优3. 数据库索引优化4. SQL语句优化5. 事务处理调优在本篇博文中,我们将想大家讲述数据库中索引类型和使用场合,本文以SQL Server为例,对于其他技术平台的朋友也是有参考价值的,只要替换相对应的代码就行转载 2013-06-27 21:57:06 · 619 阅读 · 0 评论 -
缓存、缓存算法和缓存框架简介
缓存、缓存算法和缓存框架简介2013/03/30 | 分类: IT技术 | 4 条评论 | 标签: 算法, 缓存分享到:50英文原文:jtraining,译文:Lixiang引言我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框转载 2013-09-10 13:19:00 · 863 阅读 · 0 评论