自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

原创 我眼中的云计算

云计算技术复杂吗?我觉得不。Now, Alibaba, Tencent, Huawei and Baidu are all showing off their cloud computing technology, as if to show that they are different from others.Bytedance is also quietly moving into cl...

2019-09-30 07:03:09 3542 10

原创 解一个关于fork+cgroup的Linux内核bug

上周我发了个朋友圈以抱怨现实(我并不认为抱怨是一件不好的事情):想玩debug一定要玩windows,通过linux内核玩debug不行的。一个dis命令就看到了地址a,再一个l *a就看到了源码。。。简单的问题到此就结束了,你还会再去查寄存器查引用图吗?同样的简单问题如果是windows,你就必须继续debug。linux内核源码和随意随处可加的printk取消了继续分析的动机。有人又...

2019-09-28 11:17:54 3312 3

原创 从标数法求最短路径数到杨辉三角的思考

上周旁听了一节小小的学而思数学网课,写一篇心得。一直想写的,但工作日一直都在忙,今天终于有所闲暇,就坐下来写点吧。题目是这样的:…作为一个受过高等教育的人去解这道题,会怎么做?先仔细想一下。我自己的思路这样子的:从A走到B的动作,我分为5个步,即向右,向右,向右,向上,向上。但是也可以换个顺序,所以我只需要在5个步骤里任意选3个向右就是路径的总数量了, 即 C53C_5^3C53​...

2019-09-28 10:14:54 6520 4

原创 Linux socket文件系统体现“一切皆文件”

来自《实例演绎Unix/Linux的"一切皆文件"思想》大家习惯了使用socket来编写网络程序,socket是网络编程事实上的标准。我们知道,在Unix/Linux系统中“一切皆文件”,socket也被认为是一种文件,socket被表示成文件描述符。但socket的行为并不很像文件。比如:无法用 “open一个路径” 的方式打开一个socket,必须用socket系统调用来创建。文件...

2019-09-27 06:19:49 14317 1

原创 Unix/Linux fork后传-clone

本文是《Linux fork那些隐藏的开销》的后传。它还有个前传《Unix/Linux fork前传》。假设读者已经看过了前文,理顺了关于UNIX fork的方方面面:fork思想的最初由来。UNIX fork的历史。UNIX/Linux fork的实现。UNIX/Linux fork的开销。fork-exec的替代。在本文中,UNIX fork之后,我尝试给出传统的UNIX ...

2019-09-25 06:06:48 3418 1

原创 Linux和Unix的区别

我其实非常想了解一些关于Unix的事情,比如某个命令,比如某种机制的实现。我对此热情不减,好几年了。然而很难。我只要搜一些关于这方面的东西,结果全都是关于Linux的,搞得好像Linux就是Unix似的。这让我不得开心颜。Unix的搜索结果几乎全部都是一些宏观方面的什么哲学,思想,影响之类的,貌似经理很喜欢的那种写在ppt上的东西。只要涉及具体的东西,全都是Linux。有人说1969年世界上...

2019-09-21 11:58:15 3263 1

原创 60行C代码的shell领略Unix哲学之美

60行C代码实现一个shell。在实现它之前,先看看这样做的意义。美是有目共睹的。Unix之美,稍微体会,便能得到。1969年,Unix初始,没有fork,没有exec,没有pipe,没有 “一切皆文件” ,但是那时它已经是Unix了。它简单,可塑。Melvin Conway在1963年的论文中叙述fork思想时就解释说并行路径要用结果来交互,也就是在汇合的join点来同步结果。这个同步点所...

2019-09-18 19:17:14 11280 12

原创 Unix/Linux fork/exec的前世今生

本文是《Linux fork那些隐藏的开销》的前传《Unix/Linix fork前传》。转载注明来自公众号“Linux阅码场”。昨天(好像是上周的事了,暴雨天?),我发了个朋友圈,承诺给大家扒拉扒拉fork和exec的历史,顺便说一下fork/exec/exit/wait家族的历史。了解历史才能预测未来。写本文就是来兑现这个承诺的。一开始的Unix没有fork,一开始Unix也不需要...

2019-09-10 16:03:41 4219 1

原创 Do we need an operating system?

我竟然不知道怎么组织语言了…因为我老婆总是说我前言不搭后语…不过她也说过,我的语言习惯比较符合英文的习惯,几乎全是定语从句,状语也不少,可能也比较符合中国古文,比如类似“微斯人,吾谁与归”,“谁人共我”之类…我对操作系统还有有一番探究的(just research, not research),我也一直都想好好畅谈操作系统,然而我语言太刺,让人不悦,我也只能收着…今天突发奇想,要喷干嘛不用英文呢...

2019-09-07 19:32:02 3236 18

原创 扒拉一下UNIX/Linux select系统调用的历史

最近扒垃圾桶有点上瘾了…哦,不,谁说这些是垃圾了,这些只是历史久远了而已。互联网时代的从业人员总觉得什么都是新的,这并不正确,这也很悲哀!虽然没有UNIX/Linux fork那般久远,本文的主角select也是一个直到今天我们还在使用的系统调用。由于周末要做家务,带孩子,还要24小时钉钉oncall,一个演员的自我修养就是要在不同的时空穿越演出(PS:我写这些是故意的,因为我十分鄙视上述事...

2019-09-07 11:57:24 2978 1

原创 Linux fork隐藏的开销-过时的fork(正传)

本文来自《Linux fork那些隐藏的开销》fork是一个拥有50年历史的陈年系统调用,它是一个传奇!时至今日,它依旧灿烂。一个程序员可以永远不用read/write,也可以不懂mmap,但必须懂fork。这是一种格调!fork没有参数,它是如此简单,是UNIX哲学的布道者或者说卫道者们的首选,它被写进了几乎每一本操作系统教科书里,成了 创建新进程的绝佳范式 ,fork站在原地,似乎在闭着...

2019-09-06 13:48:26 6962 7

原创 从300行文件系统的实现内窥Linux VFS组织

周末,开学季,下雨☔️,很多皮鞋

2019-09-01 09:11:25 5631 2

一个iptables的stateless NAT模块实现

如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT或许才是有用的,Cisco设备经常处在这样的位置,比如一个很大的stub节点的出口位置,比如两个domain的中间位置... 我将名字取为STATIC-2-WAY-NAT,比较长也比较怪,完全不符合UNIX的小写短名传统,我的想法是:这样可以少写很多的帮助信息,因为名字就是自解释的。

2014-12-27

模块化的nf-HiPAC

原版的nf-hipac需要为内核打patch,且只支持较低版本的内核,构建起来相对比较麻烦。 模块化后的nf-hipac可以直接作为内核可加载模块编译,且适配了高版本的Linux内核。为了移植工作简化,去掉了和iptables模块的联动支持!

2014-11-21

配置文件还有一些other

代码和配置iptables配置文件,还有一些别的东西

2010-04-16

关于linux内核以及其他个人体会的文集

本文集是我用将近两年的时间写成的,大多数文章是关于linux内核的,另外还有一些我自己对计算机的理解,还有一些历史,音乐方面的东西。适合于对linux内核思想感兴趣的阅读,文章偏重于对于思想的理解。

2009-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除