CSc 4320/6320 (Computer Numbers 14595/15596) Spring 2015 (3-Page syllabus) Operating Systems Classroom: Sparks Hall 311 Date/Time: Tuesday and Thursday, 05:30 p.m.-07:15 p.m. Instructor: Office: Phone: Fax: E-mail: Website: Office Hours: Dr. Yanqing Zhang 743 in 25 Park Place 404-414-5733 (o) 404-414-5717 (o) yzhang@gsu.edu http://www.cs.gsu.edu/~cscyqz/courses/os/os2015sp.html 10:00–11:30 a.m. Tuesday&Thursday or by appointment Text: Operating System Concepts (8/e), by A. Silberschatz, G. Gagne and P.B. Galvin, Addison-Wesley, 2008. Course Content: Introduction to operating systems concepts. Topics may include multiprogramming, resources allocation and management, and their implementation. Research project and research paper. Prerequisite: CSC 3320 System-Level Programming with grade of C or higher. Topics include editors, systems calls, programming tools, files, processes, interprocess communication, and shells. If a student didn’t take the prerequisite course, the student would not be allowed to take CSc 4320 (or 6320). Course Requirements: All students learn basic theoretical principles and accumulate practical hands-on experience. All students will do assignments, take tests and finish programming projects. At the end of this semester, all graduate students and undergraduate students will give presentations to share knowledge and skills. An undergraduate student needs to write a technical paper with IEEE format (3 or more pages). A graduate student needs to write a conference paper with IEEE format (4 or more pages). Class Policy: Attendance: Students are required to attend all classes. Role will be taken. Class Web Site: class information such as class cancellation and schedule change will be announced in class and posted on the class Web site. Syllabus, Assignments, Test Reviews, Project Schedule, Lecture Notes, Text Book Web Site are also posted on the class Web site. Academic honesty: Plagiarism will result in a score of zero on any test, assignment or paper. The instructor has the right to evaluate if students are cheating and make a decision. Assignments and Projects: Hardcopies of assignments and project reports must be handed in to me in class on time and will not be accepted when past due time (i.e., class time on the due day). Email submissions are not allowed. Solutions of assignments and tests are discussed in class, so students are responsible to get graded assignments (students may keep them), know solutions, and review tests. Withdrawal: March 3 Tuesday is the last day to withdraw and possibly receive a W. Make-ups: Must need the instructor's special permission. In most cases, they are not allowed. Grading Policy: Mid-term Exam 20% Final Exam 20% Assignments 15% Projects 40% Attendance 5% A+ [97, 100] B+ [87, 90) C+ [77, 80) D+ [67, 70) F [0, 60) A [93, 97) B [83, 87) C [73, 77) D [63, 67) A- [90, 93) B- [80, 83) C- [70, 73) D- [60, 63) Tentative Course Outline and Schedule: Chapter 1 Introduction Chapter 3 Processes Chapter 4 Threads Chapter 5 CPU Scheduling Chapter 6 Process Synchronization Chapter 7 Deadlocks * Mid-term Exam Chapter 8 Main Memory Chapter 9 Virtual Memory Chapter 14 Protection Chapter 15 Security Chapter 21 The Linux System Chapter 22 Windows XP Research Work Presentation Final Exam Research Project (email a complete Research Project including IEEE paper with 5-10 pages, ppt file and software with user manual to yzhang@gsu.edu) Jan. 13, Jan. 15 Jan. 20, 22 Jan. 27 Jan. 29, Feb. 3, 5 Feb. 10, 12, 17 Feb. 19, 24 Feb. 26 Mar. 3, 5 Mar. 10, 12 (Spring Break: 3/16-3/22) Mar. 24 Mar. 26, 31 April 2 April 7 April 9, 14, 16, 21 April 23 April 26 Course Objectives: Chapter 1: Introduction Know what an operating system is, the history and related issues of operating systems Chapter 3: Processes Understand the important concept "Process ", Understand PCB (Process Control Block) Understand process scheduling Chapter 4: Threads Understand the important concept "Thread". Chapter 5: CPU Scheduling Know CPU-I/O Burst Cycle and scheduling criteria Understand CPU scheduling algorithms (FCFS, SJF, Priority, RR) Chapter 6: Process Synchronization Know the critical-section problem, Know the two-process algorithms Understand semaphores, Know classical problems of synchronization Chapter 7: Deadlocks: Know necessary conditions of deadlocks, Know a resource-allocation graph, Know safe state Chapter 8: Main Memory: Know address binding, Understand logical space and physical space Understand contiguous allocation, Understand paging Understand EAT (effective access time), Understand segmentation Chapter 9: Virtual Memory: Understand the principle of virtual memory, Understand page-replacement algorithms Chapter 14: Protection Know basic methods of protection Chapter 15: Security Know the concept of security, Know encryption Chapter 21: The Linux System Know the history of Linux, Know design principles of Linux, how to use it efficiently Chapter 22: Windows XP Know the history of Windows XP, Know basic components of Windows XP Statement: This course syllabus provides a general plan for the course; deviations may be necessary. Research Paper Objectives Write a research paper on operating systems to master professional research skills. Sample PaperTitles Sample titles are, but not limited to: New Mobile Security Methods New CPU scheduling Algorithms New Page Replacement Algorithms New Virtual Memory New Security Methods on Social Networks Power-aware CPU Scheduling Algorithms Multi-CPU Scheduling with Controlling CPU Frequency Virtual Memory System with Efficient Energy Saving Page Replacement System for Reducing Power Wireless Operating System with Power Optimization, , ..., etc. Research Paper Please refer to journal papers and books addressing the problem you choose. IEEE Paper format is at http://www.cs.gsu.edu/~cscyqz/courses/os/instruct.doc A typical format of a paper is: Title Your Name Abstract 1. Introduction (in the 1st section specify the problem to be addressed, the motivation for the problem) 2. Section 2 Title (in 2nd section, your new ideas, new design, etc.) 3. Section 3 Title 4. ? 5. ? 6. Conclusions References (list references (Authors, book title (or paper name and journal name), page numbers, publisher, year)). Note: may use IEEE Xplore at GSU to find relevant publications https://login.ezproxy.gsu.edu/login?qurl=http%3a%2f%2fieeexplore.ieee.org%2f Due Date A zip file of the research paper, a presentation file and software due 4/26/2015.