์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 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 | 29 | 30 | 31 |
- 99ํด๋ฝ
- ํญํด99
- git merge
- ์์๋ฒํธ
- leetcode
- tcp ์ธ๊ทธ๋จผํธ
- ๋ฐ์ดํฐ ์ ์ก
- ์ค๋ฅ๊ฒ์ถ
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- xv6
- ํ๋ ์ ๊ตฌ์กฐ
- i-type
- til
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ค๋ธ์
- ํ๋ก์ด๋์์
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ค๋ฅ์ ์ด
- tcp ํ๋กํ ์ฝ
- IEEE 802
- well known ํฌํธ
- ๊ฐ๋ฐ์์ทจ์
- ํ ํฐ ๋ฒ์ค
- ์ฐ๋ถํฌdb
- ๋น์ฃผ๊ธฐ์ ํธ
- ์ฃผ๊ธฐ์ ํธ
- reducible
- mariadb
- ์ค๋ ๋
- Today
- Total
Unfazedโ๏ธ๐ฏ
ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก์ธ์ค์ ์ฐจ์ด/(feat. ์์คํ ์ฝ) ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก์ธ์ค์ ์ฐจ์ด/(feat. ์์คํ ์ฝ)
9taetae9 2023. 10. 16. 04:33ํ๋ก๊ทธ๋จ
๋์คํฌ์ ์ ์ฅ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋์ ์งํฉ
ํ๋ก์ธ์ค
์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค๋ก, ์ด์ ์ฒด์ ๊ฐ ๊ด๋ฆฌํ๋ ์คํ ์ปจํ
์คํธ
test.c๋ ์์ค ์ฝ๋ ํ์ผ ์ด ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ์ฌ ์คํ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ(ํ๋ก๊ทธ๋จ)๋ฅผ ๋ง๋ ๋ค. ์ด ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด test๋ผ๋ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋์ด ์คํ๋๋ค.
test.c ์์ค ์ฝ๋ ๋ด์ a()๋ผ๋ ์์คํ
์ฝ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
a()๋ testํ๋ก์ธ์ค ๋ด์์ ํธ์ถ๋๋ ์์คํ
์ฝ์ด๋ค. ๋ฐ๋ผ์ ๋ณ๋์ ํ๋ก์ธ์ค๋ก ์คํ๋๋ ๊ฒ์ด ์๋๋ค( a() ์์คํ
์ฝ์ด ์ข
๋ฃ๋ ๊ฒ์ด์ง testํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋ ๊ฒ์ด ์๋, ํธ์ถ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์์ ์ด ๋ถ๋ถ์ ํผ๋ํ๊ณ ์์๋ค ). ํ์ฌ ์คํ ์ค์ธ test ํ๋ก์ธ์ค์ ์ปจํ
์คํธ์์ ์ปค๋ ๋ชจ๋๋ก ์ ํํ์ฌ a() ์์คํ
์ฝ์ด ์ฒ๋ฆฌ๋๋ค. (context switch ์๋)
user mode ์ kernel mode ์ฌ์ด์ ์ ํ์ผ๋ก mode switching ์ด๋ผ ํ๋ค.
(์ฌ์ฉ์ ๋ชจ๋ -> ์ปค๋ ๋ชจ๋)
1. ์ธ๋ถ ์ธํฐ๋ฝํธ (timer interrupt, I/O interrupt์ ๊ฐ์ด HW์์ ๋ฐ์) ๋ฐ์์
2. ์ฌ์ฉ์๊ฐ os ์๋น์ค๋ฅผ ํธ์ถ ์
(์ปค๋ ๋ชจ๋ -> ์ฌ์ฉ์ ๋ชจ๋)
1. ์ ์ด๊ฐ ํด๋น os ์๋น์ค์์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ก ๋ณต๊ทํ ๋ (Return from System call)