Computer Science Building, Princeton University


Introduction to CS


1.  A Simple Machine

2.  Java Programming

3.  OOP

4.  Data Structures

5.  A Computing Machine

6.  Building a Computer

7.  Theory of Computation

8.  Systems

    • Library Programming

    • Compilers

    • Operating Systems

    • Networking

    • Applications Systems

9.  Scientific Computation

10.  Perspective


 Lecture Notes

Assignments

FAQ









8.3. OPERATING SYSTEMS


This section under major construction.

Memory management. In many languages, including C and C++, the programmer is responsible to manage memory consumption and explicitly free it when it is no longer in use. "Micro-managed" memory can be more efficient if done properly, but it is tedious and error-prone. Automatic memory collection can be almost as efficient in common applications, and requires less development time.

Garbage collection. Invented by John McCarthy in 1958 as part of LISP. Idea = determine which objects are reachable via references by other reachable objects; free up unreachable objects (garbage). Here are some common garbage collection techniques.

By default Java uses a three generation garbage collector.

Creative Exercises