Merci infiniment,ce n'est qu'aujourd'hui que j'ai compris le vrai rôle du système d'exploitation, avant je me disais que ça ne sert maintenant je me rend qu'en ne s'en passer Je m'abonne directement a. Votre chaîne vous êtes un excellent professeur Bravooo a vous chers Monsieur Je vous suis depuis le Congo
On nous a demandé : > Le système d'exploitation sert d'intermediaire entre ce que veut faire l'utilisateur et les pieces sollicitées qui permettront cela. Est-ce que ce sont les processeurs, carte graphiques qui s'adaptent aux systeme d'exploitation ou bien l'inverse où le systeme d'exploitation emet un protocole que les differents constructeurs de piece d'ordinateurs doivent suivre pour que leurs pieces soient operationnelles? Voici la réponse : Pour permettre l’interaction entre les périphériques (e.g., une carte graphique ou une imprimante) la notion de pilote (device driver en anglais) est utilisée. Un pilote va traduire les instructions d’entrées et de sorties entre le système d’exploitation (ou les applications) et le matériel lui-même. Souvent les systèmes d’exploitations proposent des interfaces de programmation (API) pour faciliter le développement des pilotes. Par exemple, le système d’exploitation pourrait dire qu’un pilote d'écran doit implémenter la fonction “set_pixel(x, y, color)” qui correspondrait à allumer le pixel en position (x,y) sur l’écran et le mettre à la couleur “color”. Grâce à cela n’importe qui pourrait demander à l’écran de tracer des formes de couleurs, sans avoir besoin de savoir comment l’écran fonctionne, à l’exception de celui qui a créé le pilote de cet écran (généralement le constructeur de l'écran). Damien Saucez
Merci beaucoup pour cette vidéo! Petit question qui peut paraître bête: pourquoi avons-nous absolument besoin d’un système d’exploitation? Pourquoi l’application ne peut-elle pas exploiter directement le matériel informatique? Merci!
C'est possible, mais du coup ton application sera faite pour un materiel spécifique (beaucoup moins portable), et devra gérer des choses qui sont normalement pas à elle de gerer (couleur et intensité de chaque pixel pour l'affichage, gestion de la mémoire, ect)
Ben, il me semble que vous n'ayez rien compris aux explications ! l'OS est (presque indispensable) pour gerer les trois systemes. Dans un "robot", pas besoin d'OS. C'est directement en instructions binaires.
Bonjour, merci de votre question; voici qq précision => la mémoire vive RAM (Random Access Mémory) c est un dispositif physique qui stocke de l information, chaque case mémoire a une adresse, on peut écrire et lire une valeur à chaque adresse, cette valeur est un mot de 32 ou 64bits qui peut représenter un nombre, un symbole, etc. cette mémoire est à accès rapide mais tout disparait si l ordinateur d eteind => mémoire virtuelle, en fait c est le disque dur de l ordinateur qui va permettre de stocker temporairement sur le disque une partie de la mémoire vive si celle ci déborde, cela permet de faire comme si -virtuellement- la mémoire vive était pus grande => passage par valeur et passage par adresse : changement de décors, nous ne sommes plus au niveau matériel mais logiciel : on passe des paramètres d'un programme à un sous-programme -> par valeur : on recopie la valeur,. donc on protège le proramme principal de ce que fait le sous programme avec cette valeur -> par adresse : on indique au sous-programme où est l information en mémoire, cela lui permet de la lire mais aussi de la modifier, pour aider le programme principal Bien Cordiaement
Bonjour et merci de votre question, en fait c'est les deux :) au sens suivant, il choisit aléatoirement une place au niveau des @ libres dans un intervalle défini. Bien Cordialement
Le role du système d'exploitation est justement d'optimiser l'utilisation de ces différentes resources par rapport à un objectif donné. Par exemple, favoriser la réactivité du système pour une utilisation bureautique ou alors garantir des contraintes temps-réel d'une usine. Souvent les systèmes d'exploitations sont fournis avec plusieurs algorithmes que l'on peut configurer en fonction de ses besoins (on peut par exemple choisir entre plusieurs ordonanceurs dans Linux). Lorsque le système est ouvert on peut même écrire ses propres algorithmes. La programmation d'un OS est une programmation classique. Dans la très grande majorité des cas, le noyau (kernel en anglais) est écrit en C. Dans le cas de Linux on peut modifier le code et le compiler pour disposer de son propre noyau. Un bon point de départ est de regarder la documentation suivante: doc.ubuntu-fr.org/kernel. La programmation du noyau en tant que telle n'est pas spécialement compliquée mais nécessite d'être très rigoureux car justement il n'y a plus de système d'exploitation pour protéger des "bétises" potentielles qu'on ferait dans le code. Dans une grande majorité des cas, on peut se contenter d'écrire des modules dans Linux à la place de devoir modifier le noyau. Travailler sur des modules est généralement plus simple que de travailler directement sur le noyau. Un bon début est de regarder doc.ubuntu-fr.org/tutoriel/tout_savoir_sur_les_modules_linux.
Damien Saucez merci encore une fois Et une question encore c est quoi en fait le gestionnaire des processus ,le gestionnaire de la memoire, le gestionnaire des entrees/sorties ,le gestionnaire des donnees (files) et le gestionnaire de la securite et pourquoi on parle de systeme d exploitation par lots (batch) ,par temps partage,par conversationnel et par temps reel
Bonsoir, je vous propose de regarder www.univ-orleans.fr/lifo/Members/Mirian.Halfeld/Cours/SEBlois/SE2007-Intro.pdf pour avoir plus d'informations et fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation pour les définitions, revenez vers nous sur pixees.fr/echanger-entre-nous/ si cela ne suffit pas, Bin Cordialement
Alors oui bonjour alors moi je vais vous prendre 2 mcflurry et un menu maxi best off frite fanta et mon fils veut un happy meal avec le jouet pokemon 👍 je paie par carte merci! Bonne journée !
En se voulant volontairement simpliste, on peut dire qu'un processeur (nous ne ferons pas ici la distinction entre coeur et processeur) ne sait faire qu’une seule tâche à la fois. Dès lors la technique la plus simple lorsqu’on veut exécuter deux tâches simultanément sur un ordinateur est d’avoir deux processeurs. Chacun traitant une tâche indépendamment de l’autre. Cette technique permet que chaque tâche dispose de toute la puissance du processeur pour elle toute seule mais cela a un cout: il faut construire deux processeurs. L’idée avec le multithreading est de faire en sorte de pouvoir exécuter deux tâches en pseudo-simultané sur un seul processeur. Pour cela, certaines fonctionnalités du processeur (mais pas toutes) sont dupliquées à l’intérieur même d’un seul processeur tel que dans certaines conditions deux tâches puissent être exécutées simultanément sur un seul processeur. L’avantage du multithreading est que c’est moins couteux à produire et à utiliser que deux processeurs. Dans le cas ou une tâche est décomposée en deux sous-tâches qui partagent la même information, le multi-threading peut s’avérer très performant car les données partagées entre les deux sous-tâches seront stockées à un seul endroit (le cache) alors que si on exécutait les deux sous-tâches sur deux processeurs différents il faudrait sans arrêt synchroniser les deux processeurs entre eux et cela est intrinsèquement lent. Par contre lorsque les sous-tâches sont totalement indépendantes il sera plus intéressant d’utiliser deux processeurs distincts car chaque tâche aura la totalité d’un processeur peut elle alors que dans le cas de l’hyperthreading les sous-tâche ne disposeront pas de toute le processeur pour elles toutes seules. Prenons les routes pour faire une analogie. Vous partez en vacance avec deux voitures, seule une personne connait le chemin. Dans ce cas, vous préférez utiliser la même route comme ça les deux chauffeurs adaptent leurs rythmes et se synchronisent. A contrario si vous voyagez seul et que deux routes sont construites en parallèle, vous préférez utiliser la route où vous êtes seuls afin d’y rouler selon vos envies sans être gêné par les autres véhicules. On voit toutefois qu’il est plus simple de construire une route avec plusieurs voies de circulation que plusieurs routes à une seule voie de circulation. Les deux cas ont leurs avantages et inconvénients respectifs. Damien Saucez
L explication de la mémoire virtuelle (qui est le disque dur) est totalement fausse ! On peut même s'en passer, si on dispose d'assez de RAM (16Gb) Et en plus cela accelere grandement la vitesse d'exécution. L'explication du scheduleur est également fausse. Tout ce que vous expliquez, est (était, pour être précis) pour les tout premiers ordinateurs. Ensuite un élément capital que vous avez oublié dans le role de l'OS : convertir le language de programation en instructions machines (and/or/xor,.........),
Bonjour Phil Mrs, merci pour votre commentaire. Voici quelques éléments de réponse à vos remarques: - Mémoire virtuelle: la mémoire virtuelle n'est pas spécialement liée à l'utilisation d'un disque dur, il s'agit juste d'un mécanisme de traduction à la volé d'adresses pour permettre d'abstraire l'architecture du système. En terme de performance, il est vrai qu'il y a un cout étant donné qu'il faut 2 accès mémoire car il faut interroger la table d'indirection avant de pouvoir lire le bon mot mémoire. Attention de ne pas confondre avec le swap qui est rendu possible par la mémoire virtuelle et qui permet de stocker temporairement des pages mémoire sur une mémoire secondaire (par exemple un SSD). A l'heure actuelle, 16GB de mémoire ne me semblent pas suffisant pour se passer de mémoire virtuelle et de swap sauf pour des usages très spécifiques. - scheduler/ordonanceur: pourriez-vous m'indiquer ce qui est faux dans mon explication? J'ai en effet fait une simplification au niveau du fait qu'un processeur ne fait qu'une chose à la fois. C'est vrai qu'en réalité il aurait fallu parler de coeur et mentionner que c'était sans threads mais cela ne rend pas l'explication du scheduler fausse pour autant. - fonctionnalités des OS: les explications données ne sont pas obsolètes et ne sont pas liées à un type d'ordinateur. Il s'agit de concepts d'abstraction qui sont "universellement" applicables. En tout état de cause, certains des mécanismes expliqués ne sont arrivés que tardivement dans le monde des ordinateurs (les années 1960 voir un peu plus tard). Les systèmes modernes utilisent encore et toujours ces concepts. Je vous invite à aller lire le code du noyau du système d'exploitation Linux pour plus de détails (git.kernel.org). Il est particulièrement bien documenté. - language machine: vous avez raison que le système d'exploitation fait bien plus que les 3 points mentionnés. Notre but dans cette vidéo était de donner les 3 concepts les plus importants et non pas tous les concepts possibles. Concernant la traduction en instructions machines, cela mériterait une vidéo en tant que tel. L'OS a un rôle à jouer dedans en effet, mais il n'est pas seul et les choses sont très différentes entre les languages interprétés et les langages compilés. A l'heure actuelle les processeurs ont des jeux d'instructions très riches et donc nous sommes que très rarement dans des instructions AND ou XOR. Vous trouverez une bonne approximation des instructions pour x86 à la page suivante: www.felixcloutier.com/x86/. Merci pour vos retours, j'espère avoir pu y répondre de manière la plus précise possible. Damien Saucez
Dans un ordinateur on considère souvent deux types de mémoires: 1) une mémoire vive qui pourrait être comparée à votre mémoire à court terme et 2) une mémoire de masse qui pourrait être comparée à votre mémoire à long terme. Comme un humain, un ordinateur n’a pas besoin de beaucoup de mémoire vive pour fonctionner correctement (comparé à la quantité de mémoire de masse), par contre cette mémoire doit être très rapide car on va devoir l’utiliser très souvent. Pour les deux types de mémoires on utilise donc généralement des technologiques différentes. La mémoire vive est souvent construite avec de la mémoire de type RAM car celle-ci a l’avantage d’avoir des temps d’accès très courts ce qui permet d’accéder instantanément aux informations quelle stocker. Par contre cette mémoire “perd la mémoire” dès qu’elle n’est plus alimentée en électricité et est coûteuse à produire et donc petite (quelques Gigas). Au contraire, pour la mémoire de masse, l’important est de pouvoir stocker beaucoup de données (plusieurs Téras), potentiellement longtemps. Le focus est alors mis sur la taille et le cout, au détriment de la vitesse. Ce rôle est tenu par les disques durs dans les ordinateurs conventionnels. Il est intéressant de noter que grâce à la mémoire virtuelle le système d’exploitation est capable de gérer la pénurie de mémoire vive en copiant les données les moins importantes de la mémoire vive vers la mémoire de masse. Il suffit juste au système d’exploitation de souvenir que certains mots ont été mis sur le disque dur temporairement à la place d’être en RAM. Imaginez que pour fonctionner, votre programme de mail ait besoin de 1 Giga de mémoire vive et que votre programme de dessin ait aussi besoin de 1 Giga. Malheureusement vous n’avez que 1 Giga de mémoire vive sur votre ordinateur donc c’est impossible de les faire fonctionner en même temps. Néanmoins, vous avez un disque de 100 Gigas. Dans ce cas lorsque vous n’utilisez pas votre application mail, le système d’exploitation peut transférer les données de l’application mail sur le disque dur pour que la mémoire soit libre pour utiliser à pleine vitesse l’application de dessin. Quand vous voudrez ré-utiliser votre application mail, le système d’exploitation déplacera la mémoire de l’application de dessin sur le disque dur et rechargera en mémoire vive les données de l’application mail et vous aurez l’impression que les deux applications sont chargées en mémoire en permanence.
la mémoire = Ram +HD quand on commence à dépasser ou atteindre la limite de l'utilisation de la RAM windows se sert du HD en criant un fichier (page file) c'est alors la mémoire virtuelle windows utilise alors la RAM et le HD à la fois ,résultat : pour windows la mémoire c'est la RAM et le HD NB: plus on utilise le HD comme mémoire plus que le fonctionnement de la machine est lent