Atlantis: Robust, Extensible Execution Environments for Web Applications

  • James Mickens

  • Mohan Dhawan

$ cat announce.txt

ASST3.2 is due today @ 5PM. Good luck!

Course evaluation percentage is currently:
  • 17%. Do the evaluation!

The Modern Operating System

  • Today millions of people create apps by writing code that runs in a protected sandbox and manipulates a rich windowing environment…​

  • …​except that code is JavaScript and the environment is the web browser.

At some level, the web browser is the modern operating system and has many of the features and responsibilities that we associate with traditional operating systems:

  • Multiplexing resources

    • The CPU, sockets, memory, etc.

  • Protecting applications from each other

    • Preventing information leakage between different tabs, enforcing the same origin policy

  • Providing useful abstractions

    • Events, the document object model, etc.

Browsers v. Operating Systems

So what’s a core difference between the OS and web browsers?

  • Operating systems were designed and implemented to be operating systems…​

  • …​but web browsers were designed as applications and have kind of had the OS responsibility added to them over time.

  • So browsers may not make very good operating systems!

Because you can’t out-Mickens

James Mickens

To the Tape!

Or, To the Paper

Next Week

  • Performance and benchmarking.