-
프로세스Computer Science/Operating System 2021. 1. 10. 00:07
질문
1. 프로세스 개념
- 프로세스 메모리 배치 섹션은 어떻게 되어있는가?
- 텍스트 섹션 : 실행 코드
- 데이터 섹션 : 전역 변수
- 힙 섹션 : 프로그램 실행 중에 동적으로 할당되는 메모리
- 스택 섹션 : 함수를 호출할 때 임시 데이터 저장장소(함수 매개변수, 지역변수 등)
- 프로세스와 프로그램의 차이?
- 프로그램은 명령어 리스트를 내용으로 가진 디스크에 저장된 파일과 같은 수동적인 존재이다. 이와는 대조적으로 프로세스는 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련 자원의 집합을 가진 능동적인 존재이다.
- 프로그램이 메모리에 적재되면 프로세스가 된다
- 프로세스 상태는 어떤 것이 있는가?
- new : 프로세스가 생성 중
- running : 명령어들이 실행되고 있음
- waiting : 프로세스가 어떤 이벤트가 일어나기를 기다림
- ready : 프로세스가 처리기에 할당되기를 기다림
- terminated : 프로세스의 실행이 종료됨
프로세스 제어 블록(PCB)란?
- 프로세스 상태, 프로세스 번호, 프로그램 카운터, 레지스터, cpu-스케줄링 정보. 메모리 관리정보 등을 저장하는 저장소 역할
3.2 프로세스 스케줄링
준비 큐란 무엇인가?
- 프로세스가 시스템에 들어갔을 때 CPU 코어에서 실행되기를 기다리는 큐
- 대기 큐란 무엇인가?
- 프로세스가 인터럽트 되거나 i/o 요청과 같은 특정 이벤트가 발생했을 때 i/o 완료와 같은 특정 이벤트가 발생하기를 기다리는 큐
- 문맥 교환(Context Switch)란 무엇인가?
- CPU 코어를 다른 프로세스로 교환하기 위해 이전의 프로세스 상태를 보관하고 새로운 프로세스의 보관된 상태를 복구하는 작업
3.3 프로세스에 대한 연산
- 좀비 프로세스란 무엇인가?
- 종료되었지만 부모 프로세스가 아직 wait() 호출을 하지 않은 프로세스
- 고아 프로세스란 무엇인가?
- 부모 프로세스가 wait() 호출을 사용하지 않고 종료해버린 프로세스
3.4 프로세스 간 통신(IPC)
- 프로세스 간 통신 방법에는 어떤 것이 있을까?
- 공유 메모리
- 메시지 전달
요약
- 프로세스는 실행 중인 프로그램이며 프로세스의 현재 활동 상태는 프로그램 카운터와 다른 레지스터로 나타남
- 메모리에서 프로세스의 레이아웃은 텍스트, 데이터, 힙, 스택의 네 가지 섹션으로 표시됨
- 프로세스가 실행되면 상태가 변경된다. 프로세스의 일반적인 상태는 준비, 실행, 대기, 종료이다.
- 프로세스 제어블록은 운영체제의 프로세스를 나타내는 커널 데이터 구조이다
- 프로세스 스케줄러의 역할은 cpu에서 실행할 수 있는 사용 가능한 프로세스를 선택하는 것이다.
- 운영체제는 한 프로세스 실행에서 다른 프로세스 실행으로 전환할 때 문맥 교환을 수행한다.
'Computer Science > Operating System' 카테고리의 다른 글
메모리 관리 (0) 2021.01.14 교착 상태 (0) 2021.01.14 동기화 도구들 (0) 2021.01.10 CPU 스케줄링 (0) 2021.01.10 스레드와 병행성 (0) 2021.01.10 - 프로세스 메모리 배치 섹션은 어떻게 되어있는가?