* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Windows XP Kernel Architecture
Mobile operating system wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Copland (operating system) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Unix security wikipedia , lookup
Spring (operating system) wikipedia , lookup
Windows NT startup process wikipedia , lookup
Distributed operating system wikipedia , lookup
Process management (computing) wikipedia , lookup
Windows XP Kernel Architecture Mike Karlsven James Farrer Jason Smith Introduction • Modeled on a microkernel architecture – Modified microkernel architecture • Components execute in kernel mode rather than user mode • Layered operating system User Process DLL User Process Environment Subsystems User Space Kernel Space Native API Interface I/O Manager Virtual Memory Manager Executive Plug and Play Power Manager Manager Object Manager Microkernel Cache Manager Security Reference Monitor Configuration Manager Device Drivers HAL (Hardware Abstraction Layer) Physical Hardware Hardware Hardware Abstraction Layer (HAL) • Interacts directly with the hardware • Handles device components on mainboard – Cache, system timers, etc • Interacts with the microkernel • HAL and Microkernel combine to make Windows XP portable allowing it to run in many different hardware environments Windows Kernel Source Code #include <windows.h> #include <system_errors.h> #include <stdlib.h> char make_prog_look_big[1600000]; main() { if (detect_cache()) disable_cache(); if (fast_cpu()) set_wait_states(lots); set_mouse(speed, very_slow); set_mouse(action, jumpy); set_mouse(reaction, sometimes); printf("Welcome to Windoze 3.999 (we might get it right \ or just call it Chicargo)\n"); if (system_ok()) crash(to_dos_prompt); else system_memory = open("a:\swp0001.swp", O_CREATE); while(1) { sleep(5); get_user_input(); sleep(5); act_on_user_input(); sleep(5); if (rand() < 0.9) crash(complete_system); } return(unrecoverable_system); } Microkernel • Provides base services for the other components residing in kernel space • Forms only small part of kernel space • Provides basic system mechanisms – Thread scheduling • Handles thread synchronization • Dispatches interrupts • Handles exceptions Device Drivers • Interacts with the microkernel and the HAL • Interacts with Executive portion of the kernel space • Inside kernel space Executive • Contains kernel-mode components responsible for administering the operating system subsystems – – – – – – – – I/O Manager Plug and Play Manager Power Management Security Reference Monitor Virtual Memory Manager Object Manager Cache Manager Configuration Manager • Interacts with microkernel, device drivers, and native API interface Native API Interface • The interface directly to the executive’s services from the user level. Environment Subsystem • The standard environment (e.g. win32). • A layer of abstraction to translate the standard environment calls to system calls. • Processes preferred method of interaction. Example Registry • Database accessible to all process and Kernel-mode components • Managed by the configuration manager (Executive Component) • All drivers, components and applications communicate with the configuration manager to access the registry Object Manager • Executive Component that manages objects (physical and logical resources) • Objects are access through object handles • Kernel-mode components can access objects directly through pointers and through kernel handles (handles only accessible through kernel-mode) Conclusion • Designed to offer – Stability – Security – Scalability • While still providing – Multimedia support – Networking – User friendly interface