1. Evolution de Linux

1. Objectifs Linux Essentials 1.1

  • Connaissance du développement de Linux et des distributions majeures.
  • Domaines de connaissance les plus importants :
    • Philosophie des Logiciels libres.
    • Distributions.
    • Systèmes embarqués.
  • Liste partielle de termes, fichiers et utilitaires utilisés pour cet objectif :
    • Android.
    • Debian.
    • CentOS.

2. Système d’exploitation (OS)

  • Une des tâches du système d’exploitation est d’offrir aux utilisateurs une interface simple et conviviale avec le matériel.
  • Un système d'exploitation (souvent appelé OS pour Operating System) est un ensemble de programmes qui dirige l'utilisation des capacités d'un ordinateur (matériel) par des logiciels applicatifs.

2.1. Fonction d’un OS

Il s’occupe au minimum de :

  • La gestion des processus (programmes)
  • La gestion de la mémoire
  • Le système de fichiers
  • La gestion des entrées/sorties

2.2. Caractéristiques d’un OS moderne

Linux est un système d'exploitation :

  • Multi-tâches : Un système d'exploitation est multitâche (en anglais : multitasking) s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes informatiques.
  • Multi-utilisateurs : Un système d'exploitation multi-utilisateur est conçu pour permettre à plusieurs utilisateurs d'utiliser l'ordinateur simultanément, tout en limitant les droits d'accès de chacun afin de garantir l'intégrité de leurs données.
  • Multi-processeurs

3. Architectures matérielles

Linux est supporté sur tout type d'architecture :

  • Serveurs d’entreprise
  • Serveurs de Data Center
  • Ordinateurs de bureau
  • Ordinateurs portables
  • Ordinateurs légers
  • Mainframes
  • Embarqués Industrie
  • Embarqués automobile, domotique, domestique, …
  • Appareils mobiles, appareils légers
  • CPE,
  • Périphériques d’infrastructure réseau/stockage/multimédia

3.1. Processeurs

ARM Intel/AMD
Architecture RISC Architecture CISC
A performance égale, réduction des coûts de production et meilleure efficacité thermique (ARM Cortex-A15 28nm 1.62mm²) Complexité matérielle plus coûteuse (AMD Jaguar 28nm 3.1mm²) en conception et en énergie
Stratégie commerciale : licence Intel/AMD
Unix Unix / Windows
Bootloader Bios

3.2. ARM Business Model

Les architectures ARM sont des architectures matérielles RISC 32 bits (ARMv1 à ARMv7) et 64 bits (ARMv8)1 développées par ARM Ltd depuis 1990 et introduites à partir de 1983 par Acorn Computers.

Dotés d'une architecture relativement plus simple que d'autres familles de processeurs, et bénéficiant d'une faible consommation, les processeurs ARM sont devenus dominants dans le domaine de l'informatique embarquée, en particulier la téléphonie mobile et les tablettes.

Ces processeurs sont fabriqués sous licence par un grand nombre de constructeurs.

Source : http://ir.arm.com/phoenix.zhtml?c=197211&p=irol-model et https://fr.wikipedia.org/wiki/Architecture_ARM

3.3. Matériel embarqué

On trouvera ici une liste des ordinateurs embarqués dans http://en.wikipedia.org/wiki/Comparison_of_single-board_computers

Dans laquelle on retrouve des plateformes ARM, Intel et AMD, mais aussi des architectures MIPS.

À titre d'exemple, Openwrt est une distribution Linux pour routeurs domestiques dont on trouve ici la liste.

Raspberry Pi

Par exemple, Raspberry Pi 3, A 1.2GHz 64-bit quad-core ARM Cortex-A53 CPU, 1Go RAM, 802.11n WLAN et Bluetooth 4.1 intégrés, source : https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/

Globalscale Mirabox

Gobalscale Mirabox, Source : http://wiki.ipfire.org/en/hardware/arm/globalscale/mirabox

  • 1.2Ghz Marvell Armada CPU ARMADA 370 ARM v7 compliant
  • 802.11b/g/n Wifi with Marvell 88W8787 and Bluetooth 3.0
  • 1GB DDR3
  • 1 GB NAND Flash
  • 2 each 10/100/1000 Ethernet Ports
  • 2 each USB 3.0 host
  • 1 microsd card slot/reader, 1 additional Mini PCIe slot for expansion (internal) For additional 2x2, 3x3, 4x4 WiFi Radios, or 3G modules
  • 3 LED controlled by GPIO, reset button
  • external power supply
  • Port for JTAG and Debugging options

4. Qu’est-ce que Linux ?

  • Linux est d’abord le nom d’un noyau (le contrôleur central)
  • Avec quelques outils supplémentaires, on obtient un système d’exploitation (OS) :
    • Un environnement Shell (une ligne de commande)
    • La gestion du système (ajouter des utilisateurs,...)
    • Des applications (mail, web, développement,...)
    • Le tout est mis dans une distribution Linux :
    • dépôts de paquetages, maintenance des logiciels, scripts de lancement,…
  • interfaces graphiques, communautés, ...

4.1. Origine de Linux

  • Créé en 1991 par Linus Torvalds pour des processeurs 80386, il y a plus de 20 ans.
  • Reproduit le comportement d’un noyau UNIX (1969).
  • Repris par une communauté de développement.
  • Le projet GNU ajoute une série d’outils autour du noyau.

4.2. Qu’est-ce que Unix ?

  • Unix a été créé par Bell Labs en 1969.
  • Populaire dans les milieux académiques et sur les Mainframes (1980).
  • Donne le nom à une famille de systèmes d’exploitation (notamment FreeBSD, NetBSD et OpenBSD), Dalvik/Linux (Android), GNU/Linux, iOS et OS X.
  • Le nom « UNIX » est une marque déposée de l'Open Group, qui autorise son utilisation pour tous les systèmes certifiés conformes à la Single UNIX Specification.

4.3. Famille Unix

4.4. Que fait Linux ?

  • Le noyau gère les processus applicatifs
  • Attribue et récupère la mémoire
  • Gère les accès aux disques et au processeur (CPU)
  • Met une couche d’abstraction sur le matériel pour des applications “hardware-agnostic”
  • Fournit la sécurité et l’isolation des utilisateurs
  • Est capable de passer à la gestion de processus multiples (preemptive multitasking, SMP)

4.5. Ubiquité du noyau Linux

Ubiqiuité du noyau Linux.

5. GNU

GNU est un projet de système d’exploitation libre lancé en 1983 par Richard Stallman, puis maintenu par le projet GNU. Son nom est un acronyme récursif qui signifie en anglais « GNU’s Not UNIX » (littéralement, « GNU n’est pas UNIX »). Il reprend les concepts et le fonctionnement d’UNIX. Le système GNU permet l’utilisation de tous les logiciels libres, pas seulement ceux réalisés dans le cadre du projet GNU. Son symbole est un gnou, un animal vivant en Afrique.

Il existe à ce jour deux distributions du système d’exploitation GNU :

  • Arch Hurd ;
  • Debian GNU/Hurd.

GNU/Linux (souvent appelé "Linux") est une variante du système d'exploitation GNU fonctionnant avec le noyau Linux. Le projet GNU avait originellement prévu le développement du noyau Hurd pour compléter le système, mais au début des années 1990, Hurd ne fonctionnait pas encore et son développement rencontrait encore des difficultés. L’arrivée du noyau Linux permit l’utilisation du système GNU sur les ordinateurs animés par des microprocesseurs de la famille Intel x86, en favorisant sa large diffusion par la complémentarité des projets.

Source : https://fr.wikipedia.org/wiki/GNU

6. Evolution des OS

  • Support de la virtualisation
  • Support accru pour les architectures autres qu’Intel
  • Support de la reconnaissance automatique du matériel
  • Un support et un développement communautaire

7. Open Source

  • Les êtres humains conçoivent des applications, des systèmes et des idées en langue intelligible pour les machines : du code à exécuter.
  • Le terme "Open Source" pour correspondre à l'idée que vous avez accès au code et que vous pouvez modifier ce code.

8. Références

Commentaires