Arkady Retik, DSc Director, Technical Faculty WW Programs, Education Group Microsoft, Redmond, USA Content Overview of selected programs of interest • Source & Technology Programs Windows Academic Program • Education Group Programs Faculty Students Not covering: • MS Research and Government/Institutional programs Source Programs and Initiatives Over 150 projects available More than 2,000,000 developers have accessed source programs 90% of programs allow modifications and distribution rights WTL WAP CodePlex Shared Source Initiative (SSI) A framework for making Microsoft source code more broadly available www.microsoft.com/sharedsource Source Code for: • Faculty & Students • Governments • Enterprises • OEMs • MVPs • System Integrators • Developers CodePlex Open source project hosting web site ASP.Net web application based on Visual Studio Team Foundation Server Over 5000 projects /over 100K active users www.codeplex.com Windows Academic Program Integrates core Windows technologies into teaching and research www.microsoft.com/WindowsAcademic Overview: Windows Academic Program Components Windows Operating Systems Internals Curriculum Resource Kit (CRK) presentation slides, experiments, labs, quizzes and assignments for introducing case studies from the Windows kernel into operating system courses. CRK WRK ProjectOZ Windows Research Kernel (WRK) – the core kernel sources and binaries integrated with an environment for building and testing experimental versions of the Windows kernel for use in teaching and research; NT design Workbook containing over 40 specs; 7 Projects. ProjectOZ - an operating systems project environment that uses the native kernel interfaces of Windows to provide simple, clean, user-mode abstractions of the CPU, MMU, trap mechanism, and physical memory that can be used to perform experiments in operating systems principles. Pilot version WAP new resources - 2010 release DVD: Instructor & Student Editions v 1.3 focus – WRK Projects & Windows 7 update CRK (Curriculum Resource Kit) CRK (Curriculum Resource Kit) Based on Windows Internals 4th Edition • by M. Russinovich & D. Solomon • with Prof. Andreas Polze, HPI, Germany Covers all ACM/IEEE-CS OS BOK units and more • Modular (can be used in whole / in part) • Case studies / compare & contrast • References to source code About 100 hours of teaching and learning material There are basic and advanced modules for each unit • most suitable to be used in lectures • integrating in existing presentations (undergraduate) • Windows based course (elective, postgraduate ) • rich set of demo based labs and tools CRK Units a. Core topics OS1. Overview of operating systems OS2. Operating system principles OS3. Concurrency OS4. Scheduling and dispatch OS5. Memory management b. Elective topics OS6. Device management OS7. Security and protection OS8. File systems OS9. Real-time and embedded systems OS10. Fault tolerance OS11. System perf evaluation & troubleshooting OS12. Scripting Most units contain: Labs & Exercises, Quizzes, Programming Assignments, References to Source Code c. Supplementary topics OS-A. Windows networking OS-B. Comparing the Linux and Windows Kernels OS-C. Windows – Unix Interoperability d. Instructor Supplement - solutions to Quizzes, Programming Assignments, Windows Internals book (pdf). Only available to faculty on your DVD or from Faculty Connection portal. Applications Subsystem servers DLLs System Services Kernel32 Critical services Login/GINA User32 / GDI User-mode ntdll / run-time library Kernel-mode Trap interface / LPC Security refmon I/O Manager Virtual memory Procs & threads Win32 GUI Net devices File filters Scheduler Filesys run-time Net protocols File systems Net Interfaces Volume mgrs Synchronization Cache mgr Device stacks Object Manager / Configuration Management (registry) WRK Kernel run-time / Hardware Abstraction Layer WRK is based on Windows Server 2003 SP1 / Windows x64 NTOS: Over 800K lines of kernel source Simplified a little, cleaned up comments, improved spelling Original specs & design docs for NT Source Code Organization NT Original Specifications WRK is most suitable for • Programming labs • modify/build for teaching and experimentation • programming projects (i.e. fair-share scheduling) • Study source code (especially if using CRK for teaching) • Study specs (i.e. Software Engineering) • Final year projects / capstone projects • PhD and academic research • Compare and contrast Windows to other operating systems • “Tale of Four Kernels” WRK use See full paper in ISCE’08, 10-18, May 2008 WAP resources 2009: main additions Web based UI New Content Virtual PC 2007 Windows server VHD Visual Studio Solution Sample Projects Updated WRK License Inside Windows Videos Research References New Sample Projects Experiment Environment Set Up, UoPostTelecomm Getting started with WRK, Univ. of Virginia, USA Easy Pager, Hasso-Platner Institute, Germany Fair Share Scheduler, University of Virginia, USA Inter-Process Communication (IPC), NanKai U, China Processor Scheduling, Tsinghua University, China Working Set, Beihang University, China Video Project for WRK student labs, POSTECH, Korea Three videos (and documents) developed at POSTECH: (1) Getting started; (2) Deadlock detection; (3) Random stack More project coming soon!!! Additional Resources and References Inside Windows videos • 12 hour Windows OS internals video by David Solomon and Mark Russinovich, authors of Windows Internals 4th edition. Singularity Project • MSR Project, now released on CodePlex under OSS license • Singularity Project Articles – pointers and references Kernel changes In Vista and Windows 7 • PPT presentations • TechReady talk by Mark Russinovich CRK summary of use • most popular MS Academic curriculum resource so far • mostly used in lectures • integrating in existing presentations (undergraduate) • Windows based course (elective, postgraduate ) • useful for self-study • final year projects • research/PhD • rich lab resources (tutorials, utilities and tools) WRK summary of use Programming labs • modify/build for teaching and experimentation • programming projects (i.e. fair-share scheduling) Study source code (especially if using CRK for teaching) • final year projects / capstone projects PhD research Compare and Contrast Textbooks and books Faculty Experiences Curriculum Resource Kit CRK OS Units Meta-curriculum: CRK Description, Syllabi, Lab-Setup, Glossary 15 Units: PPTs with notes, Labs, Assignments, Quizzes, Demos CRK Instructor Supplement Windows Internals Book 4th Edition Solutions: Assignments, Labs, Exercises, Quizzes CRK Tools 70 SysInternals and ResKit Tools with Help and Documentation Windows Research Kernel Source Code, Build tools, WinDbg with Help, Documentation 42 NTOS Specifications Virtual PC, Server 2003 VHD image, Tools, Documentation Seven Programming Projects with docs, student labs and manuals ProjectOZ - source code, docs - pilot version References and Related Materials Inside Windows videos (12 hour course) by Solomon/Russinovich Singularity MSR project papers and pointers Support and Reference pointers Summary and WAP Contact Information CRK • Available for free download from Faculty Connection Portal www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=6191 ProjectOZ (pilot) • Available for free download from Faculty Connection Portal www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=6547 WRK – faculty only, password protected access • Individual faculty can access the WRK via Faculty Connection Portal www.microsoft.com/education/facultyconnection/ Feedback • Contact us at compsci@microsoft.com More information on WAP and related topics www.microsoft.com/WindowsAcademic • Forums for discussion and access to Windows kernel & arch team http://forums.microsoft.com/WindowsAcademic Faculty Connection 1. Providing resources, training, and software tools direct to faculty www.microsoft.com/faculty Tech Faculty Network • > 50K registered users • Monthly Newsletter • Articles, events, info • 20 Regional sites • MS Research feeds Repository of Resources • 3K curriculum objects • Software tools • Resource kits • Training materials • Presentation videos 28 Faculty Connection – cont. 2. Facilitating development and sharing curriculum resources Coming soon Cloud curricula • Intro course • Software Eng-g course • MS Azure • Conference videos http://research.microsoft.com/cloudfutures2010 Security curriculum • Critical Infrastructure Protection • Secure Development www.microsoft.com/twc www.microsoft.com/security www.microsoft.com/sdl • SDL tools • End to End solution 29 MSDN Academic Alliance (MSDNAA) Providing software to students & faculty for teaching & research www.msdnaa.com DreamSpark DreamSpark equips students with the professional software tools www.dreamspark.com Imagine Cup 5 Competitions: Software Design, Game Design, Digital Media, IT Challenge, Embedded Design…. One theme: “Imagine a world where technology solves the toughest problems” www.ImagineCup.com •314,000 participants •116 Countries •Creates Entrepreneurs •All for Social Cause •Change the World 32 Students to Business It is about jobs www.microsoft.com/S2B