Systems Programming Operating System Basics October 26, 2010
Aamir Pare
Windows System Programing - Operating System Basics
Agenda
System Model Considerations Operating System Architectures NT System Overview The NT System Model Windows Principles Win64
Windows System Programing - Operating System Basics
Deep Thought for the Day
God Knows Everything What a human should at least know?
Windows System Programing - Operating System Basics
System Model Considerations
OS Functionality is complex and code requires to built in many layers. What happens it not so? Over the years OS engineers have developed some basic theories:
Monolithic Layered Client/Server
User & Kernel Mode
Windows System Programing - Operating System Basics
Operating System Architectures
Windows System Programing - Operating System Basics
Operating System Architectures
Windows System Programing - Operating System Basics
Operating System Architectures
Windows System Programing - Operating System Basics
NT System Overview
NT is different than other Microsoft OSs Imagine the lines of code and cost? Dave Cutlers work behind the NTs Architecture, design, coding and planning The main architectural features:
Compatibility with existing code Ability to be easily extensible Scalability Portability Networking Ability, with distributed processing Security
Windows System Programing - Operating System Basics
The NT System Model
Windows System Programing - Operating System Basics
User Mode vs Kernel Mode
Application run in User Mode, while operating system functions run in kernel mode Supervisor Mode, Protected Mode refers to Kernel Mode Code in Kernel mode can access all memory and hardware including memory belonging to user-mode processes User-Mode Code cant access to memory Belonging to:
Any Other User-Mode Process, Any Kernel Process, The System Hardware
Kernel Mode Transition is Expensive (Fat Kernel)
Windows System Programing - Operating System Basics
What is in Kernel Mode
Windows System Programing - Operating System Basics