zoukankan      html  css  js  c++  java
  • Plan9 与 Plan9port

    Plan9

    Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。

    参考:http://www.cnblogs.com/yjf512/archive/2013/01/07/2849636.html

    Plan 9不是一个很知名的作品,但是它的前身Unix是世人皆知的。而Plan 9是Unix的几位作者在AT&T职业生涯的一件巅峰之作,是被设计来超越Unix的。
    实际上,Plan 9在1992年第一次发布时,就同时实现了Google Docs、Dropbox、Github、Remote Desktop等目前很火爆的互联网产品的功能。
    Plan 9能做到这些,是因为它把所有内容都注册到一个称为9P的文件系统里。
    举个例子,一个Acme编辑器进程会对应9P中的一个目录acme——我们可以用9p ls acme命令看到这个目录;这个编辑器中的每个窗口对应一个子目录,而窗口标题,编辑内容分别是这个子目录里的文件——我们可以通过修改文件内容(比如通过调用一个shell script)来改变标题和编辑内容。
    因为9P是个分布式的文件系统(类似后来的Google GFS和Hadoop HDFS),所以不管用户身在何处(公司、家里、旅馆、咖啡馆)都能看到同一个文件系统。甚至可以在家里的电脑上修改办公室电脑上运行的一个ACME的某个窗口里的内容。或者回家之后,让家里的电脑上运行的ACME访问办公室电脑上的ACME对应的目录,就看到了和办公室电脑上同样的界面——比远程桌面加上Dropbox更加远程桌面和Dropbox。

    Plan9没有推广起来,一个原因是它的思想太过领先——在用户还没有意识到存在这样的问题的时候,就把问题解决了。

    不管Plan9的命运如何,它背后的团队可算是计算机科学历史上最耀眼的团队之一:
    Ken Thompson:Unix、B语言(C语言前辈)、UTF-8,Go语言。2006年加入Google
    Rob Pike:UTF-8、Go语言、Sawzall语言。2006年加入Google。
    Dave Presotto:Unix的IPC机制。2004年加入Google,是Google最高权力机构“工程大师团”的成员。
    Phil Winterbottom:PLANET高速通信网络、Inferno操作系统
    其中Ken和Rob到Google之后设计了最近非常流行的Go语言。Go的吉祥物Gopher其漫画风格和Plan9的吉祥物Glenda一样一样儿的。放狗一搜,发现原来设计师真是同一个人——Renee French。这背后的故事,请看这篇文章《Glenda and Friends》。简化版本是——Renee是Rob Pike的夫人。

    更多这里的八卦请看: http://zhuanlan.zhihu.com/cxwangyi/19902040 

     

    Plan9port

    Rob Pike的徒弟、Go的设计者之一Russ Cox是Go和Google Code Search的作者。他多年坚持用一台老旧的Mac mini搞开发,并且甚为自豪。(因为不浪费粮食又环保。)

    Russ离开AT&T加入Google之后忍不住怀念Plan 9,所以把Plan 9上的用户程序——包括Acme——移植到其他操作系统上,称为Plan 9 from User Space。 git 上这个源码在: https://github.com/9fans/plan9port 

    Plan 9 from User Space这个名字很有意思——Plan 9这个名字其实来自一部1959年美国科幻电影《Plan 9 from Outer Space》。

    Plan 9 from User Space支持以下操作系统

    • Linux
    • Mac OS X
    • FreeBSD, NetBSD, OpenBSD
    • SunOS
  • 相关阅读:
    LeetCode Find Duplicate File in System
    LeetCode 681. Next Closest Time
    LeetCode 678. Valid Parenthesis String
    LeetCode 616. Add Bold Tag in String
    LeetCode 639. Decode Ways II
    LeetCode 536. Construct Binary Tree from String
    LeetCode 539. Minimum Time Difference
    LeetCode 635. Design Log Storage System
    LeetCode Split Concatenated Strings
    LeetCode 696. Count Binary Substrings
  • 原文地址:https://www.cnblogs.com/ghj1976/p/5260463.html
Copyright © 2011-2022 走看看