Operating Systems

Course Code: BCA211

Course Title: Operating System (4 Credits)




Course Contents


Unit 1: Operating System- An Introduction: This unit gives the definition and functions of operating systems.  This unit also discusses the evolution of operating systems and different structures of operating systems.


Unit 2: Operating System Architecture: This unit discusses different architectural approach to operating systems such as simple and layered approach.  This unit also introduces micro-kernels and UNIX kernel components.  An introduction to Virtual Machines and Machine Aggregation are also discussed in this unit.


Unit 3: Process Management: A process can be simply defined as a program in execution.  A process is created and terminated.  This unit discusses process state, control block and scheduling.  Also this unit throws light on operation on processes and threads.


Unit 4: CPU Scheduling Algorithms: CPU scheduling is the basis for multi-programmed operating systems.  This unit discusses different CPU scheduling algorithms and their evaluation.


Unit 5: Process Synchronization: A co-operating process is one that can affect or be affected by the other processes executing in the system.  These processes may either directly share a logical address space or be allowed to share data only through files.  This unit discusses Interprocess communication and critical section problem.  Also definition of semaphores and monitors are given in this unit.


Unit 6: Deadlocks: Deadlock is a situation in which a process may never change its state because the requested resources are held by other processes which themselves are waiting for additional resources and hence in a wait state.  This unit deals with avoidance, prevention, detection and handling of deadlocks. 


Unit 7: Memory Management: A set of processes needs to reside in memory.  The memory is thus shared and the resource requires to be managed.  This unit discusses various memory management techniques such as swapping, contiguous allocation, paging and segmentation.


Unit 8: Virtual Memory: Virtual memory allows execution of processes that may not be entirely in memory.  Virtual memory allows mapping of a large virtual address space onto a smaller physical memory.  This unit discusses various virtual memory techniques such as demand paging, page replacement algorithms and thrashing.


Unit 9: File System Interface and Implementation: This unit discusses various file concepts.  This unit also throws light on file access methods, directory structure and allocation methods.


Unit 10: Input-Output Architecture: I/O devices have characteristics quite different from memory devices, and often pose special problems for computer systems.  This unit discusses various I/O structures and control strategies.


Unit 11: Operating System in Distributed Processing: With the advent of micro and mini computers, distributed processing is becoming more and more popular.  This unit discusses centralized and distributed processing.  This unit also introduces Network Operating Systems and Global Operating Systems.


Unit 12: Security and Protection: Security and protection are the two main features that motivated development of a network operating system.  This unit discusses different security concerns such as computer worms, computer virus and authentication.  Ways of protecting the system using authentication and encryption techniques are also discussed in this unit.


Unit 13: Multiprocessor Systems: Multiprocessor systems provide an alternative for improving performance of computer systems by coupling a number of low cost standard processors.  This unit discusses different classification of multiprocessor systems and their interconnections.  A brief introduction to multiprocessor operating system is also given in this unit.


Unit 14: Windows Operating System: Windows 2000, Windows XP and Windows Server 2003 are all part of the Windows NT family of Microsoft operating systems.  This unit discusses the architectures of Windows NT and Windows 2000 operating systems.