Naresh Chauhan OS Book Index
Naresh Chauhan OS Book Index
PART I Introduction 1
1. Introduction to Operating Systems 3 2.8.1 Multiple Modes of Operation 43
1.1 Introduction 3 2.8.2 Input–Output Protection 45
1.2 The Need for Operating Systems 4 2.8.3 Memory Protection 45
1.3 Evolution of Operating Systems 6 2.8.4 CPU Protection 47
1.3.1 First Generation 6 2.9 Input–Output Communication
1.3.2 Second Generation 7 Techniques 47
1.3.3 Third Generation 9 2.9.1 Programmed I/O 48
1.3.4 Fourth Generation 11 2.9.2 Interrupt-driven I/O 48
1.4 Types of Operating Systems 14 2.9.3 Input/Output Using DMA 49
1.4.1 Batch Processing Systems 15 2.10 Magnetic Disks 49
1.4.2 Multi-programming Systems 15 2.10.1 Disk Formatting 51
1.4.3 Multi-user Time-sharing Systems 16 2.10.2 Disk Partitioning 52
1.4.4 Multi-tasking Systems 18
1.4.5 Network Operating Systems 19 3. Resource Management 56
1.4.6 Multi-processor Operating 3.1 Introduction 56
Systems 20 3.2 Functions of a Resource Manager 56
1.4.7 Distributed Operating Systems 20 3.2.1 Resource Abstraction/
1.4.8 Real-time Operating Systems 21 Transformation 56
1.4.9 Embedded Operating Systems 22 3.2.2 Resource Sharing/Multiplexing 57
1.5 Goals of an Operating System 25 3.2.3 Resource Scheduling 57
1.6 Functions of Operating System 27
3.3 Resource Types 58
1.6.1 User View 27
3.3.1 Nature of Resources 59
1.6.2 System View 28
3.4 Goals of Resource Management 60
1.7 Operating System’s Generic
Components 30 3.5 How Resource Manager Works? 61
3.6 Components of Resource Management 62
2. Hardware Support for 3.6.1 Process/task Management 62
Operating Systems 35 3.6.2 Memory Management 63
3.6.3 Secondary Storage Management 64
2.1 Introduction 35 3.6.4 File Management 64
2.2 Interrupt-driven Operation for Operating
System 35 3.6.5 Input–Output Management 65
2.2.1 Types of Interrupts 37 3.6.6 Security and Protection 65
2.2.2 Multiple Interrupts Handling 38 4. Operating System Architectures 68
2.3 Input–Output Devices 38
2.3.1 Timers or Clocks 39 4.1 Introduction 68
2.4 Device Controllers 40 4.2 General Working of an Operating
2.5 Device Driver 41 System 68
2.6 Problems in the Design of Modern OSs 42 4.2.1 BIOS 68
2.7 Need for Protection 43 4.2.2 Booting/Bootstrapping 69
2.8 Hardware Protection for 4.2.3 Boot Software/Boot Loader/Bootstrap
Multi-programming/ Loader 69
Multi-tasking 43 4.2.4 Boot Device 69
xii Detailed Contents
21. Mobile Operating Systems 614 22. Multimedia Operating Systems 630
21.1 Introduction 614 22.1 Introduction 630
21.2 Introduction to Mobile Devices 614 22.2 Multimedia 630
21.2.1 Personal Digital Assistant 614 22.3 Multimedia OSs 631
21.2.2 Smartphones 615 22.4 Process Scheduling 631
21.2.3 Tablet PC 615 22.5 File System 632
21.3 Characteristics of Mobile Devices 615 22.5.1 Partitioned File Systems 632
21.4 Mobile OS 616 22.5.2 Integrated File Systems 632
21.4.1 Power Management 616 22.6 File Allocation 632
21.4.2 Battery Management 617 22.6.1 Scattered Allocation 632
21.4.3 Thermal Management 618 22.6.2 Contiguous Allocation 632
21.4.4 Memory Management 618 22.6.3 Locally Contiguous
21.4.5 Shortening Boot-up Time 618 Allocation 633
21.4.6 Scheduling 618 22.6.4 Constrained Allocation 633
21.4.7 File System 620 22.6.5 Distributed Allocation 633
21.4.8 Security 621 22.7 Disk Scheduling 633
21.5 Android OS 622 22.7.1 EDF Scheduling 633
21.5.1 Power Management 623 22.7.2 SCAN-EDF 634
21.5.2 Memory Management 625 22.7.3 Group Sweeping
21.5.3 Scheduling 626 Strategy 634
21.5.4 Inter-process 22.8 Memory Management 634
Communication 626 22.8.1 Batching 634
21.5.5 File Management 626 22.8.2 Buffering/Bridging 634
21.5.6 Security 627 22.8.3 Stream Merging 634
22.8.4 Prefetching 635
PART VIII Shell Programming 637
23. Shell Programming and UNIX Shells 639 23.9.1 Starting the Vi Editor 645
23.9.2 Navigating within a File 645
23.1 Introduction 639
23.9.3 Editing Files 646
23.2 Role of Shell 639
23.9.4 Deleting Characters 647
23.3 Types of Shells 639
23.9.5 Copy and Paste
23.4 File and Directory-related
Commands 647
Commands 640
23.9.6 Quitting Vi Editor 647
23.5 Filters 642
23.10 Shell Scripts 648
23.6 Input/Output Redirection Commands 644
23.10.1 Shell Variables and
23.7 Communication in UNIX 644
Keywords 648
23.8 Shell Meta-characters 644
23.11 Programmimg Constructs in Shell 649
23.9 Vi Editor 645
23.12 Shell Script Examples 652
Bibliography 657
Index 665