Introductory Lecture
Administrative Matters
Instructor: Anthony D. Joseph
- PhD MIT, 1997
- Mobile telephony/computing, wireless networking, distributed
systems
- Contact: adjATcs.berkeley.edu
Instructor: Joe Hellerstein
Fill out the sign-up sheet:
- Name, e-mail address, department, year
Class Hours:
Mondays and Wednesdays, 9:00 – 10:30 in 405 Soda
Home Page: http://www.cs.berkeley.edu/~adj/cs262
Office Hours:
TBA, anytime by appointment (set up by e-mail)
Course prerequisite: Entrance exam during Wednesday’s lecture
It covers basic undergraduate OS, similar to CS162, and is
pass/fail. It will not be difficult if you’ve had an undergraduate class,
although you will have to “page in” the material. The test has no effect on
grades other than admission to the class; it is intended only to ensure a solid
OS background and thus enable discussion.
Grades:
Project 50%, Exam 30%, Class Participation and Reading Summaries 20%
Exams: There will be one essay-type midterm exam.
Traditional Goals of the Course (CS262):
- Introduce a variety of current OS research topics.
- Teach you how to do OS research.
New goals (CS262a):
- Common foundation for OS and database research.
- Motivation: OS and DB communities historically
separate, despite much overlap in goals and ideas. We often use
independent vocabulary and have largely separate “classic” papers that the
other community typically hasn’t read (especially OS people not reading DB
papers, since a DB is “just an application”).
- Different views: top-down (DB) versus bottom-up (OS)
- OS views everything as a file or primitive.
- OS provides many primitive operations for user composition.
- DB views everything as resources.
- DB has to manage complex interactions between resources (e.g.,
interactions between virtual memory and CPU scheduling).
- Part 1 of a year-long advanced systems course (part 2 covers
hot/recent topics).
- CS262a satisfies software breadth requirement by itself.
Research = Analysis & Synthesis:
- Analysis: understanding others’ work – both what’s good AND what’s
bad.
- Systems research isn’t cut-and-dried: few “provably correct”
answers.
- Synthesis: finding new ways to advance the state of the art.
2 parts to course:
- Literature survey
- Term project
Will not cover basic material.
Analysis:
literature survey: read, analyze, criticize papers.
- All research projects fail in some way.
- Successful projects: got some interesting results anyway.
In class: lecture format with interactive discussion.
Synthesis:
do a small piece of real research.
- The project is essentially to do some OS/DBMS
research, that is, to add to the knowledge of how to build operating
systems and/or databases.
- You should try to find a topic on your own,
otherwise we will post a list of suggested projects in 1 – 2 weeks.
- Teams of 2 – 3 people.
- Project proposals due 9/24 (face-to-face meetings same week).
- Project checkpoint first week of November.
- Poster session and “conference paper” at the end of the semester.
- Usually best papers make it into a real conference (with extra
work).
- Potential projects might include the
implementation or analysis of some piece of an OS or DBMS, extending an OS
or DBMS with new functionality, or measurement and analysis of real
systems.
Readings: There is one required textbook, which should be
available at ASUC (and on the web), although it may be listed under CS286
rather than CS262. It is “Readings in Database Systems”. We will read and
discuss 2 – 4 papers per week. Many of
the papers for the class will be available on-line, in the DB book, or as
handouts in a previous class.
Class Preparation:
- Reading papers is hard, esp. at first.
- Read them before class.
Mandatory Reading Summaries: Each class will focus on one to two papers; for each
paper you are expected to e-mail in a brief 1/2-page summary before
class. The summary should list:
1.
The three most important
things it says.
2.
The most glaring problem
with the paper.
The summaries are intended to encourage you to
evaluate and understand the paper before class; the grading will be
easy, especially at the beginning. This class is only as good as the
discussion, so come prepared. To simplify conflicts, you can skip up to three
of the summaries.
Course topics: (much of OS / DBMS design is about
resource sharing)
- Seminal systems: UNIX, System R / Ingres
- File systems and persistent memory in file systems and databases
- Virtual memory and memory management in file systems and databases
- Concurrency, scheduling, synchronization
- Relational storage
- Transactions and database logging, recovery, and fault-tolerance
- Networking
- Query execution and optimization
- Distributed Systems
- Protection & security
- OS structure
- “Revealed truth” — overall principles
“Warm up” paper: System R
paper.