抽象化レイヤー(ちゅうしょうかレイヤー、または抽象化層)は、高レベルのリクエストを、そのリクエストを実行するために必要な低レベルのコマンドに変換するメカニズムである[1]。また、ある特定の機能の詳細な実装を隠す手段である。抽象化レイヤーを用いたソフトウェアモデルで有名なものとしては、コンピュータ・ネットワーク・プロトコルのOSI参照モデルや、OpenGLのグラフィック描画ライブラリ、あるいはUNIXで生まれてMS-DOSやLinuxなど最近のオペレーティングシステムのほとんどが採用しているバイトストリーム入出力モデルなどがある。 UNIXでは、ほぼすべての入出力を、装置から読み込んだり装置に書き込んだりするバイトの連なりとみなす。装置の独立性を達成するために、ファイルI/O、ソケットI/O、端末I/Oなどでこのバイトの連なりモデルが使われている。アプリケーションが装置に対して読み書きを行う