* Why directory like that? - for organization - for protection - directory cannot be written by unprivileged program --> system control contents of directory * Why fork() and exec()? - easier to implement shell, setting environment, ... * protection domain: user id (coarse grained) * set uid Take away: Why Unix is so popular? - simple - easy to use + for programmer, easy to write, run, test program > interactive system rather than batch > sys call is simple - open, hence easy to review, fix and run again List all simple/easy to use stuff in UNIX: - . and .. (constraint on dir hierarchy) - file and IO almost the same: + access IO like a file + protection + from programmer stand point, no distinction among between random/sequential access - no user visible locks in file system - separate fork and exec, why? for flexible after fork, can setup any appropriate environment variable to execute (hence can easy redirect the output in shell: a.out > file)