GoConqr has a new look! Let us know what you think.

Mind map

Operating Systems

Michael O'Keefe Computer Science English

Map content

Operating Systems

  1. Processes

    • Process Control Block
      • Stack
      • Heap
      • Text (code)
      • Program Counter
      • I/O Devices
      • File Descriptors
      • CPU Status/Registers
    • Process State
      • Created
      • Ready
      • Running
      • Waiting
      • Terminated
    • System Queues
      • Ready Queue
      • I/O Request Queues
      • Job Queue
    • Types of Scheduling
      • Long-Term
        • From disk to RAM
      • Mid-term
        • RAM to disk when waiting
      • Short-term
        • CPU Scheduling/Dispatch
    • Communication
      • Interprocess
        • Message Passing
          • Direct
          • Indirect
        • Shared Memory
      • Client-Server
        • Sockets
        • RPC
        • RMI
    • Context Switch
    • Parent and Child
    • Mapping
      • Process to CPU
      • Thread to Core
      • Parallelism vs Concurrency
    • Unix Process Creation/Execution
  2. Threads

    • Types of Threads
      • User Threads
        • POSIX
        • Win32
        • Java
      • Kernel Threads
        • Linux
        • Windows
    • Singlethreaded
    • Multithreaded
      • Models
        • Many-to-One
        • One-to-One
        • Many-to-Many
    • Threading Issues
    • Java Thread States
      • New
      • Runnable
      • Blocked
      • Dead
  3. OS Structures

    • OS Services
    • Kernel
    • Command Interpreters
    • Virtual Machines
    • I/O
      • Synchronous
      • Asynchronous
    • Interrupts
      • Hardware
      • Software
    • Design and Implementations
      • Systems Requirements
      • Upfront Design
      • Modularity
      • Policy Decisions
      • Programming Language
      • Debugging
    • Device Controllers
    • Direct Memory Access
    • Types of Requests
      • User Mode vs Kernel mode
      • System Calls
        • Program Control
        • Status Requests
        • I/O Requests
  4. Scheduling

    • Algorithrms
      • First-Come First-Serve
      • Shortest-Job-First
      • Round Robin
      • Multilevel Feedback Queue
      • Priority
    • Preemptive vs Non-Preemptive
    • Attributes/Criteria
      • CPU Utilization
      • Throughput
      • Waiting Time
      • Response Time
      • Execution Time
    • Performance Techniques
      • Gantt Charts
      • Simulation
      • Implementation
    • Dispatcher
  5. Synchronization

    • Classic Problems
      • Bounded Buffer
      • Readers-Writers
      • Dining Philosophers
    • Solutions
      • Hardware Level
        • Test-and-Set
        • Compare-and-Swap
      • User Level
        • Peterson's Algorithm
        • Dekker's Algorithm
      • OS Level
        • Sempahores
      • Language Level
        • Monitors
    • Critical Section
      • Requirements
        • Mutual Exclusion
        • Progress
        • Bounded Waiting
    • Problems
      • Deadlock
      • Race Condition
      • Starvation
    • Locks
      • Semaphores
      • Monitors
      • Test-and-set
      • Compare-and-swap
      • Mutex
    • Java Synchronization
    • Atomic Transactions
  6. Deadlocks

    • Conditions For Deadlock
      • Mutual Exclusion
      • Hold and Wait
      • No Preemption
      • Circular Wait
    • Resource Allocation Graph
      • Types of Edges
        • Request
        • Assignment
        • Claim
    • Handling Deadlocks
      • Prevention
        • Condition Constraints
      • Avoidance
        • Bankers Algorithm
        • Safe State
        • Safe Sequence
        • Resource Allocation Graph Algorithm
        • Safety Algorithm
      • Detection and Recovery
        • Cycle Detection
        • Preemption
        • Process Termination
      • Ignore
  7. Protection

    • Goals
    • Protection Domain
      • Static
      • Dynamic
      • Domain Structure
    • Access Matrix
      • Implementations
        • Global Table
        • Access Lists for Objects
        • Capability Lists for Domains
        • Lock-Key
        • Comparison
    • Access Control
  8. File System

    • Interface
      • File
        • Attributes
        • Opperations
        • Types
        • Structures
      • Access Methods
        • Sequential
        • Direct
      • Disk
        • Structure
          • Partition
          • Volume
          • Raw vs Cooked
      • Directory
        • Types
          • Single-Level
          • Two-Level
          • Tree-Structure
          • Acyclic Graph
        • Symbol Table
        • Operations
      • File Sharing
        • Multi-User
        • Remote File System
        • Distributed
        • Client-Server
        • Consistency
      • File Protection
        • Access Control
        • Types of Access
      • Mounting
        • Mount Point
    • Implementation
      • Allocation Methods
        • Contiguous
          • External Fragmentation
            • Compaction
        • Linked
          • Clusters
          • FAT
          • Reliablity
        • Indexed
          • Index Block
            • Linked
            • Combined
            • Multilevel
      • Free-Space Management
        • Bit Vector
        • Linked List
        • Efficiency and Performance
        • Grouping
        • Counting
      • Directory
        • Linear List
        • Hash Table
      • Virtual File System
        • Interface
        • Objects
          • Inode
          • File
          • Superblock
          • Dentry
      • Partitions and Mounting
        • Booting
        • Root Partition
      • Structures
        • On Disk
          • Boot Control Block
          • Volume Control Block
          • Directory Structure
          • File Control Block
        • In Memory
          • Mount Table
          • Directory Cache
          • Global Open File Table
          • File Buffers
          • Per Process Open File Table
      • Recovery
        • Consistency
        • Logging
        • Backups
      • NFS
        • Mount Protocol
        • Path-Name Translation
        • Remote Operations
  9. Main Memory Management

    • Adressing
      • Logical
      • Physical
    • Swapping
      • Backing Store
    • Fragmentation
      • External
      • Internal
      • Compaction
    • Paging
      • Page Table
        • Hierarchical
        • Inverted
        • Hashed
      • Frames
      • Pages
      • Mapping
      • Frame Table
      • Hardware Support
        • TLB
        • PTBR
        • PTLR
      • Protection
        • Valid Bit
    • Hardware
      • Cache
      • Registers
      • MMU
    • Contiguous Memory Allocation
      • Protection
      • Holes
      • Memory Partitions
      • Allocation
        • Best Fit
        • First FIt
        • Worst Fit
    • Address Binding
      • Compile Time
      • Load Time
      • Execution Time
    • Dynamic Loading
    • Dynamic Linking
    • Segmentation
      • Segment Table
      • Intel Pentium
      • Hardware
  10. Virtual Memory

    • Demand Paging
      • Page Replacement
        • Reference Bit
        • Dirty Bit
        • Algorithms
          • FIFO
          • OPT
          • LRU
          • Second Chance
        • Belady's Anomaly
      • Page Fault
      • Different than Swapping
      • Valid Bit
      • Locality
      • Swap Space
      • Effective Address Time
    • Thrashing
      • Multiprogramming
      • Locality Needs
      • Working Set Model
      • Page Fault Frequency
      • Performance
    • Frame Allocation
      • Global vs Local
      • Fixed
      • Priority
      • Minimum Number of Frames
    • Copy-on-write
      • Process Creation
      • Sharing Pages
    • Memory Mapped Files
    • Kernel Memory Allocation
      • Buddy System
      • Slab Allocation

Information

Description
Computer Science Mind Map on Operating Systems, created by Michael O'Keefe on 05/12/2016.
Created by
Michael O'Keefe
Views
0
History
  • Created by David Lee · Nov 9, 2016
  • Copied by Michael O'Keefe · Dec 5, 2016
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?