
프로세스 - 수행 중인 프로그램 - 보조기억 장치에 단순히 저장되어 있는 프로그램은 프로세스가 아님 - 데이터를 기본으로 정상적인 실행을 위해 필요한 환경을 시스템으로부터 부여받은 능동적인 존재 스레드 - 프로세스 안에서 실행되는 여러 흐름 단위 - 큰 틀 : 프로세스 / 세분된 작은 일 : 스레드 - 프로세스마다 최소 1대의 스레드 소유 (메인 스레드 포함) - 프로세스는 각각 별도의 공간을 할당 -> 독립적 Code - 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data - 전역변수, 정적변수, 배열 등 : 초기화 된 데이터는 data 영역에 저장 / 초기화되지 않은 데이터는 bss 영역에 저장 Heap - 동적 할당 시 사용 (new(), malloc() 등) Stack - 지역변수, 매개변..

창병모, 리눅스 프로그래밍 원리와 실제(생능출판, 2022) 8.1 쉘과 프로세스 쉘 쉘 : 사용자와 운영체제 사이에 창구 역할을 하는 소프트웨어 - 사용자로부터 명령어를 입력받아 이를 처리하는 명령어 처리기(command processor) 역할 수행 - 쉘은 사용자와 운영체제 사이에 창구 역할을 하는 소프트웨어로 사용자로부터 명령어를 입력받아 이를 처리 명령어 실행 - 쉘은 사용자가 입력한 명령어를 실행하기 위해 새로운 자식 프로세스를 생성해 입력한 명령어 실행 - 자식 프로세스가 입력된 명령어를 실행하고, 쉘은 자식 프로세스 실행을 끝날 때까지 기다림 - 자식 프로세스 실행이 끝나면 기다렸다가 다시 쉘 프롬프트 출력하고 다음 명령어 기다림 명령어 열(command sequence) : 여러 명령어 ..