Quels sont 10 exemples de logiciels système et de logiciels d’application ?


En tant que personne qui conçoit des systèmes informatiques, je peux être d'accord avec les suggestions faites jusqu'à présent. Certes, le système d'exploitation lui-même est un exemple de logiciel système. Cependant, il en existe plusieurs autres qui n'ont pas été mentionnés jusqu'à présent. De mon point de vue, le logiciel système est le code qui est nécessaire pour permettre aux programmes d'application de s'exécuter. Dans de nombreuses variantes de systèmes d'exploitation, il existe une distinction entre l'état utilisateur et l'état superviseur au sein du processeur. Les éléments qui vivent dans l'état utilisateur sont les applications, les bibliothèques et les moteurs nécessaires à l'exécution d'autres logiciels utilisateur. L'état superviseur contient le noyau principal de l'O/S, les pilotes de périphériques, les routines de service d'interruption (ISR), les gestionnaires d'exception, l'ordonnanceur, les threads du noyau et autres.


Si nous pensons à un O/S comme Windows, alors nous voyons le noyau Win32/64 ou WinRT lui-même (plus les pilotes de périphériques, les ISR, etc.). Et un système de fichiers qui contient les applications de l'état utilisateur, les DLL, etc. Il existe une distinction similaire dans un système d'exploitation comme Linux. Mais, le système de fichiers dans Linux est largement basé sur GNU (glibc, etc.) pour Linux où comme il y a un espace utilisateur complètement différent pour Android, Tizen, WebOS, etc. malgré que ces O/S utilisent le noyau Linux.


Cependant, nous devons aussi ajouter la distinction que certains logiciels de l'espace utilisateur sont un facilitateur et non une fin en soi. Par exemple, le runtime C/C++, JavaVM, PythonVM, glibc, les bibliothèques de socket, etc. ne sont pas des applications, mais plutôt des facilitateurs d'applications. Par conséquent, dans mon esprit en tant que personne qui aide à développer ces sortes de code, ils tombent également dans le seau des "logiciels système" parce que les applications utilisateur ne pourraient pas fonctionner sans eux et pourtant le développeur de l'application utilisateur n'a pas à y penser - ils sont juste là dans le système de fichiers.


Donc, alors que je ne considérerais pas Vi et Emacs comme des logiciels système (ce sont des applications utilisateur que nous utilisons comme éditeurs), le compilateur, le linker, le loader, etc. pourraient facilement être considérés comme des logiciels système. En outre, les bibliothèques/DLL seraient considérées comme des logiciels système parce qu'elles sont une ressource développée d'une manière très particulière pour aider les programmeurs d'applications à développer et à exécuter leur code.