Professional Documents
Culture Documents
Architectural Support For Operating Systems: Brian Bershad
Architectural Support For Operating Systems: Brian Bershad
Winter 2007
Module 2
Architectural
Support for
Operating
Systems
Brian Bershad
Bershad@cs.
washington.edu
562 Allen Center
Architectural features affecting OS’s
• These features were built primarily to support OS’s:
– timer (clock) operation
– synchronization instructions (e.g., atomic test-and-set)
– memory protection
– I/O control operations
– interrupts and exceptions
– protected modes of execution (kernel vs. user)
– privileged instructions
– system calls (and software interrupts)
• [2006] virtualization architectures (aka Intel discovers the early
1970s)
– Intel:
http://www.intel.com/technology/itj/2006/v10i3/1-hardware/1-abstrac
t.htm
– AMD: http://enterprise.amd.com/us-en/AMD-Business/Business-
Solutions/Consolidation/Virtualization.aspx
© 2007 Bershad, Gribble, Lazowska, Levy, Zahorjan
06/10/21 2
Privileged instructions
• some instructions are restricted to the OS
– known as protected or privileged instructions
• e.g., only the OS can:
– directly access I/O devices (disks, network cards)
• why?
– manipulate memory state management
• page table pointers, TLB loads, etc.
• why?
– manipulate special ‘mode bits’
• interrupt priority level
• why?
– halt instruction
• why?
package arguments
trap to kernel mode
user mode
kernel mode
restore app
trap handler state, return to
user mode,
save registers
resume
find sys_read( )
handler in
vector table
sys_read( ) kernel routine
Prog A
base reg base and limit registers
Prog B limit reg are loaded by OS before
starting program
Prog C