Software Project Management
According to New Revised CBCS Syllabus w.e.f. 2019-20
M.Sc. (Computer Science)
Semesters-II
A Text book of
Software Project Management
Author: Madhuvanti-Joshi-Teje
ISBN: 978-81-944620-5-7
Price: 260/-
According to New Revised CBCS Syllabus w.e.f. 2019-20
A Text book of
Author: Suvarna Jagtap
ISBN: 978-81-944620-6-4
Price: 265/-
Contents
1. Introduction to UNIX / Linux Kernel
1. Introduction of an Operating System
1.1 Objectives of Operating Systems
1.2 Functions
2. Unix as an Operating System
2.1 History of Unix System
2.2 Architecture of the UNIX
3. Concepts of Linux Programming
4. System Programming
4.1 Foundations of System Programming
4.2 System Calls for I/O
5. Unix Files
6. Linux Files and File Systems
7. Processes
8. Terms Related to Kernel System
9. User Perspective
10. Assumptions about Hardware
2. File and Directory I/O
1. Introduction
2. Buffer Headers
2.1 Structure of the Buffer Pool
2.2 Scenarios for Retrieval of a Buffer
3. Reading and Writing Disk Blocks
4. Inodes
4.1 Accessing Inodes
4.2 Releasing Inodes
5. Structure of a Regular File
6. Directories
7. Adjusting the Position of File I/O using 'lseek'
8. Pipes
8.1 Difference between Named and Unnamed Pipes
8.2 Read/Write Operations of Pipes
8.3 Closing Pipes
9. dup
10. Mounting and Unmounting File systems
11. File Sharing
12. Atomic Operations
12.1 stat, fstat and lstat Functions
12.2 File Types
12.3 File Access Permissions
13. Ownership of New Files and Directories
13.1 Access Function
13.2 umask Function
13.3 chmod and fchmod Functions
14. Sticky Bit
15. chown, fchown AND lchown Functions
16. File Size
17. File Truncation
18. File Systems
18.1 link, unlink, remove and rename functions
18.2 Symbolic Links
18.3 symlink and readlink Functions
18.4 File Times
18.5 utime Function
19. mkdir and rmdir Functions
19.1 Reading Directories
19.2 chdir, fchdir and getcwd Functions
20. Advanced File I/O
21. Mapping Files into Memory
22. Advice for Normal File I/O
23. I/O Schedulers
24. Files and their Metadata
25. Copying and Moving Files
26. Out of Band Communication
3. Process Environment, Process Control and Process Relationships
1. Introduction
2. Process States
3. Context of a Process
4. Process Creation
5. Process Termination
6. Process Control Block
6.1 Process ID
6.2 Obtaining the Process ID and Parent Process ID
6.3 Changing the Size of the Process
6.4 The Shell
6.5 Running a New Process
7. Environment List
7.1 Memory Layout of a C Program
7.2 setjump() and longjump()
7.3 getrlimit() and setrlimit() Functions
7.4 Rules for Changing the Resource Limits
8. System Functions
9. Launching and Waiting for a New Process
10. Race Conditions
11. Changing User IDs and Group IDS
12. Daemons
13. Process Scheduling
14. Classification of Process
15. Yielding the Processor
16. Threads
17. Process Priorities
18. Processor Affinity
4. Memory Management
1. Introduction
2. Process Address Space
2.1 Pages (Valid and Invalid Pages)
2.2 Memory Regions
3. Allocating Dynamic Memory
3.1 Allocating Arrays
3.2 Resizing Allocation
3.3 Freeing Dynamic Memory
4. Alignment
5. Data Segment
6. Anonymous Memory Mappings
7. Mapping /DEV/ZERO
8. Advanced Memory Allocation
9. Debugging Memory Allocations
10. Stack Based Allocations
11. Choosing a Memory Allocation Mechanism
12. Manipulating Memory
13. Locking Memory
14. Unlocking Memory
15. Locking Limits
16. Opportunistic Allocation
17. Swapping
17.1 Allocating Swap Space
17.2 Freeing Swap Space
17.3 Swapping Process Out
18. Demand Paging
5. Signal Handling
1. Introduction
2. Signal Concepts
2.1 Basic Signal Handling
2.2 List of Unix System Signals
3. signal Function
4. Unreliable Signals
5. Interrupted System Calls
6. Reentrant Functions
7. SIGCLD Semantics
8. Reliable-Signal Terminology and Semantic
9. kill() and raise() Functions
10. alarm() and pause() Functions
11. Process Blocking Signal Mask using sigpromask()
12. Signal Sets
13. Retrieving Pending Signals
14. sigaction() Function
15. Nonlocal Branching
16. Some More Functions
17. Advanced Signal Management
18. Sending a Signal with a Payload