Operating System
CMR Institute of Technology, Bangalore
Department(s): MCA
Semester: 1
Section(s): A, B
Lectures/week: 04
Subject: Operating System Concepts
Code: 22MCA12
Course Instructor(s): Dr.Gnaneswari.G
Course Site: https://sites.google.com/a/cmrit.ac.in/operating-system-with-unix--20mca12-odd-sem/
Operating System Concepts - Scheme and Syllabus
MODULE-1
OVERVIEW: Introduction, System Structures
MODULE-2
PROCESS MANAGEMENT: Process Concept, Multithreaded Programming
MODULE-3
PROCESS COORDINATION: Synchronization, Deadlocks
MODULE-4
MEMORY MANAGEMENT: Memory-Management Strategies, Virtual-Memory Management
MODULE 5
STORAGE MANAGEMENT: File System
Suggested Learning Resources:
Text Books
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating Systems Principles, 8th Edition, Wiley – India.
Reference Books
1. D M Dhamdhere: Operating Systems – A Concept Based Approach, 2nd Edition, Tata McGraw – Hill, 2002.
2. P C P Bhatt: Operating Systems, 2nd dition, PHI, 2006.
3. Harvey M Deital: Operating Systems, 3rd dition, Addison Wesley, 1990.
Web links and Video Lectures (e-Resources):
Course Plan
Course duration: Jan 2024– April 2024
Course Site: https://sites.google.com/a/cmrit.ac.in/operating-system-with-unix--20mca12-odd-sem/
Google Classroom Link:
https://classroom.google.com/c/NjQ5OTYyOTcyOTEz?cjc=76wufp5
Link to detailed syllabus:
https://docs.google.com/document/d/1mpduoA_QNGGSCle-LMOYFH1gtEo2R2xADUPEpuSar6c/edit?usp=sharing
Expectations
It has been expanded to include multi-core CPUs, clustered computers, and open-source operating systems.
It provides significantly updated coverage of virtual machines, as well as multi-core CPUs, the GRUB boot loader, and operating-system debugging.
It provides new coverage of pipes as a form of inter process communication.
It adds new coverage of programming for multi-core systems.
It adds a discussion of mutual exclusion locks, priority inversion, and transactional memory.
Prerequisites
Strong programming skills (Knowledge of C).
Elementary data structures and algorithms.
Module 1:
OVERVIEW: Introduction, System Structures
TB1: 1.1 TO 1.10
TB1:2.1 TO 2.6
TB1:3.1 TO 3.8
Links to some useful online lectures:
Module2:
PROCESS MANAGEMENT: Process Concept, Multithreaded Programming
TB1: 4.1 TO 4.6
TB1:5.1 TO 5.3
TB1:6.1 TO 6.6
Links to some useful online lectures:
Module3:
PROCESS COORDINATION: Synchronization, Deadlocks
TB1: 7.1 TO 7.8
8.1 TO 8.7
Links to some useful online lectures:
Module4:
MEMORY MANAGEMENT: Memory-Management Strategies, Virtual-Memory Management
TB1: 9.1 TO 9.6
10.1 TO 10.6
Links to some useful online lectures:
https://www.youtube.com/watch?v=JKGU52aB-2k&list=PLLDC70psjvq5hIT0kfr1sirNuees0NIbG&index=16
https://www.youtube.com/watch?v=ygekh5ehxu4&list=PLLDC70psjvq5hIT0kfr1sirNuees0NIbG&index=17
https://www.youtube.com/watch?v=ZrMl-7QHg28&list=PLLDC70psjvq5hIT0kfr1sirNuees0NIbG&index=18
Module5:
STORAGE MANAGEMENT: File System
TB1: 11.1 TO 11.6
12.1 TO 12.7
Links to some useful online lectures:
https://www.youtube.com/watch?v=U1Jpvni0Aak
Text Books
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating Systems Principles, 8th Edition, Wiley – India.
Reference Books
D M Dhamdhere: Operating Systems – A Concept Based Approach, 2nd Edition, Tata McGraw – Hill, 2002.
P C P Bhatt: Operating Systems, 2nd Edition, PHI, 2006.
Harvey M Deital: Operating Systems, 3rd Edition, Addison Wesley, 1990.
Mention the best practices identified as part of teaching this subject
Connecting programming and general system use with the Operating System concepts.
Making students involve in all the classroom activity.
Case study based study on Windows and Android OS.
Mention the Importance of this subject along with Real Time Applications
Operating System is an intermediate layer between applications and hardware. It is a key part of computer system. Understanding its operation will make students better programmers.
To write softwares that directly accesses operating system services rather than relying on application libraries or libraries for better performance of CPUs, memory, devices and network computing.
To Tradeoff between performance and functionality while coding.