[Note: The most recent updates (if any) are  highlighted]

 

Syllabus for

CS 4540 – Operating Systems (OSs)

Spring 2015

Department of Computer Science, Western Michigan University

 

Instructor:            Dr. Leszek (LEH-shek) Lilien

CEAS B-249

Email: llilien@wmich.edu Only messages conforming to the following email requirements can expect a quick reply.

Phone: (269) 276-3116 (email preferred)

Email requirements for CS 4540-S15

Replies to messages that do not conform to the following requirements might be delayed or missing (e.g., due to automatic classification of the message as junk mail):

a)   The message should be sent from a WMU account - ending with “wmich.edu” (of course, this includes accounts ending with “cs.wmich.edu”).

b)   The message should have a descriptive subject with the indicated prefix:

CS4540-S15-<your last name>: <subject>

Example (for a student named Smith):  

CS4540-S15-Smith: final exam date

 

NOTE: Don't use "<" and ">" — they are only elements of format specifications.

 

Attached files must be scanned with up-to-date anti-viral software, and the message including them must contain the following statement:

 I have scanned the enclosed file(s) with <name of software,   its version>, which was last updated on <date>.

where <date> should be the current date. (You should have the habit of updating your anti-viral software daily!).

 

Lectures:              Tu and Th  1:00 p.m. – 2:15 p.m., CEAS D-202

Office Hours:      Tu and Th  6:00 p.m. – 7:00 p.m.

 

Lecture Web Pages:

Syllabus - main page (this page): index.htm

Announcements and slides: announcements+slides.htm

 

TA:

Halil Ibrahim Dursunoglu, halilibrahim.dursunoglu@wmich.edu

TA’s Office and Office Hours: TBA

 

Prerequisites (from the course catalog):                     

CS 3310  Minimum Grade of C   AND
  ( CS 2240  Minimum Grade of C  OR  ECE 3570  Minimum Grade of C )

 

Texts:

Required:  Silberschatz, Galvin, and Gagne, Operating System Concepts. Ninth Edition, Wiley, 2012 © 2013, hardcover ISBN-13:  978-1-118-06333-0

(http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002013.html)

 

Recommended: Love, Linux Kernel Development. Third Edition, Addison-Wesley Professional, 2010, ISBN-10:  0672329468 (paperback)

(http://www.pearsonhighered.com/educator/product/Linux-Kernel-Development/9780672329463.page)

Recommended: Kernighan and Ritchie, The C Programming Language. Second Edition, Prentice Hall PTR, 1988, ISBN-10:  0-13-110362-8 (paperback)

(http://www.pearsonhighered.com/educator/product/C-Programming-Language/9780131103627.page)

 

Textbook buying/renting options:

http://www.bkstr.com/webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=298405&langId=-1&programId=3396&termId=100033440&divisionDisplayName=%20&departmentDisplayName=CS&courseDisplayName=4540&sectionDisplayName=11552&demoKey=d&purpose=browse

               

Course Overview: (from the WMU Course Offerings at https://wmich.edu/classlookup/wskctlg.wskctlg_menu) 

The internal and external views of computer operating systems are presented. A historical survey of the development and growth of operating systems is given. Fundamentals of systems and system design are stressed. Basic concepts and terminology are emphasized. Processes, communications and synchronizations, deadlocks, scheduling, shared resources, resource allocation and deallocation, memory management, files management, and protection are discussed. Applications to real systems are investigated to motivate the ideas presented. Students build or run simulations and modify the internals of a working operating system.

 

Course Objectives:    

The course is designed to provide knowledge including the following topics (referring to the ToC of the required textbook):

PART ONE OVERVIEW

Chapter 1 Introduction

Chapter 2 Operating-System Structures

PART TWO PROCESS MANAGEMENT

Chapter 3 Processes

Chapter 4 Threads

Chapter 5 Process Synchronization

Chapter 6 CPU Scheduling

PART THREE MEMORY MANAGEMENT

Chapter 8 Main Memory

Chapter 9 Virtual Memory

PART FOUR STORAGE MANAGEMENT

Chapter 10 Mass-Storage Structure

Chapter 11 File-System Interface

Chapter 12 File-System Implementation

PART FIVE PROTECTION AND SECURITY

Chapter 14 Protection

Chapter 15 Security


Performance Objectives:  

[based on “Course Goals and Objectives” written by of Prof. Zijiang James Yang]

At the end of the course, all students should be able to understand and work effectively with evolving modern operating systems.

In more detail, all students should be able to:

·         Understand the basic operating systems concepts that are used in current operating systems, including: operating system structures, process management, scheduling, threads, memory management, synchronization, system calls, loadable modules, file systems, and virtual machines. 

·         Understand the organization of the Linux kernel, how to modify and compile it.

·         Write own C programs.

 

Grading:

Midterm                                                30%

Final                                                       35%

Projects, assignments, etc.                 35%

 

Course Policies:

  1. Lecture

Lecture notes will be available on-line or emailed to the class. You should study the slides and read announcements (if any) after/before each lecture.

Taking notes during classes is highly encouraged.  Especially, you should write down anything that is written down using the board or the document projector. You are encouraged to slow me down if you need more time to take notes.

Attendance is required. If you must miss a lecture, make sure that you don’t miss announcements.

  1. Projects/assignments                              [some content courtesy of prof. Zijiang James Yang]

I expect to have a TA’s support for the course.

You will need access to a machine on which you can install Ubuntu Linux (with a current kernel version). 

It is assumed you are a competent C programmer, and know about UNIX programming. There will be an opportunity for you to develop those skills, but that is your responsibility. You can expect every test to include a C program worth a significant number of points.

I plan to have 5-6 projects/assignments (weekly or bi-weekly).

Reports (to be handed to the TA) or demonstrations will be required for each project/assignment.

For each day a report for project/assignment is late, 10% of the maximum score will be deducted.  Weekends and holidays are not counted when calculating lateness.  

No projects/assignment will be accepted after 11:59 pm on the day of the last class (during the week preceding the final Examination Week).

3. Exams

As already mentioned, there will be two exams for the class. 

The midterm exam should be announced at least a week in advance (most probably, it will be held during the sixth or seventh week of the semester).  It will be held during the normal class time.

The final exam will be held during the finals week, as scheduled by the Registrar’s Office:

All Tuesday 1 p.m. classes

Thursday

April 30

12:30 p.m. – 2:30 p.m.

 see: http://wmich.edu/registrar/calendars/exams/spring/

        Room for the final exam: TBA

If you miss an exam and are excused, you will be required to take a makeup exam. To be excused, there must be significant circumstances beyond the student’s control.  Generally this will require documentation, such as a doctor’s note in case of an illness.   You should inform the instructor before the exam if there are circumstances beyond your control that will cause missing an exam.

 

NOTE: No makeup exams will be given for reasons other than emergency situations completely beyond student’s control. If you know ahead of time that the final exam time conflicts with your plans, do not register for this class. (In particular, early flight reservations are not an acceptable reason for a makeup exam.)

4. Incomplete Grades

The incomplete grade - I - is intended for a student who has missed a relatively small portion of work due to circumstances beyond his/her control.  In general, performance on work done must be at a level of C or better in order to qualify for an incomplete.  An I grade will not be given to replace an otherwise low or failing grade in the class. 

 

5. Other Issues

By registering in this class you agree that your in-class presentations and term papers, if any, will be posted on the publically available web site for the course.  No requests to remove your name will be accepted.

 

 

Use of Electronic Devices:     [courtesy of Prof. Ajay Gupta and Prof. Zijiang James Yang]

You are expected to stay alert and pay attention to the directions/announcements in the class. Cellphones, PDAs, and other electronic devices should NOT be used during the lecture and should be turned off.

If available, you may bring your laptop to the class. Your laptop speakers must be turned off. Web-surfing of material other than lecture slides or another material indicated by the instructor is not permitted during the class. You may surf the web only when specifically told to do so. In order to maintain the integrity of the classroom and if I feel it is distracting you or others, I may ask you to turn-off your laptop.

 

 

Other Notes:

·         Many topics build upon one another. Therefore, be systematic in your study and avoid being lost. You are encouraged to ask questions in class if you do not understand the material.

·         Since email and telephone limit interactions, please see me during my office hours in case of any course difficulties.  (In justified cases, a special appointment can be made.)

·         No questions will be answered on the date of a quiz/exam. No office hours will be held on the days of the midterm and final exams.

·         A makeup quiz/exam can be given only when a student presents a valid emergency reason for missing the quiz/exam, with well-documented evidence. Without such a reason and evidence, the student will lose all quiz/exam points.

 

Academic Integrity:  

Syllabus Statement from WMU Faculty Senate’s Professional Concerns Committee

You are responsible for making yourself aware of and understanding the University policies and procedures that pertain to Academic Honesty. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. (The academic policies addressing Student Rights and Responsibilities can be found in the Undergraduate Catalog at http://catalog.wmich.edu/content.php?catoid=22&navoid=882 and the Graduate Catalog at http://catalog.wmich.edu/content.php?catoid=23&navoid=938.) If there is reason to believe you have been involved in academic dishonesty, you will be referred to the Office of Student Conduct. You will be given the opportunity to review the charge(s) and if you believe you are not responsible, you will have the opportunity for a hearing. You should consult with your instructor if you are uncertain about an issue of academic honesty prior to the submission of an assignment or test.

In addition, instructors are encouraged to direct students to the Office of Student Conduct  www.wmich.edu/conduct, the Registrar’s Office  www.wmich.edu/registrar or Disability Services for Students www.wmich.edu/disabilityservices to access the Code of Honor and general academic policies on such issues as diversity, religious observance, student disabilities, etc.

 [Rcv’d 8/6/14]

 

Anybody found responsible for violation of academic honesty in the course, will receive a penalty up to and including an E grade in the class. Additional disciplinary actions can be taken by the Department, the College, and the University.

 

 [This paragraph based on text courtesy of Prof. Ajay Gupta and Prof. James Yang.]

Submission of another person’s work in part or whole is not permitted. Learning can certainly occur with discussion of class material and assignments with other students, but at all times ensure that you don’t represent the work of another person as your own. 

If you are copying another’s work in part or whole, either by hand or electronically, without giving credits due (see below) you are going too far

If two or more people or teams are working so closely together that the outcomes, particularly on significant portions of project reports or computer programs, are essentially the same in the logical structure, they are going too far.

You should not give your completed work to someone else or accept another’s completed work to “review or look at” in either hardcopy or electronic form.  This too easily facilitates copying. 

 

Easy availability of information, material, source codes, lecture notes, etc., on the Internet may make it possible to find text useful for your report, slides, etc. It is permitted (even required for your projects) to refer to those, understand them and use them to enhance your solutions, generate your own ideas, etc. However, you must give proper and full credit to original authors of the work if you include their ideas or solutions (complete references and/or indication of quoted material, as specified below, are required).

 

In particular, remember the following requirements for avoiding any accusations of plagiarism:

If you rephrase ideas presented by others in your text, you must provide a reference in this text, and then list full bibliographic information for the reference at the end of your report, slide presentation, etc.

Any quotes (as opposed to references) must be clearly indicated in at least two ways: (a) with a clear phrase or sentence (e.g. “Quoting Smith et al.:”), and (b) with a different form of the text (e.g., written in italics, boxed, etc.) visible in black-and-white documents.

-----------------------------------------------------------------------

Dates of Interest:

Source: https://wmich.edu/registrar/-/file/wmu-calendar-academic-201415.pdf

Note: Calendars are subject to change. Dates and events are added or changed as information becomes available.

 

Acknowledgement:

I gratefully acknowledge use of some Syllabus content from Prof. Zijiang James Yang.

 

 

© 2014-2015 by Leszek T. Lilien                                                                                                                   Last updated on 12 Jan 2015