Skip to content

Commit

Permalink
Update site Sun Jun 5 00:51:18 CST 2016
Browse files Browse the repository at this point in the history
  • Loading branch information
Firo Yang committed Jun 4, 2016
1 parent 083c7ba commit 7a5eab8
Show file tree
Hide file tree
Showing 8 changed files with 172 additions and 16 deletions.
54 changes: 52 additions & 2 deletions cs/cs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ <h4 id="date"> Fri Feb 27, 2015 </h4>

</aside>

<meta itemprop="wordCount" content="2393">
<meta itemprop="wordCount" content="2610">
<meta itemprop="datePublished" content="2015-02-27">
<meta itemprop="url" content="http://firoyang.org/cs/cs/">

Expand Down Expand Up @@ -613,7 +613,57 @@ <h1 id="os:067ec0f34de866d1b35db70204ef4b7d">os</h1>
我们基本上把 整个os computer都包含进来了.<br />
但还需要细节推理.<br />
比如, fs:<br />
我们要先有个文件file, 各种类型</p>
我们要先有个文件file, 各种类型<br />
mm 和fs都是quantaties的描述, 但根本却别在于fs是有人的参与的, 也就是说操作是要满足人的需求的.<br />
这里fs包含了各种设备.mm是process和quantaties的关系. 而fs是人与quantaties的关系.<br />
我们不考虑各种图形界面GUI, 只考虑最基础的linux console那种情况. 当然shell和linux console也要忽略掉.<br />
从纯粹的使用场景出发, 我们是不关心什么具体的fs实现, 我们只关心具体的用户user如何操作几个or很多的文件.<br />
最为真实的,实惠的, 基本的用户场景. 同样作为quantaties的mm是用数字标示quantaties的. 而且signifier根植<br />
于电路版.而fs面对的对象是人, 而有自己的语言符号系统, 而且不能通过全部number记忆东西.<br />
所以file要有个name, 文件多了, folder就有了, folder和folder之间就类似function之间调用.<br />
也是体现的order.<br />
我们发现folder和file这两个就能很好的描述用户使用了. 另外还有一个就是order, 不太被在意的.<br />
现在fs就成了name的集合了并且那么之间都是线性的关系, 我们不考虑soft link.<br />
我们来考虑下ln: a: hard link not allowed for directory. Why?<br />
反证法如果我们允许hard link dir, 在不recursive情况下hard link ok. But 如果recursive怎么办?<br />
soft link 也可能递归!所以recursive不是问题. 那么什么是<br />
mkdir -p /tmp/a /tmp/a/b<br />
如果<br />
ln /tmp/a /tmp/la<br />
怎么办, 就是递归.<br />
ln /tmp/a/ /tmp/a/b/la1<br />
toch /tmp/a/b/la1<br />
貌似没理解到点子上.<br />
现在用户哪里看到的就是多树.<br />
开始fs.<br />
有理由把dir和file看成一个东西.<br />
下面file代表抽象了. file代表open, 就是用户面对的那个. 指向inode对应一个文件 inode连接address space backend.<br />
那么问题来了, 就上面这个搓比的设计我们如何管理这些inode, file可以process弄个链表(大误, 数组)什么的好办.<br />
如, struct file __rcu * fd-array[NR_OPEN_DEFAULT]; 这个可以理解. struct fdtable fdtab; 这个就不理解了.<br />
不去管他. 我们如何组织inode, 比如我们打开是5本电子书, 7个文件, chrome, vim, 总之很多个文件, 那么这些inode怎么办?<br />
最简单, 列个linked list就行.<br />
in fs, namei stands for name interpreting, the pathname lookup mechanisms (namei) by Feb-1997 T. Schoebel-Theuer<br />
现在关于fs就make sense了.<br />
关于open /dev, 参考dev<em>mount().</em>. ramfs_mknod vfs_mknode<br />
drivers/base/devtmpfs.c &lt;<handle_create>&gt;<br />
1. 从用户这个层面我们提供了dir 和 file, dir可以包含dir这三个concept涵盖住用户需求.</p>

<p>内核一个file 对应一次open, 先walk link path 之后do_last(walk和last交互着来 in wile()) 先去dcache 找dentry,<br />
(/dev 的dentry被pin住了, inode也建好了), 其他不在dcache找个empty dentry, 用父inode的iget之类操作<br />
建个inode同时根据硬盘数据确定operation 类型.<br />
我们发现:<br />
2. file/ inode/ dentry是严格从属于fs的.<br />
3. file -&gt; dentry -&gt; inode 这个顺序<br />
4. inode决定了你的 fs之内的最高级别operations(如char ops). 进一步的(如tty 靠major minor)<br />
5. special的inode不同于disk reglar 这种. 他们事先就created and pin dentry in core.<br />
反观fs, sb和dentry是做骨架同inode是骨架的支撑, 不可缺少.<br />
file是花拳绣腿. 有什么深刻的? 用户态松散的order和 transfer, quantaties 关系. dentry就是这种反应.<br />
深刻1, 就是order 包含!<br />
深刻2, 是什么, abstraction and function of everything(data, process)不同事物的抽象关系, 映射关系.<br />
明天就是mm, 想对比fs关注与不同事物的组合, mm更纯粹, 也会涉及大quantaties的管理, 和disk之类应该有较大的相似性.<br />
更能体现出quantaties.</p>

<p>can we open a file in interrupt?</p>

<h1 id="architecture-of-cs:067ec0f34de866d1b35db70204ef4b7d">architecture of cs</h1>

Expand Down
52 changes: 51 additions & 1 deletion cs/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1049,7 +1049,57 @@ fs和mm本质是一回事.&lt;br /&gt;
我们基本上把 整个os computer都包含进来了.&lt;br /&gt;
但还需要细节推理.&lt;br /&gt;
比如, fs:&lt;br /&gt;
我们要先有个文件file, 各种类型&lt;/p&gt;
我们要先有个文件file, 各种类型&lt;br /&gt;
mm 和fs都是quantaties的描述, 但根本却别在于fs是有人的参与的, 也就是说操作是要满足人的需求的.&lt;br /&gt;
这里fs包含了各种设备.mm是process和quantaties的关系. 而fs是人与quantaties的关系.&lt;br /&gt;
我们不考虑各种图形界面GUI, 只考虑最基础的linux console那种情况. 当然shell和linux console也要忽略掉.&lt;br /&gt;
从纯粹的使用场景出发, 我们是不关心什么具体的fs实现, 我们只关心具体的用户user如何操作几个or很多的文件.&lt;br /&gt;
最为真实的,实惠的, 基本的用户场景. 同样作为quantaties的mm是用数字标示quantaties的. 而且signifier根植&lt;br /&gt;
于电路版.而fs面对的对象是人, 而有自己的语言符号系统, 而且不能通过全部number记忆东西.&lt;br /&gt;
所以file要有个name, 文件多了, folder就有了, folder和folder之间就类似function之间调用.&lt;br /&gt;
也是体现的order.&lt;br /&gt;
我们发现folder和file这两个就能很好的描述用户使用了. 另外还有一个就是order, 不太被在意的.&lt;br /&gt;
现在fs就成了name的集合了并且那么之间都是线性的关系, 我们不考虑soft link.&lt;br /&gt;
我们来考虑下ln: a: hard link not allowed for directory. Why?&lt;br /&gt;
反证法如果我们允许hard link dir, 在不recursive情况下hard link ok. But 如果recursive怎么办?&lt;br /&gt;
soft link 也可能递归!所以recursive不是问题. 那么什么是&lt;br /&gt;
mkdir -p /tmp/a /tmp/a/b&lt;br /&gt;
如果&lt;br /&gt;
ln /tmp/a /tmp/la&lt;br /&gt;
怎么办, 就是递归.&lt;br /&gt;
ln /tmp/a/ /tmp/a/b/la1&lt;br /&gt;
toch /tmp/a/b/la1&lt;br /&gt;
貌似没理解到点子上.&lt;br /&gt;
现在用户哪里看到的就是多树.&lt;br /&gt;
开始fs.&lt;br /&gt;
有理由把dir和file看成一个东西.&lt;br /&gt;
下面file代表抽象了. file代表open, 就是用户面对的那个. 指向inode对应一个文件 inode连接address space backend.&lt;br /&gt;
那么问题来了, 就上面这个搓比的设计我们如何管理这些inode, file可以process弄个链表(大误, 数组)什么的好办.&lt;br /&gt;
如, struct file __rcu * fd-array[NR_OPEN_DEFAULT]; 这个可以理解. struct fdtable fdtab; 这个就不理解了.&lt;br /&gt;
不去管他. 我们如何组织inode, 比如我们打开是5本电子书, 7个文件, chrome, vim, 总之很多个文件, 那么这些inode怎么办?&lt;br /&gt;
最简单, 列个linked list就行.&lt;br /&gt;
in fs, namei stands for name interpreting, the pathname lookup mechanisms (namei) by Feb-1997 T. Schoebel-Theuer&lt;br /&gt;
现在关于fs就make sense了.&lt;br /&gt;
关于open /dev, 参考dev&lt;em&gt;mount().&lt;/em&gt;. ramfs_mknod vfs_mknode&lt;br /&gt;
drivers/base/devtmpfs.c &amp;lt;&lt;handle_create&gt;&amp;gt;&lt;br /&gt;
1. 从用户这个层面我们提供了dir 和 file, dir可以包含dir这三个concept涵盖住用户需求.&lt;/p&gt;

&lt;p&gt;内核一个file 对应一次open, 先walk link path 之后do_last(walk和last交互着来 in wile()) 先去dcache 找dentry,&lt;br /&gt;
(/dev 的dentry被pin住了, inode也建好了), 其他不在dcache找个empty dentry, 用父inode的iget之类操作&lt;br /&gt;
建个inode同时根据硬盘数据确定operation 类型.&lt;br /&gt;
我们发现:&lt;br /&gt;
2. file/ inode/ dentry是严格从属于fs的.&lt;br /&gt;
3. file -&amp;gt; dentry -&amp;gt; inode 这个顺序&lt;br /&gt;
4. inode决定了你的 fs之内的最高级别operations(如char ops). 进一步的(如tty 靠major minor)&lt;br /&gt;
5. special的inode不同于disk reglar 这种. 他们事先就created and pin dentry in core.&lt;br /&gt;
反观fs, sb和dentry是做骨架同inode是骨架的支撑, 不可缺少.&lt;br /&gt;
file是花拳绣腿. 有什么深刻的? 用户态松散的order和 transfer, quantaties 关系. dentry就是这种反应.&lt;br /&gt;
深刻1, 就是order 包含!&lt;br /&gt;
深刻2, 是什么, abstraction and function of everything(data, process)不同事物的抽象关系, 映射关系.&lt;br /&gt;
明天就是mm, 想对比fs关注与不同事物的组合, mm更纯粹, 也会涉及大quantaties的管理, 和disk之类应该有较大的相似性.&lt;br /&gt;
更能体现出quantaties.&lt;/p&gt;

&lt;p&gt;can we open a file in interrupt?&lt;/p&gt;

&lt;h1 id=&#34;architecture-of-cs:067ec0f34de866d1b35db70204ef4b7d&#34;&gt;architecture of cs&lt;/h1&gt;

Expand Down
6 changes: 4 additions & 2 deletions index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@

&lt;p&gt;being(4), abyss(0)&lt;br /&gt;
material(1) change, quality, quantity, relation, inference&lt;br /&gt;
process(2)(5), tansfer, truth, signifier(3), bijection, Causality&lt;/p&gt;
process(2)(5), tansfer, truth, signifier(3), bijection, Causality&lt;br /&gt;
simaotics, time-sharing&lt;/p&gt;

&lt;p&gt;以数学进制系统为例.貌似越为简约的计数系统, 只能越复杂,反之操作越为简单,原始.&lt;br /&gt;
或者说除一进制职位的计数系统, 其他都需要更为复杂?&lt;br /&gt;
Expand Down Expand Up @@ -1278,7 +1279,8 @@ Completeness, consistency, validity, soundness. &amp;ndash; Logic&lt;br /&gt;
Falsifiability可证伪性 &amp;ndash; Popper&lt;br /&gt;
批判性, 你所学的一切都是暂时性的,任何所学都有改口 驳斥 质疑的余地 &amp;ndash;Aaron Swartz,25:20&lt;br /&gt;
对于学习的知识上, 方法要做到知识之间的联系, 转换关系.&lt;br /&gt;
认知的缺陷, imperfect-understand, 彻底可错性. &amp;ndash;Firo Soros Popper&lt;/p&gt;
认知的缺陷, imperfect-understand, 彻底可错性. &amp;ndash;Firo Soros Popper&lt;br /&gt;
When you can not think any further of somthing, you must be awarenees of lack of causilities.&lt;/p&gt;

&lt;h1 id=&#34;收集:007041aa20bf44bd43eba68b5f650c57&#34;&gt;收集&lt;/h1&gt;

Expand Down
6 changes: 4 additions & 2 deletions philosophy/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@

&lt;p&gt;being(4), abyss(0)&lt;br /&gt;
material(1) change, quality, quantity, relation, inference&lt;br /&gt;
process(2)(5), tansfer, truth, signifier(3), bijection, Causality&lt;/p&gt;
process(2)(5), tansfer, truth, signifier(3), bijection, Causality&lt;br /&gt;
simaotics, time-sharing&lt;/p&gt;

&lt;p&gt;以数学进制系统为例.貌似越为简约的计数系统, 只能越复杂,反之操作越为简单,原始.&lt;br /&gt;
或者说除一进制职位的计数系统, 其他都需要更为复杂?&lt;br /&gt;
Expand Down Expand Up @@ -195,7 +196,8 @@ Completeness, consistency, validity, soundness. &amp;ndash; Logic&lt;br /&gt;
Falsifiability可证伪性 &amp;ndash; Popper&lt;br /&gt;
批判性, 你所学的一切都是暂时性的,任何所学都有改口 驳斥 质疑的余地 &amp;ndash;Aaron Swartz,25:20&lt;br /&gt;
对于学习的知识上, 方法要做到知识之间的联系, 转换关系.&lt;br /&gt;
认知的缺陷, imperfect-understand, 彻底可错性. &amp;ndash;Firo Soros Popper&lt;/p&gt;
认知的缺陷, imperfect-understand, 彻底可错性. &amp;ndash;Firo Soros Popper&lt;br /&gt;
When you can not think any further of somthing, you must be awarenees of lack of causilities.&lt;/p&gt;

&lt;h1 id=&#34;收集:007041aa20bf44bd43eba68b5f650c57&#34;&gt;收集&lt;/h1&gt;

Expand Down
5 changes: 3 additions & 2 deletions philosophy/knowledge/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ <h4 id="date"> Wed Feb 17, 2016 </h4>

</aside>

<meta itemprop="wordCount" content="423">
<meta itemprop="wordCount" content="425">
<meta itemprop="datePublished" content="2016-02-17">
<meta itemprop="url" content="http://firoyang.org/philosophy/knowledge/">

Expand All @@ -173,7 +173,8 @@ <h1 id="世界本源-the-origin-of-the-world-l-origine-du-monde:534f99acf528297d

<p>being(4), abyss(0)<br />
material(1) change, quality, quantity, relation, inference<br />
process(2)(5), tansfer, truth, signifier(3), bijection, Causality</p>
process(2)(5), tansfer, truth, signifier(3), bijection, Causality<br />
simaotics, time-sharing</p>

<p>以数学进制系统为例.貌似越为简约的计数系统, 只能越复杂,反之操作越为简单,原始.<br />
或者说除一进制职位的计数系统, 其他都需要更为复杂?<br />
Expand Down
5 changes: 3 additions & 2 deletions philosophy/philosophy/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ <h4 id="date"> Sun Sep 13, 2015 </h4>

</aside>

<meta itemprop="wordCount" content="366">
<meta itemprop="wordCount" content="383">
<meta itemprop="datePublished" content="2015-09-13">
<meta itemprop="url" content="http://firoyang.org/philosophy/philosophy/">

Expand Down Expand Up @@ -223,7 +223,8 @@ <h1 id="原则:007041aa20bf44bd43eba68b5f650c57">原则</h1>
Falsifiability可证伪性 &ndash; Popper<br />
批判性, 你所学的一切都是暂时性的,任何所学都有改口 驳斥 质疑的余地 &ndash;Aaron Swartz,25:20<br />
对于学习的知识上, 方法要做到知识之间的联系, 转换关系.<br />
认知的缺陷, imperfect-understand, 彻底可错性. &ndash;Firo Soros Popper</p>
认知的缺陷, imperfect-understand, 彻底可错性. &ndash;Firo Soros Popper<br />
When you can not think any further of somthing, you must be awarenees of lack of causilities.</p>

<h1 id="收集:007041aa20bf44bd43eba68b5f650c57">收集</h1>

Expand Down
52 changes: 51 additions & 1 deletion tags/cs/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1049,7 +1049,57 @@ fs和mm本质是一回事.&lt;br /&gt;
我们基本上把 整个os computer都包含进来了.&lt;br /&gt;
但还需要细节推理.&lt;br /&gt;
比如, fs:&lt;br /&gt;
我们要先有个文件file, 各种类型&lt;/p&gt;
我们要先有个文件file, 各种类型&lt;br /&gt;
mm 和fs都是quantaties的描述, 但根本却别在于fs是有人的参与的, 也就是说操作是要满足人的需求的.&lt;br /&gt;
这里fs包含了各种设备.mm是process和quantaties的关系. 而fs是人与quantaties的关系.&lt;br /&gt;
我们不考虑各种图形界面GUI, 只考虑最基础的linux console那种情况. 当然shell和linux console也要忽略掉.&lt;br /&gt;
从纯粹的使用场景出发, 我们是不关心什么具体的fs实现, 我们只关心具体的用户user如何操作几个or很多的文件.&lt;br /&gt;
最为真实的,实惠的, 基本的用户场景. 同样作为quantaties的mm是用数字标示quantaties的. 而且signifier根植&lt;br /&gt;
于电路版.而fs面对的对象是人, 而有自己的语言符号系统, 而且不能通过全部number记忆东西.&lt;br /&gt;
所以file要有个name, 文件多了, folder就有了, folder和folder之间就类似function之间调用.&lt;br /&gt;
也是体现的order.&lt;br /&gt;
我们发现folder和file这两个就能很好的描述用户使用了. 另外还有一个就是order, 不太被在意的.&lt;br /&gt;
现在fs就成了name的集合了并且那么之间都是线性的关系, 我们不考虑soft link.&lt;br /&gt;
我们来考虑下ln: a: hard link not allowed for directory. Why?&lt;br /&gt;
反证法如果我们允许hard link dir, 在不recursive情况下hard link ok. But 如果recursive怎么办?&lt;br /&gt;
soft link 也可能递归!所以recursive不是问题. 那么什么是&lt;br /&gt;
mkdir -p /tmp/a /tmp/a/b&lt;br /&gt;
如果&lt;br /&gt;
ln /tmp/a /tmp/la&lt;br /&gt;
怎么办, 就是递归.&lt;br /&gt;
ln /tmp/a/ /tmp/a/b/la1&lt;br /&gt;
toch /tmp/a/b/la1&lt;br /&gt;
貌似没理解到点子上.&lt;br /&gt;
现在用户哪里看到的就是多树.&lt;br /&gt;
开始fs.&lt;br /&gt;
有理由把dir和file看成一个东西.&lt;br /&gt;
下面file代表抽象了. file代表open, 就是用户面对的那个. 指向inode对应一个文件 inode连接address space backend.&lt;br /&gt;
那么问题来了, 就上面这个搓比的设计我们如何管理这些inode, file可以process弄个链表(大误, 数组)什么的好办.&lt;br /&gt;
如, struct file __rcu * fd-array[NR_OPEN_DEFAULT]; 这个可以理解. struct fdtable fdtab; 这个就不理解了.&lt;br /&gt;
不去管他. 我们如何组织inode, 比如我们打开是5本电子书, 7个文件, chrome, vim, 总之很多个文件, 那么这些inode怎么办?&lt;br /&gt;
最简单, 列个linked list就行.&lt;br /&gt;
in fs, namei stands for name interpreting, the pathname lookup mechanisms (namei) by Feb-1997 T. Schoebel-Theuer&lt;br /&gt;
现在关于fs就make sense了.&lt;br /&gt;
关于open /dev, 参考dev&lt;em&gt;mount().&lt;/em&gt;. ramfs_mknod vfs_mknode&lt;br /&gt;
drivers/base/devtmpfs.c &amp;lt;&lt;handle_create&gt;&amp;gt;&lt;br /&gt;
1. 从用户这个层面我们提供了dir 和 file, dir可以包含dir这三个concept涵盖住用户需求.&lt;/p&gt;

&lt;p&gt;内核一个file 对应一次open, 先walk link path 之后do_last(walk和last交互着来 in wile()) 先去dcache 找dentry,&lt;br /&gt;
(/dev 的dentry被pin住了, inode也建好了), 其他不在dcache找个empty dentry, 用父inode的iget之类操作&lt;br /&gt;
建个inode同时根据硬盘数据确定operation 类型.&lt;br /&gt;
我们发现:&lt;br /&gt;
2. file/ inode/ dentry是严格从属于fs的.&lt;br /&gt;
3. file -&amp;gt; dentry -&amp;gt; inode 这个顺序&lt;br /&gt;
4. inode决定了你的 fs之内的最高级别operations(如char ops). 进一步的(如tty 靠major minor)&lt;br /&gt;
5. special的inode不同于disk reglar 这种. 他们事先就created and pin dentry in core.&lt;br /&gt;
反观fs, sb和dentry是做骨架同inode是骨架的支撑, 不可缺少.&lt;br /&gt;
file是花拳绣腿. 有什么深刻的? 用户态松散的order和 transfer, quantaties 关系. dentry就是这种反应.&lt;br /&gt;
深刻1, 就是order 包含!&lt;br /&gt;
深刻2, 是什么, abstraction and function of everything(data, process)不同事物的抽象关系, 映射关系.&lt;br /&gt;
明天就是mm, 想对比fs关注与不同事物的组合, mm更纯粹, 也会涉及大quantaties的管理, 和disk之类应该有较大的相似性.&lt;br /&gt;
更能体现出quantaties.&lt;/p&gt;

&lt;p&gt;can we open a file in interrupt?&lt;/p&gt;

&lt;h1 id=&#34;architecture-of-cs:067ec0f34de866d1b35db70204ef4b7d&#34;&gt;architecture of cs&lt;/h1&gt;

Expand Down
8 changes: 4 additions & 4 deletions tags/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,14 @@ <h2><a href="tags/net"> net </a> 6 </h2>

<h2><a href="tags/firo"> firo </a> 3 </h2>

<h2><a href="tags/book"> book </a> 1 </h2>

<h2><a href="tags/lyubishchev"> lyubishchev </a> 1 </h2>

<h2><a href="tags/animation"> animation </a> 1 </h2>

<h2><a href="tags/philosophy"> philosophy </a> 1 </h2>

<h2><a href="tags/book"> book </a> 1 </h2>

<h2><a href="tags/lyubishchev"> lyubishchev </a> 1 </h2>

</div>
</section>

Expand Down

0 comments on commit 7a5eab8

Please sign in to comment.