Advanced Operating System

BI 1411

New

A text book for Master in Computer Science Course (M.Sc.) Pune University, w.e.f. 2011.

Author: Suvarna Jagtap.

BI 1411

More details

Rs.180

Rs.200

-10%

Contents

1. Introduction to Unix/Linux Kernel     

   1.1 Introduction of an Operating System     

   1.1.1 Objectives of Operating Systems 

   1.1.2 Functions     

   1.2 Unix as an Operating System 

   1.2.1 History of Unix System    

   1.2.2 Architecture of the UNIX  

   1.3 Concepts of Linux Programming     

   1.3.1 Linux Features

   1.4 System Programming    

   1.4.1 System Calls for I/O

   1.5 Unix Files

   1.6 Linux Files and File Systems

   1.7 Processes 

   1.8 Terms Related to Kernel System    

   1.9 User Perspective

   1.10 Assumptions about Hardware 

   1.11 NASM     

   1.11.1 Need for NASM

   1.11.2 Running NASM 

   1.12 Linux Tools

2. File and Directory I/O    

   2.1 Introduction    

   2.1.1 Inodes  

   2.1.2 Accessing Inodes    

   2.1.3 Releasing Inodes    

   2.2 Structure of a Regular File 

   2.3 Directories     

   2.4 Adjusting the Position of File I/O using ‘lseek’    

   2.5 Pipes     

   2.5.1 Difference between Named and Unnamed Pipes  

   2.5.2 READ/WRITE OPERATIONS OF PIPES  

   2.5.3 Closing Pipes 

   2.6 dup 

   2.7 Mounting and Unmounting File systems    

   2.7.1 unmounting a file system  

   2.8 File Sharing    

   2.9 Atomic Operations     

   2.9.1 stat, fstat, and lstat Functions

   2.9.2 File Types    

   2.9.3 File Access Permissions   

   2.10 Ownership of New Files and Directories 

   2.10.1 Access Function    

   2.10.2 umask Function     

   2.10.3 chmod and fchmod Functions     

   2.11 Sticky Bit     

   2.12 chown, fchown, and lchown functions    

   2.13 File Size

   2.14 File Truncation

   2.15 File Systems   

   2.15.1 link, unlink, remove, and rename functions 

   2.15.2 Symbolic Links     

   2.15.3 symlink and readlink Functions 

   2.15.4 File Times   

   2.15.5 utime function     

   2.16 mkdir and rmdir functions  

   2.16.1 Reading Directories

   2.16.2 chdir, fchdir, and getcwd functions  

   2.17 Advanced File I/O

   2.18 The Event Poll Interface   

   2.19 Mapping files into Memory  

   2.20 Advice for Normal File I/O 

   2.21 Synchronized, Synchronous and Asynchronous Operations    

   2.22 I/O Schedulers 

   2.23 Files and their Metadata   

   2.24 Copying and Moving files   

   2.25 Out of Band Communication  

   2.26 Monitoring file events

3.Process Environment, Process Control and Process Relationships 

   3.1 Introduction    

   3.2 Process States  

   3.3 Context of a Process  

   3.3.1 Saving Context of a Process     

   3.4 Process Creation

   3.5 Process Termination   

   3.6 Process Control Block 

   3.6.1 Process ID    

   3.6.2 Obtaining the Process ID and Parent Process ID    

   3.6.3 Running a New Process     

   3.7 Environment List

   3.7.1 Memory Layout of a C Program    

   3.7.2 setjump() and longjump()  

   3.7.3 getrlimit() and setrlimit() Functions 

   3.7.4 Rules for changing the resource Limits

   3.8 Interpreter Files     

   3.9 System functions

   3.10 Process Accounting   

   3.11 Terminal logins

   3.12 Network logins 

   3.13 Process groups 

   3.14 Sessions 

   3.15 Controlling Terminal 

   3.16 tcgetpgrp(), tcsetpgrp() and tcgetsid()

   3.17 Job Control    

   3.18 Zombies  

   3.19 Launching and Waiting for a New Process

   3.20 Race Conditions

   3.21 Changing User IDs and Group IDS  

   3.22 Sessions and Process Groups

   3.23 Daemons  

   3.23.1 Users and Group    

   3.24 Process Scheduling   

   3.24.1 Classification of Process

   3.25 Yielding the Processor     

   3.26 Threads  

   3.27 Process Priorities   

   3.28 Processor Affinity  

4. Memory Management   

   4.1 Introduction

   4.2 Process Address Space 

   4.2.1 Pages (Valid and Invalid Pages) 

   4.2.2 Memory Regions

   4.3 Allocating Dynamic Memory   

   4.3.1 Allocating Arrays   

   4.3.2 Resizing Allocation 

   4.3.3 Freeing Dynamic Memory    

   4.4 Alignment 

   4.5 Data Segment    

   4.5.1 Managing the Data Segment 

   4.6 Anonymous Memory Mappings   

   4.7 Creating Anonymous Memory Mappings

   4.8 Mapping /dev/zero     

   4.9 Advanced Memory Allocation  

   4.10 Debugging Memory Allocations     

   4.11 Stack Based Allocations    

   4.12 Choosing a Memory Allocation Mechanism 

   4.13 Manipulating Memory  

   4.14 Locking Memory 

   4.15 Unlocking Memory     

   4.16 Locking Limits 

   4.17 Opportunistic Allocation 

5. Signal Handling     

   5.1 Introduction    

   5.2 Signal Concepts 

   5.2.1 Basic Signal Handling     

   5.2.2 List of Unix System Signals     

   5.3 signal function 

   5.3.1 Sending Signals     

   5.4 Unreliable Signals    

   5.5 Interrupted System Calls    

   5.5.1 How they differ from other system calls?    

   5.6 Reentrant FunctIons   

   5.7 sigcld Semantics

   5.8 Reliable-Signal Terminology and Semantic

   5.9 kill() and raise() functions

   5.10 alarm() and pause() functions    

   5.11 Process Blocking Signal mask using sigpromask()    

   5.12 Signal Sets    

   5.13 Retrieving Pending Signals 

   5.14 sigaction() function 

   5.15 NonLocal Branching   

   5.16 Some More Functions  

   5.17 Advanced Signal Management 

   5.18 Sending a Signal with a Payload  

6. Windows Internals   

   6.1 Basic windows concepts

   6.2 windows Internals     

   6.2.1 Foundation Concepts and Terms   

   6.2.2 Virtual Memory

   6.2.3 Kernel Mode vs User Mode  

   6.3 System Requirements   

   6.3.1 Design Goals  

   6.3.2 Operating System Model    

   6.3.3 Architectural Overview    

   6.3.4 Portability   

   6.3.5 Symmetric Multiprocessing 

   6.4 Process Internals     

   6.5 Thread Internals

   6.5.1 Birth of a Thread   

   6.5.2 Examining Thread Activity 

   6.6 Worker Factory  

   6.7 Thread Scheduling     

   6.7.1 Overview of Windows Scheduling API    

   6.7.2 Priority Levels     

   6.7.3 Windows API Functions     

   6.7.4 Relevant tools

   6.7.5 Real Time Priorities

   6.7.6 Thread States 

   6.7.7 Dispatcher Database 

   6.7.8 Scheduling Scenarios

   6.7.9 Preemption    

   6.8 Context Switching     

   6.8.1 Priority Boosts     

   6.8.2 Job Objects

Errata   

No customer comments for the moment.

Write a review

Write a review

2 other products in the same category: