MCS-203 OPERATING SYSTEMS
Credits : 4
Objectives
This is the core course on Operating Systems (OS). The main objectives of this course are:
- To understand the OS role in the overall computer system
- To study the operations performed by OS as a resource manager
- To understand process concept, process concurrency, synchronization and Deadlocks
- To design and solve synchronization problems
- To understand the scheduling policies of OS
- To understand the different memory management techniques
- To understand the concepts of input/output, storage and file management
- To understand the goals and principles of protection
- To understand the advanced topics such as Multiprocessor Systems, Distributed OS and Mobile OS
- To study and compare different OS(Windows, Linux, Android and Ios) and compare their features.
Block and Unit Structure
BLOCK 1: Introduction to Operating
Systems and Process Management
Unit 1 Operating System-An Overview
- What is an Operating System (OS)?
- Goals of an Operating System
- Generations of Operating Systems
- Types of Operating Systems
- Desirable Qualities of OS
- Operating Systems : Some Examples
- Functions of OS
Unit 2 Processes
Concept of Process
System Calls for Process Management
Process Scheduling
Scheduling Algorithms
o First Come First serve (FCFS)
o Shortest Job First (SJF)
o Round Robin (RR)
o Shortest remaining time next (SRTN)
o Priority Based Scheduling or Event
Driven (ED) scheduling
Performance evaluation of the Scheduling Algorithms
Unit 3:Interprocess Communication and Synchronization
Interprocess Communication
Interprocess Synchronization
Semaphores
Classical problems in concurrent programming
Locks
Monitors and Conditional Variables
Unit 4:Deadlocks
Deadlocks
Characterization of a Deadlock
A Resource Allocation Graph
Dealing with Deadlock Situations
o Deadlock Prevention
o Deadlock Avoidance
o Deadlock Detection and Recovery
Deadlock detection and recovery
Deadlock Prevention
o Havender’s Algorithm Deadlock Avoidance
o Banker’s Algorithm
BLOCK 2: Memory Management, File Management and Security
Unit 1:Memory Management
Overlays and Swapping
Logical and Physical Address Space
Single Process Monitor
Contiguous Memory Methods
Paging
o Principles of operation
o Page allocation
o Hardware Support for Paging
o Protection and Sharing
Segmentation
o Principles of operation
o Address Translation
o Protection and Sharing
Unit 2:Virtual Memory
Virtual Memory
o Principles of operation
o Virtual Memory management
o Protection and sharing
Demand paging
Page Replacement policies
Thrashing
o Working Set Model
o Page Fault Rate
Demand Segmentation
Combined Systems
o Segmented paging
o Paged segmentation
Unit 3: I/O and File Management
Organization of the I/O function
I/O Buffering
Disk Organization
Disk Scheduling
RAID
Disk Cache
Command language user’s view of File System
The System programmer’s view of the file System
The Operating systems’ view of file Management
o Directories
o Disk Space Management
o Disk address translation
o File related system services
o Asynchronous Input / Output
Unit 4:Security and Protection
Security Threats
Security Policies and Mechanisms
Authentication
o Passwords
o Alternative Forms of Authentication
Protection in Computer Systems
Security Models
o Access-Control Matrix
o Mandatory Access Control
o Discretionary Access Control
o Rule-Based Access Control
o Role-Based Access Control
o The Take-grant Model
o Multilevel Models
BLOCK 3:Advanced Topics in Operating Systems
Unit 1:Multiprocessor Systems
Multiprocessor and Processor Coupling
Types of Multiprocessor Operating System
o Separate Supervisors
o Master/Slave
o Symmetric
Multiprocessor OS Functions and Requirements
Unit 2: Distributed Operating Systems
Characteristics of Distributed Systems
Design Issues Involved in Distributed Systems
Communication in Distributed Systems
Clock Synchronization in Distributed Systems
Mutual Exclusion
Distributed File Systems
Distributed Shared Memory
Remote Procedure Calls
Other Middleware Technologies
UNIT 3: Mobile Operating Systems
Introduction
Objectives
Mobile Devices – An Introduction
Mobile Operating System
Evolution of Mobile OS
Need for the Mobile OS
Characteristics of Smartphone OS
Design Issues in Mobile OS
Popular Mobile OS
Block – 4 Case Studies (Windows, Linux, Android & IoS)
Unit 1:Case Study 1 – Windows 10
Unit 2:Case Study 2 - LINUX
Unit 3:Case Study 3 – ANDROID
Unit 4: Case Study
MCSL-204 WINDOWS and LINUX Lab Credits:2
Objectives:
Main objective of this laboratory course is to provide hands on exercises to the learners based
on Operating Systems Course.
Lab Sessions:
There will be 20 practicalsessions (3 hours each) of which 10 sessions will be on
Windows Operating System and 10 sessions will be on LINUX.
The practice problems for all 20 sessions will be listed session-wise in the lab manual.
Block 1: WINDOWS and LINUX Lab
Section 1: WINDOWS 10
Section 2: LINUX
For Previous Year Question Paper Just click here
PGDCA Program Guide
IGNOU Books
WHAT IS AN OPERATING SYSTEM?
In a computer system, we find four main components: the hardware, the operating system, the application software and the users. In a computer system the hardware 8 provides the basic computing resources. The applications programs define the way in which these resources are used to solve the computing problems of the users. The operating system controls and coordinates the use of the hardware among the various systems programs and application programs for the various users.
We can view an operating system as a resource allocator. A computer system has many resources (hardware and software) that may be required to solve a problem: CPU time, memory space, files storage space, input/output devices etc. The operating system acts as the manager of these resources and allocates them to specific programs and users as necessary for their tasks. Since there may be many, possibly conflicting, requests for resources, the operating system must decide which requests are allocated resources to operate the computer system fairly and efficiently.
An operating system is a control program. This program controls the execution of user programs to prevent errors and improper use of the computer. Operating systems exist because: they are a reasonable way to solve the problem of creating a usable computing system. The fundamental goal of a computer system is to execute user programs and solve user problems.
Goals of OS as:
- The primary goal of an operating system is to make the computer convenient to use.
- The secondary goal is to use the hardware in an efficient manner.
A computer’s operating system is a group of programs designed to serve two basic purposes:
To control the allocation and use of the computing system’s resources among
the various users and tasks, and
To provide an interface between the computer hardware and the programmer that simplifies and makes feasible the creation, coding, debugging, and maintenance of application programs.
An effective operating system should accomplish the following functions:
Should act as a command interpreter by providing a user friendly environment.
Should facilitate communication with other users.
Facilitate the directory/file creation along with the security option.
Provide routines that handle the intricate details of I/O programming.
Provide access to compilers to translate programs from high-level languages to machine language
Provide a loader program to move the compiled program code to the
computer’s memory for execution.
Assure that when there are several active processes in the computer, each will get fair and non-interfering access to the central processing unit for execution.
Take care of storage and device allocation.
Provide for long term storage of user information in the form of files.
Permit system resources to be shared among users when appropriate, and be protected from unauthorized or mischievous intervention as necessary.
TYPES OF OPERATING SYSTEMS
1. Batch Processing Operating System
2. Time Sharing
3. Real Time Operating System (RTOS)
4. Multiprogramming Operating System
5. Multiprocessing System
6. Networking Operating System
7. Distributed Operating System
8. Operating Systems for Embedded Devices
OPERATING SYSTEMS: SOME EXAMPLES
1. DOS
2. UNIX
3. WINDOWS
4. MACINTOSH
FUNCTIONS OF OS
The main functions of an operating system are as follows:
Process Management
Memory Management
Secondary Storage Management
I/O Management
File Management
Protection
Networking Management
Command Interpretation.
Block -1
UNIT 1 OPERATING SYSTEM : An Overview
OVERVIEW
Structure
1.1 Introduction
1.2 Objectives
1.3 What is an Operating System?
1.4 Goals of an Operating System
1.5 Generations of Operating Systems
1.5.1 0th Generation
1.5.2 First Generation (1951-1956)
1.5.3 Second Generation (1956-1964)
1.5.4 Third Generation (1964-1979)
1.5.5 Fourth Generation (1979-Present)
1.6 Types of Operating Systems
1.6.1 Batch Processing Operating System
1.6.2 Time Sharing
1.6.3 Real Time Operating System (RTOS)
1.6.4 Multiprogramming Operating System
1.6.5 Multiprocessing System
1.6.6 Networking Operating System
1.6.7 Distributed Operating System
1.6.8 Operating Systems for Embedded Devices
1.7 Desirable Qualities of OS
1.8 Operating Systems : Some Examples
1.8.1 DOS
1.8.2 UNIX
1.8.3 Windows
1.8.4 Macintosh
1.9 Functions of OS
1.9.1 Process Management
1.9.2 Memory Management
1.9.3 Secondary Storage Management
1.9.4 I/O Management
1.9.5 File Management
1.9.6 Protection
1.9.7 Networking
1.9.8 Command Interpretation
UNIT 2 PROCESSES
Structure
2.1 Introduction
2.2 Objectives
2.3 The Concept of Process
2.3.1 Implicit and Explicit Tasking
2.3.2 Processes Relationship
2.3.3 Process States
2.3.4 Implementation of Processes
2.3.5 Process Hierarchy
2.3.6 Threads
2.3.7 Levels of Threads
2.4 System Calls for Process Management
2.5 Process Scheduling
2.5.1 Scheduling Objectives
2.5.2 Types of Schedulers
2.5.3 Scheduling Criteria
2.6 Scheduling Algorithms
2.6.1 First Come First Serve (FCFS)
2.6.2 Shortest Job First (SJF)
2.6.3 Round Robin (RR)
2.6.4 Shortest Remaining Time Next (SRTN)
2.6.5 Priority Based Scheduling or Event Driven (ED) Scheduling
2.7 Performance Evaluation of the Scheduling Algorithms
UNIT 3 INTERPROCESS COMMUNICATION AND SYNCHRONIZATION
Structure
3.1 Introduction
3.2 Objectives
3.3 Interprocess Communication
3.3.1 Shared-Memory System
3.3.2 Message-Passing System
3.4 Interprocess Synchronization
3.4.1 Serialization
3.4.2 Mutexes: Mutual Exclusion
3.4.3 Critical Sections: The Mutex Solution
3.4.4 Dekker’s Solution for Mutual Exclusion
3.4.5 Bakery’s Algorithm
3.5 Semaphores
3.6 Classical Problems in Concurrent Programming
3.6.1 Producers/Consumers Problem
3.6.2 Readers and Writers Problem
3.6.3 Dining- Philosophers Problem
3.6.4 Sleeping Barber Problem
3.7 Locks
3.8 Monitors and Condition Variables
UNIT 4 DEADLOCKS
Structure
4.1 Introduction
4.2 Objectives
4.3 Deadlocks
4.4 Characterization of a Deadlock
4.4.1 Mutual Exclusion Condition
4.4.2 Hold and Wait Condition
4.4.3 No-Preemptive Condition
4.4.4 Circular Wait Condition
4.5 Resource Allocation Graph
4.6 Dealing with Deadlock Situations
4.6.1 Deadlock Prevention
4.6.2 Deadlock Avoidance
4.6.3 Deadlock Detection and Recovery
Block -2
UNIT 1 MEMORY MANAGEMENTStructure
1.0 Introduction
1.1 Objectives
1.2 Overlays and Swapping
1.3 Logical and Physical Address Space
1.4 Single Process Monitor
1.5 Contiguous Allocation Methods
1.5.1 Single Partition System
1.5.2 Multiple Partition System
1.6 Paging
1.6.1 Principles of Operation
1.6.2 Page Allocation
1.6.3 Hardware Support for Paging
1.6.4 Protection and Sharing
1.7 Segmentation
1.7.1 Principles of Operation
1.7.2 Address Translation
1.7.3 Protection and Sharing
UNIT 2 VIRTUAL MEMORY
Structure
2.0 Introduction
2.1 Objectives
2.2 Virtual Memory
2.2.1 Principles of Operation
2.2.2 Virtual Memory Management
2.2.3 Protection and Sharing
2.3 Demand Paging
2.4 Page Replacement Policies
2.4.1 First In First Out (FIFO)
2.4.2 Second Chance (SC)
2.4.3 Least Recently Used (LRU)
2.4.4 Optimal Algorithm (OPT)
2.4.5 Least Frequently Used (LFU)
2.5 Thrashing
2.5.1 Working-Set Model
2.5.2 Page-Fault Rate
2.6 Demand Segmentation
2.7 Combined Systems
2.7.1 Segmented Paging
2.7.2 Paged Segmentation
UNIT 3 I/O AND FILE MANAGEMENT
Structure
3.0 Introduction
3.1 Objectives
3.2 Organisation of the I/O Function
3.3 I/O Buffering
3.4 Disk Organisation
3.4.1 Device Drivers and IDs
3.4.2 Checking Data Consistency and Formatting
3.5 Disk Scheduling
3.5.1 FCFS Scheduling
3.5.2 SSTF Scheduling
3.5.3 SCAN Scheduling
3.5.4 C-SCAN Scheduling
3.5.5 LOOK and C-LOOK Scheduling
3.6 RAID
3.7 Disk Cache
3.8 Command Language User’s View of the File System
3.9 The System Programmer’s View of the File System
3.10 The Operating System’s View of File Management
3.10.1 Directories
3.10.2 Disk Space Management
3.10.3 Disk Address Translation
3.10.4 File Related System Services
3.10.5 Asynchronous Input/Output
UNIT 4 SECURITY AND PROTECTION
Structure
4.0 Introduction
4.1 Objectives
4.2 Security Threats
4.3 Security Policies and Mechanisms
4.4 Authentication
4.4.1 Passwords
4.4.2 Alternative Forms of Authentication
4.5 Protection in Computer Systems
4.6 Security Models
4.6.1 Access Matrix Model
4.6.2 Mandatory Access Control
4.6.3 Discretionary Access Control
4.6.4 Rule-Based Access Control
4.6.5 Role-Based Access Control
4.6.6 Take-Grant Model
4.6.7 Multilevel Models
BLOCK -3
UNIT 1 MULTIPROCESSOR SYSTEMS
Structure
1.1 Introduction
1.2 Objectives
1.3 Multiprocessing and Processor Coupling
1.4 Multiprocessor Interconnections
1.4.1 Bus-oriented System
1.4.2 Crossbar-connected System
1.4.3 Hypercubes System
1.4.4 Multistage Switch-based System
1.5 Types of Multiprocessor Operating Systems
1.5.1 Separate Supervisors
1.5.2 Master-Slave
1.5.3 Symmetric
1.6 Multiprocessor Operating System - Functions and Requirements
1.7 Multiprocessor Synchronization
1.7.1 Test-and-set
1.7.2 Compare-and-Swap
1.7.3 Fetch-and-Add
UNIT 2 DISTRIBUTED OPERATING SYSTEMS
Structure
2.1 Introduction
2.2 Objectives
2.3 History of Distributed Computing
2.3.1 Workstations – Networks
2.3.2 Wide-Scale Distributed Computing and the Internet
2.4 Distributed Systems
2.5 Key Features and Advantages of a Distributed System
2.5.1 Advantages of Distributed Systems Over Centralised Systems
2.5.2 Advantages of Distributed Systems over Isolated PC’s
2.5.3 Disadvantages of Distributed Systems
2.6 Design Goals of Distributed Systems
2.6.1 Concurrency
2.6.2 Scalability
2.6.3 Openness
2.6.4 Fault Tolerance
2.6.5 Privacy and Authentication
2.6.6 Transparency
2.7 Design Issues Involved in Distributed Systems
2.7.1 Naming
2.7.2 Communication
2.7.3 Software Structure
2.7.4 Workload Allocation
2.7.5 Consistency Maintenance
2.7.6 Lamport’s Scheme of Ordering of Events
2.8 Distributed System Structure
2.8.1 Application Model 1: Client Server
2.8.2 Application Model 2: Distributed Objects
2.8.3 Application Model 3: Distributed Shared Memory
2.9 Mutual Exclusion in Distributed Systems
2.9.1 Mutual Exclusion Servers
2.9.2 Token Based Mutual Exclusion
2.9.3 Lamport’s Bakery Algorithm
2.9.4 Ricart and Agrawala’s Mutual Exclusion Algorithm
2.10 Remote Procedure Calls
2.10.1 How RPC Works?
2.10.2 Remote Procedure Calling Mechanism
2.10.3 Implementation of RPC
2.10.4 Considerations for Usage
2.10.5 Limitations
2.11 Other Middleware Technologies
UNIT 3 MOBILE OPERATING SYSTEMS
Structure
3.1 Introduction
3.2 Objectives
3.3 Mobile Devices – An Introduction
3.3.1 Characteristics of Mobile Devices
3.3.2 Data Input Mechanisms for Mobile Devices
3.3.3 Wireless Communication
3.3.4 Mobile Operating System
3.3.5 Types of Processors Used by Mobile Devices
3.3.6 Limitations of Mobile Devices
3.4 Mobile Operating System
3.5 Evolution of Mobile OS
3.6 Need for the Mobile OS
3.7 Characteristics of Smartphone OS
3.8 Design Issues in Mobile OS
3.9 Popular Mobile OS
BLOCK-4
UNIT 1 CASE STUDY - WINDOWS 10
Structure
1.0 Introduction
1.1 Objectives
1.2 Features of Windows 10
1.3 Evolution of Windows 10
1.4 Windows 10 Editions
1.5 Windows OS Components
1.6 Process Management in Windows 10
1.6.1 Processes and Threads
1.6.2 Scheduling
1.6.3 Interprocess Communication
1.7 Memory Management in Windows 10
1.7.1 Memory Representation
1.7.2 Physical Memory Organization
1.7.3 Virtual Memory Organization
1.7.4 Demand Paging
1.7.5 Memory Compression
1.8 File System Management in Windows 10
1.8.1 Directory Management
1.8.2 Disk Management
1.8.3 File Management
1.8.4 File Compression
UNIT 2 CASE STUDY - LINUX
Structure
2.1 Introduction
2.2 Objectives
2.3 Linux Operating System
2.4 Evolution of Linux
2.5 Characteristics of Linux
2.6 Linux Kernel
2.7 Fundamental Architecture of Linux
2.8 Process Management in Linux
2.9 Memory Management in Linux
2.10 Linux File System
2.11 Security Features in Linux
2.12 Windows Vs Linux
UNIT 3 CASE STUDY - ANDROID
Structure
3.0 Introduction
3.1 Objectives
3.2 Salient Features of Android
3.3 Evolution of Android
3.4. Layered Architecture of Android OS
3.5. Processes and Threads Management in Android
3.6 Memory Management in Android
3.7 File Management in Android
3.8 Security Features in Android
UNIT 4 CASE STUDY - iOS
Structure
4.0 Introduction
4.1 Objectives
4.2 Features of iOS
4.3 Evolution of iOS
4.4 Architecture of iOS
4.5 iOS Kernel Architecture
4.6 Processes and Threads Management
4.6.1 Threading Packages
4.6.2 Threads Alternatives
4.7 Memory Management
4.7.1 Application Memory Management
4.7.2 Virtual Memory Management
4.7.3 Page List in Kernel
4.7.4 Page Fault
4.8 File System in iOS
4.8.1 iOS Directories
4.8.2 iCloud Container
4.8.3 Identification of File Type
4.8.4 Security of File System
No comments:
Post a Comment
If you have any query or doubt, please let me know. I will try my level best to resolve the same at earliest.