프로세스

위키百科, 우리 모두의 百科事典.

htop 을 통해 보이는 프로세스들의 目錄.

프로세스 (process)는 컴퓨터에서 連續的으로 實行되고 있는 프로그램 이다. 種種 스케줄링의 對象이 되는 作業 (task)이라는 用語와 거의 같은 意味로 쓰인다. 여러 個의 프로세서를 使用하는 것을 멀티프로세싱 이라고 하며 같은 時間에 여러 個의 프로그램을 띄우는 時分割 方式을 멀티태스킹 이라고 한다. 프로세스 管理 運營 體制 의 重要한 部分이 되었다.

프로그램과 프로세스 [ 編輯 ]

프로그램은 一般的으로 하드 디스크 等에 貯藏되어 있는 實行코드를 뜻하고, 프로세스는 프로그램을 驅動하여 프로그램 自體와 프로그램의 狀態가 메모리 上에서 實行되는 作業 單位를 指稱한다. 例를 들어, 하나의 프로그램을 여러 番 驅動하면 여러 個의 프로세스가 메모리 上에서 實行된다.

프로세스의 狀態 [ 編輯 ]

多樣한 프로세스 狀態

커널 內에는 準備 큐, 待機 큐, 實行 큐 等의 資料 構造 가 있으며 커널은 이것들을 利用하여 프로세스의 狀態를 管理한다.

  • 生成(create) : 프로세스가 生成되는 中이다.
  • 實行(running) : 프로세스가 CPU를 차지하여 命令語들이 實行되고 있다.
  • 準備(ready) : 프로세스가 CPU를 使用하고 있지는 않지만 언제든지 使用할 수 있는 狀態로, CPU가 割當되기를 기다리고 있다. 一般的으로 準備 狀態의 프로세스 中 優先順位가 높은 프로세스가 CPU를 割當받는다.
  • 待機(waiting) : 保留(block)라고 부르기도 한다. 프로세스가 入出力 完了, 시그널 受信 等 어떤 事件을 기다리고 있는 狀態를 말한다.
  • 終了(terminated) : 프로세스의 實行이 終了되었다.

프로세스의 狀態轉移 [ 編輯 ]

하나의 프로그램이 實行되면 그 프로그램에 對應되는 프로세스가 生成되어 準備 리스트의 끝에 들어간다. 準備 리스트 上의 다른 프로세스들이 CPU를 割當받아 準備 리스트를 떠나면, 그 프로세스는 漸次 準備 리스트의 앞으로 나가게 되고 언젠가 CPU를 使用할 수 있게 된다.

  • 디스패치(dispatch)
準備 리스트의 맨 앞에 있던 프로세스가 CPU를 占有하게 되는 것, 卽 準備 狀態에서 實行 狀態로 바뀌는 것을 디스패치라고 하며 다음과 같이 標示한다.
dispatch (processname) : ready → running
  • 保留(block)
實行 狀態의 프로세스가 許可된 時間을 다 쓰기 前에 入出力 動作을 必要로 하는 境遇 프로세스는 CPU를 스스로 返納하고 保留 狀態로 넘어 간다. 이것을 保留라고 하며 다음과 같이 標示한다.
block (processname) : running → blocked
  • 깨움(wakeup)
入出力 作業 終了 等 기다리던 事件이 일어났을 때 保留 狀態에서 準備 狀態로 넘어가는 過程을 깨움이라고 하며 다음과 같이 標示한다.
wakeup (processname) : blocked → ready
  • 時間制限(timeout)
運營體制는 프로세스가 프로세서를 繼續 獨占해서 使用하지 못하게 하기 위해 clock interrupt를 두어서 프로세스가 一定 時間 동안만 (時分割 시스템의 time slice) 프로세서를 占有할 수 있게 한다
timeout(processname) : running -> ready

윈도의 프로세스 [ 編輯 ]

GUI 環境에서의 制御 [ 編輯 ]

윈도 프로세스를 制御하려면 다음과 같은 過程을 거치면 된다.

  1. 먼저 作業 管理者 로 들어간다. ( Ctrl + ? Shift + Esc 短縮키 組合을 使用할 수 있다.)
  2. 프로세스 탭에 들어가서 管理하려는 프로세스에서 마우스 오른쪽 단추를 누른다. 가장 흔히 使用되는 것으로 "프로세스 끝내기"와 "優先 順位 設定"李 있다.
  • 프로세스 끝내기: 프로세스와 그와 連結된 프로세스 트리를 모두 끝낸다.
  • 優先 順位 設定: "낮음"부터 "實時間"까지 優先 順位를 設定할 수 있다.

윈도우 비스타 의 境遇 "모든 使用者의 프로세스 標示"라는 버튼을 찾을 수 있다. 이 단추는 다음과 같은 動作을 擔當한다.

  • 보이지 않는 모든 프로세스를 表示한다.
  • 優先 順位에서 "實時間"을 使用할 수 있도록 許容한다.

命令 프롬프트 [ 編輯 ]

命令 프롬프트 ( cmd.exe )에는 프로세스를 制御하기 위해 다음과 같은 命令語를 提供한다.

  • TASKLIST : 프로세스의 目錄을 羅列한다.
  • TASKKILL : 프로세스를 一般的으로 終了하거나 强制 終了한다.

仔細한 것은 도움말 媒介變數 "/?"을 使用하여 命令語의 도움말 情報를 確認할 수 있다. "TASKKILL /F /IM explorer.exe"라고 入力하면 윈도우 探索機 프로세스가 强制로 終了된다.

같이 보기 [ 編輯 ]

外部 링크 [ 編輯 ]