Paper Discussions Karthik Dantu Steve Ko.

1 Paper Discussions Karthik Dantu Steve Ko ...
Author: Ira Hodge
0 downloads 2 Views

1 Paper Discussions Karthik Dantu Steve Ko

2 Unix Time-Sharing SystemHistory CTSS ( ) Multics ( ) – MIT, GE, Bell Labs Seamless store for data access (everything is a segment) Dynamic linking Hotswap, multi-processor support Hierarchical file system, shell, security Third version - Uniplexed Information and Computing Service (Unics  UNIX) PDP-7 and PDP-9s ( ) PDP-11/20 Demonstrate OS capability on hardware costing as little as $40,000

3 Features Tools Assembler editor linking loader symbolic debuggerLanguages: C compiler, BASIC interpreter, Fortran, Snobol YACC macro processor Fully self-supporting

4 Filesystem Most important job of UNIXRegular files, directories, special files Removable file systems Set-user-id bit – precursor to ‘sudo’? No distinction between random/sequential access Simple set of calls – open, close, create, seek Locks – neither necessary or sufficient

5 Processes Layout – very similar to modern processes ForkProcess hierarchy Pipes – first attempt at IPC Semantics unclear – blocking/non-blocking? Process synchronization Shell Filtering/unix-pipes Internal/external commands?

6 Perspective Usage – primary objectiveMake it interactive as opposed to batch-processing Minimalism due to size constraints Maintaining itself First Open Source system?

7 Hints For Computer DesignAlgorithm vs Design Fundamentally a tradeoff Much more internal structure – potentially flexible Success less well-defined Guiding questions Why? Improve functionality, speed, fault-tolerance Where? Ensuring completeness, designing interfaces, better implementation

8 Keep it Simple Do one thing; do it well Don’t generalizeGet it right (!) Corollaries Make it fast, not general Don’t hide power Use procedure arguments/parameterize Leave it to the client When in doubt, leave it out Exterminate features

9 Continuity Keep the basic interfaces stable Keep a place to stand

10 Implementation Plan to throw one away Keep secrets Divide and ConquerUse a good idea again Completeness Make the normal case fast The worst case must make some progress

11 Speed Split resources Use static analysis Dynamic translationUse hints When in doubt, use brute force Compute in background Safety first Shed load

12 Fault Tolerance End-end Log updatesMake actions atomic and re-startable