Friday, February 25, 2005
  David Cutler on Windows Kernel: Highlights of the video
  • Provides lowest level synchronization primitives
    • Scheduling & context switching
    • Interrupt handling
    • MP sync
  • [Executive objects [Kernel objects]] -> encapsulated and then exported to user mode
  • Kernel Objects
    • Dispatcher Objects
    • Control Objects
  • Dispatcher Objects
    • Control scheduling and synchronization
    • Have ‘signal’ state and are waitable (we can wait on them)
    • Threads, Mutual exclusion, Event, Semaphore, Timer, Event Pairs
  • Control Objects
    • Provide executive and device driver control
    • No signal state and not waitable
    • Processes, Interrupt, Device Queue, Profile, APC, DPC
  • Priority and affinity of thread
  • Affinity (of process) – set of processors the thread can run on. It will run on the subset of this affinity
  • Ready (subdivisions):
    • Ready in: the resources are in memory , thread in dispatcher queue
    • Ready out: process selected as not being in the balanced set. Go to process ready queue.
  • Free pages list
  • Quantum end event
  • Boost and decay
  • Active Matrix – scanned after preemption (affinity – priority matrix)
  • Ready queue – ready summary (bits)
  • (wait OR timeout) can be set
  • Thread object has memory allocated for up to three wait blocks for efficiency.
  • Express Wait: when the client thread is running the server thread waits; when the server threads runs, the client thread waits.
  • APC: run procedure in the context of a thread (kernel mode)
    • In user mode APCs happen only when the thread is alert-able (not exported)
  • Chained interrupts
  • Balance set manager
    • Calculates balance set
    • Schedules in and out swapping of kernel stacks
    • Boosts thread priority to avoid inversion (every second 1 quantum)
  • Priority inversion: system is idle. Low priority thread gains access. It takes a critical section. High priority thread enters and is compute bound. A higher priority thread enters and seeks critical section.
posted by Div @ 2:59 AM  
0 Comments:
Post a Comment
<< Home
 
Track with co.mments
>
Previous Post
Archives
Links