Système d'exploitation et logiciel
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
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
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
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.
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.
Le système d’exploitation est un intermédiaire entre le matériel (« hardware » en anglais) et les applications (« software » en anglais).
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 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 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.
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.
Linux est un système d’exploitation libre.
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
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
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
Les commandes de base
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
- À tout moment, toute application se trouve à un endroit de cette arborescence. On le désigne comme le répertoire courant.
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 « / ».
Le chemin absolu pour localiser le fichier « rapport.odt » est le suivant :
- Un chemin relatif : celui-ci démarre ailleurs qu’au début de l’arbre.
Le chemin relatif pour localiser le fichier « rapport.odt » à partir du dossier « images » est le suivant :
.- 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.
Pour aller de « boulot » vers « noel2018 », on peut soit taper la commande avec un chemin absolu :
soit taper la commande avec un chemin relatif
- 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.
- Supprimer un fichier ou un répertoire dans le répertoire courant : rm suivi du nom du répertoire à supprimer.
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
.
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.
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 :
Informations système
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
- free : pour obtenir un résumé sur l’utilisation de la RAM
- 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 »).
Gestion des droits d’accès aux fichiers
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
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
Types d’accès accordés
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.
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.
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 : l’option permet d’obtenir une réponse avec plus de détails que dans celle de la commande 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 : | ou(c’est un répertoire) | (c’est un fichier) |
3 caractères : droits accordés au propriétaire de l’élément | : il peut lire, modifier et exécuter | : il peut lire, modifier mais pas exécuter |
3 caractères : droits accordés aux utilisateurs appartenant au groupe associé à l’élément | : ils peuvent lire et exécuter mais pas modifier | : ils peuvent seulement lire |
3 caractères : droits accordés aux autres | : ils peuvent lire et exécuter mais pas modifier | : ils peuvent seulement lire |
Un nombre : le nombre de liens (non abordé ici) | ||
Une chaîne de caractères : nom du propriétaire de l’élément | ||
Une chaîne de caractères : nom du groupe auquel est associé l’élément | ||
Nombre : taille de l’élément en octets | ||
Date et heure de la dernière modification de l’élément | ||
Chaîne de caractères : nom de l’élément |
Outils pour gérer les droits d’accès
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 ».
En reprenant les éléments listés plus haut, pour changer le propriétaire du répertoire
En reprenant les éléments listés plus haut, pour changer le groupe du répertoire
- Changer les droits d’accès à un élément : la syntaxe est la suivante :
où
- : 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 ;
- : indique les droits d’accès concernés à ajouter ou supprimer. Il est possible d’en désigner plusieurs à la fois.
- Accorde le droit d’écriture dans le répertoire boulot aux utilisateurs du groupe
- 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.