Système d'exploitation et logiciel

information-icon

Les premières épreuves du bac de français édition 2024 sont pour bientôt ! Consulte les dates du bac de français, notre programme de révision accompagné de toutes nos fiches de révisions pour te préparer au mieux à ton examen 💪

Introduction :

Un ordinateur est l’assemblage de plusieurs composants matériels auxquels s’adressent les différents logiciels qui s’y exécutent. Un dispositif s’avère nécessaire pour permettre la cohabitation de ces logiciels. Nous allons comprendre dans ce chapitre ce qu’est un système d’exploitation au travers des fonctions qu’il assure. Puis, nous nous pencherons sur les commandes de base qu’il est possible de lui transmettre. Nous nous intéresserons ensuite à la manière dont les droits d’accès aux fichiers de l’ordinateur peuvent être gérés grâce au système d’exploitation

Le système d’exploitation

Quand l’utilisateur d’un ordinateur, souhaite lui faire faire une action, il ne s’adresse pas directement à lui, sinon il serait contraint d’utiliser un langage de bas niveau, très peu convivial et relevant d’une certaine expertise. L’utilisateur a recours à un logiciel ou à une interface de commande. Nous allons voir que l’un comme l’autre sollicite le système d’exploitation et non les composants matériels eux-mêmes.

Un peu d’histoire

Jusqu’aux années 50, les ordinateurs n’étaient utilisables que par les programmeurs qui interagissaient directement avec le matériel. Les rôles de programmeur et d’opérateur étaient alors confondus. Il n’y avait pas de système d’exploitation.

Puis, dans les années 60, les premiers systèmes d’exploitation firent leur apparition. Dans un souci d’exploiter au mieux les ordinateurs, la mise en place de fonction d’ordonnancement de tâche et la séparation des rôles de programmeur et d’opérateur en étaient les premières missions.

Enfin, dans les années 70, toujours avec l’objectif d’optimiser l’usage des calculateurs, le développement des systèmes d’exploitation s’est accéléré. Ils devaient assurer le partage des ressources matérielles des ordinateurs entre plusieurs programmes y fonctionnant simultanément.

Et, depuis les années 80, les systèmes d’exploitation se sont sophistiqués, en particulier avec l’essor de la micro-informatique, des interconnexions entre systèmes hétérogènes, d’internet et des réseaux locaux.

Définition d’un système d’exploitation

Un ordinateur personnel est capable d’exécuter plusieurs logiciels à la fois pour un utilisateur. Un serveur, en plus de cette faculté, est même capable d’accepter plusieurs utilisateurs en même temps. Les ressources matérielles d’un ordinateur doivent donc être partagées entre les différentes applications et utilisateurs qui y accèdent. C’est le système d’exploitation qui permet ce partage.

bannière definition

Définition

Système d’exploitation :

Ensemble de programmes orchestrant l’usage des ressources matérielles d’un ordinateur par les logiciels qui s’y exécutent.

  • Windows, macOS ou encore Linux sont tous trois des systèmes d’exploitation.

Système d’exploitation Le système d’exploitation est un intermédiaire entre le matériel (« hardware » en anglais) et les applications (« software » en anglais).

bannière astuce

Astuce

OS est l’abréviation de Operating System, traduction anglaise de Système d’exploitation. Cette abréviation est couramment employée, y compris chez les francophones.

Les fonctions d’un système d’exploitation

Les fonctions de base d’un système d’exploitation sont d’assurer la gestion des accès :

  • au processeur ;
  • à la mémoire ;
  • aux périphériques d’entrée/sortie (notion abordée en détail dans le chapitre suivant « Périphériques ») tels que clavier, souris, carte réseau, etc.

On peut lui reconnaître d’autres rôles :

  • gestion des fichiers : il assure le stockage des fichiers sur le disque dur et l’organisation de ce stockage. Il est un moyen de matérialiser le concept de fichier, purement abstrait à la base. On peut ainsi, grâce au système d’exploitation, manipuler les fichiers comme des objets (déplacer, détruire, nommer, modifier, etc.) ;
  • gérer les utilisateurs et les droits des utilisateurs.

Les systèmes d’exploitation libres et les systèmes d’exploitation propriétaires

Les systèmes d’exploitation sont nombreux. Sur leurs ordinateurs personnels, les particuliers comme les professionnels utilisent communément Windows (développé par Microsoft) ou macOS (développé par Apple). Les systèmes d’exploitation basés sur Linux sont moins répandus chez les particuliers que chez les professionnels.

Les matériels mobiles tels que tablettes ou smartphones, qui reprennent en plus petit, l’architecture d’un ordinateur classique, sont également dotés d’un système d’exploitation. On peut citer Android (développé par Google) ou iOS (développé par Apple).

  • Si tous ces systèmes d’exploitation ont la même vocation, certains sont libres tandis que les autres sont dits propriétaires.
bannière definition

Définition

Logiciel libre :

On qualifie un logiciel de libre, free software en anglais, tout logiciel dont le code est distribué dans le cadre d’une licence qui en autorise la consultation, la modification, et la redistribution, sans contrepartie financière.

C’est le cas de Linux et également d’Android. L’usage de ces systèmes s’avère donc sans restriction et gratuit, à l’opposé des systèmes propriétaires. Notons que cette liberté d’usage d’un système d’exploitation libre basé sur Linux a donné lieu à la création de plusieurs variantes dont Debian, Ubuntu ou encore Android, tous dérivés de Linux dont ils n’ont repris que le noyau.

bannière à retenir

À retenir

Linux est un système d’exploitation libre.

bannière astuce

Astuce

Lorsque l’on achète un ordinateur, ce dernier est souvent proposé avec un système d’exploitation déjà installé. Pour peu que ce soit Windows ou macOS, le prix de l’un comme celui de l’autre est répercuté dans le montant total de l’achat. Il est possible, cependant, d’acquérir un ordinateur dépourvu de système d’exploitation, dans l’objectif d’y installer Linux ultérieurement, qui a l’avantage d’être gratuit !

Les commandes de base

Maintenant que nous connaissons l’existence du système d’exploitation dans un ordinateur, nous allons apprendre à lui passer des ordres, tout comme aux applications. Un moyen très basique de s’y prendre est d’employer les commandes de base, passées en mode texte, et non par l’intermédiaire d’une interface graphique utilisant la souris. Il existe des outils plus ergonomiques que le mode texte, mais il est parfois utile de savoir manier les commandes en mode texte, en particulier dans des situations de dysfonctionnement.
Nous allons nous intéresser aux commandes relatives à un système d’exploitation en particulier : Linux.

Accéder aux commandes en mode texte

Avant de pouvoir passer des commandes en mode texte au système d’exploitation, il est nécessaire de démarrer une application particulière.
Pour ce qui concerne Linux et les variantes qui en découlent, l’application qui donne accès aux commandes en mode texte est presque systématiquement appelée « Terminal » ou « Console ». En général, le raccourci clavier « ctrl+alt+t » ou « ctrl+alt+Fxx » (Fxx, touche fonction) ouvre directement l’application.

Fenêtre de l’application Konsole sous Debian Fenêtre de l’application « Konsole » sous Debian

Les commandes de base

Nous allons nous intéresser aux commandes permettant de manipuler les fichiers et leur organisation. Les fichiers sont organisés sous Linux selon une structure en arbre nommée en conséquence arborescence.

Extrait de l’arborescence dans un système Linux Extrait de l’arborescence dans un système Linux

  • À tout moment, toute application se trouve à un endroit de cette arborescence. On le désigne comme le répertoire courant.
bannière à retenir

À retenir

Pour localiser un élément dans cette arborescence, on peut utiliser deux chemins.

  • Un chemin absolu : celui-ci démarre nécessairement à la racine de l’arbre, soit « / ».
bannière exemple

Exemple

Le chemin absolu pour localiser le fichier « rapport.odt » est le suivant : /home/tom/documents/boulot/rapport.odt

  • Un chemin relatif : celui-ci démarre ailleurs qu’au début de l’arbre.
bannière exemple

Exemple

Le chemin relatif pour localiser le fichier « rapport.odt » à partir du dossier « images » est le suivant : ../../tom/documents/boulot/rapport.odt.

  • On note la signification de « .. » qui correspond à un déplacement d’un niveau plus haut vers la racine.

Voici les commandes fréquemment utilisées :

  • Connaître le chemin du répertoire courant : pwd
  • Changer de répertoire courant : cd suivi du chemin relatif ou absolu vers le nouveau répertoire.
bannière exemple

Exemple

Pour aller de « boulot » vers « noel2018 », on peut soit taper la commande avec un chemin absolu :

cd /home/sophie/image/noel

soit taper la commande avec un chemin relatif

cd ../../sophie/image/noel

  • Connaître le contenu du répertoire courant : ls
  • Créer un répertoire dans le répertoire courant : mkdir suivi du nom du répertoire à créer.
bannière exemple

Exemple

mkdir finances

  • Supprimer un fichier ou un répertoire dans le répertoire courant : rm suivi du nom du répertoire à supprimer.
bannière exemple

Exemple

rm rapport.odt

bannière attention

Attention

Si on souhaite supprimer un répertoire non vide, il faut avoir recours à une option en tapant alors la commande rm -r suivi du nom du répertoire (l’option -r précise que la suppression est récursive, c’est-à-dire qu’elle supprime les sous-répertoires et leur contenu).

  • Dupliquer / créer une copier un fichier dans le répertoire courant : cp

nom_du_fichier_va_copier nom_du_fichier_resultat_de_la_copie.

bannière exemple

Exemple

cp rapport.odt copierapport.odt

Ces commandes peuvent agir hors du répertoire courant. Il suffit pour cela de faire précéder les éléments sur lesquels les commandes agissent de leur chemin relatif ou absolu.

bannière exemple

Exemple

Pour copier le document rapport.odt qui se trouve dans le dossier boulot de tom en un nouveau fichier nommé copierapport.odt dans le dossier images de sophie :

cp /home/tom/documents/boulot/rapport.odt /home/sophie/images/copierapport.odt

Informations système

Outre les commandes destinées à manipuler les fichiers et l’arborescence de stockage, nous disposons de commandes également très utiles parmi lesquelles on peut citer :

  • date : pour connaître l’heure réglée sur l’ordinateur
bannière exemple

Exemple

date

  • free : pour obtenir un résumé sur l’utilisation de la RAM
bannière exemple

Exemple

free

  • ping suivi d’une adresse IP : pour connaître la connectivité de son ordinateur avec l’équipement qui porte l’adresse IP visée par le ping (cette commande sera évoquée plus en détail dans le chapitre « Adresse IP et réseau local »).
bannière exemple

Exemple

ping 192.168.1.1

Gestion des droits d’accès aux fichiers

Nous avons vu qu’un système d’exploitation a pour missions, entre autres, de gérer les différents utilisateurs qui se partagent les ressources de l’ordinateur. En particulier, il doit réglementer l’accès aux fichiers de son arborescence afin d’éviter des problèmes. En effet, il n’est pas logique de permettre à un utilisateur de supprimer ou même de modifier les fichiers d’un autre utilisateur. Il n’est pas non plus normal de laisser n’importe quel utilisateur supprimer des répertoires entiers où sont localisés les programmes du système d’exploitation, au risque de provoquer une panne. Nous allons voir comment, sous Linux, ces accès sont gérés.

Organisation des utilisateurs sous Linux

  • Il existe sous Linux un utilisateur particulier qui dispose de tous les droits : il s’agit du super utilisateur, root ou encore administrateur.

Par ailleurs, pour faciliter l’administration des droits accordés à chacun des utilisateurs déclarés dans le système d’exploitation, il est possible d’organiser ces derniers en groupes. Ainsi, au lieu d’accorder de manière individuelle un droit particulier à chacun des utilisateurs d’un même groupe, on n’aura plus qu’à accorder ce droit au groupe lui-même.

Types d’accès accordés

bannière à retenir

À retenir

Quels droits peut-on accorder sur un fichier ou un répertoire ? Ils sont au nombre de trois :

  • l’accès en lecture, traduit sous Linux avec la lettre r (initiale de « read » en anglais) : accorde le doit de lire le contenu de l’élément ;
  • l’accès en écriture, traduit avec la lettre w (initiale de « write » en anglais) : accorde le droit de modifier le contenu de l’élément ;
  • l’accès en exécution, traduit par la lettre x (empruntée à « execute » en anglais) : accorde le droit d’exécuter le contenu de l’élément si celui-ci contient un code exécutable.
bannière à retenir

À retenir

Les droits sont accordés à 3 catégories d’utilisateurs :

  • le propriétaire de l’élément, désigné par la lettre u (initiale de « user » en anglais) ;
  • le groupe d’utilisateurs auquel est associé l’élément, désigné par la lettre g (initiale de « group » en anglais) ;
  • tous les autres utilisateurs, désignés par la lettre o (initiale de « other » en anglais). Ceux-ci n’appartiennent donc pas au groupe auquel est associé l’élément, et aucun d’eux n’en est le propriétaire.

Notons une quatrième notion : « Tous les utilisateurs », quels qu’ils soient, désignés par la lettre a (initiale de « all » en anglais). Détaillons la réponse de Linux à la commande « ls » évoquée précédemment, dont voici un exemple.

droits d’accès Réponse à la commande « ls -l » : les droits d’accès à chacun éléments listés sont détaillés

On observe :

  • la ligne de commande ls -l : l’option l permet d’obtenir une réponse avec plus de détails que dans celle de la commande ls seule, en particulier les droits d’accès ;
  • deux lignes de réponse se suivent, organisées suivant la présentation suivante :

$$ Première ligne Seconde ligne
1 caractère : d ou - d (c’est un répertoire) - (c’est un fichier)
3 caractères : droits accordés au propriétaire de l’élément rwx : il peut lire, modifier et exécuter rw- : il peut lire, modifier mais pas exécuter
3 caractères : droits accordés aux utilisateurs appartenant au groupe associé à l’élément r-x : ils peuvent lire et exécuter mais pas modifier r : ils peuvent seulement lire
3 caractères : droits accordés aux autres r-x : ils peuvent lire et exécuter mais pas modifier r : ils peuvent seulement lire
Un nombre : le nombre de liens (non abordé ici) 2 1
Une chaîne de caractères : nom du propriétaire de l’élément myhome myhome
Une chaîne de caractères : nom du groupe auquel est associé l’élément myhome myhome
Nombre : taille de l’élément en octets 4096 2 269 063
Date et heure de la dernière modification de l’élément sept. 1 14:20 avril 22 20:51
Chaîne de caractères : nom de l’élément boulot Documentation_FGMS-001-FRA-v1.01.pdf

Outils pour gérer les droits d’accès

Avec des commandes en mode texte, nous pouvons agir sur les droits d’accès à un élément en vue d’en ajouter ou d’en supprimer, ou changer le propriétaire ou le groupe d’un élément.

  • Changer le propriétaire ou le groupe d’un élément : « chown proriétaire:groupe element ».
bannière exemple

Exemple

En reprenant les éléments listés plus haut, pour changer le propriétaire du répertoire

chown toto:myhome boulot

En reprenant les éléments listés plus haut, pour changer le groupe du répertoire

chown myhome:titi boulot

  • Changer les droits d’accès à un élément : la syntaxe est la suivante :

chmod [u g o a] [+ - =] [r w x] nom de l’élément

  • [u g o a] : indique sur quelle catégorie d’utilisateur on veut intervenir. Il est possible d’en désigner plusieurs à la fois ;
  • [+ - = ] : indique si l’on supprime (-), ajoute (+) où remet au défaut (=) les droits d’accès ;
  • [r w x] : indique les droits d’accès concernés à ajouter ou supprimer. Il est possible d’en désigner plusieurs à la fois.
bannière exemple

Exemple

chmod g+w boulot

  • Accorde le droit d’écriture dans le répertoire boulot aux utilisateurs du groupe myhome/

chmod o–r Documentation_FGMS-001-FRA-v1.01.pdf

  • Retire le droit de lire le fichier Documentation_FGMS-001-FRA-v1.01.pdf aux utilisateurs autres que le propriétaire et que ceux du groupe myhome.

Conclusion :

Nous savons maintenant qu’un système d’exploitation est l’intermédiaire entre les applications et les éléments matériels de l’ordinateur. Grâce à lui, plusieurs utilisateurs peuvent se partager des ressources matérielles, mais aussi des fichiers. En utilisant les commandes en mode texte, on peut, en plus de les manipuler, accorder ou supprimer des droits d’accès à ces fichiers.