View
반응형
↘️ [Process와 Thread]
[Process와 Thread - 2] 프로세스와 스레드의 개념과 차이: 멀티스레드의 작동 원리
[Process와 Thread - 3] 멀티 프로세스와 멀티 스레드 비교
📍 프로세스와 관련 개념 정리
1. 프로세스의 정의
- 프로세스: 실행 중인 프로그램을 의미.
- 메모리 적재: 프로그램이 RAM(메인 메모리)에 적재되면 CPU가 이를 읽어 실행하면서 프로세스가 됨.
- CPU 할당: 프로세스는 CPU 자원을 할당받아 동작함.
2. 메모리 구조
프로세스는 메모리에서 다음과 같은 영역으로 구성됨:
- Code 영역: 실행할 프로그램의 코드가 저장되는 영역.
- Data 영역: 전역 변수, 정적 변수(static)가 저장되는 영역.
- Heap 영역: 동적 메모리 할당 시 사용하는 영역. 런타임 시 크기가 변경 가능.
- Stack 영역: 지역 변수, 매개변수가 저장되며 함수 호출 시 사용됨.
3. 멀티프로세스
- 멀티프로세스: 2개 이상의 프로세스가 동시에 실행되는 환경.
- 동시성 (Concurrency):
- CPU 코어가 1개일 때.
- 시분할 시스템으로 여러 프로세스를 짧은 시간 간격으로 번갈아 실행.
- 병렬성 (Parallelism):
- CPU 코어가 여러 개일 때.
- 각 코어가 개별 프로세스를 처리하여 여러 작업이 동시에 수행됨.
- 동시성 (Concurrency):
- 메모리 관리:
운영체제가 각 프로세스의 메모리 영역을 관리하여 다른 프로세스의 메모리를 침범하지 않도록 보호함.
4. 프로세스의 Context
- Context: 프로세스의 실행 상태에 대한 정보.
- 이전에 어디까지 명령을 수행했는지,
- 레지스터에 어떤 값이 저장되어 있었는지를 포함한 총체적인 정보.
5. PCB (Process Control Block)
- PCB (프로세스 제어 블록):
프로세스의 중요한 정보를 저장하는 데이터 구조.- 포함 정보:
- 프로세스 상태 (Ready, Running, Blocked 등).
- 프로세스 번호 (PID).
- 프로세스 카운터: 다음에 실행될 명령어의 주소.
- 레지스터 상태.
- 메모리 관리 정보.
- 파일 I/O 상태 정보.
- 포함 정보:
6. Context Switch
- Context Switch:
CPU의 제어권을 한 프로세스에서 다른 프로세스로 전환하는 과정.- 현재 프로세스의 상태를 PCB에 저장하고,
- 새 프로세스의 PCB를 읽어 이전 상태를 복구함.
⁉️예상 질문 및 답변
Q1. 프로세스의 Context가 무엇인가?
- 프로세스의 실행 상태에 대한 정보로, 이전에 어디까지 명령을 수행했는지, 레지스터에 저장된 값을 포함하는 총체적인 실행 정보를 의미함.
Q2. PCB에는 어떤 정보들이 있는가?
- PCB는 프로세스의 실행과 관리를 위한 중요한 정보를 저장하는 데이터 구조이며, 포함되는 정보는 다음과 같음:
- 프로세스 상태 (Ready, Running, Blocked 등).
- 프로세스 번호 (PID).
- 프로세스 카운터: 다음에 실행할 명령어의 주소.
- 레지스터 상태.
- 메모리 관리 정보.
- 파일 I/O 상태 정보.
반응형
'CS' 카테고리의 다른 글
[Process와 Thread - 3] 멀티 프로세스와 멀티 스레드 비교 (0) | 2025.02.20 |
---|---|
[Process와 Thread - 2] 프로세스와 스레드의 개념과 차이: 멀티스레드의 작동 원리 (0) | 2025.02.20 |
[자료구조 - 1 ] 배열(Array)와 연결 리스트(Linked List) 차이점 (0) | 2025.02.20 |
[CS]디자인 패턴 (0) | 2023.06.23 |
HTTP Method (GET, POST, DELETE, PUT) (0) | 2022.09.19 |
reply