Operating Systems

Paper Code: 
MCA 224
Credits: 
04
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

 The course will enable the students to

  1. Define operating system, processes and their communication.
  2. Describe & discuss various operating system workings like process management, memory management, concepts of concurrency control and disk management.
  3. Employ necessary skills to work with UNIX/LINUX operating system environment.
  4. Compare fundamental concepts between Linux and other popularly used operating systems
  5. Gain the skills necessary for developing shell script and programming
  6. Construct simple OS mechanisms through shell programming

 Course Learning Outcomes (CLOs):

 

Learning Outcome (at course level)

Students will be able to:

Learning and teaching strategies

Assessment Strategies

  1. Understand the concept of operating system, processes and their communication.
  2. Understand the mechanisms of OS to manage processes, memory, disk and concurrent processes.
  3. Work with UNIX/LINUX operating system environment.
  4. Evaluate the distinct features of Linux in comparison to other popularly used operating systems.
  5. Develop shell scripts
  6. Expand simple OS mechanisms through shell programming

Approach in teaching:

Interactive Lectures,

Modeling, Discussions, implementing enquiry based learning, student centered approach

 

Learning activities for the students:

Experiential Learning, Presentations, Discussions, Quizzes and Assignments

 

  • Assignments
  • Written test in classroom
  • Classroom activity
  • Continuous Assessment
  • Semester Examination

 

12.00
Unit I: 

Fundamentals of Operating System: Definition and types of operating systems, Batch Systems, multi programming, time–sharing parallel, distributed and real-time systems, Operating system structure, Operating system components and services, System calls, system programs, Virtual machines.

12.00
Unit II: 

Process and Thread Management: Process concept, Process scheduling, Cooperating processes, Threads, Inter-process communication, CPU scheduling criteria, Scheduling algorithms, Multiple-processor scheduling, Real-time scheduling and Algorithm evaluation.

12.00
Unit III: 

Concurrency Control: The Critical-Section problem, synchronization hardware, Semaphores, Classical problems of synchronization, Critical regions, Monitors, Dining philosopher and producer consumer problem using semaphores or monitors. Deadlocks-System model, Characterization, Deadlock prevention, Avoidance and Detection, Banker’s Algorithm.

12.00
Unit IV: 

Memory Management: Swapping, Contiguous Allocation, Paging, Segmentation with  paging virtual Memory, Demand paging  and its performance, Page replacement algorithms, Allocation of frames, Thrashing, Page Size and other considerations, Demand segmentation, File systems, secondary Storage Structure, File concept, access methods, directory implementation, Efficiency and performance, recovery, Disk structure, Disk scheduling methods, Disk management, Recovery, Disk structure, Disk scheduling methods, Disk management, Swap-Space management, Disk reliability.

12.00
Unit V: 

Protection and Security-Goals of protection, Domain of protection, Access matrix, Implementation of access Matrix, Revocation of Access Rights, language based protection, The Security problem, Authentication, One Time passwords, Program threats, System threats, Threat Monitoring, Encryption.

ESSENTIAL READINGS: 
  • Silberschatz and Galvin, “Operating System Concepts”, 7th edition, Wiley India, 2000.
  • Andrew S. Tanenbaum, Albert S. Woodhull, “Operating Systems Design & implementation”, 3rd edition, Pearson Education, 2006.
REFERENCES: 
  • William Stallings, “Operating Systems Internals and Design Principles”, 5th edition, Prentice Hall, 2000.
  • Achyut S. Godbole, AtulKahate, “Operating Systems”, 3rd edition, Tata McGraw Hill, 2010.
Academic Year: