- To be able to read and understand sample open source programs and header files.
- To learn how the processes are implemented in linux.
- To understand the implementation of the Linux file system.
- To study Linux memory management data structures and algorithms.
- To acquire the knowledge in the implementation of interprocess communication.
- To understand how program execution happens in Linux.
CP5153 OPERATING SYSTEM INTERNALS SYLLABUS |
UNIT I INTRODUCTION
Basic Operating System Concepts - Overview of Unix File System - Files - Links - Types - Inodes -Access Rights - System Calls - Overview of Unix Kernels -Model - Implementation - Reentrant Kernels - Address Space - Synchronization - Interprocess Communication - Process Management - Memory Management - Device Drivers.
UNIT II PROCESSES
Processes, Lightweight Processes, and Threads - Process Descriptor - State - Identifying a Process - Relationships among processes - Organization - Resource Limits - Creating Processes - System Calls - Kernel Threads - Destroying Processes -Termination - Removal.
UNIT III FILE SYSTEM
The Virtual File System (VFS) - Role - File Model -System Calls - Data Structures - Super Block, Inode, File, dentry Objects - dentry Cache - Files Associated with a Process - Filesystem Types - Special Filesystems - Filesytem Type Registration - Filesytem Handling - Namespaces - Mounting - Unmounting - Implementation of VFS System Calls.
UNIT IV MEMORY MANAGEMENT
Page frame management -page descriptors - non-uniform memory access - memory zones - reserved page frames - zoned page frame allocator - kernel mappings - buddy system algorithm - page frame cache - zone allocator.
UNIT V PROCESS COMMUNICATION AND PROGRAM EXECUTION
Process Communication - Pipes -Usage - Data Structures - Creating and Destroying a Pipe - Reading From and Writing into a Pipe. Program Execution - Executable Files - Process Credentials - Command-Line Arguments and Shell Environment - Libraries - Program Segments and Process Memory Regions - Execution tracing - Executable Formats - Execution Domains - The exec Functions
TOTAL: 45 PERIODS
OUTCOMES:
- At the end of this course, the students should be able to:
- To explain the functionality of a large software system by reading its source.
- To revise any algorithm present in a system.
- To design a new algorithm to replace an existing one.
- To apypropriately modify and use the data structures of the linux kernel for a different software system.
- Daniel P. Bovet and Marco Cesati, "Understanding the Linux Kernel", 3rd Edition, O'Reilly Publications, 2005.
- Harold Abelson, Gerald Jay Sussman and Julie Sussman, ―Structure and Interpretation of Computer Programs‖, Second Edition, Universities Press, 2013.
- Maurice J. Bach, ―The Design of the Unix Operating System‖ 1 st Edition Pearson Education, 2003.
- Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner, ―Linux Kernel Internals‖, 2nd Edition, Addison-Wesley, 1998.
- Robert Love, ―Linux Kernel Development‖, 3 rd Edition, Addison-Wesley, 2010.
No comments:
Post a Comment