COMS 4118 (Operating Systems I) - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

COMS 4118 (Operating Systems I)

Description:

COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University http://www.cs.columbia.edu/~hgs – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 13
Provided by: colu90
Category:

less

Transcript and Presenter's Notes

Title: COMS 4118 (Operating Systems I)


1
COMS 4118 (Operating Systems I)
  • Henning Schulzrinne
  • Dept. of Computer Science
  • Columbia University
  • http//www.cs.columbia.edu/hgs

2
Course mechanics
  • Instructor hgs4118_at_cs.columbia.edu
  • My office hours Tuesdays, 4-5 pm, 450F CSB or by
    appointment
  • please contact Rosemary Addarich
    (rosemary_at_cs.columbia.edu)
  • check MICE for exceptions
  • TA Zhiyang Cao
  • office hours Wednesdays, 3-5 pm or by
    appointment
  • Web page --gt basics, assignments
  • http//www.cs.columbia.edu/hgs/teaching/os
  • Wiki --gt hints, assorted documents
  • Assignment upload, slides and mailing list via
    Courseworks
  • Will set up bulletin board for discussions

3
Structure of course
  • Lectures - book material background
    discussion
  • Homework assignments
  • Midterm, final

4
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

5
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

6
The deal
  • Your responsibility
  • youre all adults
  • responsible for your own actions and scheduling
    choices
  • if you dont 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
  • well clearly identify group work
  • lock your files -- just looking is not
    acceptable
  • Our responsibility
  • be responsive to your questions
  • try to fix problems

7
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

8
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

9
Programming assignments
  • All programming assignments must be in C
  • Java, C, Fortran, are not acceptable
  • unless explicitly noted otherwise
  • If you dont know C, come back next year
  • Needed for Linux kernel (C)
  • Linux kernel assignments in group
  • may do small programming assignments individually

10
Linux (kernel) projects
subject to change
  • Shell
  • Linux system call
  • CPU scheduling for multimedia
  • Disk paging
  • Network monitoring

11
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 (--gt batch jobs)
  • limited debugging (printf)
  • asynchronous behavior -- hard to provide right
    stimulus
  • Heisenbugs

12
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,
  • Youll 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
Write a Comment
User Comments (0)
About PowerShow.com