CS 2510: COMPUTER OPERATING SYSTEMS FALL 2012 Syllabus

Similar documents
How To Understand And Understand An Operating System In C Programming

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

School of Computing and Information Sciences. Course Title: Computer Programming III Date: April 9, 2014

Gildart Haase School of Computer Sciences and Engineering

IT 342 Operating Systems Fundamentals Fall 2014 Syllabus

CSE 265: System and Network Administration

Virtualization Technology. Zhiming Shen

VMware Server 2.0 Essentials. Virtualization Deployment and Management

EECS 678: Introduction to Operating Systems

Canisius College Computer Science Department Computer Programming for Science CSC107 & CSC107L Fall 2014

Sociology 302: Contemporary Social Problems

Datacenters and Cloud Computing. Jia Rao Assistant Professor in CS

Undergraduate Course Syllabus

Virtualization for Cloud Computing

The University of Texas at Austin School of Social Work SOCIAL WORK STATISTICS

Distributed Operating Systems

Design and Implementation of the Heterogeneous Multikernel Operating System

Operating System Components and Services

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Department of Computer Science Better than Native: Using Virtualization to Improve Compute Node Performance

Cloud Computing. Summary

Computer Science Theory. From the course description:

INSTRUCTOR: Dwight Makaroff - Thorvaldson x8656. Available via appointment.

Operating System Structures

CSE 265: System and Network Administration. CSE 265: System and Network Administration

MGT/B 296 Business Intelligence Technologies Data Mining Spring 2010

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Leveraging Thin Hypervisors for Security on Embedded Systems

Chemistry 3325 Organic Chemistry II Fall 2007

Virtualization. Pradipta De

CS 218 Advanced Computer Networks Quarter: Fall 2003 Course ID : CS218 Class hour : MW 8:00-10:00 pm Classroom : BH 5273

GEOG/PLAN 210 IMAGE INTERPRETATION AND PHOTOGRAMMETRY

SANTA ANA COLLEGE PHOTOGRAPHY 180 # BEGINNING PHOTOGRAPHY SYLLABUS FALL 2014 Monday 5-10:25 PM Cesar Chavez Bldg. RM A-219

How To Understand The Principles Of Operating Systems

COURSE OUTLINE Survey of Operating Systems

Social Media Management

11:709:255:90/91 Nutrition & Health (3 credit hours) Fall 2015 Online Online ecollege ( Index # 07233/10724

1. COURSE DESCRIPTION

CSE 265: System and Network Administration. CSE 265: System and Network Administration

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Virtualization. Jukka K. Nurminen

CS 253: Intro to Systems Programming

NORTHWESTERN UNIVERSITY Department of Statistics. Fall 2012 Statistics 210 Professor Savage INTRODUCTORY STATISTICS FOR THE SOCIAL SCIENCES

Server and Storage Virtualization. Virtualization. Overview. 5 Reasons to Virtualize

General Psychology. Course Syllabus

UNIVERSITY OF NORTH GEORGIA DEPARTMENT OF CRIMINAL JUSTICE COURSE SYLLABUS CRJU 4350/6350 FAMILY VIOLENCE FALL 2015 ONLINE

Virtual machine interface. Operating system. Physical machine interface

UVA IT3350 Syllabus Page 1

How To Pass Eecs 485

Exokernel : An Operating System Architecture for Application-Level Resource Management. Joong Won Roh

Server and Storage Virtualization

INFO/CS 4302 Web Information Systems. FT 2012 Week 1: Course Introduction

CS 301 Course Information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

BIG DATA USING HADOOP

Networking Operating Systems (CO32010)

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113

ECON-2105, Principles of Macroeconomics, 1rst Half Term, Spring/2016

UNIVERSITY OF MICHIGAN SCHOOL OF INFORMATION SI301: Models of Social Information Processing Syllabus

Red Hat Linux Internals

Far-western University Central Office, Mahendranagar Operating System

FUNDAMENTALS OF NEGOTIATIONS Purdue University Fall 2014 CSR CRN Tuesday and Thursday 7:30 AM - 8:45 AM Krannert Building G016

Psych 605 Advanced Human Learning Professor Neil H. Schwartz, Ph.D. Fall Semester 2014

John Moreno Senior Adjunct Professor Ageno School of Business GOLDEN GATE UNIVERSITY

General Psychology. Professor. Course Description. Course Objectives. Accommodations. PSY 201 (10544, 10545) Fall 2013 M/W 4:00 5:50 ITC 211

Northwestern University BUS_INST 239 Marketing Management Fall Department of Psychology University Hall, Room 102 Swift Hall (2029 Sheridan Rd.

Course: ITM 125.C2 Course Title: Essentials of Business Information Systems Spring C2 2012

Grading. The grading components are as follows: Midterm Exam 25% Final Exam 35% Problem Set 10% Project Assignment 20% Class Participation 10%

Principles of Public Health Informatics I Course Syllabus Fall 2007

International Business Negotiations. Spring Semester 2013

ASTR 100 Introduction to Astronomy Syllabus for Fall 2015

KVM, OpenStack, and the Open Cloud

Computer Science 4302 Operating Systems. Student Learning Outcomes

L1: Introduction to Hadoop

Operating Systems OS Architecture Models

INFO 3130 Management Information Systems Spring 2016

ENGG*4420 Real Time Systems Design Fall 2015

ECE 156A - Syllabus. Lecture 0 ECE 156A 1

269 Business Intelligence Technologies Data Mining Winter (See pages 8-9 for information about 469)

Dr. Stanny EXP 3082L Fall 2003 EXPERIMENTAL PSYCHOLOGY LABORATORY. Office Hours For Dr. Stanny: 9:00 AM - 11:30 AM Tuesday, Wednesday, & Thursday

Cloud Defense. Kevin Hall Cyber Security Technology Department 4/17/2012. Sandia National Laboratories SAND C

MATH 1310, SECTION 17086

Textbook: C M Chang, Engineering Management: Challenges in the New Millennium, Prentice Hall, 2004.

Johnson State College External Degree Program. ACC-3111-JX01 Advanced Intermediate Accounting I Syllabus. Session Fall henrique.cezar@jsc.

CSC 314: Operating Systems Spring 2005

Cloud Computing. Up until now

Course Description and Objectives

Chapter 11 I/O Management and Disk Scheduling

Evaluation Criteria Practice Preparation 30% Performance Recitals 30% Technique/Theory 25% Quarterly Project 15%

CSCD18: Computer Graphics

Syllabus Introduction to C++ Programming and Numerical Analysis Spring 2016

A Comparison of Distributed Systems: ChorusOS and Amoeba

CTE214 Operating Systems Syllabus

Syllabus CTPS 6129 TRM 6 Translational Research Project Management

ROYAL REHAB COLLEGE AND THE ENTOURAGE EDUCATION GROUP. UPDATED SCHEDULE OF VET UNITS OF STUDY AND VET TUITION FEES Course Aug 1/2015

Chapter 1: Introduction. What is an Operating System?

Client/Server and Distributed Computing

MBA 6410 Strategic Global Marketing 3 Credit Hours Milton Fall Term 2, 2014

Transcription:

CS 2510: COMPUTER OPERATING SYSTEMS FALL 2012 Syllabus Course Website Instructor http://www.cs.pitt.edu/ jacklange/teaching/cs2510-f12 Jack Lange, Assistant Professor Office: Sennott Square, Office #5407 Phone: 412-648-0168 Email: jacklange@cs.pitt.edu Office Hours: Mon. 2-4PM Teaching Assistant Brian Kocoloski Office: Email: briankoco@cs.pitt.edu Office Hours: TBA Location and Time Tues./Thurs., 2:30-3:45PM Sennott Square, Room 5313 Prerequisites Required Required Highly Recommended Highly Recommended Knowledge of C and C++ Unix development experience (gcc, gdb, make, etc) Unix systems programming experience CS1550 Textbooks There are no required textbooks for this course. Instead we will be reading seminal research papers in the field. Readings will be assigned weekly, and students will be required to submit a paper review before each class.

Recommended reference books (These will be very helpful for the projects) Overview Jonathan Corbet, Alessandro Rubini, and Greg Koah-Hartman Linux Device Drivers, 3rd Edition O Reilly, 2005 Available for free as downloadable PDFs Daniel P. Bovet and Marco Cesati Understanding the Linux Kernel, 3rd edition O Reilly, 2005 Richard Stevens Advanced Programming in the Unix Environment Addison-Wesley, 1992 A basic book for anyone writing programs that run under Unix Maurice J. Bach The design of the UNIX Operating System Prentice Hall, 1986 CS2510 is a graduate level course covering the design and implementation of past, current and future operating systems. Throughout the course we will examine a wide range of OS architectures and features, as well as explore a variety of OS research topics. This class will consist of four main components: Lectures covering fundamental OS topics Reading, reviewing, and presenting research papers Completing 4 assigned projects throughout the course A cumulative final covering all material covered Lectures will be presented each Tuesday and will introduce and cover basic concepts. Thursdays will consist of student presentations of an assigned research paper. The paper will be first presented to the group by a student and then discussed in a round-table manner. A student assigned to play devil s advocate will help jumpstart the conversation. To ensure lively discussions, you will be responsible for reading and preparing a short (typed) summary of the assigned paper before each class. Summaries will be due by 11:59PM of the previous day so that the staff has time to read them and bring your comments into next class discussion. Each presentation will consist of a formal presentation, and is expected to go into considerable depth by focusing on some aspect of the material and treating it thoroughly. Students must create their own presentation slides and are not allowed to use slides provided by the paper authors. After the presentation, the slides will be posted to the website. Each presentation should last between 30 and 35 minutes, followed by the discussion. Attendance and participation in these discussions is mandatory. For each presentation, every student is required to ask at least 1 relevant question about the paper or presented material.

Projects Over the course of the quarter, you will implement a set of OS functionality in a variety environments. The projects will include implementing synchronization primitives in user level, virtual memory and paging in the Linux kernel, and thread scheduling and synchronization in an educational OS. Each of these projects will be doable inside a standard Linux environment, but project 2 will require root level access. We highly recommend that all students install and configure a virtual machine environment such as VMWare or KVM and install a Fedora 15 environment into it. This approach will make working on the projects much easier. Each project will consist of a code skeleton which you will flesh out to provide the required functionality. Warning: If you do not know how to install and configuring a Linux environment on your own, then you should either drop this course or be prepared to spend a considerable amount of time gaining the necessary background knowledge. 12.5% Project 1 (Synchronization primitives) 12.5% Project 2 (Virtual memory) 12.5% Project 3 (Swapping) 12.5% Project 4 (Scheduling) Reading Papers You will be responsible for reading and preparing a summary of the assigned paper before each class. Your final grade will depend on faithfully submitting summaries for each and every paper before we talk about them in class: this is simple to ensure everybody keeps up with the reading. When reading papers it is normally useful to write down a summary of about a page. Your summary should include at least: Paper title and its author(s). Brief one-line summary. A paragraph of the most important ideas: perhaps a combination of their motivations, observations, interesting parts of the design, or clever parts of their implementation. A paragraph of the largest flaws; maybe an experiment was poorly designed or the main idea had a narrow scope or applicability. Being able to assess weaknesses as well as strengths is an important skill for this course and beyond. A last paragraph where you state the relevance of the ideas today, potential future research suggested by the article, etc. You may find the following brochure useful: Efficient reading of papers in Science and Technology by Michael J. Hanson, 1990, revised 2000 Dylan McNamee. Grading 50% Projects 10% Presentations 10% Paper reviews 30% Final All course work will be completed and evaluated individually. While it is permissible to discuss high level details of the course project, sharing or copying another student s code is prohibited.

Communication Website - Announcements will be made both in class and via the course website. Please check it regularly for clarifications and corrections. Project materials will also be published there. Web address: http://www.cs.pitt.edu/ jacklange/teaching/cs2510-f12 Discussion Group - A google group has been created for class discussions: pitt-cs2510- f12@googlegroups.com. Students will be granted membership via their email address. Web address: http://groups.google.com/group/pitt-cs2510-f12

Schedule Date Lecture Presenter Proj Aug. 28th Class overview and introduction J. Lange Aug. 30th OS Basics J. Lange Reading: The Rise of Worse is Better ; Hints for Computer System Design Sept. 4th OS Basics Cont d J. Lange Proj. 1 out Reading: The Structure of the THE -Multiprogramming System Sept. 6th The Flux OSKit: A Substrate for Kernel and Language Research Sept. 11th ABI, ASM, and Calling conventions J. Lange Sept. 13th FlexSC: Flexible System Call Scheduling with Exception-Less System Calls Sept. 18th Processes and Threads J. Lange Sept. 20th Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism Sept. 25th Synchronization J. Lange Reading: Implementing Lock-Free Queues. Sept. 27th TxLinux: Using and Managing Hardware Transactional Memory in an Operating System Oct. 2nd Virtual Memory J. Lange Proj. 1 in Proj. 2 out Oct. 4th No Class Oct. 9th No class Oct. 11th Practical, transparent operating system support for superpages Oct. 16th Parallel, NUMA, Multicore J. Lange Oct. 18th Helios: Heterogeneous Multiprocessing with Satellite Kernels Oct. 23rd IPC, distributed systems J. Lange Oct. 25th Implementing Remote Procedure Calls Proj. 2 in Proj. 3 out Oct. 30th Fault Tolerance J. Lange Nov. 1st Recovering Device Drivers Nov. 6th File systems J. Lange Design and Implementation of the Sun Network Filesystem Nov. 8th The Design and Implementation of a Log-Structured File System Nov. 13th Security, ACLs, sandboxes, virtualization J. Lange Reading: Formal requirements for virtualizable third generation architectures Nov. 15th Nexus: A New Operating System for Trustworthy Computing Proj. 3 in Proj. 4 out Nov. 20th No class Nov. 22nd No class Nov. 27th Xen and the Art of Virtualization Nov. 29th The Multikernel: A new OS architecture for scalable multicore systems Dec. 4th Dec. 6th K42: Building a Complete Operating System Exokernel: An Operating System Architecture for Application-Level Resource Management Dec. 11th Finding a needle in Haystack: Facebook s photo storage Proj. 4 in Dec. 14th Final Exam Due