关闭

关于strace的一点东西

好久没写博客了,感觉有点惭愧,觉得自己也应该静下心来利用自己可分配的时间去提升自己.        虽然最近在看一些Python的东西,可是觉得自己还是不能忘记本行啊,Linux C的一些东西必须一直好好温习.        不废话,今天打算写一个简单的东西, strace , 应该都对它或多或少的知道一些.很多时候除了core dump, backtrace的方式去排查程序的问题外, str...
阅读(1229) 评论(1)

perfbook读书笔记 chapter 3~4

[读写锁] 读写锁是专门为大多数读的情况设计的。在这种情况中,读写锁可以提供比互斥锁大得多的扩展性,因为互斥锁从定义上已经限制了任意时刻只能有一个线程持有锁,而读写锁允许任意多数目的读者线程同时持有读锁。 很多情况下读写锁仍然十分有用,比如当读者必须进行高延迟的文件或者网络 I/O 时. 读写锁的可扩展性显然说不上理想,临界区较小时尤其如此。为什么读锁的获取这么慢呢,...
阅读(966) 评论(0)

TLV-简单的数据传输协议

有段时间没有写博客了,这段期间要说也够忙的(其实也没忙到哪去),从3月底到5月初这段期间一直在找暑期实习,幸运的是自己算是找到了自己希望的,从开始纠结TX,到后来确定,以及又拿到阿里的实习机会,这段过程真是够虐心的。不过自己还是选择了深圳,也许一开始自己想的就是这样,也许是阿里巴巴的通知有点晚,也许是自己觉得毁约去杭州有点不好,不管怎样,感谢阿里巴巴给的机会,也特别感谢六一、淘宝褚霸两位阿里大牛没...
阅读(2414) 评论(1)

最近面试的一些事

最近这三天,很幸运地接到了来自国内某互联网公司的电面,虽然后面可能还需要在进行面试,可是今天想说说到目前为止3面的经历。   给我的感觉是他们很注重效率,三天、面试三次。 一、   第一次电面是26号中午打过来,因为有些原因,就约了晚上七点面试,可能是那时候一面的面试官开会或是正在面试其他人。到晚上8点多电话打过来,当时正在食堂吃完饭,巧的是正准备拿饭的时候电话过来,我就赶紧接了电话,手上的...
阅读(1295) 评论(5)

perfbook读书笔记 chapter 2

如果一个给定的线程基本不交互,那么他就没有作用并且不大需要被执行。但是,由于交互会引起开销,不仔细的分割选择会导致严重的性能退化。 而且,并行线程的数量常常必须被控制,因为每个线程都会占用一些资源,比如 CPU cache 空间。如果过多的线程同时执行,CPU cache 将会溢出,引起过高的 cache miss,从而降低性能。从另外一方面看,大量的线程可能会带来大量计算和 I/O 操作。...
阅读(859) 评论(0)

Something about "extern inline " ?

今天再看一段代码的时候看到了extern inline定义,当时没感觉,回过神来后觉得好像哪里不对。自己写代码经常是static inline,突然看到这个在自己看来的新东西而对大牛来说只是司空见惯的小菜时,我该哭还是笑嘞!!(还是太水的原因。) 我们还是先来说说static inline,我们都知道对于static声明,当我们同时编译多个文件时,所有未加static前缀的全局变量和函数...
阅读(1044) 评论(0)

Something funny

有段时间没有更新blog了,今天本想写一写负载均衡中关于consistent hashing的一些东西,不过目前只是了解原理。具体的代码实现还没有看过,所以觉得写了blog也可能只是像网上众多的page一般,只能简单介绍原理,说说飘来飘去的关于object的hash映射关系,加上virtual node的概念。没有具体实现,那便没有太多的效果,所以还是再过些时候,了解完全再写一个完整的blog...
阅读(901) 评论(0)

科普一下Linux防火墙Netfilter/iptables

最近看了一些网络安全的东西,觉得网络的世界远远没有我们想象的那么简单。去年自己只是简单的看了一些关于iptables的简单使用规则,当然现在也只是对iptables有简单的了解而已,不能算上是熟悉,写这点东西的目的也只是简单的科普,很多东西只能简单的提下,因为这部分内容实在太多,无法一一列举。         iptables本身是Linux用来处理底层网络数据的一种方法,很多人都将iptab...
阅读(1604) 评论(0)

服务端处理常用的5种基础策略

一、一个线程服务多个客户端,使用非阻塞I/O和水平触发的就绪通知 把网络句柄设置为非阻塞模型,然后使用select()或poll()来告知哪个句柄已有数据在等待处理。此模型是最传统的,在此模型下,由内核告知你某个文件描述符是否准备好,是否已经完成你的任务自从上次内核告知已准备好以来(“水平触发”这个名字来源计算机硬件设计,与其相对的是“边缘触发”,JonathonLemon在它的关于kqueue...
阅读(1259) 评论(0)

说说循环缓冲区(Ring Buffer)

关于循环缓冲区(Circular Buffer)的概念,其实来自于Linux内核(Maybe),是为解决某些特殊情况下的竞争问题提供了一种免锁的方法。这种特殊的情况就是当生产者和消费者都只有一个,而在其它情况下使用它也是必须要加锁的。对应在Linux内核中有对它的定义: struct kfifo { unsigned char *buffer; unsigne...
阅读(3625) 评论(0)

浅谈server端基本的设计模型及部分问题

用了大概一个半月的时间都在做OS相关的实验感觉操作系统的东西自己还是了解适可而止,当然OS中包含了太多的设计模式以及底层相关的东西都会对自己在server端处理起到指引的作用,但是目前自己还是还是感觉自己还是对server端的处理比较感兴趣,固不再废话,进入正题--server端基本的设计模式。   [注]:所有东西基于Linux环境,并且部分设计模型在Linux下有良好的表现,不一定在Wind...
阅读(2064) 评论(4)

【浅谈】x86内存管理的分段分页机制

最近一直在接着操作系统的课程,着手跟着os.dev上的大神的文档写一个小型的内核,然后前期的东西自己一直在看也没时间写Blog,最近做到了内存管理这里,看了Jamesmolloy的文档还有一些os.dev.org上的关于memorymanage的东西,总觉的还是写点东西吧,虽是赘述,但对自己而言定是有用的。 我不想说太多关于早期8086分段的原因,只是简单说一下这种概念。我们知道x86架构下的分...
阅读(4324) 评论(6)

左旋字符串问题(有点料)

今天在翻July的结构算法之道的时候许到一个问题,就是左旋字符串,意思是给了一个字符串"abcdefghijk",如果需要左移三位则变为“defghijkabc”,这个字符串的操作本身很简单:            [我的做法]:我们可以设置两个指针,将字符串分为两段,“abc” ,和”defghijk“,首先对原字符串进行反转变为”kjihgfedcba“,然后我们知道需要左移的位数3,通过指...
阅读(1203) 评论(3)

POJ 1416 Shredding Company

Description You have just been put in charge of developing a new shredder for the Shredding Company Although a "normal" shredder would just shred sheets of paper into little pieces so that the cont...
阅读(1051) 评论(0)

POJ 3096 surprising_string (coding with STL <map> )

[Description]: The D-pairs of a string of letters are the ordered pairs of letters that are distance D from each other. A string is D-unique if all of its D-pairs are different. A string is surpr...
阅读(1087) 评论(2)

POJ 1321 chessboard-problem

[Description]: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 [Input]: 输入含有多组测试数据。  每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋...
阅读(1072) 评论(0)

hadoop-0.23.9安装以及第一个mapreduce测试程序

hadoop是一个能够对大量数据进行分布式处理的软件框架。它实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。...
阅读(3513) 评论(8)

用Linux C的互斥锁机制解决哲学家就餐问题(简单实现)

在1971年,著名的计算机科学家艾兹格·迪科斯彻提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被托尼·霍尔重新表述为哲学家就餐问题。这个问题可以用来解释死锁和资源耗尽。    「哲学家就餐说明」:有五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个筷子,他们的生活方式是交替进行思考和就餐,通常,一个哲学家饥饿时就会试图去取用其左右最靠近自己的筷...
阅读(3434) 评论(3)

记windows下简单的监控软件开发流程

最近这三个星期,参加了学校组织的实训,做的全是Windows下的东西,实际编码时间就是一周左右。哎,略扯。虽然自己是搞Linux的,但是其实有时候了解一下windows也算是不错了。毕竟了解多了不算坏事。不费话了,下面我们避开前期扯淡的 LOGO First 界面 Second: 【一】.软件功能 实现对局域网内客户机的进程管理,以及硬件信息、操作版本和网络...
阅读(1656) 评论(0)

函数指针数组做命令解析

今天偶然看到欢神的FTP代码,做命令解析用的是函数指针数组来做,这样可以省下一大堆的strcmp函数,觉得非常高端,就想记录下来,同时组内大一同学也在做这些东西,我觉得可以借鉴一下这种处理命令的方式,看一段自己写的测试函数吧,看完后应该就懂我再说什么了: #include #include #include #include char cmd[5][15]={"ls","search",...
阅读(1024) 评论(0)
43条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:68917次
    • 积分:1109
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:6篇
    • 译文:0篇
    • 评论:48条
    About Me
    文章分类
    最新评论