Skip to content

Commit 0663fe9

Browse files
committed
2주차: 스레드와 프로세스
1 parent ddcac29 commit 0663fe9

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

week2/sangwon/pic.png

18.4 KB
Loading

week2/sangwon/sangwon.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# 스레드와 프로세스
2+
3+
![](/week2/sangwon/pic.png)
4+
5+
### 프로세스
6+
7+
- 프로그램을 실행하면 프로세스가 만들어지고 프로그램이 실행된다
8+
- 운영체제 안에서 실행중인 프로그램을 프로세스라고 한다
9+
- 실행중인 프로그램의 인스턴스이다
10+
- 각 프로세스는 독립적인 메모리 공간을 가진다
11+
12+
### 스레드
13+
14+
- 프로세스 내에서 동작하고 프로세스 내에는 하나 이상의 스레드가 존재한다
15+
- 프로세스 내의 스레드는 동일한 메모리를 공유한다
16+
- 단일 스레드: 한 프로세스 내에 하나의 스레드만 존재
17+
- 멀티 스레드: 한 프로세스 내에 여러 스레드가 존재
18+
19+
## 스레드와 스케줄링
20+
21+
### 단일 코어 스케줄링
22+
23+
- 운영체제는 스케줄링 큐를 가지고 있음
24+
- 각 스레드는 스케줄링 큐에서 대기한다
25+
- 큐에서 하나를 꺼내서 연산을 수행
26+
- 코드 한 줄 한 줄 스레드가 수행한다
27+
28+
cpu에 어떤 프로그램이 얼마만큼 수행되는지 운영체제가 결정한다 이를 스케줄링이라고 한다
29+
30+
### 멀티 코어 스케줄링
31+
32+
- 두 개 이상의 코어로 동시에 스레드를 실행할 수 있다
33+
34+
## 컨텍스트 스위칭
35+
36+
- 멀티 태스킹이 반드시 효율적인 것은 아니다
37+
- context switching 발생
38+
- 진행중인 컨텍스트를 메모리에 잠깐 저장하고 이후에 다시 실행하는 시점에 저장한 값을 cpu에 다시 불러와야 한다
39+
- context switching 에는 비용이 발생한다
40+
- 따라서 멀티 태스킹은 효율적이지만 항상 효율적이지 않다.

0 commit comments

Comments
 (0)