process
「process」の意味・「process」とは
「process」は英語の単語で、一連の手続きや作業、方法を指す。また、自然現象や化学反応などの進行過程を表すこともある。例えば、製品を製造するための一連の手続きを「manufacturing process」と表現したり、地球の自然環境が変化する過程を「natural process」と表現することができる。「process」の発音・読み方
「process」の発音は、IPA表記では/prəˈsɛs/または/ˈproʊsɛs/となる。IPAのカタカナ読みでは「プラセス」または「プロウセス」となる。日本人が発音するカタカナ英語では「プロセス」と読む。なお、発音によって意味や品詞が変わる単語ではない。「process」の定義を英語で解説
「process」は、"A series of actions or steps taken in order to achieve a particular end"と定義される。これは、「特定の目的を達成するために取られる一連の行動や手順」という意味である。また、自然現象や化学反応などの進行過程を指す場合もある。「process」の類語
「process」の類語としては、「procedure」、「method」、「operation」、「system」などがある。「procedure」は特定の結果を達成するための手順や方法を指し、「method」は問題を解決するための手段や方式を指す。「operation」は具体的な作業や手術を指し、「system」は組織的な方法や秩序を指す。「process」に関連する用語・表現
「process」に関連する用語や表現としては、「processing」、「processed」、「process-oriented」などがある。「processing」は「処理中」や「加工中」を意味し、「processed」は「処理された」や「加工された」を意味する。「process-oriented」は「プロセス重視の」や「プロセス指向の」という意味で、結果よりも過程を重視することを表す。「process」の例文
1. The manufacturing process of this product is very complex.(この製品の製造過程は非常に複雑である。)2. The natural process of evolution takes millions of years.(進化という自然の過程は何百万年もの時間を要する。)
3. The process of learning a new language can be challenging.(新しい言語を学ぶ過程は難しいことがある。)
4. The legal process can be long and complicated.(法的手続きは長く複雑であることがある。)
5. The process of photosynthesis is essential for plant life.(光合成の過程は植物の生命にとって不可欠である。)
6. The process of aging is inevitable.(老化の過程は避けられない。)
7. The process of making wine involves several steps.(ワインを作る過程にはいくつかの手順が含まれる。)
8. The process of decision making should be transparent.(意思決定の過程は透明であるべきである。)
9. The process of digestion begins in the mouth.(消化の過程は口から始まる。)
10. The process of urbanization has accelerated in recent years.(都市化の過程は近年加速している。)
process
「process」とは、過程のことを意味する英語表現である。
「process」とは・「process」の意味
「process」の一般的な使い方は名詞で、不可算名詞では「経過」や「成り行き」などを意味し、「作用」や「作業」などの特定の目的に向けた一連の語を言う。可算名詞では「手順」や「訴訟手続き」、「突起」や「写真製版術」のことも言う。形容詞としての使い方には、主にアメリカで使われる「 (化学的に)処理加工した」がある。イギリスでは「processed」として用いられるのが一般的である。「写真製版による」も形容詞としての使い方だ。動詞としては他動詞で「一定の手順で調査する」や「(食品を)加工する」、「(フィルムを)現像する」などの意味を持つ。「(原料や廃棄物などを)科学的に処理する」や、「(情報やデータを)処理する」の意味でも使われる。「Processing」は動詞の「現在分詞」である。不可算名詞として「加工」「処理」の意味がある。「procession」は「process」とは異なる名詞で、可算名詞としては「(婚礼や葬儀の)行列」を表す。不可算名詞としては「(行列の)行進」や「進行」の意味になる。「process」の動詞としての使い方には自動詞として「行列して歩く」があるが、これは「procession」から作られた言葉である。
「process」の複数形
「process」の複数形は、語尾に「es」がついた「processes」である。「process」の語源・由来
「process」は、古期フランス語の「proces(旅程)」に由来する。ラテン語の「procedo(前へ進める)」が語源で、この語は「 pro-(~の前へ)」と「cedo(行く)」から成る。語源としての主な意味は「進んで行った一連の過程」である。「process」を含む英熟語・英語表現
「process」を含む英熟語・英語表現には次のものがある。「in process 意味」とは
「in process 意味」は1つの語ではない。「in process」と「意味」の、別々の2語である。「in process」は英語の前置詞「in」と名詞の「process」が結びついた熟語で、「進行中の(で)」という意味になる。「意味」は「言葉が示す内容」である。「in process 意味」は、インターネットで「in process」の「意味」を調べるときの検索用語だと考えられる。
「process」を含む様々な用語の解説
「process」を含む様々な用語には次のようなものがある。「processed food」とは
「processed food」は英語の名詞で「加工食品」の意味である。「food」は「食物」だ。「processed」は前述のとおり形容詞「 (化学的に)処理加工した」の、主にイギリスで用いられる使い方となる。
「process explorer」とは
「process explorer」の正確な表記は「Process Explorer」だ。Microsoft Windows対応のフリーウェアプログラムで、Microsoft社が買収したSysinternalsが開発した。システムのモニタリングと検査を行うことができ、プロセスに関するシステムやソフトウェアの問題を解決するための最初の足がかりとなる。
「processed meat」とは
「processed meat」は英語の名詞で「加工肉」を意味する。「meat」は「(食用の)肉」だ。「processed」については「processed food」と同様である。
「processing image」とは
「processing image」という語は存在しない。「image processing」で「画像処理」という名詞になる。「image」は英語の名詞で、この場合は「画像」である。「processing」の意味は1章に記述した。
「word processing」とは
「word processing」は英語の名詞で、訳語は「文書処理」である。「word」の意味は「語」だ。「processing」については既述した。
「process」の使い方・例文
「process」の使い方には「My teacher said,""The process is more important than the result."" 」(「大切なのは結果よりも過程だ」と私の先生は言った)や、「The process is important, but so is the result」(過程も大切だが、結果も大切だ)などの使い方がある。「I learned how to make a cake by watching my mother's process」(ケーキの作り方は母の工程を見て覚えた)、「Complicated processes are easy to understand with videos」(複雑な工程は動画だとわかりやすい)などの例文もある。あとの例文では「process」が複数形となっている。「My uncle processed the meat into sausages」(おじは肉を加工してソーセージを作った)、「In chemical recycling, used resources are scientifically processed」(ケミカルリサイクルでは使用済みの資源が科学的に処理される)は動詞としての使い方である。前者は過去形、後者は受け身の形だ。"プロセス
「プロセス」とは、経過・過程・手順のことを意味する英語表現である。
「プロセス」とは・「プロセス」の意味
「プロセス」は、英語で「process」と表記し、作業を進める手順や方法、過程などを意味する言葉。略称は「プロセ」または「proc」である。主に、it業界などのビジネスの現場で使われる場合が多い。パソコンなどのコンピューターでは、プログラムの実行単位を指す。WindowsやlinuxといったOSは、アプリケーションソフトなどのプログラムの処理をプロセスとして管理している。Windowsは「タスクマネージャー」、linuxは「システムモニター」でプロセスの確認が可能だ。プロセスを開始した実行ファイルの名前を「イメージ名」と呼ぶ場合もある。化学の分野では「プロセス化学」といった言葉がある。医薬品化合物の量産化や工業化研究などをおこなうのが目的だ。医薬品などの化合物の大量供給法を確立したり、コストダウンを図るといった研究をする。安全かつ高品質・高純度なものを高収率で合成することが求められる製造業にとっては、重要度が高い分野だ。
「プロセス」の熟語・言い回し
「プロセス」には、次のような熟語・言い回しがある。プロセスを踏むとは
決められた工程通りに作業を進めること。ビジネスにおいては、目標を達成するためにプロセスを踏んで仕事を進める必要がある。例えば、営業活動をする場合は、企業の選定から始まり、アプローチやヒアリングなどいくつかの手順が必要だ。正しいプロセスを踏むことで、成功確率が上がるため、プロセスを重視している企業も多い。
プロセスするとは
手順通りに物事を進めることを表す表現。「ビジネスにはプロセスすることが重要」や「この設備はプロセスするのに役立つ」といった使い方をする。「プロセスを踏む」と同じ意味で使われる場合も多い。
プロセスイメージとは
プロセスを開始したプログラムの名前を意味する。「プロセス名」や「イメージ名」とも呼ばれている。プロセスイメージは、実行ファイル名(.exe)と同じ名前である場合も多い。
知覚プロセスとは
与えられた情報が必要なものか選別し、解釈・理解して記憶すること。主に、マーケティングの分野で使われる言葉である。顧客は必要な情報を取捨選択し、都合の良い解釈によって、覚えておきたい情報のみを記憶する傾向にある。情報の受け取り方は一人ひとり違うため、マーケティングにおいては、消費者の「知覚プロセス」を理解することが重要だと言える。
プリプロセスとは
メイン処理をおこなう前の処理。主に、プログラミングで使われる用語である。C言語やC++といったプログラミング言語で、コンパイルをする前の準備処理を指し、ソースコードの追加や変換などの処理を担う。プリプロセスをおこなうソフトウェアを「プリプロセッサ」と呼ぶ。
プロセス印刷とは
印刷方法の一つ。シアン(C)・マゼンタ(M)・イエロー(Y)・ブラック(K)の4色を使ったプロセスインキで印刷し、多くの色を再現する目的で作られた印刷方法だ。使われている色の文字を一つずつ取って「CMYK印刷」、または「プロセスカラー印刷」とも呼ばれている。
「プロセス」の使い方・例文
「プロセス」は、過程や手順といった意味を持ち、ビジネスの現場で使われる場合が多い。「プロジェクトを成功させるためにもプロセスをしっかりと踏もう」
「プロセスを無視したから事業が失敗した」
「結果だけでなくプロセスも重要だ」
「飛行機はどのようなプロセスで製造されるんだろう」
「パソコンの処理が重くなってきたから、プロセスを減らすかな」
「もっと効率よく作業できるようにプロセスを見直そう」
「納期に間に合わなかった原因を探るためにプロセスを確認させてほしい」
「決められたプロセスを踏んだことで、スムーズに作業が進められた」
「問題のあるプロセスは早急に見直さなければいけない」
「このプロセスだと予算が足りない」
プロセス
経過、過程、工程、手順、進行、成り行き、手続き、といった意味で用いられる英語の名詞。あるいは形容詞。おおむね「一連の流れ」「事の運び」という基本ニュアンスがある。
ソフトウェア開発の分野においてはプログラムが要求に応じて実行される場合の実行単位をプロセスという。
英語のプロセス(process)は「加工(処理)を行った」という意味の形容詞として用いられる場合がある。たとえば「プロセスチーズ」(process cheese)は未加工のナチュラルチーズ(natural cheese)に混合・加熱・成形といった加工を施した食品を指す。英語ではprocesed cheeseの語形で用いられる場合が多いが、process cheeseと表記される場合もある。
プロセス【process】
工程
ある目的を達成するための仕事の手順、順序、過程をいう。ものつくりの場合には製品、部品を加工、組み付けするときの作業の手順とか製造工程を指す。例えば歯車の製造工程は木型→鋳造→旋盤→歯切り盤→組み立てが一般的な工程で、さらにこの歯車を製作するために企画計画段階で資金計画、工程設計や要員計画、材料調達、実施中の工程管理などの作業も必要となる。ものつくりだけでなく、経営計画をつくるための工程、例えば現状把握、環境調査、目標設定、実施計画案(複数)作成、計画絞り込み、承認手続きなど、種々の手順も工程といわれている。
突起
プロセス
(Process から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/03/23 22:14 UTC 版)
|
|
この記事には複数の問題があります。
|
プロセス(英: process)とは、オペレーティングシステムが実行中として管理するプログラムの基本単位である。
計算機システムにおいてプロセスはCPU時間やメモリなどの計算資源を割り当てる対象に位置づけられ、並行処理の実現や処理の分離と保護に用いられる。各プロセスは固有のアドレス空間と実行状態を持ち、場合によって複数のスレッドから構成される[1][2]。
概要
コンピュータプログラムは命令の受動的集合体である。プロセスはそれら命令の実際の実行である。同じプログラムに対応する複数のプロセスが存在しうる。例えば、同じプログラムのインスタンスをいくつか開始することは、複数のプロセスの実行を意味することが多い。
マルチタスクは複数のプロセスがプロセッサ(CPU)や他のシステム資源を共有するための技法である。各CPUはある時点には1つのタスクだけを実行している。しかし、マルチタスクでは各プロセッサに各タスク間で切り替えさせることができ、各タスクの終了を待たずに次々とタスクを実行できる。OSの実装にもよるが、タスク間切り替えは入出力操作の際に行われたり、タスクが明示的に切り替え可能であることを指示したり、ハードウェア割り込みの際に行われたりする。
マルチタスクの典型的形態としてタイムシェアリングがある。タイムシェアリングは、対話型ユーザアプリケーションの素早い応答を可能にする技法である。タイムシェアリングシステムでは、コンテキストスイッチが高速に行われる。そのため、同一プロセッサ上で複数のプロセスが同時に実行されているように見える。複数プロセスを同時に実行することを並行性 (concurrency) と呼ぶ。
セキュリティと信頼性のため、現代のOSは個々のプロセス間での直接の通信ができないようにしており、厳密に統制・制御されたプロセス間通信機能を提供している。
プログラムのバグやハードウェア障害が原因で制御不能になった暴走プロセスが生じることがあり、killコマンドなどといった、外部からプロセスを強制停止するコマンドも用意されている。暴走プロセスが1つでも生じると、CPU使用率を100%まで高めるなどして、コンピュータに障害を起こすことがある[3]。
プロセスの構成
一般に、プロセスは以下のようなリソースから構成される(あるいは所有している):
- プログラムに対応する実行命令コードの「イメージ」
- メモリ(通常、仮想メモリの領域と実メモリの領域)には実行コードとプロセス固有データ、(実行中サブルーチンや他のイベントを常に注視している)コールスタック、ヒープ領域などを格納している。
- プロセスに割り当てられたリソースの記述子。例えば、ファイル記述子(UNIX系)やファイルハンドル(Windows)。
- セキュリティ属性。プロセスの所有者やプロセスに関わるパーミッションなど。
- プロセッサ状態(コンテキスト)。レジスタの内容、物理メモリのアドレッシングなど。「状態」はプロセス実行中はレジスタに存在し、そうでないときはメモリに存在する[1]。
OSは各プロセスのこれらの情報の大部分をプロセス制御ブロックというデータ構造に保持している。
これらリソースの一部、少なくともプロセッサの状態情報は、プロセスというよりもスレッドに対応している。
オペレーティングシステムはプロセス同士を分離させておいて必要なリソースを割り当て、プロセス間で互いに干渉しあってシステム障害(例えば、デッドロックやスラッシング)を発生したりしないようにする。オペレーティングシステムはプロセス間通信の機構も用意してプロセスが安全に通信し合えるようにしている。
プロセスの分類
プロセスは、その役割で分類すると、OSの機能を実現するシステムプロセスと、ユーザー権限で実行されるユーザープロセスがある。
プロセスは、そのプログラム部分の性質で分類すると、以下のようになる。
- 再配置可能(リロケータブル)
- プロセスを補助記憶装置から主記憶装置に読み込む際、主記憶のどの位置に読み込んでも実行が可能なプログラム。アドレス指定が、プロセスの先頭アドレスからの相対位置で表現されていればよい。再配置可能コードのうち、特に位置独立コードと呼ばれるものは、リンカやローダの機能に依らずとも自由な位置での実行が可能なコードであり、単に再配置可能であるものとは区別される。
- 再使用可能(リユーザブル)
- 主記憶に読み込まれて実行を終えたプログラムが、再度の主記憶への読み込みを行うことなく再実行できることをいう。これには、実行し終えたプログラムをプログラム自身が書き換えない、実行後にプログラム内部変数に影響が残ってしまわないことなどが必要である。
- 再帰可能(リカーシブ)
- 自分自身を呼び出すことが可能なもの。
- 再入可能(リエントラント)
- プログラムの実行中、別のプロセスが同じプログラムを同時に実行できるもの。プログラム(コード)部分とデータ部分が別の記憶領域に分かれていて、コード部分だけ共有できればよい。同時実行したいプロセスは、データ部分だけ独自に新しく用意する。再入可能なコードは、当然に再帰可能、再使用可能である。
歴史
コンピュータ制御ソフトウェアは1960年代初めまでに IBSYS のような監視制御ソフトウェアから実行制御ソフトウェアへと発展した。コンピュータは高速化していったが、CPU時間は安価ではなく、しかも完全に使われたわけではない。そのためマルチプログラミングが必要とされ、また可能となった。
マルチプログラミングとは、複数のプログラムを同時に(並行に、同時に並列ということもある)実行することを意味する。当初は単一のプロセッサ上で動作し、少ない資源を共有していた。マルチプログラミングはまた、より幅広い用語であるマルチプロセッシングの基本形態でもある。
プログラムは、プロセッサへの命令列で構成されている。単一のプロセッサは一度に1つの命令しか実行できない。つまり同時に複数のプログラムを実行することは不可能である。プログラムは長い待ち合わせが必要な計算資源(入力など)を必要とすることがあり、時間のかかる操作(プリンターへの出力など)を行うこともある。そういったとき、プロセッサは何もしていない「アイドル」状態になる。プロセッサを常に動作させるため、そういった入出力待ち状態のプログラムの実行を中断し、別のプログラムを起動または再開させる。ユーザーから見れば、複数のプログラムが同時に動作しているように見える。
間もなく「プログラム」の観念は「実行中プログラムとそのコンテキスト」という観念に拡張された。これがプロセスという概念の誕生である。
これは、再入可能なコードの発明とともに必要になった。
スレッドという概念が生まれるのはその少し後になる。タイムシェアリングシステム、コンピュータネットワーク、マルチプロセッサ、メモリ共有型コンピュータなどが登場し、古い「マルチプログラミング」は真のマルチタスクやマルチプロセッシングにとって代わられ、さらにはマルチスレッドへと進化していったのである。
マルチタスクOSにおけるプロセス管理
マルチタスクオペレーティングシステムでは多くのプロセスを並行実行するためにプロセス間でコンテキストスイッチを行うことがある。ただし1つのシングルコアCPUにおいては、ある一時点にひとつのプロセスしか実行できない(ハードウェアマルチスレッディングなどの技術を使っていない場合[注 1])。
主プログラムを1つのプロセスとし、それ以外を並列に動作するプロセス群として独立させ、非同期に動作するサブルーチンとして実装することもある。プロセスはリソースを所有しており、メモリ上のプログラムの「イメージ」はそのようなリソースの1つと言える。マルチプロセッシングシステムでは多くのプロセスが同じ再入可能なプログラムのメモリ上のコピーを共有しているが、プログラムの「イメージ」は個々のプロセスが所有していると言える(多重仮想記憶)。
組み込みシステムのオペレーティングシステムでは、プロセスをタスクと呼ぶことが多い。「プロセス」(あるいはタスク)という用語は「時間を占める何か」であり、対照的に「メモリ」は「空間を占める何か」である[注 2]。また、ジョブがユーザーから見た処理の単位であるのに対し、「プロセス」は、コンピュータ側から見た処理の単位である。
以上の説明はオペレーティングシステムに管理されるプロセスにも、プロセス計算で定義されるプロセスにも当てはまる。
プロセスが中断された状態ならば、ディスクにスワップアウトすることができるが、仮想記憶システムではこれは透過的であって、あるメモリブロックの内容がディスク上にあってメモリ上にないという状態は正常な状態である。動作中プロセスの「未使用」部分もディスクにスワップアウト(ページアウト)することができる。実行中プログラムやそのデータのいかなる部分も、対応するプロセスを実行するにあたって物理メモリ上に存在する必要はない。しかし、プロセスがディスク上のコードやデータを必要としたとき(対応する仮想アドレスにアクセスしようとしたとき)、実行が中断されてページングとして知られている方法でその内容が物理メモリに移動される。
プロセスの状態遷移
マルチタスクが可能なOSのカーネルは、個々のプロセスの状態を保持する必要がある。この状態の名称は標準化されていないが、どのOSでも似たような機能を持っている[1]。
以下の典型的なプロセス状態は多くのコンピュータシステム上で見られる。これらの状態のほとんどで、プロセスはメインメモリ上に存在する。
生成
プロセスが最初に作成されると、生成(created)状態あるいは新規(new)状態となる。この状態ではプロセスは走行可能状態にされるのを待つ。この状態遷移をさせるのはスケジューラである。多くのシステムではこの遷移が自動的に(即座に)行われるが、リアルタイムオペレーティングシステムでは遅延が生じることがある。リアルタイムシステムで多くのプロセスを走行可能状態にしてしまうと、過飽和とシステムリソースの競合が発生し、プロセスのリアルタイム性を損なってしまう。
走行可能
走行可能(ready)状態あるいはスケジュール待ち(waiting)状態のプロセスはメインメモリにロードされCPUによる実行を待っている(ディスパッチャか短期スケジューラによってCPU上にコンテキストスイッチされるのを待っている)。任意の時点の走行可能状態のプロセスは非常に多数になる可能性がある。例えば、プロセッサが1個のシステムでは一度にひとつのプロセスしか実行できないので、他のプロセスの多くは実行されるのを待っている状態となる。
走行中
走行中(running)状態、実行中(executing)状態、活性(active)状態などと呼ばれる。この状態のプロセスは現にCPU上で実行されている。この状態で割り当てられたタイムスライスを使い切ると走行可能状態に戻される。あるいはプログラムの実行が終了すれば終了状態になるし、何らかのリソースが必要になればブロック状態になるだろう。
ブロック状態
スリープ(sleeping)状態ともいう。プロセスはリソース(ファイル、セマフォ、周辺機器など)を確保できないと、プログラム実行を続けられなくなるのでCPUから外されてブロック(blocked)状態となる。プロセスはそのリソースが利用可能となるまでブロック状態のままとなるが、これがデッドロック状態を発生させることもある。ブロック状態のプロセスに対してオペレーティングシステムはリソースが利用可能となったことを知らせる(オペレーティングシステム自体は割り込みによってリソースが利用可能となったことを知る)。オペレーティングシステムはブロックされなくなったプロセスを再び走行可能状態にし、そこから走行中状態にディスパッチされると、プロセスは利用可能となったリソースを使用することになる。
終了状態
プロセスは走行中状態でプログラムの実行完了によって終了状態となるか、明示的に終了させられることもある。どちらの場合でもプロセスは終了(terminated)状態になる。プロセスがこの状態になってもメモリから消去されない場合、この状態をゾンビ(zombie)状態とも呼ぶ。
UNIX系オペレーティングシステムにおいて、ゾンビプロセス(Zombie Process)は、処理を完了したがプロセステーブル(プロセス制御ブロック相当)が残っていて、終了ステータスを読まれるのを待っているプロセスである[1][4][5]。この用語のメタファーに従えば、ゾンビプロセスは「死んでいる」が、まだ「死神」が到着していないということになる。
プロセスは終了するときに、使用していた全メモリとリソースを解放して他のプロセスが再利用できるようにする。しかし、プロセステーブルのエントリは残される。親プロセスには子プロセスの終了を知らせるために SIGCHLD シグナルが送られる。親プロセスは SIGCHLD シグナルを必ずしも利用する必要はなく、利用するかどうかはプログラミングの都合による。親プロセスが子プロセスをゾンビ・プロセスにせずに「看取る」ためには、子プロセスの終了ステータスを読み取ってゾンビを削除する。一般的にはプログラムの適当な場所で waitpid システムコールを WNOHANG オプションつきで呼び出すか、シグナル・ハンドラで SIGCHLD を捕捉し wait を実行するか、または signal もしくは sigaction システム・コールで SIGCHLD に対して SIG_IGN シグナル・ハンドラを設定する方法が代表的である(SIGCHLD に対し SIG_IGN を設定する方法は POSIX.1-1990 では認められていなかったが、POSIX.1-2001 で認められるようになった)。ゾンビの使用しているプロセス識別子とプロセステーブルエントリがそれによって再利用可能となる。このような処理を行わなければゾンビプロセスは残存し続ける。例えば、親プロセスが他の子プロセスを生成しようとしていて、ゾンビとなっているプロセスと同じプロセス識別子を割り当てられたくないときなどは、ゾンビプロセスを残す意味があるだろう。
ゾンビプロセスは孤児プロセスと同じではない。孤児プロセスはゾンビ状態にはなっておらず、init プロセスを里親としているので必ず waitが実行される。
ゾンビプロセスは UNIX の ps コマンドの STAT カラムに "Z" と表示されることで識別される。ゾンビプロセスは一般に非常に短期間しか存在しないが、親プロセスのプログラムにバグがあるとずっと残存することがある。メモリリークと同様、ゾンビプロセスが多少存在しても問題はないが、高負荷状態でゾンビが増えるとプロセスを生成できないなどの問題を発生することになる。
ゾンビプロセスを消去するには、まず親プロセスに kill コマンドで SIGCHLD シグナルを送ってみる。これで親プロセスがゾンビを刈り取らないなら、次は親プロセスを終了させる。プロセスは親プロセスが終了すると init が新たな親に設定される。init は定期的に waitシステムコールを実行しているので、全てのゾンビプロセスを刈り取ってくれる。
その他のプロセス状態
仮想記憶をサポートするシステムでは、上記以外に2つの状態がある。どちらの状態もプロセスは二次記憶装置(ハードディスクなど)に格納される。
ひとつは、スワップアウト(またはサスペンド)されたスケジュール待ち状態である。仮想記憶をサポートするシステムでは、プロセスはスワップアウトされることがあり、中期スケジューラがメインメモリから仮想メモリに移動させる。その後、中期スケジューラによってスワップインされ、通常のスケジュール待ち状態になる。
もうひとつは、スワップアウト(またはサスペンド)されたブロック状態である。ブロックされたプロセスもスワップアウトされることがある。この状態ではプロセスはスワップアウトされた上にブロックされているため、先にスワップインされれば通常のブロック状態になるし、先にリソースが利用可能になればスワップアウトされたスケジュール待ち状態になる。
プロセス間通信
プロセスが互いに通信することを「プロセス間通信」(IPC) と呼ぶ。プロセスはかなり頻繁に通信を必要とする。例えばシェルのパイプラインでは、第1のプロセスの出力を第2のプロセスに渡す必要があり、その後も同様に出力と入力が連鎖する必要がある。その際、割り込みなどを使わずに構造化された方法を使うことが望ましい。
通信するプロセス群は異なるマシン上で動作していてもよい。その場合、それぞれのマシンのOSは異なるかも知れないので、何らかの調停機能(通信プロトコル)が必要となる。
脚注
注釈
- ^ 最近のマルチコアのプロセッサでは、2つ以上のプロセスを一度に実行することができる。インテルのハイパースレッディング・テクノロジーで使われている同時マルチスレッディングは複数プロセスまたは複数スレッドの同時実行をシミュレートできる。
- ^ タスクという語は、タスク=スレッドの意味で使われることもあり、歴史的にはプロセスという語より適用範囲が広い。
出典
- ^ a b c d SILBERSCHATZ, Abraham; CAGNE, Greg, GALVIN, Peter Baer (2004). “Chapter 4 - Processes”. Operating system concepts with Java (Sixth Edition ed.). John Wiley & Sons, Inc.. ISBN 0-471-48905-0
- ^ Vahalia, Uresh (1996). “2 - The Process and the Kernel”. UNIX Internals - The New Frontiers. Prentice-Hall Inc.. ISBN 0-13-101908-2
- ^ “プロセス操作”. www.stex.phys.tohoku.ac.jp. 2024年12月5日閲覧。
- ^ Stallings, William (2005). Operating Systems: internals and design principles (5th edition). Prentice Hall.
ISBN 0-13-127837-1
- Particularly chapter 3, section 3.2, "process states", including figure 3.9 "process state transition with suspend states"
- ^ 村井純、井上尚司、砂原秀樹『プロフェッショナルUNIX』株式会社アスキー、1986年1月15日、52頁。 ISBN 4-87148-184-0。
参考文献
- Gary D. Knott (1974) A proposal for certain process management and intercommunication primitives ACM SIGOPS Operating Systems Review. Volume 8, Issue 4 (October 1974). pp. 7 – 44
関連項目
- Fork
- コンテキストスイッチ
- スケジューリング
- タスク (コンピュータ)
- スレッド (コンピュータ)
- プロセス管理
- プロセスグループ
- プロセス計算
- マルチタスク
- 仮想記憶
- 子プロセス
外部リンク
プロセス (曖昧さ回避)
(Process から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/01/18 18:19 UTC 版)
プロセス(process)・プロセッシング (processing) は、英語で「処理」を意味する。派生して、「プロセス」は「過程」「工程」も意味する。
入力を出力に変換する過程を示し、工業では「工程」と呼ぶ。手続き(procedure)に着目し、対象を所定の手続きによって別のものに変換する活動を表す場合もある。手続きよりも抽象的な水準での定義をプロセスという場合もある。製造におけるプロセスの例として、牛乳からチーズへ加工する処理。行政におけるプロセスでは住宅ローンを受けるために書類手続きをする活動。コンピュータにおけるデータを目的の情報へ変換する処理などがある。
具体的には以下の場面がある。
産業
- 工程 - 工業製品の製造における、化学的または力学的・機械的な段階(step)を含む処理
- プロセス (工学)
- プロセス工学 - 化学工学・ケミカルプロセス
- プロセスシステム工学 - さまざまなプロセスシステムを設計・運転・制御し、管理するために必要となる知識を取り扱う工学。
- プロセス・モデリング - プロセスのモデルを作る方法。
- プロセス制御 - プロセス産業・プロセス工業(化学工業、製鉄、製薬)などのように、固体、液体、気体を処理装置に入れ、温度、時間とともに化学変化を起こし、製品を製造する制御。
- 複数人により行う製造過程。入力要素を目的の性質を持った出力要素に変換する手続きの集合。これらの変換はパラメータと制約によって特徴付る。
- 半導体の製造工程 - 集積回路の細密度につき、10nmプロセスなどと言う。→集積回路#プロセス・ルールを参照
- プロセス工学 - 化学工学・ケミカルプロセス
- プロセス (工学)
- プロセス (建築学) - 都市・建築分野では「過程」「進行」の意味で使用する、ある計画がどのような過程で実施にいたったか、どのような進捗状況であるか、進行予定であるか等を示す。
経営
- ビジネスプロセス - 経営工学における特定の問題を解決するタスクの集積
- システムエンジニアリングプロセス (en) -システム開発のためにシステムエンジニアリング技術を適用するビジネスプロセス
- ソフトウェア開発プロセス - ソフトウェア製品の開発プロセス。 人間の作業のまとまり。プロシージャが時間の順番があるのに対して、繰り返し実施する作業を周波数領域で捉えて評価・実施の視点とする。例:ソフトウェア。ライフサイクルプロセスと言った場合には、開発だけでなく、支援、管理の側面、プロセスの仕立ても含む。自動化などによって人の作業が計算機の作業に置き換わる。人の作業が必要だという前提を置かない方がよい。
- システムエンジニアリングプロセス (en) -システム開発のためにシステムエンジニアリング技術を適用するビジネスプロセス
科学
コンピュータ
- プロセス - コンピュータにおける処理の単位の一つ。他のプログラムと同時に動作するプログラムまたはプログラムの実体。タスク、スレッド等と同じ意味で使ったり、より広い意味で使ったりすることがあるため、その計算機システムの用語の類語辞典・シソーラスを参照すると良い。
- プロセスコンピュータ - プロセス産業(化学工業,製薬,製鉄)で利用するプロセス制御用計算機。分散制御システム(DCS)として、製造実行システム(MES)を担ってきた。
音楽作品
楽曲
アルバム
- PROCESS (やしきたかじんのアルバム) - やしきたかじんのアルバム。
- Process (dreamのアルバム) - dream(Dreamに改名)のアルバム。
その他
- プロセスミュージック (en) - プロセスから生じる音楽
- プロセス哲学 (en) - 多様なシステム文脈の中で機能する統一的な原理
- デュー・プロセス・オブ・ロー - 法(訴訟)の適正手続のこと
- サービス・オブ・プロセス - 法手続きの正式通知(召還状)
- プロセスヘアカット - 髪をストレートにするために縮毛矯正剤 (Relaxer) を使用する方法
- プロセスチーズ - チーズの種類の一つ
- ビジネスプロセス管理
固有名詞の分類
- Processのページへのリンク