january 16, 2007 coms 4118 (operating systems i) henning schulzrinne dept. of computer science...

12
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University http://www.cs.columbia.edu/~hgs

Upload: augusta-moody

Post on 13-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

COMS 4118 (Operating Systems I)

Henning Schulzrinne

Dept. of Computer Science

Columbia Universityhttp://www.cs.columbia.edu/~hgs

Page 2: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Course mechanics

• Instructor: [email protected]– My office hours: Tuesdays, 4-5 pm, 450F CSB or by appointment

• please contact Rosemary Addarich ([email protected])• check MICE for exceptions

• TA: Zhiyang Cao

– office hours: Wednesdays, 3-5 pm or by appointment• Web page --> basics, assignments

– http://www.cs.columbia.edu/~hgs/teaching/os• Wiki --> hints, assorted documents• Assignment upload, slides and mailing list via Courseworks• Will set up bulletin board for discussions

Page 3: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Structure of course

• Lectures - book material + background + discussion• Homework assignments• Midterm, final

Page 4: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Prerequisites

• CSEE W3827 (Fundamentals of Computer Systems)– understanding of computer system architecture– registers, cache, virtual memory, I/O, DMA, disks, etc.– interrupts– basic knowledge of what assembly language is

• COMS W3157 or W3101– understand how to use “make”, C compiler, gdb, …

• The C programming language– Java is also helpful

Page 5: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Course outline & topics

• Overview and history• Computer organization• VMWare & Linux kernel tutorial• Processes• IPC• Threads• CPU scheduling• Synchronization• Multi-processor systems

• Memory management• I/O• Disks and scheduling• File systems• Protection & security• Networking• Distributed systems

Page 6: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

The deal

• Your responsibility– you’re all adults

– responsible for your own actions and scheduling choices

– if you don’t understand something, ask– Please note academic honesty policy: http://www.cs.columbia.edu/education/honesty

• discussion with others is encouraged - study groups, discussion board, etc.• zero tolerance for cheating or “outsourcing” homework• we’ll clearly identify group work• lock your files -- “just looking” is not acceptable

• Our responsibility– be responsive to your questions

– try to fix problems

Page 7: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Lectures

• Slides for each class– derived from book slides, but modified and enhanced

• Uploaded to Courseworks shortly before class– sometimes updated after class

• Class is on CVN– on-campus students can watch– after add/drop period

Page 8: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Assignments & Grading

• Grading:– 50% assignments– 20% midterm (closed book)– 30% final (cumulative, closed book)– 0% no “extra credit” work– will be curved

• 6 written assignments (every two weeks)– individually solved

• alternate with 6 Linux kernel assignments– groups of 3, all with the same score– each participant rates the others; non-contributors will be voted off the island

(onto their own island of like-minded “slackers”)

• Late policy– five late days– late assignments will not be graded, but you can submit partial assignments– at noon on due date

Page 9: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Programming assignments

• All programming assignments must be in C– Java, C++, Fortran, … are not acceptable– unless explicitly noted otherwise

• If you don’t know C, come back next year• Needed for Linux kernel (C)• Linux kernel assignments in group

– may do small programming assignments individually

Page 10: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Linux (kernel) projects

• Shell• Linux system call• CPU scheduling for multimedia• Disk paging• Network monitoring

subject to change…

Page 11: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

Working with kernels

• Very different from standard applications• Part of a very large system (10s MLOC)

– side effects can be unpleasant– spend more time reading programs than writing them

• Debugging kernels– long build - boot - test cycle (--> batch jobs…)– limited debugging (printf)– asynchronous behavior -- hard to provide right stimulus

• “Heisenbugs”

Page 12: January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University hgs

January 16, 2007

CLIC lab

• All programs and kernels must boot & run on the CLIC machines– if not, zero credit– but you can develop at home, on your laptop, …

• You’ll need a CLIC account– https://www.columbia.edu/~crf/accounts/

• You will be assigned a particular CLIC machine for virtual machine use

• Some CLIC machines are for in-person use; others can only be accessed remotely

• No food or drink in CLIC– be considerate -- others are trying to concentrate