[08/30/2011] Laptops? 83 Windows? 83 Linux? ~40 Mac? 15 Programming Languages: C++ 83 C 81 Java 70 Python 20 ActionScript 3 PHP 20 Perl 12 Ruby 12 LISP 6 HTML/CSS/JavaScript 30 C# 8 What is an operating system? -- ONE SUCCINCT SENTENCE (write it down) -- a layer of abstraction to help coordinate system processes -- program interface between hardware and programs -- GUI for ease of use for the end-user -- a programming interface for managing inputs into a computing system What are operating system design goals? -- security -- speedy -- efficiency -- organized -- usability -- functionality -- reliability -- universality -- simplicity -- robustness -- scalability -- comprehensive -- flexibility -- extensibility -- modularity -- maintainability ENIAC (Electronic Numerical Integrator And Computer) -- no stored programs -- military applications -- programmed by setting switches or plug-boards Human operator decides the order -- Four incoming processes (jobs) ---- (A) 150 cards 8 hours <-- use historical data ---- (B) 100 cards 4 hours ---- (C) 70 cards 1 hour ---- (D) 420 cards 2 hours