OVH Cloud OVH Cloud

[FreeBSD] option SysV du noyau

7 réponses
Avatar
gregg
Il y a un post un peu plus haut sur les nécessités de recompiler un noyau.
Et en farfouillant dans le LINT de la 4.9RC3, je vois des "options" pour
la mémoire paratgée, les sémaphores, et les messages à la SysV.

Je me demandais: à quoi elle servent celles-là ?
(leur raison d'être, quoi)

gregg

7 réponses

Avatar
Jacques Caron
Salut,

On Thu, 23 Oct 2003 16:00:15 +0200, gregg
wrote:

Il y a un post un peu plus haut sur les nécessités de recompiler un
noyau.
Et en farfouillant dans le LINT de la 4.9RC3, je vois des "options" pour
la mémoire paratgée, les sémaphores, et les messages à la SysV.

Je me demandais: à quoi elle servent celles-là ?
(leur raison d'être, quoi)


La raison d'être des fonctionnalités SysV ou des options qui leur sont
associées?

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
gregg
La raison d'être des fonctionnalités SysV ou des options qui leur sont
associées?


je suppose que les fonctionnalités SysV sont demandées par certains
programmes particuliers ?
En ce cas, faire une unique option "compat SysV" aurait été plus pratique.

Donc j'en déduis que ces fonctionnalités sont, séparément, utiles à
certains.
Pourquoi ?
(du SysV dans mon BSD)

Avatar
Stephane Dupille
Il y a un post un peu plus haut sur les nécessités de recompiler un noyau.
Et en farfouillant dans le LINT de la 4.9RC3, je vois des "options"
pour la mémoire paratgée, les sémaphores, et les messages à la SysV.


Oui.

Je me demandais: à quoi elle servent celles-là ?
(leur raison d'être, quoi)


Ce sont des systèmes de communication interprocessus et de
synchronisation de processus. Ce sont des éléments très utiles, qui
devraient toujours être gardés dans le noyau (sauf si on sait vraiment
ce qu'on fait, par exemple, pour un routeur léger où la plcae est
comptée).

C'est utilisé, par exemple, par PostgreSQL :

[gimli] ~> ipcs
Message Queues:
T ID KEY MODE OWNER GROUP

Shared Memory:
T ID KEY MODE OWNER GROUP
m 65536 5432001 --rw------- pgsql pgsql

Semaphores:
T ID KEY MODE OWNER GROUP
s 65536 5432001 --rw------- pgsql pgsql
s 65537 5432002 --rw------- pgsql pgsql
s 65538 5432003 --rw------- pgsql pgsql


--
GA> Les moyens qui auraient tendance à faire de sales remarques
GA> éviteront le groupe des débutants.
Et j'ai une tour en fer à vendre, à côté de la Seine.
-+-TP in : <http://www.le-gnu.net> - Bien blouser le neuneu -+-

Avatar
gregg
Stephane Dupille wrote:

< couic >


Je me demandais: à quoi elle servent celles-là ?
(leur raison d'être, quoi)




*elleS
(au passage, pfff. Que je suis mauvais )



Ce sont des systèmes de communication interprocessus et de
synchronisation de processus. Ce sont des éléments très utiles, qui
devraient toujours être gardés dans le noyau (sauf si on sait vraiment
ce qu'on fait, par exemple, pour un routeur léger où la plcae est
comptée).


ok.
je connaissais (un tout petit peu) ces fonctionnalités, mais c'est le
"SysV" qui m'a intrigué.
(en général, on oppose les façons de faire "SysV" et "BSD", alors voilà)

Merci pour la réponse en tout cas.


Avatar
Stephane Dupille
je connaissais (un tout petit peu) ces fonctionnalités, mais c'est le
"SysV" qui m'a intrigué.


Parce que c'est sur les Systèmes V que ces fonctionnalités sont
apparues. Sur BSD, ce sont les sockets qui sont apparues (et qui ont
longtemps été concurrentes des IPC SysV).

(en général, on oppose les façons de faire "SysV" et "BSD", alors voilà)


C'est parce que chacun des deux systèmes trimballait son mécanisme
d'IPC.

Merci pour la réponse en tout cas.


Ah mais de rien.

--
L'idée serait bonne si seulement beaucoup de personnes ne venaient pas
sur internet sans avoir auparavant lue un bouquin qui leur aurait
permis d'apprendre quelques règle non écrites mais relevant du bon sans
-+- JB in GNU : Bien lire les règles non écrites à sans pour sens.

Avatar
Jacques Caron
Salut,

On Thu, 23 Oct 2003 16:31:00 +0200, gregg
wrote:

je suppose que les fonctionnalités SysV sont demandées par certains
programmes particuliers ?


Oui. Parmi les "classiques", PostgreSQL utilise ça beaucoup, et il me
semble qu'il y a un des environnements X11 qui s'en sert aussi. Et j'ai eu
pas mal de softs "maison" qui utilisaient certaines de ces fonctionnalités
(ben oui je suis passé par la case SysV avant la case BSD, ça laisse des
traces...).

En ce cas, faire une unique option "compat SysV" aurait été plus
pratique.


Pas forcément, tout le monde n'a pas forcément besoin de toutes ces
fonctionnalités, et elles consomment de la place dans le noyau, pouvoir
les activer ou désactiver séparément est une bonne chose. Et d'ailleurs si
ma mémoire est bonne s'était comme ça en SysV aussi.

Donc j'en déduis que ces fonctionnalités sont, séparément, utiles à
certains.
Pourquoi ?
(du SysV dans mon BSD)


Ben moi je sais que j'avais des applis pour lesquelles j'utilisais
uniquement des shm par exemple, j'étais bien content de ne pas avoir à
encombrer mon noyau avec des queues et des sémaphores dont je ne me
servais pas. C'est vrai que ça devient moins critique de nos jours sur la
plupart des machines, mais c'est toujours bien de pouvoir "tuner" son
noyau en fonction de ses besoins. Tu noteras par contre que les
fonctionnalités SysV sont désormais par défaut dans GENERIC (alors
qu'avant il fallait les ajouter).

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
espie
In article <3f97e5bc$0$229$,
gregg wrote:
La raison d'être des fonctionnalités SysV ou des options qui leur sont
associées?


je suppose que les fonctionnalités SysV sont demandées par certains
programmes particuliers ?
En ce cas, faire une unique option "compat SysV" aurait été plus pratique.

Donc j'en déduis que ces fonctionnalités sont, séparément, utiles à
certains.
Pourquoi ?
(du SysV dans mon BSD)


Bah, il y a plein de BSD dans SysV, les sockets par exemple.

Les fonctionnalites SysV en question (semaphore, memoire partagee) sont
une des facons de faire communiquer les process qui s'est beaucoup repandue
a une epoque, et formalisee seulement apres. En fait, j'ai plus souvent
vu des programmes utiliser les segments de memoire partagee `a la SysV' que
la variante POSIX qui est sortie ensuite...

La seule raison d'etre de cette option est historique. C'est du delire de
compiler un noyau sans cette option. Pratiquement tous les programmes qui
sont composes de plusieurs process et ont des interactions rapides non
triviales s'en servent. Ce qui recouvre entre autres mysql, ogle, xanim,
mplayer et... les grosses polices de X-Windows!