Document Details

WellConnectedPortland714

Uploaded by WellConnectedPortland714

SKIT

Tags

operating systems computer science programming software engineering

Summary

This document is a course outline for a course called "Operating Systems". The document details course objectives, learning outcomes, and a breakdown of topics for the course. Topics include OS concepts, process management, memory management, inter-process communication, and information management. Multiple learning resources are cited, including operating system concepts textbooks.

Full Transcript

Semester I PGCSA102: OPERATING SYSTEMS 3L+0T+0P=3C COURSE OVERVIEW AND OBJECTIVES: Understand the concept of system and its processes COURSE OUTCOME: The student would be able to: CO1 : Describe the basic components of an operating system and their...

Semester I PGCSA102: OPERATING SYSTEMS 3L+0T+0P=3C COURSE OVERVIEW AND OBJECTIVES: Understand the concept of system and its processes COURSE OUTCOME: The student would be able to: CO1 : Describe the basic components of an operating system and their role in implementations for general purpose, real-time, and embedded applications. CO2: Define the concepts of processes, threads, asynchronous signals and competitive system resource location. CO3: Explain what multi-tasking is and outline standard scheduling algorithms for multi- tasking. CO4: Give an overview of system memory management. CO5: Explain how file systems are implemented. OUTLINE OF THE COURSE Unit No Title of Unit Time Required for Unit(Hours) 1 OS concepts 6 2 Process management5 3 Memory management6 4 Inter process communication 7 5 Information management 7 Detailed Syllabus Unit 1: Introduction- OS Concepts – Evolution of OS, OS Structures- Kernel, Shell, General Structure of MSDOS, Windows 2000, Difference between ANSI C and C++.Introduction and need of operating system, layered architecture/logical structure of Operating system, Type of OS, operating system as resource manager and virtual machine, OS services, BIOS, System Calls/Monitor Calls, Firmware- BIOS, Boot Strap Loader. Unit 2: Process Management- Process & Threads – Process States - Process Control Block. Process Scheduling – Operations on Processes, Threads, CPU Scheduler – Preemptive and Non- Preemptive; Dispatcher, Scheduling Criteria, Concurrent Processes, Co-operating Processes, Precedence Graph, Hierarchy of Processes, Critical Section Problem, Two process solution, Synchronization Hardware, Semaphores – Deadlock- detection, handling, prevention, avoidance, recovery, Starvation, Critical Regions, Monitors, Inter process communication. Unit 3: Memory Management - Objectives and functions, Simple Resident Monitor Program (No design), Overlays – Swapping; Schemes – Paging – Simple, Multi-level Paging; Internal and External Fragmentation; Virtual Memory Concept, Demand Paging - Page Interrupt Fault, Page Replacement Algorithms; Segmentation – Simple, Multi-level, Segmentation with Paging, Cache Memory. Unit 4: Inter Process Communication: Virtual Memory– Concept, virtual address space, paging scheme, pure segmentation and segmentation with paging scheme hardware support and implementation details, memory fragmentation, Overview of IPC Methods, Pipes, popen, p close Functions, Co processes, FIFOs, System V IPC, Message Queues, Semaphores, Inter process Communication Shared Memory, Client-Server Properties, Stream Pipes, Passing File Descriptors, An Open Server-Version 1, Client-Server Connection Functions. Unit 5: Information Management - Files and Directories – Directory Structure –Directory Implementation – Linear List - Hash Table. Device Management: Dedicated, Shared and Virtual Devices - Serial Access Devices, Direct Access Devices, Direct Access Storage Devices – Channels and Control Units – Disk Scheduling methods. Text Books: 1. Operating Systems Concepts – Silberschatz, Galvin, Wiley Publications(2008) 2. Modern Operating Systems - Andrew S. Tenenbaum, Pearson Education Asia / PHI (2005) 3.Operating Systems – William Stallings, Pearson Education Asia (2002) Reference Books: 1. UNIX System Programming Using C++, by Terrence Chan: Prentice Hall India,1999. 2. Advanced Programming in UNIX Environment, by W. Richard Stevens: 2nd Ed, Pearson Education,2005.

Use Quizgecko on...
Browser
Browser