• 中断的本质是什么 at 2012年08月15日

    #51 楼 @luikore 这个就叫打断了指令的原子性有点勉强了。指令执行一般分三步:取指令、分析指令、执行指令。

    而缺页中断出现在第二步,分析指令时就会出现,指令还没执行呢。。。这也是很多教科书不因为缺页中断就说指令没有原子性的原因。

  • 中断的本质是什么 at 2012年08月15日

    #48 楼 @reus 指令访问了无效的地址空间引发的中断,指令本身并没有被执行,而是等待被重新执行。如果坚持说这个打破了指令的原子性。。。是不是有点勉强?

  • 中断的本质是什么 at 2012年08月15日

    #48 楼 @reus 但是普通中断只能发生在指令之间啊。你得等指令完成后才能去处理中断。就算是缺页中断,也并没有把指令给打断,而是要重新执行指令

  • 中断的本质是什么 at 2012年08月15日

    #47 楼 @luikore 那好,你给我举出个在单处理器系统中能够打断单条指令的例子出来。

  • 中断的本质是什么 at 2012年08月15日

    #41 楼 @fleuria 你这更扯了。CPU 流水线上的一个基本指令,比如 MOV,比如 ADD,怎么可能会被中断呢。。还有 ADD 一半的情况出现?

    这是原子操作啊

  • 中断的本质是什么 at 2012年08月15日

    #39 楼 @reus 本来不了解中断原理对写程序一点影响都没有,CPU 硬件实现的

    至于@fleuria 强烈质疑的,是这么一段话,我相信只要上过微机组成原理课的人,都能知道这句话的正确性与否:

    CPU 在执行完当前程序的每一条指令后,都会去确认在执行刚才的指令过程中中断控制器是否发送中断请求过来(51 是检查中断标志位,总之是 CPU 主动去 check),如果有那么 CPU 就会在相应的时钟脉冲到来时从总线上读取中断请求对应的中断向量。(这个指硬件中断的触发方法,先不考虑软件中断)

    51 因为有多周期指令,我才说了#15 楼的那段话。

  • 中断的本质是什么 at 2012年08月15日

    #32 楼 @fleuria 你说的那个应该是 51 里面的 EA,开关 CPU 总中断的,这 TMD 是中断控制标志位好不好。和中断标志位是两码事好不好。

    禁不住要咆哮体了。。

  • 中断的本质是什么 at 2012年08月15日

    #32 楼 @fleuria 51 没有 IF 标志位,谢谢

  • 中断的本质是什么 at 2012年08月15日

    #29 楼 @jiffies 第二个你再往后看一段就看到了。

  • 中断的本质是什么 at 2012年08月15日

    #28 楼 @fleuria 但是原理变过么?

  • 中断的本质是什么 at 2012年08月14日

    #22 楼 @fleuria P.S. google 关键词“单片机 中断 原理”,虽然网上不靠谱的东西多,但这种基础的东西还是很对的。。。都是摘抄自各种教材

  • 中断的本质是什么 at 2012年08月14日

    #22 楼 @fleuria 不和你争论这个随便一本 51 书上写的清清楚楚的问题。

    虽然 51 和 x86 一个是哈佛结构,一个是冯诺依曼结构,但基本原理都是一样的,CPU 的指令流水线都是一样的,中断的原理都是一样的。如果你不懂中断触发的原理,那么我只能说。。。。没啥关系,反正你只需要写软件就好了。这些都是被 CPU 自己处理掉了。

  • 中断的本质是什么 at 2012年08月14日

    #19 楼 @fleuria 看来你的理解还停留在操作系统那一层上面。找本 51 单片机的书看一下吧,不需要操作系统也能写程序,还有各种中断可用。

  • 中断的本质是什么 at 2012年08月14日

    #16 楼 @fleuria 这个问题上@jiffies 大体上是正确的。CPU 确实是计算机绝对的独裁王者,外部中断,不管是硬件中断也好,软件中断也好,最后不过是改变了 CPU 寄存器中某个小小的中断标志位。处理不处理这个中断标志位,那要看 CPU 的心情了。。。

  • 中断的本质是什么 at 2012年08月14日

    #14 楼 @jiffies 你的思想大概是对的,确实是轮询,但并不是执行完一条指令去 check 一下中断标志位,而是每个时钟周期都要 check,但是如果不是指令最后一个周期,则封锁此中断请求。

    这是因为有双周期和多周期指令的存在

  • screen vs tmux at 2012年08月10日

    #10 楼 @feitian124 tmux 可以直接配成和 screen 一样,安装好在/usr/share/tmux 下就有兼容 screen 的配置文件,导出到.tmux.conf即可

    tmux 的优点挺多,最主要的是可以实现窗口切分,而且快捷键可以设成和 vim 一样,这个也是在那个目录下就有,直接 copy 即可。。

  • TextMate 开源了 at 2012年08月10日

    #4 楼 @Peter GPL3 从来不会禁止商用的,也不允许这样禁止。

    GPL3 只是保证所有衍生物也需要 GPL3 授权而已

  • #5 楼 @bhuztez 比 chrome 和 firefox 好在何处

  • 谁说 Git 一定要首字母大写,看 Linus Torvalds 的G+ Profile 页

    Introduction: Creator of Linux and git

    而且纵观 Linus 本人的 posts,全是小写的 git,而不是 Git,这个方面作为 git 的创始人,他的写法应该更接近标准吧

  • 36kr 出错啦! at 2012年05月16日

    他家选得这个第三方评论经常挂。。。不靠谱

  • #3 楼 @hlcfan 你应该试试这个 http://github.github.com/github-flavored-markdown/

    markdown 有很多不同的 fork,很多就取消掉了这个换行。。github 这个比较流行

  • Git 测验 at 2012年05月09日

    附正确答案,作者在回复中说了: ABCD BCDA CDAB DABC ABCD

  • Git 测验 at 2012年05月09日

    第 7 题是 D,参见 https://wiki.duraspace.org/display/FCREPO/Git+Guidelines+and+Best+Practices#GitGuidelinesandBestPractices-Lineendings

    Git 1.7.2+

    These versions of git heed the .gitattributes directive, so it is not strictly necessary to set autocrlf, but it is recommended.

    These versions of git will apply the autocrlf setting to new files - preventing the introduction of non-normalized crlf files into the repository, but ignoring existing crlf files.

  • #10 楼 @jiyinyiyong 恩,退格键直接删字了。。。不习惯啊

  • #1 楼 @FenRagwort 这个是 vim 模式,默认 ignore,把它从 ignore 列表中去除后就进入 VIM 模式了

    diff 格式应该是 patch 文件的格式,只是种格式罢了,和*.md, *.c *.java 一样

  • 不错,可以在 windows 下取代 gvim。。。因为 vim 在 windows 好难调,尤其是我那一堆插件懒的转移。 所以现在是 Linux 用 vim,windows 用 Sublime Text 2。 至于那个注册提示框,既然免费用就忍了吧

  • #53 楼 @virgil chsh 是切换当前用户的 shell,应该是需要你输入当前用户的密码

  • #50 楼 @virgil 当然首先是要装 zsh。。。 sudo apt-get install zsh

  • 我当初应聘某 B2C 公司时还让现场玩游戏呢,,,没解出来,不过也得了 offer