Red de conocimiento informático - Conocimiento informático - ¿Cómo explicar la API en lenguaje sencillo?

¿Cómo explicar la API en lenguaje sencillo?

Una API (Interfaz de programación de aplicaciones) es un conjunto de funciones o convenciones predefinidas que se utilizan para conectar diferentes componentes de un sistema de software. Su propósito es brindar a las aplicaciones y a los desarrolladores la capacidad de acceder a un conjunto de rutinas basadas en software o hardware sin tener que acceder al código fuente ni comprender los detalles del funcionamiento interno.

El sistema operativo es la interfaz entre el usuario y el sistema de hardware de la computadora. Con la ayuda del sistema operativo, el usuario puede operar de manera rápida, eficiente, segura y confiable diversos recursos en el sistema informático y procesarlos. propios programas. Para permitir a los usuarios utilizar el sistema operativo fácilmente, el sistema operativo proporciona a los usuarios las dos interfaces siguientes:

1 Interfaz de usuario

El sistema operativo proporciona específicamente a los usuarios ". interfaz de usuario del sistema operativo", a menudo llamada interfaz de usuario. Esta interfaz admite la interacción entre el usuario y el sistema operativo, es decir, el usuario solicita servicios específicos del sistema operativo y el sistema devuelve los resultados del servicio al usuario.

2. Interfaz del programa

El sistema operativo proporciona a los programadores la "interfaz entre el programa y el sistema operativo", es decir, la interfaz del programa, también conocida como interfaz de programación de aplicaciones. (API).

Esta interfaz es utilizada por los programadores al programar. A través de esta interfaz, los sistemas y aplicaciones pueden acceder a los recursos y servicios del sistema operativo al ejecutar el sistema. También es la única forma en que los programas obtienen el sistema operativo. servicios. La mayoría de las interfaces de programas del sistema operativo constan de un conjunto de llamadas al sistema, cada una de las cuales es una subrutina que realiza una función específica.

1. API de Windows

Las funciones de la API se incluyen en los archivos de la biblioteca de enlaces dinámicos en el directorio del sistema de Windows. Llamar a los diversos servicios de este centro de servicios (cada servicio es una función) puede ayudar a la aplicación a abrir ventanas, dibujar gráficos y utilizar dispositivos periféricos. Dado que los objetos de servicio de estas funciones son aplicaciones, se denominan interfaz de programación. como función API. La API WIN32, también conocida como interfaz de programación de aplicaciones WIN32, es la interfaz de programación de aplicaciones de la plataforma Microsoft Windows de 32 bits.

2. API de Linux

En Linux, la API de la interfaz de programación de usuario sigue el estándar POSIX, el estándar de interfaz de programación de aplicaciones más popular en UNIX. El estándar POSIX es un sistema estándar desarrollado conjuntamente por IEEE e ISO/IEC****. El estándar se basó en las prácticas y la experiencia de UNIX existentes en ese momento y describía la API de la interfaz de programación de llamadas al sistema del sistema operativo para garantizar que las aplicaciones pudieran trasladarse para ejecutarse en múltiples sistemas operativos en el nivel del programa fuente. Estas interfaces de programación de llamadas al sistema se implementan principalmente a través de la biblioteca C (LIBC).

上篇: ¿Cómo acceder a un servidor Linux detrás de NAT a través de un túnel SSH inverso? Además del reenvío de puertos SSH, otro método es el túnel inverso SSH. El concepto de túnel inverso SSH es realmente muy simple. Para hacer esto, necesita tener otro host fuera de su red doméstica restringida, un llamado "host de retransmisión" al que pueda conectarse mediante SSH desde su ubicación. Puede utilizar una instancia de servidor privado virtual (VPS) con una dirección IP pública para configurar un host de retransmisión. Luego, todo lo que necesita hacer es configurar un túnel SSH persistente desde un servidor en su red doméstica hasta un host de retransmisión público. A través de este túnel puede conectarse "de regreso" desde el host de retransmisión al servidor doméstico (por eso se llama túnel "inverso"). No importa dónde se encuentre ni cuán restrictivo sea el NAT o el firewall en su red doméstica, siempre que pueda conectarse al host de retransmisión, podrá conectarse al servidor doméstico. \x0d\ Configurando un túnel inverso SSH en Linux \x0d\ Veamos cómo configurar y usar un túnel inverso SSH. Suponemos la siguiente configuración. Construiremos un túnel inverso SSH desde el servidor doméstico al servidor de retransmisión para que podamos enviar SSH al servidor doméstico desde otra computadora llamada computadora cliente a través del servidor de retransmisión. La dirección IP pública del servidor de retransmisión es 1.1.1.1. \x0d\En el servidor doméstico, abra una conexión SSH al servidor de retransmisión como se muestra a continuación. \x0d\homeserver ~$ ssh-fn-r 10022:localhost:22 Relayserver_user@1.1.1\x0d\El puerto aquí es 10022. Sólo asegúrese de que el puerto no esté siendo utilizado por otros programas en el servidor de retransmisión. \ x0d \ La opción "-r 10022:localhost:22 " define un túnel inverso. Reenvía el tráfico a través del puerto 1022 del servidor de retransmisión al puerto 22 del servidor doméstico. \x0d\ Si usa la opción "-fN", SSH pasará directamente a segundo plano una vez que se haya autenticado exitosamente e haya iniciado sesión en el servidor SSH. Esta opción es útil si no desea ejecutar ningún comando en el servidor SSH remoto y solo desea reenviar el puerto, como en el ejemplo de este artículo. \x0d\Después de ejecutar el comando anterior, regresará directamente al símbolo del sistema del servidor doméstico. \x0d\ Inicie sesión en el servidor de retransmisión y verifique que 127.0.0.1:10022 esté vinculado a sshd. En caso afirmativo, significa que el túnel inverso se ha establecido correctamente. \x0d\relayserver~ $ sudonestat-nap | grep 10022 \x0d\TCP 00127. 0. 0. 1:10022 0. 0. 0:* escucha 8448. Luego acceda al servidor doméstico como se muestra a continuación. \x0d\relay server ~$ SSH -p 10022 homeserver _ user @ localhost \x0d \Una cosa a tener en cuenta es que la información de inicio de sesión SSH/contraseña que ingrese para localhost debe ser apropiada para el servidor doméstico, no para el servidor de retransmisión, ya que Estás iniciando sesión en el servidor doméstico a través del punto final local del túnel. Por lo tanto, no ingrese la información de inicio de sesión/contraseña del servidor de retransmisión. Después de iniciar sesión correctamente, estará conectado a su servidor doméstico. \x0d\Conéctese directamente al servidor detrás de NAT a través del túnel inverso SSH\x0d\Aunque el método anterior puede conectarse al servidor doméstico detrás de NAT, requiere dos inicios de sesión, primero en el servidor de retransmisión y luego en el servidor doméstico. Esto se debe a que el punto final del túnel SSH en el servidor de retransmisión está vinculado a la dirección de loopback (127.0.0.1). \x0d\Pero, de hecho, siempre que inicie sesión en el servidor de retransmisión una vez, puede conectarse directamente al servidor doméstico detrás de NAT. Para hacer esto, necesita tener sshd en los puertos de reenvío del servidor de retransmisión no solo desde la dirección de loopback, sino también desde el host externo. Esto se puede lograr especificando la opción GatewayPorts en sshd que se ejecuta en el servidor de retransmisión. \x0d\Abra el /etc/ssh/sshd_conf del servidor de retransmisión y agregue las siguientes líneas. 下篇: Sun Yi y Dong Zijian anunciaron oficialmente su divorcio y se confirmó la custodia de su hija. ¿Cómo se distribuirán sus bienes?