====== Généralités sur les sytsèmes d'exploitation et UNIX ======

Le but du noyau est d'abstraire au plus le matériel, de sorte qu'on puisse utiliser les programmes qu'importe le matériel derrière (notion de changement facile de matériel).

UNIX, comme le C, considère que le programmeur ou l'utilisateur est responsable. Donc il doit faire attention à ce qu'il fait.

Déterminisme : prévoir d'avance comment va réagir le système

Ordonnancement : découper le temps pour éxecuter en partie certains processus. On parle souvent de tourniquet, on prend le processus de niveau 0, puis on met sous la pile, on prend le niveau 1, on l'éxecute, etc.

Denis Ritchie : le "papa du C"

En 1970 ils bossaient en assembleur.

Linux est POSIX, mais n'est pas Unix. Cependant Linux est libre.

Modulaire : plusieurs modules qu'on assemble

Le mot de passe est crypté dans le fichier /etc/passwd

Le plus facile pour faire un mot de passe est de mémoriser une phrase facile et de prendre certains caractères : 
"Un phrase facile à mémoriser" => upfam

Tout est fichier, pipe, l'écran, le clavier, etc. Écran = fichier dans lequel on écrit, clavier = fichier dans lequel on lit, etc.

UNIX ne prend pas en compte les extensions comme Windows. Qu'importe l'extension d'un fichier il le prendra toujours de la même manière.

====== Le shell votre nouveau meilleur ami ======

2 types de liens : 

  * symboliques
  * inode (physique)

Symbolique : si vous supprimer le lien, ça supprime tout ce qu'il y a derrière
Physique : faut supprimer tout pour être sûr d'avoir supprimé la chose

sort -uu : enlève aussi les doublons


