qu'est-ce que Linux avril

藏色散人
藏色散人original
2023-04-06 11:29:551360parcourir

linux apr fait référence à la bibliothèque d'exécution portable Apache, et son nom complet en anglais est « Bibliothèques d'exécution portables Apache » ; elle fournit principalement des applications de couche supérieure avec une bibliothèque d'interface de support de niveau inférieur qui peut être utilisée sur plusieurs systèmes d'exploitation. plates-formes.

qu'est-ce que Linux avril

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.

Qu'est-ce que Linux Apr ?

Introduction à Apache apr

Le but de l'APR (Apache portable Run-time library, Apache portable Runtime library) est, comme son nom l'indique, principalement de fournir aux applications de couche supérieure un support de niveau inférieur qui peut être utilisé sur plusieurs plates-formes de système d'exploitation Bibliothèque d'interface. Dans les premières versions d'Apache, l'application elle-même devait être capable de gérer les détails de diverses plates-formes de système d'exploitation spécifiques et d'appeler différentes fonctions de traitement pour différentes plates-formes.

Avec le développement ultérieur d'Apache, l'organisation Apache a décidé de séparer ces fonctions communes et de les développer dans un nouveau projet. De cette manière, le développement d’APR est indépendant d’Apache, et Apache utilise uniquement APR. À l'heure actuelle, APR est principalement utilisé par Apache. Cependant, en raison de la meilleure portabilité d'APR, certains programmes C qui doivent être transplantés ont également commencé à utiliser des projets open source APR tels que Flood Loader (http://httpd.apache). .org/test/flood/, ce projet est utilisé pour les tests de stress du serveur, non seulement applicable à Apache), FreeSwitch (www.freeswitch.org), JXTA-C (http://jxta-c.jxta.org, C version de mise en œuvre de la plateforme point à point JXTA) ; les projets commerciaux incluent Blogline (http://www.bloglines.com/), covalent (http://www.covalent.net), etc.

APR déplace le traitement des détails de la plate-forme vers le bas. Pour les applications En d'autres termes, ils n'ont pas du tout besoin de prendre en compte la plate-forme spécifique. Qu'il s'agisse d'Unix, de Linux ou de Windows, l'interface d'exécution des applications est fondamentalement unifiée. Par conséquent, pour l'APR, la portabilité et le niveau supérieur unifié. -layer sont ses considérations. Un point important. Le but initial d'APR n'était pas celui-ci. Il voulait à l'origine fusionner tout le code utilisé dans Apache dans une base de code commune. Cependant, ce n'était pas une stratégie correcte, donc APR a changé par la suite. ses objectifs. Parfois, l'utilisation d'un code commun n'est pas une bonne chose. Par exemple, la façon de mapper une requête à un thread ou un processus est spécifique à la plate-forme, donc une seule base de code commune ne peut pas compléter cette distinction. L'objectif de l'APR est de fusionner en toute sécurité. toutes les capacités. Fusionnez le code sans sacrifier les performances.

L'un des premiers objectifs d'APR est de fournir une interface de fonction d'exploitation unifiée commune pour toutes les plates-formes (pas seulement pour certaines). objectif irréaliste. Il nous est impossible de prendre en charge toutes les fonctionnalités de toutes les plates-formes, c'est pourquoi APR ne prend actuellement en charge que toutes les fonctionnalités d'APR pour la plupart des plates-formes, notamment Win32, OS/2, BeOS, Darwin, Linux, etc. Dans ce but, APR est développé. Les auteurs doivent créer une série de macros de fonctionnalités (FEATURE MACROS) pour les fonctionnalités qui ne peuvent pas s'exécuter sur toutes les plateformes afin de distinguer ces fonctionnalités entre les plateformes. La définition de ces macros de fonctionnalités est très simple, généralement définie avec le paramètre APR_HAS_FEATURE. :

Si un certain Si la plate-forme dispose de cette fonctionnalité, cette macro doit être définie sur true. Par exemple, Linux et Windows ont des fichiers mappés en mémoire, et APR fournit donc une interface d'opération pour les fichiers mappés en mémoire. , la macro APR_HAS_MMAP doit être définie et ap_mmap_* La fonction doit mapper le fichier disque en mémoire et renvoyer le code d'état approprié. Si votre système d'exploitation ne prend pas en charge le mappage de mémoire, alors APR_HAS_MMAP doit être défini sur 0 et toutes les fonctions ap_mmap_*. peut ne pas être défini. La deuxième étape consiste à avertir ceux qui utilisent des fonctions non prises en charge dans le programme.

Les types de base actuellement pris en charge dans APR sont les suivants :

Tableau 3-1 Types de base pris en charge dans APR

/apr/tablesTableau Apache ( pile) et les tables et tables de hachageprocess/apr/threadprocopérations de processus et de thread

Nom du type

Nom du dossier

Description

atomic

/apr/atomic

opération atomique

dso

/apr/dso

Chargement dynamique des bibliothèques partagées

fichier io

/apr/file_io

Traitement des E/S de fichier

mmap

/apr/mmap

Fichier mappé en mémoire

serrures

/ apr/locks

Mutex de processus et de threads

memory

/apr/memory

Opérations de pool de mémoire

network_io

/apr/network_io Traitement des IO réseau

user

/apr/user

Opérations des utilisateurs et des groupes d'utilisateurs

time

/apr/time

Opération temporelle

string

/apr/strings

Opérations sur les chaînes

password

/apr/passwd

Traitement du mot de passe du terminal

divers

/ avr /misc

Hodgepodge, tout type d'apr qui n'appartient pas au reste des classes peut y être placé

shmem

/apr/shmem

mémoire partagée

random

/apr/random

Bibliothèque de génération de nombres aléatoires

Le projet apr d'Apache se compose actuellement de trois parties, à savoir apr, apr-util, apr-iconv
apr contient certains Composants de développement courants, notamment mmap, DSO, etc.
apr-util Ce répertoire contient également certains composants de développement couramment utilisés. Ces composants sont plus étroitement liés à Apache que ceux du répertoire apr. Tels que les segments de stockage et les groupes de segments de stockage, le chiffrement, etc.
Les fichiers du package apr-iconv sont principalement utilisés pour implémenter l'encodage iconv. La plupart des processus de transcodage actuels sont liés aux encodages natifs. Vous devez être capable de définir correctement l'encodage local avant la conversion. Par conséquent, si deux codes non locaux A et B doivent être convertis, le processus de conversion est approximativement A->Local et Local->B ou B->Local et Local->A.
La dernière adresse de téléchargement des trois packages ci-dessus est :
http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz
http://labs.mop.com/apache-mirror//apr/apr-util-1.4.1.tar.gz
http://labs.mop.com/apache-mirror//apr/apr-iconv-1.2.1.tar.gz

Recommandations associées : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn