シリアライズ 【serialize】 シリアル化 / 直列化 / シリアライゼーション / serialization

概要

シリアライズ(serialize)とは、複数の要素を一列に並べる操作や処理のこと。単にシリアライズといった場合には、プログラムの実行状態や複雑なデータ構造などを一つの文字列バイト列で表現する「直列化」を指すことが多い。

様々な要素を組み合わせた複合的なデータや、コンピュータで実行中のプログラムメインメモリ上に展開しているオブジェクトなどを、一定のデータ形式や変換規則に従って文字列バイト列に変換し、保存したり送受信できるようにすることを指す。

プログラムが処理している複雑なデータオブジェクトなどのある瞬間の状態(スナップショット)を丸ごと固定することができ、ストレージに永続的に保存したり、ネットワークを通じて他のコンピュータに送ったりすることができる。

シリアライズされたデータを元の状態や形式に復元する作業や処理のことは「デシリアライズ」(deserialize)という。プログラムの実行状態をシリアライズした場合にはデシリアライズによってシリアライズ時点の状態から処理を再開することができる。

逐次化

マルチタスクマルチスレッドで複数のプログラムが並行に動作している環境で、同じ資源へのアクセスが同時にわれないよう順番にアクセス要求を処理する「逐次化」の仕組みをシリアライズということがある。

ある資源への書き込みがわれている最中に別のプログラムが同時に書き込みをうと、内容が矛盾したり破壊されてしまうことがある。このような競合を避けるため、資源にアクセスしようとするプログラムに並ばせるように待機させ、一つずつ順番にアクセスさせる仕組みを指す。

よく用いられる手法としては、資源の利用中に他の主体のアクセスを拒否する排他制御(exclusive control)や、資源を利用するための「」を明示的に用意し、先頭に登録した主体から順番にアクセスさせるキューイングqueueing)などがある。

(2018.10.2更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる