11 dog250

尚未进行身份认证

暂无相关简介

等级
TA的排名 8

设计一个十进制纯机械乘法器,继续大数乘法

缘由周六的一个下午和今天一个早上,终于写完了本文。昨天上午用纸板子做了个简单的机械行列选择机,被问起为什么,我说我不喜欢电子的东西,我喜欢能hold住全场的,毕竟电子的东西我搞不定电池和各种门电路…自制发电机又没有漆包线,好吧,拆马达即可…马达既可以发电,又可以被电驱动,你要是担心自己搞不定足以发电的转速,反着用减速齿轮不就是个加速齿轮吗?正文上一篇文章描述了大数乘法的基本思路和我的一些思...

2019-10-16 20:39:12

演示一下发电机的原理

下午本来想用电线缠绕一个电动机玩玩,然而没有漆包线。什么都没有时就只能利用身边的东西了。发电机和电动机是对称的,一个磁生电,一个电生磁,但它们的构造完全一样,它们表现为什么完全看你给它们什么输入。什么是计算?输入->计算->输出,是为计算!为什么不用一个马达发电,然后驱动另一个马达呢?这样既可以为孩子演示发电机的原理,又可以演示电动机的原理,多好啊。干嘛非要自己缠线圈。能量...

2019-10-19 15:54:32

计算机大数乘法引发的思考

国庆假期最后一天,看了小小的一道学而思数学作业:计算201×33×707+484×6363201\times33\times707+484\times6363201×33×707+484×6363我知道肯定是把数字拆开,配合结合律完成一种“巧算”,之所以称之为“巧算”,是因为这种算法比通过竖式直接硬算要节省不少步骤。但我一下子想不到怎么拆解,我也懒得思考,因为我在思考另一件事...

2019-10-12 14:46:45

适用于桌面应用的Linux调度器BFS/MuqSS

大家都知道Linux内核task调度器经历了O(n)O(n)O(n),O(1)O(1)O(1)调度器,目前是CFS,期间也出现了几个优秀的候选调度器,但最终都没能并入内核,我们只能从一些零散的patch和文章中知道它们的存在。但Linux内核的世界乃是非常之宽广,在主线内核之外还有很多支线可供观摩。本文我来介绍Linux主线内核之外的两个非常有意思的适合桌面使用的task调度器BFS和MuqS...

2019-09-28 18:25:40

Linux内核私闯进程地址空间并修改进程内存

进程地址空间的隔离是现代操作系统的一个显著特征。这也是区别于“古代”操作系统的显著特征。进程地址空间隔离意味着进程P1无法以随意的方式访问进程P2的内存,除非这块内存被声明是共享的。这非常容易理解,我举个例子。我们知道,在原始野人社会,是没有家庭的观念的,所有的资源都是部落内共享的,所有的野人都可以以任意的方式在任意时间和任何其他野人交互。类似Dos这样的操作系统就是这样的,内存地址空...

2019-10-07 10:22:11

四棱锥和三棱锥重叠求面数

下午和小小在小房间看书,期间看到一道很有意思的题目。直接放知乎链接吧:https://www.zhihu.com/question/46747265/answer/394916985这种题目我一般不会去看答案,特别是喜欢瞎逼逼抬杠的知乎。我把问题重塑一下吧。有一个等边三棱锥和等边四棱锥,将它们的一个面重合后形成一个新的立体图形,问新的立体图形一共有几个面。过程如下:新的图形如下:...

2019-10-05 18:07:47

国庆假期欣赏机械之美

2019年国庆节当天,受台风直接影响,上海风雨大作。这种天气正好是我的主场。上一次的国庆台风还是2013年,不过那是假期的最后一天,嘉定新城地铁站完全浸泡了水中,附近工地的厕所倒塌…不知湿了多少皮鞋。安亭的汽车博物馆,两年内里面的东西基本没有变,变速箱模型坏的还是坏的,依旧没有修好,不过依然燃起了我的兴趣。只要看到机械的东西,就特别兴奋,原因不外乎几点:我二舅是老工程师,从小受我二舅...

2019-10-05 11:14:51

Linux Coscheduling调度器简介

在BFS和MuqSS两个调度器的介绍之后,本文再介绍一种有意思的调度器,即Coscheduling。一直以来任何技术让人觉得都是简单为美。不管是设计上还是实现上。比如操作系统的任务调度算法,从FIFO到CFS以及多级反馈队列,都是能一两句话说清楚并让人理解的,同时其代码实现也是及其精炼的。最近出来的一个新的调度算法有点不同。它也是可以用一两句话说清楚的,但是在实现上却看上去很复杂。这就是...

2019-09-30 09:20:14

我眼中的云计算

云计算技术复杂吗?我觉得不。Now,Alibaba,Tencent,HuaweiandBaiduareallshowingofftheircloudcomputingtechnology,asiftoshowthattheyaredifferentfromothers.Bytedanceisalsoquietlymovingintocl...

2019-09-29 18:47:57

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

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

2019-09-28 10:39:56

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

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

2019-09-21 14:38:03

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

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

2019-09-18 21:25:46

Unix/Linux fork后传-clone

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

2019-09-05 16:09:30

Linux和Unix的区别

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

2019-09-13 09:11:03

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

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

2019-09-10 16:29:49

Unix/Linux fork/exec的前世今生

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

2019-09-04 14:12:34

Do we need an operating system?

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

2019-09-07 19:19:41

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

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

2019-09-07 09:47:24

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

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

2019-09-03 23:20:56

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

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

2019-09-01 09:11:25

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024超级勋章
    1024超级勋章
    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。