
External
Introduction to Operating Systems
- Publisher
- LibreTexts
- Source
- LibreTexts
- Language
- EN
Contents· 102 sections
- 01: Binary and Number Representation
- 1.01: How Computers See Numbers
- 1.02: Types and Number Representation
- 02: The Basics - An Overview
- 2.01: Introduction to Operating Systems
- 2.02: Starting with the Basics
- 03: The Operating System
- 3.01: The Role of the Operating System
- 3.02: Operating System Organisation
- 3.03: System Calls
- 3.04: Privileges
- 3.05: Function of the Operating System
- 3.06: Types of Operating Systems
- 3.6.01: Types of Operating Systems (continued)
- 3.6.02: Types of Operating Systems (continued)
- 3.07: Difference between multitasking multithreading and multiprocessing
- 3.7.01: Difference between multitasking multithreading and multiprocessing (continued)
- 3.7.02: Difference between Multiprogramming multitasking multithreading and multiprocessing (continued)
- 04: Computer Architecture - the CPU
- 4.01: Instruction Cycles
- 4.1.01: Instruction Cycles - Fetch
- 4.1.02: Instruction Cycles - Instruction Primer
- 4.02: Interrupts
- 05: Computer Architecture - Memory
- 5.01: Memory Hierarchy
- 5.02: Memory Hierarchy (continued)
- 5.03: Cache Memory
- 5.3.01: Cache Memory - Multilevel Cache
- 5.3.02: Cache Memory - Locality of reference
- 5.04: Direct Memory Access
- 06: Computer Architecture - Peripherals and Buses
- 6.01: Peripherals and buses
- 6.02: The Processor - Bus
- 07: Small to Big Systems
- 7.01: Symmetric Multi-Processing Systems
- 7.02: 1.9 Multiprocessor and Multicore Systems
- 08: Processes
- 8.01: The Process
- 8.02: Processes
- 8.03: Elements of a process
- 8.04: Process States
- 8.05: Process Description
- 8.06: Process Control
- 8.07: Fork and Exec
- 8.08: Scheduling
- 8.09: Execution within the Operating System
- 8.9.01: Execution within the Operating System - Dual Mode
- 8.10: The Shell
- 8.11: Signals
- 09: Threads
- 9.01: Process and Threads
- 9.02: Thread Types
- 9.2.01: Thread Types - Models
- 9.03: Thread Relationships
- 9.04: Benefits of Multithreading
- 10: Concurrency and Process Synchronization
- 10.01: Introduction to Concurrency
- 10.02: Process Synchronization
- 10.03: Mutual Exclusion
- 10.04: Interprocess Communication
- 10.4.01: IPC - Semaphores
- 10.4.02: IPC - Monitors
- 10.4.03: IPC - Message Passing Shared Memory
- 11: Concurrency- Deadlock and Starvation
- 11.01: Concept and Principles of Deadlock
- 11.02: Deadlock Detection and Prevention
- 11.03: Starvation
- 11.04: Dining Philosopher Problem
- 12: Memory Management
- 12.01: Random Access Memory (RAM) and Read Only Memory (ROM)
- 12.02: Memory Hierarchy
- 12.03: Requirements for Memory Management
- 12.04: Memory Partitioning
- 12.4.01: Fixed Partitioning
- 12.4.02: Variable Partitioning
- 12.4.03: Buddy System
- 12.05: Logical vs Physical Address
- 12.06: Paging
- 12.07: Segmentation
- 13: Virtual Memory
- 13.01: Memory Paging
- 13.1.01: Memory Paging - Page Replacement
- 13.02: Virtual Memory in the Operating System
- 14: Uniprocessor CPU Scheduling
- 14.01: Types of Processor Scheduling
- 14.02: Scheduling Algorithms
- 15: Multiprocessor Scheduling
- 15.01: The Question
- 15.02: Multiprocessor Scheduling
- 16: I O and Disk Management
- 16.01: Input Output
- 16.02: Types of I O
- 16.03: I O Buffering
- 16.04: Disk Drives in the OS
- 16.05: Disk Drive Scheduling
- 16.06: RAID
- 17: File Management
- 17.01: Overview
- 17.02: Files
- 17.2.01: Files (continued)
- 17.03: Directory
- 17.04: File Sharing