Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CMPSC 472 Operating Systems Penn State Harrisburg, Fall 2016 INSTRUCTOR INFORMATION: Instructor: Office: Telephone: E-mail Address: Dr. Linda Null W255 Olmsted 948-6089 LNull at psu dot edu Office Hours: MW: 1:30 – 3:00pm TR: 1:30 – 2:30pm (and by appointment) Class Meeting Info: TR 3:05-4:20pm W231 Olmsted Class Web Page: cs.hbg.psu.edu/cmpsc472 Please feel free to stop by my office anytime to ask questions, discuss topic material or make comments about the course. I welcome your input regarding the course material and my method of delivery. I encourage each student to stop by my office early in the semester for a brief chat so that I may get to know everyone in the class. I have an open door policy; if my door is open and it’s not my office hours, drop in anyway. If I can help, I will; otherwise, we can schedule a time for you to return. If my door is closed and it’s not my office hours, either I’m not in or I can’t be disturbed at that time. CATALOG DESCRIPTION: Process management, synchronization, deadlocks, memory management, virtual memory, CPU and process scheduling, file systems, disk scheduling, security, protection, distributed systems. PREREQUISITES: CMPSC 312, CMPSC 462, and programming experience in a high-level language. Specifically, the skills necessary include: knowledge of computer organization including addressing, data representation, the fetch-decode-execute instruction cycle, cache memory, virtual memory, interrupts, data path, stacks, queues, lists, priority queues, and programming experience in a high-level programming language such as C, C++, or Java. RATIONALE: A course on operating systems is an essential part of a computer science education. This course is intended as an introduction to study the concepts, structures, and mechanisms that underlie operating systems. A tremendous range and variety of computer systems exist for which operating systems are designed. Rather than focus on individual operating systems, this course discusses the key mechanisms of modern operating systems, the types of design tradeoffs and decisions involved in operating system design, and the context within which the operating system functions. OUTCOME OBJECTIVES: After completing CMPSC 472 the student should be able to: (1) Identify the basic role of an operating system and the major issues and trade offs involved in design (2) Explain the four major functions of an operating system: process management (including synchronization, scheduling, mutual exclusion, deadlocks, and concurrency), memory management (including cache, virtual memory, paging, segmentation and addressing), storage management, and protection/security (3) Successfully write and debug concurrent programs and effectively use synchronization primitives (4) Describe how a centralized operating system functions (5) Describe the various goals of protection and the security problem in general (6) Explain the concepts of centralized operating systems vs. other types of OSes (real time, distributed) METHODS OF INSTRUCTION: CMPSC 472 will consist of lectures, in-class discussions, in-class activities, and reading. It is recommended that students read pertinent sections of the textbook before the class in which it is covered. Homework and projects will be assigned as necessary to reinforce the concepts being covered. This syllabus contains an overview of what will be covered in the class; for specific information, students are referred to the class web page (http://cs.hbg.psu.edu/cmpsc472) . Information on this web page will be updated frequently, so it is a good idea to check it at least once a week. TEXTBOOK INFORMATION: Text: Operating System Concepts by Silberschatz, Galvin, & Gagne, 9th Edition, 2013, ISBN: 978-1-118-06333-0 Page 2 GRADING INFORMATION: Component Midterm Exam 1 Midterm Exam 2 Homework, Quizzes, and Projects Comprehensive Final Exam Percent of Final Grade 20% 20% 30% 30% 100% The following table gives the percentage of points needed to guarantee the associated final grade in the course. Grading Scale 90-100% A80 – 89% B70 – 79% C 60 – 69% D Below 60% F PLUS/MINUS GRADES WILL BE ASSIGNED AT THE DISCRETION OF THE INSTRUCTOR. INSTRUCTOR RESERVES THE RIGHT TO ARBITRATE BORDERLINE CASES. ADDITIONAL CLASS POLICIES: Attendance: There is no formal attendance policy. You are expected to attend every day. If you must miss a class, you are accountable for any material covered, and it is your responsibility to make up any work that you may have missed. Assignments: You must properly cite ALL sources used in any material that you hand in. Failure to do so will be considered plagiarism. Due dates will be given on each assignment. An assignment is due at the BEGINNING of the class on the due date unless otherwise specified. LATE ASSIGNMENTS WILL RECEIVE NO CREDIT. Emergencies are the only exception to this policy. Be prepared to provide documentation for any emergency. Exams: STUDENTS ARE EXPECTED TO TAKE EXAMS AT THE SCHEDULED TIMES. If you must miss an exam it is your responsibility to notify the instructor PRIOR to the exam, either by telephone or in person. As a temporary measure, you may leave a voice-mail message or send an email, but it is still your responsibility to get in touch with the instructor personally as soon as possible. Failure to follow these instructions may result in a deduction of points on the exam or possibly a grade of zero on the exam. Make-up exams will ONLY be given for valid and verifiable reasons. Valid reasons include illness, family emergencies, and school-sponsored trips. You must provide written documentation for illnesses, emergencies, and trips. E-Mail: E-mail messages to the instructor's account are welcome where appropriate. Please put your name and course number (CMPSC 472) under the SUBJECT header when you send e-mail regarding this course. Page 3 Working Together on Assignments: For work assigned to be done individually (which is the default for assignments, quizzes and exams in this class), specific rules follow: 1. You may discuss assignments with your classmates. The key word is "discuss." To ensure that you adhere to this rule, no written or recorded notes of any kind should be taken away from a class discussion meeting with anyone else. In these meetings you may discuss concepts covered in class or those necessary for the assignment, but you should not discuss detailed solutions to the assignment. To make this policy more clear: any collaborative discussions about class problems where things are written down should be done at a whiteboard (or similar). When the discussion is over, the board should be wiped clean. There should be no pictures taken of the board and no writing on paper when discussions are ongoing. You should “record” the discussion ONLY in your head. When you are writing up your solutions to problems, you must do so individually, using what you recall from the discussion and putting things in your own words. 2. When it comes time to do your assignment (actually write the answer), you must write your own problem solution and turn in your own homework. You may NOT submit the work of a group as your own work, which means you should not have identical answers to anyone else in class. Anything that has only your name should be written by you and you alone. If you use an idea from anyone (a classmate, another instructor, or even on-line somewhere) in your work, you must acknowledge that by properly citing your source. 3. In particular, you may NOT: copy in part or in totality from another student’s homework problems, give your completed assignment to another student before it is graded, get someone else to do any part of your work, or submit the work of a group or someone else as your own. 4. If you have questions about what is okay and what is not okay when it comes to talking to others about individual assignments, please come and talk to me. Misc. Class Policies: • Calculators may NOT be used on exams. • For information regarding students with disabilities, academic dishonesty, important dates, the weather policy, and the Learning Center, please see http://cs.hbg.psu.edu/additional-syllabus-info/ for addition syllabus information. • Class cancellation: If your instructor needs to cancel class for any reason, an announcement will be placed on the class web page and email will be sent (a message on my voice mail will be left ONLY if email and class pages are not accessible). • Regarding classroom behavior: I expect all students to be courteous to others during class. This includes arriving on time, refraining from unnecessary talking or reading newspapers, not interrupting others, raising your hand and waiting to be recognized to speak, not packing up your belongings before class is over, and turning off cell phones and pagers (or putting them on vibrate if it is mandatory people be able to contact you). Classroom discussion should be civilized and respectful to all involved and relevant to the topic. Notebook computers are allowed for note taking, but should not be used for game playing or other pursuits not related to class. In order to promote common courtesy, the instructor may enforce a seating chart if necessary. Page 4 CMPSC 472 COURSE OUTLINE This is a tentative schedule. We will adhere to it as closely as possible. Week 1 TOPIC Introduction, Overview Memory Hierarchy Cache Organization (review) 2 Computer System Architecture Multiprocessor and Multicore OS Structures Operating System Services, Functions System Calls No classes on Labor Day, Sept. 5th 3 Process Management, Threads TEXTBOOK READINGS Chapter 1 Chapter 1 Chapter 2 Chapters 3, 4 MIDTERM EXAM 1 (Chapters 1 - 4 and related lecture materials) (Exact date will be announced in class) 4 5 6, 7 Process Synchronization: Concurrency, Mutual Exclusion Principles of Concurrency Mutual Exclusion via Hardware Mutual Exclusion via Software Semaphores 8 Concurrency (cont) Synchronization via Semaphores Common Synchronization Problems Synchronization via Monitors Process Synchronization: Deadlock and Starvation 9 Wrap up Concurrency Discussion Chapter 5 Chapter 5 Chapter 5 Chapter 7 MIDTERM EXAM 2 (Chapters 5 and 7 and related lecture materials) (Exact date will be announced in class) 10, 11 Processor Scheduling (uniprocessors and multiprocessors) Chapter 6 12 Memory Management Chapter 8 13 Virtual Memory No classes, Thanksgiving Holiday, Nov. 21st – 25th Chapter 9 14 I/O Management, Disk Allocation Chapters 10, 11 15 Disk Scheduling Protection and Security Distributed Systems Chapter 12 Chapters 14, 15 Chapter 16 If Time: Classes end on Dec. 9th COMPREHENSIVE FINAL EXAM: There will be a comprehensive final exam given during Final Exam Week. The exact time, day and room of the final exam will be available from the registrar later this semester.