issue190:c_c
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
issue190:c_c [2023/02/28 11:40] – d52fr | issue190:c_c [2023/02/28 11:53] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
**I was observing – not participating in – a discussion on shells and realizing there is a large gap in what a shell is, where it fits in, and what the perception is thereof. This issue, I want to explain the difference between the kernel and a shell. Imagine a three-layer cake. The bottom layer is your kernel, the middle layer is your shell, and the top layer is your application layer. The kernel is all about handling hardware. When I say handling hardware, what I mean is that it allocates memory or it handles input & output, say to your disk. In other words, it manages stuff. Something needs CPU time, the kernel will schedule that. All the security and protection also happens here, within the kernel. So, when a system call happens, it is what responds to that system call. This may not be of interest to you, but to understand what a system call is, think of it this way – when you ‘call’ the system to send a packet over the network, or ‘call’ the system to read a file from disk, or call the system to do some task for us, that is a system call. I don’t know how this makes sense to a native English speaker, but to me it made no sense at first, but instead of thinking of your mother calling you to come inside, think of it more of a telephone call where you order some sand to be delivered at your home, so you can mix cement to build a wall.** | **I was observing – not participating in – a discussion on shells and realizing there is a large gap in what a shell is, where it fits in, and what the perception is thereof. This issue, I want to explain the difference between the kernel and a shell. Imagine a three-layer cake. The bottom layer is your kernel, the middle layer is your shell, and the top layer is your application layer. The kernel is all about handling hardware. When I say handling hardware, what I mean is that it allocates memory or it handles input & output, say to your disk. In other words, it manages stuff. Something needs CPU time, the kernel will schedule that. All the security and protection also happens here, within the kernel. So, when a system call happens, it is what responds to that system call. This may not be of interest to you, but to understand what a system call is, think of it this way – when you ‘call’ the system to send a packet over the network, or ‘call’ the system to read a file from disk, or call the system to do some task for us, that is a system call. I don’t know how this makes sense to a native English speaker, but to me it made no sense at first, but instead of thinking of your mother calling you to come inside, think of it more of a telephone call where you order some sand to be delivered at your home, so you can mix cement to build a wall.** | ||
- | J’observais – je n’y participais pas – une discussion sur les shells et je me rendais compte du fait qu’il y a un grand écart entre ce qu’est un shell, où il se place et la perception qu’en ont les gens. Dans ce numéro-ci, je veux expliquer la différence entre le noyau et un shell. Imaginez un gâteau qui a trois niveau. Le niveau du bas est le noyau, le niveau du milieu est le shell et le niveau du haut est celui des applications. Le noyau gère le matériel. Quand je dis cela, je veux dire qu’il répartit la mémoire ou qu’il gère les entrées et les sorties, disons de et vers votre disque. Autrement dit, il gère des trucs. Un truc a besoin d'un peu de temps du processeur et le noyau planifiera ce qui est nécessaire. Toute la sécurité et la protection a lieu à l’intérieur du noyau aussi. Ainsi, quand un appel système a lieu, c’est le noyau qui y répond. Cela peut ne pas vous intéresser, | + | J’observais – je n’y participais pas – une discussion sur les shells et je me rendais compte du fait qu’il y a un grand écart entre ce qu’est un shell, où il se place et la perception qu’en ont les gens. Dans ce numéro-ci, je veux expliquer la différence entre le noyau et un shell. Imaginez un gâteau qui a trois niveau. Le niveau du bas est le noyau, le niveau du milieu est le shell et le niveau du haut est celui des applications. Le noyau gère le matériel. Quand je dis cela, je veux dire qu’il répartit la mémoire ou qu’il gère les entrées et les sorties, disons de et vers votre disque. Autrement dit, il gère des trucs. Un truc a besoin d'un peu de temps du processeur et le noyau planifiera ce qui est nécessaire. Toute la sécurité et la protection a lieu à l’intérieur du noyau aussi. Ainsi, quand un appel système a lieu, c’est le noyau qui y répond. Cela peut ne pas vous intéresser, |
**The shell is an interface between the user and the system and the kernel is an interface between system calls and the actual hardware. | **The shell is an interface between the user and the system and the kernel is an interface between system calls and the actual hardware. | ||
Ligne 11: | Ligne 11: | ||
Le shell est une interface entre l’utilisateur et le système ; le noyau est une interface entre les appels système et le matériel. | Le shell est une interface entre l’utilisateur et le système ; le noyau est une interface entre les appels système et le matériel. | ||
- | Vous pouvez aussi entendre parler d’« espaces » - espace noyau et espace utilisateur. Cela ne fait que regrouper les trucs ensemble dans l’« espace » où ils « vivent ». Le lecteur VLC et Inkscape sont des applications qui vivent dans l’espace utilisateur. Vous, en tant qu’utilisateur, | + | Vous pouvez aussi entendre parler d’« espaces » - espace noyau et espace utilisateur. Cela ne fait que regrouper les trucs ensemble dans l’« espace » où ils « vivent ». Le lecteur VLC et Inkscape sont des applications qui vivent dans l’espace utilisateur. Vous, en tant qu’utilisateur, |
Nous pouvons voir combien de temps une commande passe dans chacun des espaces en utilisant la commande « time » dans le terminal. Tapez : time ls | Nous pouvons voir combien de temps une commande passe dans chacun des espaces en utilisant la commande « time » dans le terminal. Tapez : time ls | ||
Ligne 39: | Ligne 39: | ||
Oui, je sais, mais restez avec moi, ma cible, ce sont les vrais débutants. | Oui, je sais, mais restez avec moi, ma cible, ce sont les vrais débutants. | ||
- | (J’ai découvert pourquoi j’ai dû refaire les semaines 47 & 48 l’année dernière...c’était évident). | + | (J’ai découvert pourquoi j’ai dû refaire les semaines 47 et 48 l’année dernière... c’était évident.) |
Faisons quelque chose d'un peu plus intensif pour avoir des valeurs partout. Si vous avez un répertoire avec des trucs dedans (inutile sur un répertoire vide !), tapez : time md5sum * | Faisons quelque chose d'un peu plus intensif pour avoir des valeurs partout. Si vous avez un répertoire avec des trucs dedans (inutile sur un répertoire vide !), tapez : time md5sum * |
issue190/c_c.1677580836.txt.gz · Dernière modification : 2023/02/28 11:40 de d52fr