728x90
반응형
프로그램 (Program)
- 저장 장치에 저장되어 있는 실행 가능한 코드의 정적인 집합
- 디스크와 같이 비휘발성 메모리에 저장
- 사용자가 요청할 때까지 실행되지 않음
프로세스 (Process)
- 실행중인 프로그램의 인스턴
- 운영체제에 의해 할당된 메모리 공간과 시스템 자원을 사용하여 동적인 상태를 유지
- 운영체제가 자원을 할당하고 관리하는 기본 단위
프로그램이 프로세스가 되는 과정
- 프로그램 실행 요청
- 명령어 입력 및 아이콘 클릭
- 프로그램 로딩
- 사용자 요청을 받은 운영체제는 프로그램의 코드와 데이터를 디스크로부터 메모리로 로드함.
- 로딩 시 실행에 필요한 주소 공간이 메모리에 생성됨
- 자원 할당
- 운영체제는 프로세스 실행에 필요한 CPU시간, 메모리공간, I/O장치 등의 자원을 할당
- 프로세스의 상태가 생성됨
- 프로세스 제어 블록이 초기화 됨
- 실행 상태로 전환
- 자원할당, 초기화가 왼료되면, 프로세스는 준비상태로 전환됨 (CPU 실행준비 마침)
- CPU스케줄러가 프로세스 선택 → 프로세스 실행상태 변경 → 프로그램 카운터가 프로세스 첫 명령어를 가리킴
- 실행
- 프로세스가 CPU를 할당받으면, 운영체제는 프로세스의 코드를 실행함.
⇒ 프로그램은 디스크 상의 정적인 코드에서 메모리 상의 동적인 프로세스로 변환됨
⇒ 해당 변환 과정은 운영체제의 핵심 기능임
⇒ 멀티태스킹과 시스템 자원의 효율적 관리를 가능하게 함.
- 참고 사이트
728x90
반응형
'Linux' 카테고리의 다른 글
[Linux 기초] 명령어 실행 사이클 (0) | 2025.01.22 |
---|