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
Copland (operating system) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Library (computing) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Burroughs MCP wikipedia , lookup
Spring (operating system) wikipedia , lookup
GC University Lahore Department of Computer Science BS (Computer Science) Year III Semester V Operating Systems and System Programming Index: 1. 2. 3. 4. 5. 6. 7. 8. 9. Course Outline CV Syllabus Weekly Lecture Plan and Execution Attendance Record Mid Term Paper Assignments Quizzes Sessional Marks GC University Lahore Department of Computer Science BS (Computer Science) Year III Semester V Operating Systems and System Programming Course Outline Course Title: Operating Systems and System Programming Course Code: Course Duration: 6 Hours Weekly ( 4 hours theory + 2 hours lab) Course Credit: 4 CrHrs. Course Instructor: Saeed ur Rehman Turk Course Description This course aims to familiarize students with in-depth concepts of theoretical and applied nature of Operating Systems. All modern high performance computer systems are managed by robust, secure and scalable operating systems. Modern high-end operating systems are multitasking, multiprocessing and multi-user. All desktop Operating systems and most of server operating systems provide GUI features also. All or most OS are modularized, configurable and customizable. For this purpose, OS vendors also release development support for utilizing advance OS features. System programming is the area in which advance features and internal structure of OS is employed in user-developed programs. Such development is supported by special library functions, API, class libraries, System Development Kits, Kernel and services libraries etc and is always highly dependent to the specific release of OS. Advance System capabilities like High Performance CPU computing power, I/O access, Optimization, Network programming, Driver development and interfacing is also considered a system programming domain. Pre-Requisite: Programming Fundamentals/OOP. DLD & System Architecture. Co-Requisite: Course Book: Operating System Concepts. Silberchatz Galvin. 8th Ed. Operating Systems by Tenenbam Course Goals and Objectives: Chapter 1. Introduction. Objective1. Discuss OS Organization, architecture, structure and operations. Objective2. Explain Process, memory and storage concepts. Chapter 2. System Structures Objective1. Objective2. Objective3. Objective4. Operating System Services. User-System Interface. System Calls and System Programs. OS Design and Implementation. Chapter 3. Process Concept Objective1. Objective2. Objective3. Objective4. Process concepts. Process Scheduling. Operations on Processes. Inter-Process Communication and practical implementations. Chapter 4. Objective1. Objective2. Objective3. Objective4. Multithreaded Programming. Discuss Thread Models Thread Libraries. Threading Issues. Thread implementation in various OS. Chapter 5. Process Scheduling. Objective1. Concepts and Scheduling Criteria. Objective2. Scheduling algorithms. Objective3. Multi-Thread vs Multiprocessor scheduling. Objective4. OS implementation. Objective5. Evaluation of Different Algorithms. Chapter 6. Objective1. Objective2. Objective3. Objective4. Objective5. Process Synchronization. Critical Section Problem and solution Hardware Synchronization. Classical Synchronization Problems and solution. Monitors and other examples. Atomic Transaction Techniques. Chapter 7. Objective1. Objective2. Objective3. Deadlocks Deadlock Characterization Deadlock handling Problems. Deadlock Prevention, Avoidance, detection and recovery. Chapter 8. Objective1. Objective2. Objective3. Objective4. Memory Management Strategies. Memory Swapping. Allocation and paging techniques. Page table structures. Segmentation and strategies. Intel Pentium Memory Design. Chapter 9. Virtual Memory Management. Objective1. Objective2. Objective3. Objective4. Objective5. Objective6. Objective7. Demand Paging. Copy on write. Page Replacement Algorithms. Frame allocation and thrashing. Memory mapped File. Kernel Memory. OS Implementation and Examples. Chapter 10. Objective1. Objective2. Objective3. Objective4. Storage Management. File Concept, and File Access Methods. FAT: Directory and Disk structure. Linux: File System Mounting. Sharing and Protection. Chapter 11. Objective1. Objective2. Objective3. Objective4. Objective5. Implementing File Systems. File System Interface. File System Implementation. Directory Implementation. Free space management and Allocation methods. Efficiency, Performance, Recovery issues. Chapter 12. Objective1. Objective2. Objective3. Objective4. Objective5. Chapter 13. Objective1. Objective2. Objective3. Objective4. Objective5. Chapter 14. Objective1. Objective2. Objective3. Objective4. Objective5. Chapter 15. Objective1. Objective2. Objective3. Objective4. Objective5. Objective6. Secondary Storage Management. Overview of Mass storage structures. Large Disk based systems structure, attachment and scheduling. Swap- space management, RAID structures. Stable storage implementation. Tertiary and Offline storage structures. I/O Systems I/O Hardware Application Interface vs Kernel I/O subsystems. Transforming IO requests to HW operations. STREAMS design. Performance issues. Protection and Security. System Protection. Goals, Principles and Domain of Protection. Access Matrix and Implementation. Access Control strategies. Capability Based and Language Based systems. System Security. The Security Problem. Program Threats, System and Network Threats. Cryptography. User Authentication. Implementing Security Defense. Firewalls. Objective7. Objective8. Chapter 16. Objective1. Objective2. Objective3. Objective4. Chapter 17. Objective1. Objective2. Objective3. Objective4. Objective5. Chapter 18. Objective1. Objective2. Objective3. Objective4. Objective5. Objective6. Computer Security Classification. Windows XP and vista examples. Distributed Systems. Motivation and types of network based OS. Network Structures and Topologies. Communication Structures and protocols. Robustness issues. Distributed File System. Naming and Transparency. Remote File Access. State-full vs Stateless Service. File Replication AFS Example. Distributed Synchronization. Event Ordering. Mutual Exclusion. Atomicity. Concurrency Control. Deadlock Handling. Election Algorithms. Task 1. System Programming Framework Objective1. Introduction of MFC.NET framework. Objective2. Brief detail of a system win32/MFC system Application. Task 2. Multithreading. Objective1. Introduction to thread programming. Objective2. User and system threads. Objective3. Writing a complete multithreaded program. Task 3. Scheduling Algorithms and OS Implementation. a. Simulation of Scheduling Algorithms. b. Thread Scheduling and Multiprocessor scheduling Simulation. c. Algorithms Evaluation. d. OS Examples. Task 4. Process Synchronization. a. Critical Sections. b. Semaphore, Mutex, Event and Monitors. Hooks. c. Deadlock Simulation d. OS deadlock handling. Chapter 19. IPC and network programming. Objective1. Socket programming. Objective2. Protocol development. Objective3. Objective4. Critical sections, Event, thread, introduction and code examples Task 5. Network Programming. Objective1. Basic Socket and protocol concepts. Objective2. Writing a socket client. Objective3. Writing a socket server. Task 6. DLL’s Services and protocol Servers Objective4. Writing DLL and including them in other applications. Objective1. Writing a Service and registering it using REGSERVER. Objective2. Writing a protocol service, Generating GUID, protocol string, port and socket binding. Teaching and Learning Strategy: This course will be taught by the combination of theoretical and programming lectures. Theoretical Lectures will be used to provide in depth and conceptual Knowledge base for each goal. Lectures with programming demonstration will be used to provide the practice and applied knowledge/understanding of the concepts learned through theoretical concept. Combination theory and programming will help students to develop their program writing and application designing skills. Assignments and quizzes will be used as assessment tool to ensure and monitor students learning progress. Assignments will be based on theoretical, programming and application designing concepts in order to ensure that student has grasped the issues of windows programming. Time Management: Operating Systems Portion Chapter 1-2: 1 Week Goal 2: 1 Week Goal 3: 1 Week Goal 4: 1 Week Goal 5: 1 Week Goal 6: 2 Weeks Goal 7: 2 Weeks Goal 8: 2 Weeks Goal 9: 2 Weeks Goal 10: 2 Weeks System Programming. Goal 11: 1 week( parallel to OS Portion) Goral 12: 2 weeks Goal 13: 2 Weeks Goal 14 3 Weeks Goal 15 3 Weeks Assessment Strategy: Semester work: 20% Mid Exam: 30% Final Term: 50% Student’s performance will be evaluated through writing and practical exams, assignment, quizzes and exercises delivered to them during semester. Recommended Text Books: Silberschatz, A. Operating Systems Concepts, 7th ed. GC University Lahore Department of Computer Science BS (Computer Science) Year II Semester IV Visual Programming WEEKLY LECTURE PLAN AND EXECUTION Planned Weeks 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. GOALS Goal 1 Goal 2 Goal 3 Goal 4 Goal 5 Goal 6 MID TERM Goal 7 Goal 8 Goal 8 Goal 9 Goal 9 Goal 10 FINAL TERM Actual Implementation Week Activity