ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js API の POSIX 標準の簡単な分析
POSIX とは何ですか?何が含まれていますか?次の記事では、Node.js API の POSIX 標準と Node.js API の特徴について説明します。
[推奨学習:「nodejs チュートリアル 」]
Node.js の API を使用したことがある方は、次のように感じますか?奇妙なことに、API の名前が次のようになっているのはなぜですか:
たとえば、ディレクトリを作成します:
const fs = require('fs'); fs.mkdir('/a/b/c', { recursive: true }, (err) => { if (err) throw err; });
プロセスを作成します:
const childProcess = require('child_process'); childProcess.fork('a/b/c.js'); childProcess.execFile('a/b/dddd'); childProcess.exec('"/path/to/test file/test.sh" arg1 arg2'); childProcess.spawn('ls', ['-lh', '/usr']);
mkdir、fork、exec、spawn 、など、名前は何ですか?起きましたか?
Linux コマンドまたは C 関数ライブラリを使用したことがある場合は、これらの API がコマンドおよび C 関数ライブラリでもこの名前を持っていることがわかります。
なぜそうなるのでしょうか?これらの API は標準ですか?
はい、これは POSIX 標準です。
POSIX は、ポータブル オペレーティング システム インターフェイス (ポータブル オペレーティング システム インターフェイス) の略語です。 x は unix を意味します。つまり、unix から継承されます。
OSが異なれば、提供する機能やシステムコールが異なれば、OSに基づく上位層アプリケーションのソースコードも異なるため、同じプラットフォーム上で書かれたコードが異なることになります。別のプラットフォームで使用できるようにするため、コンパイルします。 ######どうやってするの?
各オペレーティング システムが提供する API が同じだったらどうなるでしょうか?基盤となるオペレーティング システムがこれらの機能をどのように実装しているかに関係なく、同じ API をアプリケーションに公開するだけで済みます。このようにして、ソース コードはクロスプラットフォームであり、異なるオペレーティング システムでコンパイルした後に実行できます。
この統合オペレーティング システムによって公開される API の標準は POSIX です。
この POSIX 標準は、ts で定義されたインターフェイスとして理解でき、このインターフェイスの API が実装されている限り、POSIX 標準と互換性があります。
POSIX はもともと Unix の拡張機能でした。Linux は POSIX 標準を実装しました。その後、圧力により Windows は POSIX 標準との互換性を持たざるを得なくなりました。そうしないと、多くの Linux アプリケーションを Windows 上で実行できなくなります。 。私たちがよく使うOSXも同様です。
つまり、POSIX は、システム コール、C 関数ライブラリ、シェル コマンドなどの機能を上位レベルのアプリケーションに提供するオペレーティング システムの標準インターフェイスです。
いわゆる規格とは、ISO 国際標準化機構によって認められた規格のことで、さまざまな国に加盟する国際機関であり、さまざまな国際規格を策定している組織です。 POSIX は ISO/IEC 9945 規格です (IEC はエレクトロニクスの標準化団体です)。実は、POSIX はアメリカの標準化団体である IEEE によって提案されたものであり、その提案した標準は ISO に認められ、国際標準となります。 ISO/IEC 9945の規格となっています。POSIX の内容
プロセス制御:
fork は新しいプロセスを作成します#open ファイルを開きます
chdir 現在の作業ディレクトリを変更します
fs.stats fs.access fs.chown fs.mkdir fs.open fs.close fs.read fs.write child_process.fork child_process.exec child_process.execFileetc.
Node.js の機能。 js api
Node.js は js 実行時に、オペレーティング システム機能を提供する多くの API が v8 ベースの JS に挿入され、これらの API 設計の多くは、あまり抽象化せずに POSIX 標準 API 名を直接使用します。 。 Java の JRE (Java ランタイム) もオペレーティング システム機能の抽象化を提供しますが、これらの API はオペレーティング システムの POSIX API とはほとんど関係がなく、io ストリーム デコレーション デバイス モードなどの多くの設計パターンが組み込まれています。概要
POSIX 標準は、オペレーティング システム機能の標準であり、オペレーティング システムがアプリケーションに公開する必要がある API (シェル コマンド、C 関数ライブラリ、システムコールなどの規格。 POSIX 標準により、アプリケーションを異なるプラットフォームでコンパイルするだけで、ソース コード レベルでプラットフォーム間でアプリケーションを移植できるようになります。POSIX は、米国の標準化団体 IEEE によって最初に提案された、ISO によって認められた国際標準です。 ISO は国際標準のカスタマイズを専門とする組織であり、多くの国からメンバーが参加しています。
Node.js の API はあまり抽象化を行わず、名前のほとんどが POSIX 標準 API に似ています。これが Node.js の特徴です。対照的に、JRE によって Java に公開される API は抽象化を行います。 . 抽象度が高い。
Node.js の API の多くは C 関数ライブラリやシェル コマンドに近いため、Node.js をシェル コマンドと組み合わせて学習するか、C を理解している人はシステム関数ライブラリについてさらに詳しく学ぶことができます。 。 褒美。
Node.js API 設計を理解し、Node.js をよく学ぶには、POSIX を理解することが前提条件です。
プログラミング関連の知識について詳しくは、プログラミング ビデオをご覧ください。 !
以上がNode.js API の POSIX 標準の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。