1 / 15

Operating Systems of The Future ( and Plan 9 )

Operating Systems of The Future ( and Plan 9 ). Shilad Sen – April 26 th , 2007. Today’s Topics. Design our own world-dominating OS. Discuss Plan 9, an OS that many people thought should have dominated the world. Design a Better OS. Hypothetical Question:

kaida
Download Presentation

Operating Systems of The Future ( and Plan 9 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating Systems of The Future( and Plan 9 ) Shilad Sen – April 26th, 2007

  2. Today’s Topics • Design our own world-dominating OS. • Discuss Plan 9, an OS that many people thought should have dominated the world.

  3. Design a Better OS • Hypothetical Question: • Google wants to enter the OS market. • Provide Google with three examples of something the three major OS’s get “wrong.” What you would you do differently?

  4. Some Areas to Consider • Networking / Sockets • Threading • File I/O • Security • Scheduling • Windowing System / User Interface Examples: 1. Eliminate all non-unicode char *’s. 2. Add an “e” “creat()” system call (Ken Thomson) 3. Copy / paste: an open problem (consolidate to a centralized copy/paste server).

  5. How Should We Build Our OS?

  6. Plan 9 from Bell Labs • Designed in mid 80’s by many of the creators of UNIX (Rob Pike, Ken Thompson, Brian Kernighan, Dennis Ritchie) • Major Architectural Concepts: • Distributed Operating System • All resources are represented as files • Application resources are organized via customizable namespaces • Standardized communication protocol (9P)

  7. Everything’s a File! • In many early operating systems, different types of block devices had different API’s. • One major innovation in UNIX was the single file I/O API for multiple devices. • Plan 9 treats virtually all devices and services as file-based services: • telnet • ftp • nfs

  8. Example: Opening a Socket % cat /net/tcp/clone/ctl 44 % cd /net/tcp/44 % echo connect 128.2.194.80!79 > ctl % echo ping > data % cat data pong

  9. Namespaces • Any file resource can be “mounted” in a customizable directory hierarchy, or namespace: • Several directories can be mounted at the same point – replaces the need for a $PATH bind /home/shilad/bin /bin bind /i386/bin /bin • Copying a local file foo to a remote floppy: import lab.pc /a: /n/dos cp foo /n/dos/ • Piping the output of foo on host1 to bar on host2 cpu -h host1 foo | cpu -h hos2 bar

  10. Communication Protocol • File-based API supports 17 standard I/O file operations • “Device drivers” (e.g. a telnet server) need only implement the 17 operations. • A mounting service transparently transmits local file commands to remote systems using the 9P protocol.

  11. Process Model • The rfork system call duplicates a process • Individual resources can be shared, copied, or created anew: • Name space • Environment • File descriptor table • Memory segments • Both fork() and pthread_create() are special cases of rfork()

  12. Synchronization rendezvous system call: Thread 1 Thread 2 rendevous("foo",value1) rendezvous("foo",value2) both calls block until they receive the “foo” tag value2 value1

  13. Security • No superuser • An authentication server maintains a database of authentication keys for all users • Both client and server exchange encryption challenges and responses so each side is convinced of the others’ identity. • All 9P network communications are secure

  14. Plan 9’s Failure • In 1998, Lucent pulled developers off of Plan 9 to focus on related Inferno OS. • Neither Plan 9 nor Inferno were commercially successful. • Most experts agree that Plan 9 was technically superior to UNIX but… • Most experts agree that Plan 9 was not superior enough to convert users of UNIX

  15. Plan 9’s Success • Plan 9 open-sourced in 2000 • Dedicated developer and user base remain today • Google Summer of Code Project • Plan 9 influenced Linux / BSD: • /proc filesystem • clone() interface • As of 2.6.14, 9P-based file device drivers in stable Linux Kernel

More Related