PDC09 – Pre-Conference – Windows Bootcamp Part 5/6 – Windows 7 Libraries Integration

Overview In previous versions of windows, users managed files in known folders locations Documents, Pictures, Music, Videos People store data “all over the place” 54% of digital content lives outside the user profile Most uses do both Store content on net work shares Home Groups Allows us to specify which folders make the library “Libraries are declarations where users can find and organize data collected from multiple folders” “Under the Hood” Library is kept in a file Important: Don’t work with the file Libraries is similar to a folder but only look at the folders Integrating with Libraries Common File … Continue reading PDC09 – Pre-Conference – Windows Bootcamp Part 5/6 – Windows 7 Libraries Integration

PDC09 – Pre-Conference – Windows Bootcamp Part 4/6 – Windows 7 Taskbar

Key Goals Things you use all the time are at your fingerprints Manage your windows with confidence You are in control Clean and lightweight Coding for the Windows Taskbar Win32/C++ COM iTaskbarList3 ICustomDestinationList IShellItem IShellLink .NET Windows API Codepack Taskmanager JumpList JumpListItem How are Windows Grouped? ApplicationID It’s a String, not a GUID Limited to 128 characters Naming Conventions – Company.Product.SubProduct Design Considerations Default: Computed by process name Can be explicitly declared Several executables, same application Same executables (host), many applications Multiple shortcuts Setting the ApplicationID Process-wide – affects all windows in the current process C++ SetCurrentProcessExplicjtAppUserModelId(L”Microsoft.Samples.AppId1”) .NET TaskbarManager.SetCurrentProcessId(“Microsoft.Samples.AppId1”) Taskbar … Continue reading PDC09 – Pre-Conference – Windows Bootcamp Part 4/6 – Windows 7 Taskbar

PDC09 – Pre-Conference – Windows Bootcamp Part 3/6 – Working Set Background

Working Set Background Optimal usage of system memory – a constant area of investment Working set: Comprises all the potentially trimmable virtual addresses for a given process, session or system resource Resources like nonpaged pool, kernel stacks, large pages & AWE regions are excluded Working sets provide an efficient way for the system to make memory available under pressure … but maintaining them is nor free Working Set Aging/Trimming Are periodically aged to improve trim decisions Which sets and which virtual addresses to trim? How much to trim? Memory events so applications can trim? General Policies of Working Sets How … Continue reading PDC09 – Pre-Conference – Windows Bootcamp Part 3/6 – Working Set Background

PDC09 – Pre-conference – Windows 7 Bootcamp Part 2/6 – Core Kernel Changes

More Core Platform Support Supporting Mode than 64Lps Introduction of the Processor Groups Windows Server 2008 R2 introduces processor Groups Each processor groups can contain up to 64 LPs System support up to 4 groups in this release Maintains compatibility with legacy systems Processes and Threads Processes can  contain threads executing in multiple groups Processes are assigned groups in round robin fashion Threads are assigned to a group based on: Inheritance from creating thread Using new group affinity API Task Based Scheduling Runtime support task based concurrency want to control when and where tasks execute Why not use kernel threads … Continue reading PDC09 – Pre-conference – Windows 7 Bootcamp Part 2/6 – Core Kernel Changes

PDC09 – Pre-Conference – Windows 7 BootCamp Part 1/6 – Introduction

Introduction to the Windows 7 BootCamp Key Windows Kernel Changes Performance Footprint reduction Memory optimizations Working set management improvements Perftrack Power efficiency Core Parking Trying to make cores going to sleep if they are not needed Unified Background Process Manager Timer Coalescing Tick Skipping Reliability Fault Tolerant Heap Process Reflection Native VHD Ability to mount and manage VHDs Boot-from-VHD Scalability Simultaneous Multithreading Improvements User Model Scheduling Support for > 64 logical processors Lock removal, including PFM, dispatcher locks Security New UAC operating models Managed Service accounts Allows a service to run isolated form other services Bitlocker-to-go Extends the  previous versions … Continue reading PDC09 – Pre-Conference – Windows 7 BootCamp Part 1/6 – Introduction