프로세스(Process)란? 무엇 (포그라운드, 백그라운드 프로세스)
프로세스는 자신이 사용하는 컴퓨터나 기기의 저장공간(ex. 하드디스크)에 저장되어있는 실행 코드(프로그램)가 메모리(ex 램)에 올려져 로딩되 활성화 되어있는 것입니다.
예를 들어서 웹 브라우저인 크롬을 사용한다고 합시다. 그럼 크롬은 하드디스크 어딘가에 저장이 되어서 있을 것 입니다.
이런 식으로 하드디스크에 저장되어있는 파일을 프로그램이라고 합니다. 그리고 이를 실행시켜서 윈도우에 뜨거나 메모리에 로딩이 되어있으면 이 것을 프로세스(Process)라고 부릅니다.
포그라운드 프로세스(Foreground Process)
포그라운드 프로세스에서 포그라운드는 배경을 뜻합니다. 크롬을 실행하게되면 배경화면에 크롬창이 열립니다. 이와같이 화면에서 유저와 상호작용을 하게되는 프로세스가 포그라운드 프로세스입니다.
백그라운드 프로세스(Background Process)
그렇다면 백그라운드 프로세스도 짐작이 가시나요? 백그라운드도 사실 배경이란 뜻을 가지고 있지만 앞서 포그라운드가 있었기에 좀 다른 개념으로 생각하면 포그라운드 뒤에 바로 배경 뒤 그러니까 화면에 안떠서 눈에 안보이는 형태라고 이해하시면 편하겠죠.
말 그대로 화면뒤에서 프로그램이 돌아가는 바이러스백신이나 서버 데몬 등이 이에 해당한다고 보시면 되겠습니다.
프로세스 번호
현재 실행중인 백그라운드 프로세스의 순차적인 번호(인덱스, index)를 의미합니다.
부모, 자식 프로세스
프로세스는 전부 혼자서 독립하여 실행되고있는 것이 아니라, 부모 프로세스라고 불리는 상위 프로세스의 하위에 종속되어서 실행됩니다. 이해를 돕기위해 설명하자면 윈도우가 실행되어있고 웹브라우저가 실행이 되어있는데 윈도우를 종료하게되면 윈도우만 종료될까요? 당연히 웹브라우저가 먼저 종료되고 윈도우가 종료하게됩니다. 여기서 부모 프로세스는 윈도우 자식 프로세스는 웹브라우저라고 생각하시면 되겠습니다.
위 처럼 프로세스를 이해할 수 있었는데요? 어려운 말은 없었으니 이해는 충분히 하실 수 있을 거라고 생각됩니다. 참고로 작성된 글은 리눅스, 유닉스를 베이스로 설명되었습니다.
리눅스(linux) 종료, 재부팅, 로그아웃, 가상콘솔 명령
'Linux' 카테고리의 다른 글
리눅스 Vi 명령어를 쉽게 터득하는 방법 vimtutor (8) | 2017.10.30 |
---|