Skip to content

Latest commit

 

History

History
56 lines (52 loc) · 1.48 KB

Windows internals to cover.md

File metadata and controls

56 lines (52 loc) · 1.48 KB

Basic OS

  • Basic concepts from operating systems
  • its Binary All the way down
  • Virtualization/Virtualizing resources

What is a CPU

  • Registers
    • General Purpose
    • Special ones
    • Privileged registers
  • Executing data
  • Virtualizing the CPU
Assembly Language
  • Load/store
  • Interacting with memory
  • Trap/Ret from Trap
    • Callbacks
    • hardware assisted
    • Privilege modes
  • Threads + SMP + Scheduling

Devices

  • Interacting with devices
  • Memory
  • disk
  • Peripherals (keyboard, mouse, display..etc)

What is Memory

  • Random Access Memory
    • Physical Memory: a linear byte-array of byte addressable data
    • I.e., a giant list of binary data where we can
    • Q: Ignoring extensions, if we have byte addressable arrays and we can use 64 bit integers (8 bytes) to address the array, what is the maximum number of bytes we can support?
  • Virtual Memory
    • Page Tables
    • Page Table entries
    • Virtual Address Descriptors
    • Byte Addressable
    • Hardware assistance (walking the page table)
    • 32bit/64bit

What is Disk

  • considerably slower storage
  • Cheaper than RAM
  • Similar to memory, it is a block of linear storage.
  • Usually interacting with the disk is implemented via a driver that helps implement a filesystem
  • Example: NTFS, EXT4 FAT32
  • Disk: Flash, hard disk/CD, SSD, magnetic tape...etc

Common Privilege modes

  • rings of privilege
  • User land vs Kernel
  • Different types of kernels

Userland perspective

Processes

Threads

OS API

Syscalls