COM221: OPERATING SYSTEMS COURSE OUTLINE SEMESTER: FALL 2012 Faculty Member’s Details: Name: Office Hours: Email: Web Site: Pelekanou Olga By Appointment fe_olga@mail.ru http://www.cdacollege.ac.cy/ Course Description This course has two components: a theory component to teach you the concepts and principles that underlie modern operating systems, and a practice component to relate theoretical principles with operating system implementation. In the theory component, you will learn about processes and processor management, concurrency and synchronization, memory management schemes, file system and secondary storage management, security and protection, etc. The practice component will bridge the gap between the operating system concepts taught in the lectures and the actual operating systems. Students will learn to perform operating systems functions at the support level in a single-user environment for MS Windows OS and popular Linux Distributions. Course Aims and Objective To understand what an operating system is, what it does, and how it is designed and constructed. To understand operating system implementations and basic concepts such as process scheduling, interprocess communication, process synchronization and deadlock handling, To understand memory management schemes, such as segmentation, paging and virtual memory, To use basic mechanisms for protection and system security. To understand operating system performance. To install, management and support MS Windows Multi and Single user OS To develop a basic understanding of alternatives to MS Windows OS To install, customize and use Linux Distribution systems Contents of subject Basic concepts: structures, services, shell user view vs. system calls, evolution of operating systems. Process management: notion of process and its states, interrupts and context switch, threads vs. processes, interprocess communication and synchronization, deadlocks, scheduling. Memory management: storage organizations, storage placement strategies, VM implementation, page replacement algorithms. I/O systems: device-independent interface, disk, clock, and terminals drivers, disk scheduling policies. File systems: file system structure, file management, file allocation, file reliability. Security and protection: specific and general protection schemes, access control list, capabilities, and encryption. 1 Prerequisites: None Type of Course: Compulsory for Information & Communication Technology Teaching Methods: Face-to-face lectures, presentations, problem and case studies discussion, independent and private study, preparation of projects and group work. Course Teaching Hours: 42 hours a semester. The course is delivered during a 14-week semester. Assessment method and weight: 30% coursework and 70% final examination. Student performance can be one or more of the following: student attendance and participation during the semester, mid-term examination, tests, assignments and projects. Passing mark: 40% ASSESSMENT Assignments: Class Participation: Mid-term examination: Final examination: 5% 5% 20% 70% Assignments: The students will be assigned to carry out a theoretical research and practical work in the existing literature over the topics covered in the course outline, or to carry out an exercise using the Internet and/or other applications. The faculty member will determine the character of the assignment. The students are requested to deliver their assignments on an individual or group basis and on time. Although collaboration among the students for the preparation of the assignments is encouraged, students should avoid copying. Presentations and discussions over the assignments will follow. Mid-term examination: The mid-term examination will be of one and a half hours. It may be essay questions, practical exercises and/or multiple-choice questions. Final Examination: The final examination will be of two hours. It will be comprehensive and it will test the students on the material covered during the semester. Grading System % Grade 90-100 80-89 75-79 65-74 60-64 55-59 40-54 Below 40 Grade Grade Meaning A B+ B C+ C D+ D F W I Excellent Very Good Good Above Average Average Below Average Poor Failure Withdrawal Incomplete COURSE BOOK Required Textbook 2 Title Author(s) Publisher /Year Edition Understanding Operating Systems Ida M. Flynn and Ann McHoes Course Technology/2007 5th edition RECOMMENDED BOOKS Title Author(s) Publisher /Year Edition Modern Operating Systems (3rd Edition Andrew S. Tanenbaum Prentice Hall, 2007 3rd Edition Title Author(s) Publisher /Year Edition Operating System Concepts Abraham Silberschatz Peter B. Galvin, Greg Gagne Wiley, 2008 2nd Learning Outcome Table Week Learning Outcomes and Content of the Course 1. 2. 3. 4. 5. 6. Understand the different innovations in operating systems development; Appreciate the basic role of an operating system; Identify the major operating system software subsystem managers and their functions; Differentiate among the types of machine hardware on which operating systems run and the basic functionality of the three memory allocation schemes presented. Define on the basic functionality of the memory allocation methods covered in this chapter: paged, demand paging, segmented, and segmented/demand paged memory allocation; Identify the influence that these page allocation methods have had on virtual memory; Differentiate between a first-in first-out page replacement policy, a least-recently-used page replacement policy, and a clock page replacement policy; Discuss the several causes of system deadlock; The difference between preventing and avoiding deadlocks; Learn how to detect and recover from deadlocks; Differentiate between deadlock, starvation, and race; define the basic concepts of multi-core processor technology and the significance of a critical region in process synchronization; File Management: Define File Systems: Files; Directories; What is a file and File Manager? How files are organized logically, how they are stored physically and how they are accessed. The interaction between the File Manager and the Device Manager Example file systems Hands on Unix OS: The goals of UNIX designers; Strengths and weaknesses of having competing versions of UNIX; Advantages of command-driven user interfaces; Hands on Unix OS: Basic features and components. Utility programs for work with files. Basic commands for file management. 3 Educational Activities Lectures, Presentation and class discussion. Lectures, Presentation and class discussion Lectures, Presentation and class discussion Lectures, Presentation and class discussion Lectures, Presentation and class discussion. Lectures, Presentation and class discussion. Revision Lectures, and discussion 7. Hands on Unix OS: Redirection of standard input and standard output: the shell variables. Parameters and commands. 8. Hands on MS-DOS: Explain how to access MS-DOS emulators from other operating systems; and how MS-DOS provided a foundation for early Microsoft Windows releases; learn the basics of command-driven systems and how to construct simple batch files and the limitations of MS-DOS Midterm Lectures, Presentation and class discussion. 10. Hands on MS WINDOWS OS: Identify the role of MS-DOS in early Windows releases and the design goals for Windows operating systems; Challenges for Windows system security; Functions of current Windows user interface 11. Hands on linux OS: The design goals for the Linux operating system and the significance of using files to manipulate devices; Differentiate between command-driven and menu-driven interfaces; Strengths and weaknesses of Linux 12. Hands on linux OS: The design goals for the Linux operating system and the significance of using files to manipulate devices; Differentiate between command-driven and menu-driven interfaces; Strengths and weaknesses of Linux 13. Revision Lectures, Presentation and class discussion Lectures, Presentation and class discussion Lectures, Presentation and class discussion Revision 9. Midterm OTHER INFORMATION: Academic Affairs And Policy: You are responsible for making yourself aware of and understanding the policies and procedures of our college. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. If there is reason to believe you have been involved in academic dishonesty, you will be referred to the Office of Student Affairs. You should consult with me if you are uncertain about an issue of academic honesty prior to the submission of an assignment or test. Class Attendance: Students are expected to attend classes regularly so that new material can be delivered to all students without delays, without having to repeat newly delivered material and without disturbing the smooth running of the course schedule. Students should enter their lecture room at least five minutes before the lecture begins in order not to disturb fellow students and interrupt the lecture process. Attending classes assures that all students receive equal attention and everyone is up to date with the course schedule. In case of a student being absent he/she is responsible for all material covered and required during the class period. He/she should also be updated for any tests the instructor has announced in class. All mobile phones must be switched off before coming into class. Library: Students are advised to use library facilities in a productive way. Do not hesitate to ask the librarian for help and guidance. Office Hours: Students are encouraged to visit me during office hours, for any sort of matter, academic or not. Students are encouraged to visit me and discuss any issues of their concern. I recommend that you send me an email to arrange for a meeting or to get advice on issues that concern you. 4