[리눅스 시스템 프로그래밍] 7. 프로세스

프로세스는 운영 체제에 의해 현재 실행하고 있는 프로그램입니다. 리눅스 시스템은 여러 개의 프로세스를 동시에 동작할 수 있는 멀티 태스킹을 제공하고 있습니다. 실질적으로는 시간을 잘게 나누어 CPU를 사용하는데 사용자가 느끼기에 동시에 여러 개의 프로세스가 동작하는 것처럼 느끼는 것입니다. 물론 지금은 여러 개의 CPU를 탑재하고 있어 실제 동시에 여러 개의 프로세스가 동작할 수 있는 컴퓨터를 대부분 사용하고 있습니다. 그렇다고 하더라도 CPU보다 많은 수의 프로세스를 실행하기 위해 시간을 나누어 CPU를 사용합니다.

잘게 나누는 시간을 타임 퀀텀이라고 부르며 이와 같은 형태로 스케쥴링하는 것을 시분할 방식이라고 부릅니다.

이번 장에서는 프로세스의 상태 및 구조, 프로세스 생성, 프로세스 종료, 프로세스 종료 대기를 비롯하여 main 함수 등에 관하여 다룰 것입니다.

참고로 프로세스 목록을 확인할 때 사용하는 시스템 명령어는 ps입니다.

[그림 7.1] ps -au 실행 화면
[그림 7.1] ps -au 실행 화면