프로그램 실행 = 프로그램을 프로세스로 바꾸기
운영체제는 프로그램을 실행하기 위해서, 프로그램을 메모리의 적당한 위치로 가져온다.
동시에 운영체제는 PCB(Process Control Block)
을 생성한다. (프로세스를 관리하기 위해)
PCB(Process Control Block)
OS(운영체제)는 PCB
를 이용하여 프로그램을 프로세스로 만들어 프로그램을 실행함.
프로세스 상태: 프로그램이 프로세스로 변환되고 실행이 끝나면 다시 프로그램으로 돌아가는 과정
프로세스는 4가지 구조로 되어 있다.
코드 영역 (code area)
프로그래머가 작성한 프로그램이 코드 영역에 작성됨
데이터 영역 (data area)
코드가 실행되면서 사용한 변수나 파일들의 각종 데이터가 모여 있음
스택 영역 (stack area)
호출된 함수가 종료되면 되돌아올 메모리의 주소를 스택에 저장 or 변수 사용 범위에 영향을 미치는 영역을 구현할 때 사용됨
힙 영역 (heap area)
동적으로 할당되는 데이터들을 위해 존재하는 공간
✅ 프로그램이 프로세스로 전환되는 과정(+프로세스 구조) :
사용자가 프로그램을 실행 → 운영 체제는 프로그램을 메모리에 가져와 코드 영역에 넣고 프로세스 제어 블록(PCB)생성 → 메모리에 스택+힙 영역 확보 → 프로세스 실행
멀티 스레드
형식 사용