Chief Technology & Security Officer Microsoft France

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

PC / Traitement numérique / Contrôle Environnement logiciel
Module 5 : Implémentation de l'impression
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
Virtualisation de l’OS aux applications
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 3 : Le serveur Patrick Guimonet Architecte Infrastructure Division.
Gérer son parc hétérogène depuis MOM et SMS avec QMX de Quest Software Laurent CAYATTE Consultant avant-vente Quest Software.
1 HPC et Windows 2003 CCS pour les développeurs Visual Studio 2005.
.NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
1 HPC pour les opérations. Administration Compute Cluster Server.
Automatisation de Tâches Scenarios
Types des systèmes d’exploitation
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Microsoft Office Groove Le contexte Une utilisation des postes de travail en très grande évolution chez les professionnels. Des lieux de travail.
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
GEF 435 Principes des systèmes d’exploitation
Le Grid Computing Par Frédéric ARLHAC & Jérôme MATTERA.
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
Présentation de l’Architecture Windows NT
Exposé Système Netware 5 11 /10/ 2001 Aurélie Démolis
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Histoire des systèmes d’Exploitations
Construire une Set Top Box Avec Windows CE 6.0
Simulateurs de réseaux Ns-3 et Ns-2.
Création, configuration et déploiement d’un OS Windows Embedded CE.
Module 1 : Préparation de l'administration d'un serveur
Amélioration de la sécurité des données à l'aide de SQL Server 2005
par Bernard Maudhuit Anne-Marie Droit
TortoiseSVN N°. Subversion : pour quoi faire ? Avoir un espace de stockage commun – Tous les étudiants du SIGLIS ont un espace svn commun Partager vos.
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Présentation de Windows 2000 Quest-ce que Windows 2000? 2 versions principales : 1.Windows 2000 Professionnel : Système dexploitation client (comme Windows.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
IFT 6800 Atelier en Technologies d’information
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 4 : Maintenance des pilotes de périphériques
L’incontournable des logiciels Microsoft pour l’enseignement :
Réalisé par Mr CALVO du Lycée Bon Secours à PERPIGNAN
Windows Sharepoint Services “v3“ (1/6) Les nouveautés Stéphane Crozatier Relation Technique Editeurs de Logiciels DPE - Microsoft France
1 journée, 5 sessions, 1 réalisation.NET Enterprise Realization Day.
Windows Server Virtualization
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
Systèmes d’exploitation
1 La RTI 1.3NG du DoD et les systèmes supports Patrice Torguet IRIT.
SYSTÈME D’EXPLOITATION I
Introduction aux systèmes d’exploitation
Mise en oeuvre et exploitation
SYSTEMES D’EXPLOITATION
Introduction au développement Office 2007
Bases de données Open Source Pierre Crépieux 13/03/2008.
Jeu de Librairies Virtuelles « DLL » Windows pour la réalisation de programmes informatiques.
AFPA CRETEIL 1-1 Windows NT Environnement Windows NT Chapitre 1.
09/11/2006 CMS Content Management System Système de Gestion de Contenu.
© Copyright Showeet.com S OCIAL M EDIA T HINKING.
Créer des packages.
SYSTÈME D’EXPLOITATION I
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction à la plateforme .NET
{ Windows et PHP Un couple qui évolue Pierre Couzy – Microsoft France
Dyalog.Net Peter Donnelly Managing Director Dyadic Systems Toronto 30/10/2002.
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
Student Management Marks Gaston Berger University School Year Project on Mobile Application Development.
Mac OS X : Aperçu du système
Les logiciels de virtualisation
Subversion.
Introduction Rappels : Accès serveurs Unix Ensimag via ssh et sftp
Système de récupération de données pour EMC Avamar.
Warwick Bailey Icodeon Ltd Cambridge, UK Icodeon SCORM 2004 Technologies Technologies Icodéon SCORM 2004 Warwick Bailey Icodéon SA Cambridge,
Transcription de la présentation:

Chief Technology & Security Officer Microsoft France 4/2/2017 4:35 PM Utiliser les sources du noyau de Windows pour l’enseignement et la recherche en système d’exploitation Bernard Ourghanlian Chief Technology & Security Officer Microsoft France © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Sommaire Quelques sujet de réflexion à des fins d’enseignement 4/2/2017 4:35 PM Sommaire Introduction Windows Academic Program CRK Aperçu Démonstration WRK ProjectOZ Quelques sujet de réflexion à des fins d’enseignement © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Partenariat avec l’enseignement supérieur et la recherche 4/2/2017 4:35 PM Partenariat avec l’enseignement supérieur et la recherche Nous pensons que les technologies de Microsoft peuvent avoir un rôle à jouer en matière d’enseignement en informatique Place des solutions de Microsoft sur le marché Innovation et recherche Fonctionnalités orientées vers l’utilisateur Nous savons que l’enseignement en informatique est important pour Microsoft Une source de capital humain et intellectuel dont l’industrie informatique ne peut se passer La qualité de l’enseignement détermine les compétences techniques et la culture de Nos clients Nos partenaires Nos collaborateurs © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Une petite histoire du partage des sources chez Microsoft WAP Partage sélectif Partage Public Partage collaboratif Programme Windows pour l’enseignement et la recherche (Windows Academic Program) © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Les composantes du programme Windows pour l’enseignement et la recherche Windows Operating Systems Internals Curriculum Resource Kit : Présentations, expériences, TP, questionnaires et sujets de TD pour introduire l’étude du cas du noyau de Windows dans un cours sur les systèmes d’exploitation CRK WRK ProjectOZ Windows Research Kernel : Les sources du cœur du noyau avec les binaires intégrés au sein d’un environnement permettant de construire et de tester des versions expérimentales du noyau pour les utiliser afin d’enseigner et de rechercher R E S E A R C H I N S T R U C T I O N ProjectOZ - Le projet d’un environnement de système d’exploitation qui utilise les interfaces système natives de Windows pour fournir des abstractions simples et « propres » en mode user du CPU, de la MMU, des mécanismes de trap et de la mémoire physique qui puisse être utilisé pour réaliser des expériences sur les principes des OS

Curriculum Resource Kit © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Les auteurs du CRK Industrie Université 4/2/2017 4:35 PM 7 Mark Russinovich est l’architecte en chef et le cofondateur de Winternals Software (www.winternals.com), une société spécialisée dans la réalisation de logiciels avancés pour Windows. Mark est le co-auteur de Inside Windows 2000, 3ème édition (Microsoft Press) avec David Solomon et de son successeur, Windows Internals, 4ème édition (Microsoft Press). Mark est un Microsoft Most Valuable Professional (MVP) et un contributeur actif à Windows IT Pro magazine au sein de la chronique Windows Power Tools. C’est aussi un conférencier habituel de Microsoft Tech Ed, IT Forum, Windows IT Pro Magazine's Connections et Redmond Magazine's TechMentor. Mark est diplômé d’un B.S. de Carnegie Mellon University et d’un M.S. du Rensselaer Polytechnic Institute en computer engineering. Il est également titulaire d’un PhD (1994), de Carnegie Mellon University en computer engineering. Winternals Software a été racheté par Microsoft au mois de juillet derniet. Mark est maintenant Technical Fellow de Microsoft Andreas Polze est le professeur en système d’exploitation et en middleware au Hasso-Plattner-Institute for Software Engineering de l’université de Potsdam en Allemagne. Il a reçu son doctorat de l’université libre de Berlin en 1994 ainsi qu’une habilitation de l’université de Humboldt à Berlin en 2001, en computer science. Sa thèse d’habilitation porte sur Predictable Computing in Multicomputer-Systems. Ses sujets actuels de recherche portent sur l’interconnexion du middleware et les systèmes embarqués, la mobilité et la configuration adaptative des systèmes ainsi que la disponibilité des services de bout en bout au sein des plateformes middleware standard. A l’université de Potsdam, il enseigne l’architecture des systèmes d’exploitation, les middlewares basés composants ainsi que sur le calcul distribué prévisible. Le curriculum de formation de l’université inclus des cours sur les systèmes d’exploitation à partir de plateformes standard (Windows 2000/XP, Mac OS X (BSD Unix), et Solaris) ainsi que sur les systèmes embarqués (Windows CE, Linux embarqué). Le professeur Polze a été professeur invité au sein de la Dynamic Systems Unit du Software Engineering Institute, à l’université de Carnegie Mellon (Pittsburgh, USA), où il a travaillé sur les systèmes temps réel dans des environnement middleware standard (CORBA) ainsi qu’avec le Real-Time Systems Laboratory à l’université d’Urbana-Champaign en Illinois. David Solomon (www.solsem.com) enseigne le fonctionnement interne de Windows aux développeurs et aux ingénieurs système dans le monde entier, y compris au sein de Microsoft. Il est le co-auteur de Windows Internals, 4ème édition, le livre « officiel » de Microsoft Press sur les internes du noyau de Windows, ainsi que la précédente édition, Inside Windows 2000. David écrivit aussi Inside Windows NT, 2ème édition et Windows NT for OpenVMS Professionals. Il a aussi co-créé la série de formations vidéo Windows Internals COMPLETE dont Microsoft a acheté les droits d’usage pour former ses collaborateurs. David a été conférencier à de nombreuses conférences TechEd et PDC. Il est récipiendaire du diplôme Microsoft Support Most Valuable Professional (MVP) en 1993 et 2005. 7 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/2/2017 4:35 PM Le contenu du CRK Couvre toutes les unités de l’ACM/IEEE OS BOK (Body Of Knowledge) et plus encore (fondé sur Windows XP/Server 2003) Capable de couvrir plusieurs niveaux d’enseignement Modulaire (peut être utilisé dans sa totalité ou seulement en partie) Contient cas d’étude et comparaisons Les modules de base comprennent les éléments nécessaires pour être incorporés au sein d’un cours de base complet d’un semestre sur les systèmes d’exploitation. Les modules couvrent les éléments spécifiques de Windows dans le cours de base et les unités électives telles que définies dans le OS BOK of Computing Curricula 2001 Les modules avancés comprennent les éléments nécessaires pour être incorporés au sein d’un cours avancé d’un semestre sur les systèmes d’exploitation. Les modules couvrent les éléments spécifiques de Windows dans le cours de base et les unités électives telles que définies dans le OS BOK of Computing Curricula 2001 ainsi que 3 unités supplémentaires © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Les sujets couverts a. Core topics OS1. Overview of operating systems 4/2/2017 4:35 PM Les sujets couverts 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 c. Supplementary topics OS-A. Windows networking OS-B. Comparing the Linux and Windows Kernels OS-C. Windows – Unix Interoperability TP et exercices, plus références aux sources du WRK Disponible maintenant en http://www.msdnaa.net/curriculum 9 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Démonstration du CRK 10 4/2/2017 4:35 PM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Windows Research Kernel © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4/2/2017 4:35 PM Les objectifs du WRK Permettre aux étudiants d’étudier les sources, de les modifier et de construire des projets Fournir un meilleur support pour la recherche et la production de publications fondées sur les « internes » de Windows Rendre plus facile aux étudiants et aux enseignants la comparaison entre Windows et d’autres systèmes d’exploitation Encourager la création d’ouvrages et de contenus de formation sur le noyau de Windows Simplifier les licences d’accès aux sources © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Les sources du noyau de Windows 4/2/2017 4:35 PM Les sources du noyau de Windows Versions : Windows Server 2003 (x86/x64) SP1 et Windows XP x64 Processes, threads, LPC, VM, scheduler, object manager, I/O manager, synchronization, worker threads, kernel memory manager, … A peu près tout ce qui est dans NTOS sauf le plug-and-play, le power-management et du code spécialisé tel que driver verifier, splash screen, branding, timebomb, etc. Le code qui n’appartient pas au noyau (drivers, file systems, networking) provient du DDK et de l’IFSKIT Simplifié à quelques endroits, commentaires nettoyés, amélioration de l’orthographe Ce qui ne fait pas partir des sources est encapsulé dans une librairie binaire Outils de constructions et de paramétrages, utilitaires Outils pour tracer, surveiller les performances, journaliser, déboguer, etc. Packagé avec Un sous-ensemble du DDK et de la documentation pour travailler avec des drivers Les sources du système de fichiers de l’IFSKIT Le produit VirtualPC Les tests de régression du noyau La documentation des API Windows natives A peu près 500 000 lignes de code source © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

La licence du WRK Objectifs Type de licence Critère d’éligibilité 4/2/2017 4:35 PM La licence du WRK Objectifs Faciliter l’acceptation des conditions de licence dans un environnement d’enseignement et de recherche Les étudiants et les élèves peuvent l’utiliser dans les classes et les laboratoires Type de licence Usage non commercial, usage pour l’enseignement ou la recherche seulement ; possibilité de créer des travaux dérivés pour des objectifs non commerciaux Critère d’éligibilité Disponible pour les facultés, les écoles et les étudiants et les élèves partout dans le monde Scenarios d’usage Visualiser, copier, reproduire et distribuer au sein de l’institution concernée Possibilité de modifier pour l’enseignement et l’expérimentation Permettre la production d’un contenu destiné à l’enseignement ou aux publications de recherche en autorisant l’inclusion de fragments de code source Peut être utilisé dans des ouvrages ou des publications académiques et au sein de forum communautaires Il faut simplement reprendre les termes du copyright Microsoft Partager les travaux dérivés au sein de la communauté académique 14 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Les premières 17 années de Windows 2/1989 Début du codage 7/1993 NT 3.1 9/1994 NT 3.5 5/1995 NT 3.51 7/1996 NT 4.0 12/1999 NT 5.0 Windows 2000 8/2001 NT 5.1 Windows XP 3/2003 NT 5.2 Server 2003 8/2004 NT 5.2 Windows XP SP2 4/2005 NT 5.2 Windows XP 64 Bit Edition (et WS03SP1) 2006 NT 6.0 Windows Vista (client) WRK 15 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Architecture générale de Windows Applications Subsystem servers DLLs System Services Login/GINA Kernel32 Critical services User32/GDI ntdll/run-time library User-mode Kernel-mode Trap interface / LPC Security refmon I/O Manager Virtual memory Procs and threads Win32 GUI Net devices File filters Scheduler Filesys run-time Net protocols File systems Net Interfaces Volume mgrs Cache mgr Synchronization Device stacks Object Manager/Configuration Management (registry) Kernel run-time/Hardware Adaptation Layer © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Aperçu de l’architecture Sous-systèmes Processus système Services Applications POSIX Replicator Service Controller Alerter OS/2 WinLogon User Application RPC Win32 User Mode Session Manager Event Logger Subsystem DLLs System Threads NTDLL.DLL Kernel Mode Executive API I/O Manager PnP/Power Manager Processes & Threads Security Virtual Memory Cache Manager File systems Object management / Executive RTL Device drivers Kernel Hardware Abstraction Layer (HAL) Hardware interfaces (read/write port, timers, clocks, DMA, cache control, etc.) 17

Les fonctionnalités importantes du noyau de Windows Hautement multithread Modèle d’E/S complètement asynchrone Ordonnancement basé sur les threads Gestionnaire d’objets (object-manager) qui founit une gestion unifiée des Structures de données du noyau Les références kernel Les références user (handles) Un espace de nommage La synchronisation des objets L’affectation des ressources La partage inter-processus Un moniteur de référence de sécurité centralisé et basé sur des ACL Une zone de stockage de la configuration découplée sur système de fichiers 18 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Les fonctionnalités importantes du noyau de Windows Un modèle d’E/S extensible et basé sur des filtres, avec des drivers en couche, des modèles de périphériques standard, des notifications, des traces, une journalisation, un espace de nommage, des services et des sous-systèmes Un espace d’adressage virtuel géré séparément des objets mémoire Des fonctionnalités de gestion de mémoire virtuelle avancées (gestion par les applications des adresses virtuelles, mémoire physique, entrées – sorties, dirty bits, grandes pages) Plug-and-play, power-management Librairie système mappée au sein de chaque processus pour fournir des points d’entrée dignes de confiance © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Documentation de la conception du noyau Documentation de la conception de NT OS/2 : Core OS Fichier Titre Auteur (s) dwintro NT OS/2 Design Workbook Introduction Lou Perazzoli ke NT OS/2 Kernel Specification David N. Cutler, Bryan M. Willman alerts NT OS/2 Alerts Design Note David N. Cutler apc NT OS/2 APC Design Note ob NT OS/2 Object Management Specification Steven R. Wood proc NT OS/2 Process Structure Mark Lucovsky suspend NT OS/2 Suspend/Resume Design Note attproc NT OS/2 Attach Process Design Note vm NT OS/2 Virtual Memory Specification vmdesign NT OS/2 Memory Management Design Note io NT OS/2 I/O System Specification Darryl E. Havens irp NT OS/2 IRP Language Definition Gary D. Kimura namepipe NT OS/2 Named Pipe Specification David Cutler & Gary Kimura mailslot NT OS/2 Mailslot Specification Manny Weiser rsm Windows NT Session Management and Control fsdesign NT OS/2 File System Design Note fsrtl NT OS/2 File System Support Routines Specification © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Documentation de la conception du noyau Documentation de la conception de NT OS/2 : Core OS Fichier Titre Auteur(s) sem NT OS/2 Event – Semaphore Specification Lou Perazzoli argument NT OS/2 Argument Validation Specification David N. Cutler timer NT OS/2 Timer Specification coding NT OS/2 Coding Conventions Mark Lucovsky, Helen Custer ulibcode NT Utilities Coding Conventions David J. Gilman exceptn NT OS/2 Exception Handling Specification os2 OS/2 Emulation Subsystem Specification Steven R. Wood status NT OS/2 Status Code Specification Darryl E. Havens ntdesrtl NT OS/2 Subsystem Design Rational Mark H. Lucovsky resource NT OS/2 Shared Resource Specification Gary D. Kimura execsupp NT OS/2 Executive Support Routines Specification David Treadwell support NT OS/2 Interlocked Support Routines Specification dd Windows NT Driver Model Specification oplock NT OS/2 Opportunistic Locking Design Note Darryl Havens, et al memio NT OS/2 Memory Management Guide for I/O time NT OS/2 Time Conversion Specification mutant NT OS/2 Mutant Specification © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Documentation de la conception du noyau Documentation de la conception de NT OS/2 : Core OS Fichiers Titre Auteur(s) prefix NT OS/2 Prefix Table Specification Gary D. Kimura startup NT OS/2 System Startup Design Note Mark Lucovsky dbg NT OS/2 Debug Architecture coff NT OS/2 Linker/Librarian/Image Format Spec Michael J. O'Leary cache NT OS/2 Caching Design Note Tom Miller ntutil NT OS/2 Utility Design Specification Steven D. Rowe implan NT OS/2 Product Description and Implementation Plan David N. Cutler basecont NT OS Base Product Contents Lou Perazzoli © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Les spécifications originelles de Windows NT/OS2 4/2/2017 4:35 PM Les spécifications originelles de Windows NT/OS2 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Organisation du WRK arb Plug-and-play arbiter lpc Local inter-process calls cache Cache Manager mm Memory Manager config Registry nls Internationalization code dbgk User-mode debugging ob Object Manager ex Executive functions perf Performance Tracing fsrtl File system run-time po Power Management fstub File sys boot interface ps Process/thread inc Kernel-specific includes raw Raw volume driver init Boot code rtl Kernel run-time library io\iomgr I/O manager se Security Ref Monitor io\pnpmgr Plug-and-play manager vdm Virtual Dos Machine kd64 Kernel debug interface verifier Driver Verifier ke Kernel (scheduler, etc) wmi Windows Mgmt Interface © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Les sources du noyau de Windows 4/2/2017 4:35 PM Les sources du noyau de Windows Organisation des sources Le répertoire public\ contient des fichiers include partagés par l’ensemble du système base\ntos\ contient les sources du noyau de Windows © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Les sources du noyau de Windows 4/2/2017 4:35 PM Les sources du noyau de Windows cache\ cache manager config\ registry implementation dbgk\ user-mode debugger support ex\ executive functions (kernel heap, synchronization, time) fsrtl\ file system run-time support io\ I/O manager ke\ scheduler, CPU management, low-level synchronization lpc\ local procedure call implementation mm\ virtual memory manager ob\ kernel object manager ps\ process/thread support se\ security functions wmi\ Windows Management Instrumentation inc\ NTOS-only include files rtl\ kernel run-time support init\ kernel startup © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Constuire le WRK Copy the WRK into a directory, say %wrk%. 4/2/2017 4:35 PM Constuire le WRK Copy the WRK into a directory, say %wrk%. set arch=x86 [or amd64] path %wrk%\tools\%arch%;%path% cd %wrk%\base\ntos nmake -nologo %arch%= will produce kernel files in BUILD\EXE\%arch% [wrkx86.* or wrkx64.*] copy the kernel to %SystemRoot%\system32\ if x86, find the Multi-processor version of hal.dll [see below] add a line to C:\boot.ini of the target system to boot this kernel and the MP hal [see below] reboot and select the boot option for the new kernel you will boot up on a kernel you built/linked yourself! [always keep the original boot.ini line and kernel/hal available so you can still boot your system if something fails with your WRK kernel modifications] set up a debugger [see below] © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

HAL Multi-processor hal (x86 only, amd64 hals are all MP) 4/2/2017 4:35 PM HAL Multi-processor hal (x86 only, amd64 hals are all MP) All hals are renamed hal.dll, so you have to use the link command to see what type of hal hal.dll really is: link -dump -all hal.dll | findstr pdb The MP hals have an 'm' in the native name of the hal, e.g. halmacpi.dll You may already have an MP hal installed on UP systems, due to hyperthreading. If the hal isn't MP, you need to find the MP hal that corresponds to the current hal the target system does have, i.e. halacpi.dll -> halacpim.dll ; ACPI PIC-based PC [used by VirtualPC] halaacpi.dll -> halmacpi.dll ; ACPI APIC-based PC halapic.dll -> halmps.dll ; MPS Look in the WRK WS03SP1HALS\x86 directory for the MP hal you need. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Boot.ini Edit boot.ini (you may have to use attrib -h -s -r first) 4/2/2017 4:35 PM Boot.ini Edit boot.ini (you may have to use attrib -h -s -r first) Copy the line for the first operating system listed to the end of the file and edit it. [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Standard" multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="test" /kernel=wrkx86.exe /hal=halmacpi.dll Note that the filenames must be short (8.3) names. You can add additional options for debugging (as specified in the WinDbg/KD help). © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Déboguage Les débogueurs WinDBG/KD fonctionnent avec le WRK 4/2/2017 4:35 PM Déboguage Les débogueurs WinDBG/KD fonctionnent avec le WRK La documentation est assez complète et comprend les informations nécessaires pour savoir comment déboguer à travers un port série, localement (en examinant les données du noyau depuis le mode user) ainsi que pour déboguer des noyaux à travers Virtual PC Les versions 6.6.3.5 des débogueurs WinDBG/KD sont disponibles avec les Curriculum Resource Kit Tools Répertoire "CurriculumResourceKit-CRK\CRKTools\Debugging Tools“ La dernière version des Windows Debugging Tools peut être téléchargée depuis http://www.microsoft.com/whdc/devtools/debugging. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Démonstration du WRK 4/2/2017 4:35 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

En cours de développement 4/2/2017 4:35 PM ProjectOZ En cours de développement © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

ProjectOZ : un environnement expérimental pour les projets d’OS 4/2/2017 4:35 PM ProjectOZ : un environnement expérimental pour les projets d’OS Un environnement pour les projets OS utilisant NTAPI Fournit des abstractions simples en mode user CPU, MMU, mécanisme de trap et mémoire physique Supporte les expérimentations des principes des OS Utilise les vraies fonctionnalités de l’OS plutôt qu’un « jouet » de simulation Réduit la complexité nécessaire pour apprendre/construire des expériences Un environnement de développement simple, utilisant des outils standards pour construire, déboguer et instrumenter Encourage la réflexion active des étudiants Basé sur le projet SPACE UCSB (Probert et Bruno) 33 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

ProjectOZ : un environnement expérimental pour les projets d’OS 4/2/2017 4:35 PM ProjectOZ : un environnement expérimental pour les projets d’OS Collaboration entre différents groupes au sein de Microsoft : MSR University Relations, Windows Kernel & Architecture Team et le Source Asset Team Le but est de fournir un meilleur support pour l’enseignement et la recherche en utilisant Windows Fournit une alternative à Nachos (Not Another Completely Heuristic Operating System - http://www.cs.washington.edu/homes/tom/nachos/) pour les TP et les projets de programmation de système d’exploitation Nachos est essentiellement un simulateur (comme XINU) Aujourd’hui, on ne dispose que de simulateurs ou de système d’exploitations Unix réduits comme Minix © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

ProjectOZ Windows Workloads, tests, instrumentation Projets étudiants et expériences ProjectOZ Implémentation initiale de l’OS Petite quantité de code Les étudiants peuvent s’en inspirer pour faire mieux BasicOZ Abstraction par SPACE de CPU, MMU, Traps SPACE.exe API NT native Noyau Windows ProjectOZ s’exécute en mode user sur un système Windows standard Windows © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

BasicOZ Une implémentation très simple d’OS Objectifs 4/2/2017 4:35 PM BasicOZ Une implémentation très simple d’OS Fonctionnalités familières (processus, threads, user/kernel, mémoire virtuelle, périphériques, espaces de nommage) Implémentation minimale en utilisant des algorithmes très simples et fournissant des fonctionnalités minimales Un petit nombre de lignes de code (~2-3 k) Fondé sur les primitives de SPACE construites sur NTAPI Objectifs Les étudiants ont une quantité limitée de code à lire et à modifier Les abstractions sous-jacentes sont propres et simples BasicOZ peut sembler trop rudimentaire ; cela permet aux étudiants de donner libre court à leur inspiration 36 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Démonstration de ProjectOZ 4/2/2017 4:35 PM Démonstration de ProjectOZ © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/2/2017 4:35 PM Quelques sujets de réflexion à des fins d’enseignement sur les systèmes d’exploitation © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Comparer et contraster Les environnements de conception des OS UNIX (Années 70) NT (Années 80/90) ?? Années (2000/2010) Espace d’adressage 16 bits, swapping 32 bits, mémoire virtuelle linéaire 64-bit, ?? Perf. CPU KIPS MIPS GIPS Synchronisation IRQL Test&Set, Cmpr&Swap Transactional memory ? Taille mémoire KBytes MBytes GBytes Parallélisme hardware Aucun SMP Nombreux coeurs Stockage de masse KO, Déplacements lents MO, GO, pas de déplacements, TO Inf. Distribuée Bande Client/serveur Pair à Pair Les anciennes conceptions d’OS peuvent (bien sûr) être portés, mais Comment concevriez-vous un OS à partir d’une feuille blanche ? Comme l’architecture des CPU doit-elle évoluer? © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Comparer et contraster Les environnements de conception de NTOS Le thread est l’unité de parallélisme Mécanismes unifiés de synchronisation et de nommage Espace de nommage non enraciné dans le système de fichiers Gestion séparée des adresses virtuelles et des objets en mémoire Modèle d’E/S asynchrone et extensible (filtrage) Sécurité basée ACL, identité basée jetons Mécanisme de stockage de configuration intégré Librairie système mappée au sein de chaque processus © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Les systèmes d’exploitation du futur ? Architecture de sécurité, mécanismes et outils Modèles pour les applications afin de gérer les états et extensibilité du système Analyse de code en utilisant des outils comme le compilateur Phoenix Intégration des technologies managées et non managées Implémentation d’abstractions plus simple du noyau Services du noyau basés objet Services du noyau en mode kernel (drivers, extensions) Gestion des versions et des mises à jour pour la plateforme et les applications Gestion de la complexité Fédération du traitement distribué et des périphériques de stockage © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Plus d’informations CRK Disponible en téléchargement ProjectOZ et WRK 4/2/2017 4:35 PM Plus d’informations CRK Disponible en téléchargement ProjectOZ et WRK Disponibles en téléchargement Feedback Contactez-nous en compsci@microsoft.com Plus d’information sur WAP et outils associés Site Web Shared Source http://www.microsoft.com/resources/sharedsource/Licensing/WindowsAcademic.mspx Forums pour discussion http://forums.microsoft.com/WindowsAcademic Curriculum sur MSDNAA http://www.msdnaa.net/curriculum/pfv.aspx?ID=6191 42 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Votre potentiel, notre passion TM 4/2/2017 4:35 PM Votre potentiel, notre passion TM © 2007 Microsoft France © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.