入出力(にゅうしゅつりょく、英: input/output)は、データなどの「ものごと」の流れにおける出入りのことで、入力と出力の2つを総称した概念のことである。input/outputの頭文字をとってI/O(アイオー)と略されることがある。
情報処理の考え方に基づくモデルにおいて入出力は、データや情報などを加工する過程(プロセス)の前処理と後処理と考えられ、情報処理は、入出力があることによって完結し得るものだと考えられている。
入出力は、データ・情報の信用性、利用者とシステムの親和性などとかかわっており、入力と出力の間にどのような優れたデータ・情報の加工処理があろうとも、入出力に不備があったり、利用者にストレスを感じさせたりするものであると、処理全体の意味が半減する。
また、一般的な利用者にとっては、全体の処理一般を詳細に把握しておくことは難しい。このため、処理に関して一般的な利用者が行う評価は、入力したものと出力されたものの差違を比べることによって行われることも少なくない。
オペレーティングシステム(OS)では、ユーザ向けに、デフォルトの入出力経路や装置を用意していることが多い。
以下はUNIX(およびMS-DOSなど、いわゆるUNIX風のシステム)のプロセスにおいてデフォルトのファイル記述子に対応する、標準入出力と呼ばれる入出力。カッコ内は略称(C言語の標準のライブラリ仕様にも含まれている)。
以下はMS-DOSが、標準で用意している、装置の入出力。カッコ内は同じく略称。
コンピュータにより、備わっている入出力の種類や個数は異なる。しかし、オペレーティングシステムは、それらや他の種類のファイルなどを全て、ファイル記述子といったものに抽象化し、同列の存在として扱うようにしていることが多い。
ファイル記述子(など)の入出力先を切り替える事を、リダイレクトと言う。
(注: ユーザインタフェース以外にも入出力はある)
仮想入出力とは、コンピューター処理において仮想化された技法。「作業ファイルを仮想記憶に展開するアクセス法」(『コンピューター用語辞典』より)[2]。英語の「virtual input/output」の頭文字をとって「VIO」と略記する。I/Oの仮想化を「I/O virtualization」(IOV)という。
この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。