Blog Section

Modele os de prolongation de délai

La figure 3-2 montre la relation entre Darwin et OS X. Les deux construisent sur le même noyau, mais OS X ajoute les services de base, application services et QuickTime, ainsi que les environnements d`application Classic, Carbon, Cocoa et Java (JDK). Darwin et OS X incluent l`environnement d`application de ligne de commande BSD; Cependant, dans OS X, l`utilisation de l`environnement n`est pas nécessaire, et donc il est caché à l`utilisateur à moins qu`ils choisissent d`y accéder. La consolidation de nombreuses charges de charge à l`aide d`hôtes PC multicoeurs partitionnés, connus sous le nom de «virtualisation embarquée», réduit les coûts et la complexité du système en fusionnant différents types d`applications sur le même PC. Dans un déploiement hétérogène avec un système d`exploitation SMP, INtime RTOS fonctionne en parallèle avec Windows * (32-bit et 64-bit) pour utiliser ses interfaces de machines humaines étendues (HMI). Les services système étendent la prise en charge de plusieurs hôtes, ce qui permet la création de systèmes interopérables, distribués et en temps réel avec des modèles de déploiement flexibles. En tant qu`architecture AMP, chaque nœud (Core) exécute une instance indépendante de RTOS INtime, avec son matériel explicite partitionné – y compris un noyau dédié, la mémoire, les e/S et les interruptions. Cette approche est optimale pour la sécurité, la fiabilité et le déterminisme, lorsque le temps de réponse critique est important. Tous les processus INtime RTOS et Windows s`exécutent nativement, avec la prise en charge de toutes les versions actuelles de Windows, y compris Windows 10.

Les environnements actuels de RTOS INtime restent rétrocompatibles avec les applications développées pour les versions antérieures d`INtime, préservant ainsi votre investissement logiciel. Les bibliothèques de migration sont fournies pour le code d`extension en temps réel de niveau API Windows. Il est important de lister toutes les dépendances pour chaque KEXT. Si votre KEXT ne parvient pas à le faire, votre KEXT ne peut pas charger en raison de symboles non reconnus, rendant ainsi le KEXT inutile. Les dépendances dans KEXTs peuvent être considérées comme analogues aux fichiers d`en-tête ou aux bibliothèques requis dans le développement de code; en fait, le gestionnaire d`extensions de noyau utilise l`éditeur de liens standard pour résoudre les exigences KEXT. Les nouvelles technologies, telles que le kit d`e/S et les extensions de noyau réseau (NKEs), ont été conçues et fabriquées par Apple pour tirer parti des fonctionnalités avancées, telles que celles fournies par un modèle de programmation orienté objet. OS X combine ces nouvelles technologies avec des normes de l`industrie testées dans le temps pour créer un système d`exploitation stable, fiable, flexible et extensible. INtime RTOS permet un modèle de programmation modulaire exécutant des applications en temps réel en mode utilisateur au lieu d`extensions de pilote en mode noyau. La prise en charge des objets globaux, de plusieurs mécanismes IPC, de la gestion des erreurs et des exceptions complètes, ainsi que d`un ensemble complet de services de noyau standard permettent aux développeurs de créer rapidement et facilement des applications embarquées fiables et évolutives. TenAsys prend en charge le développement de solutions INtime RTOS avec un large éventail d`outils, y compris le kit de développement logiciel INtime (SDK), qui s`intègre dans l`environnement Microsoft Visual Studio familier pour simplifier la création de solutions. le modèle de processus BSD, y compris les ID et les signaux de processus ce cours prépare les élèves à écrire des applications basées sur des événements en temps réel fonctionnant sous un système d`exploitation en temps réel embarqué (RTOS). FreeRTOS est utilisé comme un exemple qui sera examiné au niveau du code source C.

Les applications pratiques exécutées sur un RTOS pour les ordinateurs embarqués dans les systèmes pilotés par les événements sont également décrites. Ce cours est ciblé pour un ingénieur logiciel embarqué ou un scientifique développant des applications avec des exigences de planification en temps réel dur. L`instruction de cours et les affectations de laboratoire sont effectuées en utilisant le langage de programmation C. Par conséquent, une connaissance de niveau de travail de C est exigée. La possibilité d`ajouter dynamiquement une nouvelle implémentation de système de fichiers est basée sur VFS KEXTs. Les pilotes de périphériques et les familles d`appareils dans le kit d`e/S sont implémentés à l`aide de KEXTs. KEXTs rend le développement beaucoup plus facile pour les développeurs écrivant des pilotes ou ceux qui écrivent du code pour prendre en charge un nouveau format de volume ou un protocole de mise en réseau. Les KEXTs sont discutés plus en détail dans le chapitre vue d`ensemble de l`extension du noyau.