Gildart Haase School of Computer Sciences and Engineering Metropolitan Campus I. Course: CSCI 6638 Operating Systems Semester: Fall 2014 Contact Hours: 3 Credits: 3 Class Hours: W 10:00AM 12:30 PM DH1153 II. Instructor: William Phillips Phone: (201) 692-2260 Fax: (201) 692-2130 Email: bill581@fdu.edu Office (BEC401G) Hours: M 12:30PM-01:30PM T 04:00PM-05:00PM W 12:30PM-01:30PM Th 06:00PM-07:00PM or by arrangement III. Required Text: Stallings, William, Operating Systems, 8th edition, Prentice Hall, 2014. Recommended Texts: Tanenbaum, Andrew, Modern Operating Systems, 4th edition, Prentice-Hall, Inc. 2014 Silberschatz, Abraham, Operating System Concepts, 9 th edition, Wiley, 2012 Glass, Graham and Ables, King, UNIX for Programmers and Users, 3rd edition, Pearson Education. UNIX, Windows, Linux, and C manuals. If you are serious about a subject it is always a good idea to have alternate sources of information. Many times a different author can describe a subject in an alternate manner that may help you understand a subject you are having difficulty with. For the recommended texts you can find earlier editions for less online or you might check at libraries. IV. Graduate Studies Bulletin Description: An introduction to the fundamental principles of operating systems in terms of resource management and machine virtualization. Topics include system services, process management, synchronization, threads, CPU scheduling, memory, device, and file management, and security. Integrated lab. Phillips FDU 1
V. Prerequisites and/or Co-requisites: Assembly language or computer architecture/organization, or equivalent. Knowledge of Algorithms and Data Structures. Ability to program in a High Order Language (C or C++ preferred). VI. Course Objectives and Expected Learning Outcomes: Objective 1: Understand the various components and functions of an operating system. Outcome 1.1: Learn about the structure of an operating system Outcome 1.2: Learn about processes and threads Outcome 1.3: Learn about memory management Outcome 1.4: Learn about file management Outcome 1.5: Learn about device management Objective 2: Compare at least two operating systems and evaluate their suitability to a given task or goal Outcome 2.1: Install and configure operating systems Outcome 2.2: Compare UNIX, Linux, and Windows operating systems Outcome 2.3: Write and execute scripts Outcome 2.4: Analyze the results Objective 3: Explain concurrency as it relates to scheduling and dispatching Outcome 3.1: Learn about multi-core systems Outcome 3.2: Learn about race conditions Outcome 3.3: Learn about inconsistent resource states Outcome 3.4: Learn about mechanisms to prevent race conditions Outcome 3.5 Learn different classical problems in concurrency Outcome 3.6 Execute concurrent programs, potentially causing inconsistencies Objective 4: Describe advantages of abstraction and virtualization Outcome 4.1: Learn about abstraction and virtualization Outcome 4.2: Work with virtual machines Outcome 4.3: Contrast virtual machines with real machines Outcome 4.4: Analyze the results Phillips FDU 2
Objective 5: Work in teams and communicate over various media. Outcome 5.1: Prepare a team report on an OS security topic Outcome 5.2: Give a PowerPoint team presentation Outcome 5.3: Create linked web pages on the team project Outcome 5.4: Provide an integrated written report on the team project Outcome 5.5: Use research papers for some source material Objective 6: Learn to read and understand the role of research papers Outcome 6.1 Research papers will be referenced in team presentation Outcome 6.2 Research papers will be assigned to augment classwork VII. Grading Policy: Homework Assignments 35% Class Participation & Laboratory Projects 35% Test 1 10% Final Exam 20% Total 100% Grading Schema: 90 100% A 86 <90% A- 82 <86% B+ 78 <82% B 74 <78% B- 70 <74% C+ 66 <70% C Less than 66% F VIII. Course Lecture Weekly Schedule Week Topics Covered 1 Computer System Overview Ch 1 Basic Elements, Evolution of the Microprocessor, 1.1-1.8 Instruction Execution, Interrupts, Memory, Multiprocessor and Multicore Organization Assignment 1: pp. 37-38 All review questions and 1.1, 1.3, 1.10 Phillips FDU 3
2 Operating System Overview Ch 2 Operating System Objectives and Functions, 2.1-2.11 Operating Systems, Fault Tolerance, OS Design Considerations, Windows, UNIX, Linux, Android Assignment 2: pp. 103-104 All review questions and 2.2, 2.3, 2.4, 2.5 Lab Assignment TBA 3 Process Description and Control Ch 3 Processes, States, Description, Control. UNIX Process 3.1-3.6 Management 4 Threads Ch 4 Processes and Threads 4.1-4.8 Windows 8, Solaris, Linux, Android Process and Thread Management, Mac OS X Grand Central Dispatch 5 Concurrency: Mutual Exclusion and Synchronization Ch 5 Principles of Concurrency, Mutual Exclusion 5.1-5.6 Semaphores, Monitors, Message Passing, Readers/Writers Problem 6 Concurrency: Deadlock and Starvation Ch 6 Principles of Deadlock, Prevention, Avoidance, Detection, Strategies, Dining Philosophers, Concurrency, Synchronization And Interprocess Communications 6.1-6.11 7 Test on Chapters 1-6 8 Memory Management Ch 7 Memory Management, Paging and Segmentation 7.1-7.4 9 Virtual Memory Ch 8 Hardware and Control Structures 8.1-8.6 Operating System Software UNIX, Solaris, Linux, Windows Android Memory Management 10 Uniprocessor/Multiprocessor/RT Scheduling Ch 9-10 Types of Processor Scheduling and Algorithms 9.1-9.3 Multiprocessor and Multicore, Real-Time, Linux 10.1-10.6 Windows Scheduling Phillips FDU 4
11 I/O Management and Disk Scheduling Ch 11 I/O Devices and Organization of the I/O Function 11.1-11.2 Operating System Design Issues 11.3 I/O and Disk Buffering, RAID, Disk Cache 11.4-11.7 UNIX, Linux and Windows I/O 11.8-11.10 12 File Management Ch 12 Overview, File Organization and Access, B-Trees 12.1-12.3 File Directories, Sharing, Record Blocking 12.4-12.6 Secondary Storage, UNIX File Management 12.7-12.8 Linux Virtual, Windows, Android File System 12.9-12.11 13 Embedded Systems/Virtual Machines Ch 13-14 Embedded Systems & Characteristics 13.1-13.2 Embedded Linux, TinyOS, Embedded Linux 13.3-13.5 Approaches to Virtualization, Processor Issues 14.1-14.7 Memory Management, I/O Management,VMware ESXi Microsoft Hyper-V and Xen Variants, Java VM Linux VServer Virtual Machine Architecture 14.8 Android Virtual Machine 14.9 14 Protection and Security Ch 15 Intruders and Malicious Software 15.1 Buffer Overflow 15.2 (UNIX) Access Control 15.3-15.4 Operating Systems Hardening 15.5 Security Maintenance & Windows Security 15.6-7 15 Final Exam on Chapters 7-15 IX. Instructions and Formats for Homework Assignments and Laboratory Projects All homework assignments, projects and reports must be done neatly (i.e. computer generated, e.g. Word, Latex etc.) and submitted on time. Grading will be based upon the analysis as well as on the material. Work copied from the Internet or from a classmate will receive a grade of 0. Please state two references e.g. text, web (supply URL) for each homework answer. Remember DO NOT copy. Give the answer in your own words. Phillips FDU 5
X. Special Instructions No late assignments will be accepted unless you discuss it with me before the due date. Make-up examinations are available if a test is missed, IF arrangements are made with me before the test. XI. Attendance and Withdrawal Policy FDU academic regulations specifies the attendance policy. Students are required to attend class, arrive on time and participate in all courses for which they are enrolled. Class attendance and participation are essential to academic progress. Class attendance, participation in discussions and problem solving will be emphasized in this course. 5% of the overall course credit is earmarked towards this requirement. If you cannot attend a specific class, you must notify the instructor ahead of time stating the reason for missing the class. It will be your responsibility to make yourself aware of the course material presented and submit homeworks due for the missed class. Students who withdraw within the nine week period of a semester will receive a grade of W. Withdrawal after the ninth week is not permitted except for serious, documented, medical reasons or other unusual extenuating circumstances. XII. Academic Integrity Policy See pp. 31-32 of Graduate Studies Bulletin on this policy: http://www.fdu.edu/academic/1113bulletin/academicregulations.pdf Phillips FDU 6