๐ ๊ณต๋ฃก์ฑ ๊ธฐ๋ฐ์ผ๋ก ํ๊ต์์ ์์ ํ๋ ์ด์์ฒด์ ๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
0๏ธโฃ Introduction
What Operating Systems Do?
- ์ด์์ฒด์ = ์ปดํจํฐ์ ์ฌ์ฉ์์ ํ๋์จ์ด ์ฌ์ด์์ ์ค๊ฐ ์ญํ ์ ํด์ฃผ๋ ๊ฒ
- ์ปค๋ = ๋ณดํต ๋ฆฌ๋ ์ค์ OS๋ฅผ ๋ถ๋ฅด๋ ๊ฒ. ์๋งน์ด. OS์ ๊ฐ์ฅ ํต์ฌ์ ์ธ ๋ถ๋ถ
How Operating Systems Interact?
User ↔ Program ↔ OS ↔ Hardware
- OS์ ํ๋ก๊ทธ๋จ ์ฌ์ด์ interaction์ด ์กด์ฌํ๊ณ , OS์ ํ๋์จ์ด ์ฌ์ด interaction์ด ์กด์ฌ
- OS์ ํ๋์จ์ด ์ฌ์ด interaction์ ๋ํ interface = Interrupt

Computer System Organization

- system bus = ํต์ ํ๋ ‘ํต๋ก’
- ์ธ๋ถ ๋๋ฐ์ด์ค → device controller๋ฅผ ํตํด์ ์ฐ๊ฒฐ.
- device controller๋ device type์ ๋ฐ๋ผ์ ์กด์ฌ.
- device controller๋ ๋ง๋๋ณด๋์ ๋ด์ฅ๋์ด์๋ค. (system bus๋ ๋ง๋๋ณด๋ ์์ ๋ด์ฅ)
- ์ ์ ํ๋ก๋ก ๊ตฌ์ฑ๋์ด์๋ ‘ํ๋์จ์ด’์ ํด๋น
- OS๋ device controller๊ณผ ์ํตํ๊ธฐ ์ํด์ device driver๋ผ๋ SW ๋จ์ ๊ฒ์ ๊ฐ๊ณ ์๋ค
device controller, system bus๋ hardware ๋จ์ด๊ณ , device driver๋ software๋จ!!
1๏ธโฃ Interrupts
What Interrupt is

โ๏ธ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํค๋ ์ฃผ์ฒด = device controller
ex) ํค๋ณด๋ ๋๋ฆ(์ ๋ ฅ)
→ ํค๋ณด๋ device controller๊ฐ system bus๋ฅผ ํตํด CPU์ ์ธํฐ๋ฝํธ ์ ํธ๋ฅผ ๋ณด๋ธ๋ค
→ CPU๊ฐ detectionํ๊ณ ์๋ ์์ ์ค๋จํ๊ณ interrupt handling ์์
→ interrupt handling์ด ๋๋๋ฉด ์๋ ์์ ๋ค์ ์ฌ๊ฐ
โ๏ธ ์ธํฐ๋ฝํธ processing์ OS ์์์ ์ผ์ด๋๋ค.
- ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด Interrupt Vector๋ผ๋ ์ธํฐ๋ฝํธ Type์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ฒจ ์๋ ๋ฐ์ดํฐ ์คํธ๋ญ์ณ๋ฅผ ์ฝ๊ณ , ๊ทธ ํ์
(ex: ํค๋ณด๋, ๋ง์ฐ์ค, … )์ ๋จผ์ ํ์
ํ๋ค.
- interrupt ๋ฒกํฐ๊ฐ ํ์ ์ ๋ง๊ฒ ํจ์์ ๋ํ ํฌ์ธํฐ๋ฅผ ๊ฐ๊ณ ์๋ค.
- ์ด ํจ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฌ๋ผ๊ฐ์๋๋ฐ, ๋ถํ ์ ํ๊ฒ ๋๋ฉด OS๊ฐ initialize๋ฅผ ํด์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ ํด์ง ๋ถ๋ถ์ ๋ค์ด๊ฐ์๊ฒ ๋๊ณ , CPU๋ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ ๋ ์ด ๋ถ๋ถ์ ์ฝ์ด์ผ ํ๋ค๊ณ ์ด๋ฏธ ์๊ณ ์๊ฒ ๋๋ค.

- ํ์
์ ๋ง๋ Interrupt handler๋ฅผ ํธ์ถํ๋ค.
- interrupt handler = interrupt service routine = ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ๋ ํจ์
โ๏ธ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ์๊ฐ ๋์ CPU๋ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ ์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค!
ex) ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ถ๋ค๊ณ ํ์ ๋, ๋๋ฐ์ด์ค(๋์คํฌ)์ ์์ฒญํ๋ฉด ๊ฑฐ๊ธฐ์์ ์ฒ๋ฆฌํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ๊ทธ ์ฒ๋ฆฌ ์๊ฐ ๋์์ ๋ค๋ฅธ ์์ ์ ํ๋ ๊ฒ ํจ์จ์ ์ด๋ค.
→ I/O ์์ฒญ์ ๋ณด๋ด๊ณ ๋๋ฐ์ด์ค(๋์คํฌ)๊ฐ ์์ ์ ๋๋ด๋ฉด ๋์คํฌ๊ฐ Interrupt๋ฅผ ์ค์ ์์ ์ด ๋๋ฌ๋ค๋ ๊ฒ์ ์๋ ค์ค๋ค!
โ๏ธ ์ธํฐ๋ฝํธ๋ผ๋ ๊ฒ์ ์์๋ก ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ธํฐ๋ฝํธ ํธ๋ค๋งํ๋ ์๊ฐ์ด ๋งค์ฐ ์งง์์ผ ํ๋ค.!
- ์๊ฐ์ด ๊ธธ์ด์ง๋ฉด ์ ์ ํ๋ก๊ทธ๋จ์ ์คํ์ํฌ ์๊ฐ์ด ์๋ค.
Implementation
โ๏ธ ํ๋์จ์ด

- ์ปจํธ๋กค๋ฌ์์ ๋ฐ๋ก ๋ค์ด์ค๋ ๊ฒ์ด ์๋๋ผ, PIC๋ผ๋ ์ธํฐ๋ฝํธ๋ฅผ ์ํ ์ปจํธ๋กค๋ฌ๊ฐ ๋ ์กด์ฌ(Programmable Interrupt Controller)
- ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ฌ๋ฌ๊ฐ์ง ํ์
์ ์ธํฐ๋ฝํธ๊ฐ ๋ค์ด์ค๋ฉด ๋ค ํฉ์ณ์ฃผ๋ ์ญํ
- ์ฌ๋ฌ ๊ณณ์์ ๋์์ ๋ฐ์ํ ์๋ ์๊ธฐ ๋๋ฌธ์ ๊ตฌ๋ถ ๋ฐ ์กฐ์จํด์ CPU์๊ฒ ์ ๋ฌํด์ฃผ๊ธฐ ์ํด ํ์
- ์๊ทธ๋์ด ๋ค์ด์ค๋ฉด CPU๊ฐ ์ ํด์ง ๋์(์ธํฐ๋ฝํธ ๋ฒกํฐ๋ฅผ ์ฝ์ด์ …) ํ๋๋ก ํ๋ก๊ทธ๋จ ๋์ด์๋ค
- → CPU์์ ์ ๊ธฐ์ signal์ ๋ฐ๋ ํฌํธ(ํ)= Interrupt Request Line
- ๋ง๋๋ณด๋์ southbridge chip์ ์์นํ๋ค
๐ ๋ง๋๋ณด๋์ ๊ตฌ์ฑ
- North Bridge : GPU(๊ทธ๋ํฝ์ค) ํต์ , RAM(๋ฉ๋ชจ๋ฆฌ)
- South Bridge : ๋๋จธ์ง ๋๋ฐ์ด์ค (USB, I/O ...)
- CPU
- GPU
๐PIC → external Device ์ฐ๊ฒฐ → South Bridge

โ๏ธ ์ํํธ์จ์ด

Types
OS์์ ๊ตฌ๋ถํ๋ ์ธํฐ๋ฝํธ ํ์ ์๋ 2๊ฐ์ง๊ฐ ์๋ค.

(1) ํ๋์จ์ด ์ธํฐ๋ฝํธ
- ํ๋์จ์ด ๋๋ฐ์ด์ค์์ ์ค์ ๋ฐ์ํ ์ ๊ธฐ์ ์ ํธ๋ฅผ ๋ฐ๋ ๊ฒ
(2) ์ํํธ์จ์ด ์ธํฐ๋ฝํธ
- ํ๋์จ์ด ์ธํฐ๋ฝํธ์ ํท๊ฐ๋ ค์, exception์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค
- ์ธ๋ถ ๋๋ฐ์ด์ค์์ ์ค๋ ๊ฒ ์๋๋ผ, ํ๋ก์ธ์ค ์์ฒด์์ ๋ค์ด์ค๋(ํ๋ก์ธ์ค ์์ฒด๊ฐ requestํ๋) ์ธํฐ๋ฝํธ
- ex) ์๋ชป๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ → ์์คํ ๋ด๋ถ์์ “Segmentation Fault” ๋ฐ์
2๏ธโฃ System Calls
What System Call is

- System call = ์ ์ ํ๋ก๊ทธ๋จ์์ OS๊ฐ ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๋ ์ธํฐํ์ด์ค(API)

- ์์) ํ์ผ์ ์ด๊ณ , ํ์ผ์ ๋ด์ฉ์ ์ฝ์ด์, ๋ค๋ฅธ ํ์ผ์ ์ฐ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๊ณ ํด๋ณด์
- ํ์ผ์ OS๊ฐ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ํ์ผ์ ์ฌ๋ ๊ฒ๋ถํฐ ๋ค ์์คํ
์ฝ์ ํตํด์ “๋ด๊ฐ ํ์ผ์ ์ด๊ฒ ๋ค”๊ณ ์๋ ค์ค์ผ ํ๋ค
- ์ ์ ํ๋ก์ธ์ค๊ฐ ์คํํ๊ณ ์๋ค๊ฐ ์์คํ ์ฝ์ ํธ์ถ
- ์ ์ ํ๋ก์ธ์ค์์ ๋์๊ฐ๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ์ปจํธ๋กค์ด ์ปค๋๋ก ๋์ด๊ฐ๋ค (์ปค๋์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ปค๋ ๋ชจ๋๋ก ์ ํ)
- ํ์ผ์ ์ฌ๋ ๊ฒ ๊ฐ์ ๋์ ์์ฒญ์ ์ฒ๋ฆฌ๋ฅผ ์ปค๋ ๋จ์(level)์์ ํด์ค๋ค. (์ ์ ํ๋ก๊ทธ๋จ์ ๋ด๊ฐ ํ์ผ์ ์ด๊ฒ ๋ค๊ณ ์์ฒญ๋ง ํ๊ณ ์ค์ ์ฒ๋ฆฌ๋ ์ปค๋์์)
- ํ์ผ ์ฌ๋ ์์ ์ด ๋๋๋ฉด ๋ค์ ์ ์ ๋ชจ๋๋ก ๋์๊ฐ์ ์์คํ ์ฝ ๊ฐ์ ์ด์ฉํด์ ๊ณ์ ์ฒ๋ฆฌ๋ฅผ ์ด์ด๋๊ฐ๋ค.
- ํ์ผ์ OS๊ฐ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ํ์ผ์ ์ฌ๋ ๊ฒ๋ถํฐ ๋ค ์์คํ
์ฝ์ ํตํด์ “๋ด๊ฐ ํ์ผ์ ์ด๊ฒ ๋ค”๊ณ ์๋ ค์ค์ผ ํ๋ค
- ์ค์ ์ฌ์ฉ → C/C++ Standard Library ํตํด์

- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํค๋ ํ์ผ(stdio.h, unistd.h)์ ํจ์(printf(), write()) ๊ตฌํ์ ๋ฏ์ด๋ณด๋ฉด ์์คํ
์ฝ ๋ฐ์์ด ํฌํจ๋์ด์๋ค. BUT ์ฐ๋ฆฌ๋ ์์คํ
์ฝ์ ๋ถ๋ฅด๋์ง ์ ํ์์๊ณ , ๋์๋ง ์๋ฉด ๋๋ค.
- → ์์คํ ์ฝ์ ์ง์ ๋ถ๋ฅผ ์ผ์ ์๊ณ API๋ฅผ ํตํด์ ์์คํ ์ฝ์ ํธ์ถํ๋ค

Implementation
- ์์คํ
์ฝ๋ ์ธํฐ๋ฝํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก type๋ง๋ค ‘๋ฒํธ’๊ฐ ๋ถ์ฌ๋์ด์๋ค.
- write(), read(), … ๋ฑ๋ฑ ๋ค์ํ ์ข ๋ฅ์ ์์คํ ์ฝ ์กด์ฌ
- ๋ฒํธ์ ๋ฐ๋ผ์ ์์คํ ์ฝ function์ด OS์ ์ ์ฅ๋์ด์๋ค.
- ์์คํ
์ฝ์ด ์์ฒญ๋์์ ๋ ๋ง๋ ํจ์๋ฅผ ํธ์ถํ๋๋ก ๋์ด์๋ค.
- → system call interface ํตํด์ ์์คํ ์ฝ์ ๋ถ๋ฅด๊ณ , ๋ฆฌํด๊ฐ๋ ๋๊ฒจ์ค๋ค
- ์ค์ ๋ฆฌ๋
์ค ์คํ์์ค ์์คํ
์ฝ ํ
์ด๋ธ
- ์์คํ
์ฝ number | type | ์ด๋ฆ | ์ค์ ๋ก ๋ถ๋ฆฌ๋ ํจ์
- read system call request → TBL → sys_read() ํธ์ถํด์ OS๊ฐ handling
- ์์คํ
์ฝ number | type | ์ด๋ฆ | ์ค์ ๋ก ๋ถ๋ฆฌ๋ ํจ์

- ex) ํ๋ก๊ทธ๋จ์ ์์ฑํด์ fopen() ๊ฐ์ ํจ์ ํธ์ถํ ๊ฒฝ์ฐ

- ์ ์ ์ฝ๋์ ํจ์ ๋ด์์ open ์์คํ ์ฝ์ ๋ณด๋ธ๋ค
- ์ด๋ฅผ ์ปค๋์ด ๋ฐ์ ๋ค์์ open() ์ด๋ผ๋ ์์คํ ์ฝ์ด ๋ฐ์ํ์ ๋ ์ด๋ค ํจ์๋ฅผ ๋ถ๋ฌ์ผํ ์ง ์๊ธฐ ์ํด์, ์์คํ ์ฝ ํ ์ด๋ธ์ ์ดํด์ ๋ง๋ ํจ์๋ฅผ ์ฐพ๋๋ค
- sys_open()์ด๋ผ๋ ํจ์๋ฅผ ๋ถ๋ฌ์ ํธ๋ค๋ง์ ํ ๋ค์ ๊ฒฐ๊ณผ๊ฐ์ ์ ์ ์๊ฒ ์ ๋ฌํ๋ค
Parameter Passing

- read()๋ฅผ ์ดํด๋ณด๋ฉด ์์คํ
์ฝ์๋ ํ๋ผ๋ฏธํฐ๊ฐ ์กด์ฌํ๋ค.
- int fd : ์ด๊ณ ์ถ์ ํ์ผ์ file descriptor
- void *buf : ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ค์ผ ๋ ํ์ํ, ํ ๋น๋ ๋ฒํผ
- size_t count : ์ผ๋ง๋งํผ ํ์ผ์์ ์ฝ์ด๋ค์ผ ๊ฒ์ธ์ง
โ๏ธ Simplest
- ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ! = ์์๋ก ์ฌ์ฉํ๋ ์ฉ๋์ธ CPU์ ๋ ์ง์คํฐ์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ํ๋ํ๋ ์ ์ฅํด๋๋ค
- ์ฒซ ๋ฒ์งธ eax๋ผ๋ ์ด๋ฆ์ ๋ ์ง์คํฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฃ์ด๋๋๋ค๊ณ OS์์ ์ฝ์์ ํด๋๋ฉด, ์ ํด์ง ๋ ์ง์คํฐ์์ ์ฝ์ด์์ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ๋จ์ → CPU๋ง๋ค ๋ ์ง์คํฐ์ ๊ฐ์๊ฐ ์ ํด์ ธ์๋ค. ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฌดํ์ ์ผ๋ก ๋ฃ์ ์ ์๊ณ , ์ฌ์ฉํ ์ ์๋ ๋ ์ง์คํฐ์ ๊ฐ์๋งํผ๋ง ๋๊ธธ ์ ์๋ค.
- ํ์ง๋ง ์ ์ผ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ๋ฆฌ๋ ์ค์์ ์ฌ์ฉํ๋ ๋ฐฉ์!!! ๋ฌดํ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ๋๋จธ์ง ๋ ๋ฐฉ์ ์ฌ์ฉ
โ๏ธ Block
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ ํ๊ณ , ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ๋ฌํด์ค๋ค.
- ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ๊ธฐ์๋ถํฐ ์ฝ์ด๋ผ~ ( e.g - read()์์ ์ฝ์ ๋ฒํผ์ ํฌ์ธํฐ ๊ฐ์ ์ฃผ๊ฒ ๋๋ค)

โ๏ธStack
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ push๋ฅผ ํด๋๊ณ ๊บผ๋ด ์ฐ๊ธฐ๋ฅผ ํ๋ ๋ฐฉ์
3๏ธโฃ Operating System Structure
โ Simple(MS-DOS) ↔ Complex(UNIX)
Layered(abstraction) ↔ Microkernel(Mach)
Monolithic Structure - Original UNIX
- ์ปค๋์ด ํ ๋ฉ์ด๋ฆฌ๋ก ๋ผ์๋ค. ๋จ์ํ ๊ตฌ์กฐ = ๋ชจ๋ ์ปค๋์ functionality๊ฐ ํ๋์ ํฐ binary ํ์ผ๋ก ๋ฌถ์ฌ ์๋ค.
- file / storage management ๋ฑ์ด ๋ค ํ๋์ ์ปค๋๋ก ๋ฌถ์ฌ์๊ธฐ ๋๋ฌธ์ tightly coupled(๊ต์ฅํ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋์ด์๋ค)
- (์ฅ์ ) ํ ๋ฉ์ด๋ก ๋ผ์์ด์ ์์คํ ์ฝ์ ๋ถ๋ ์ ๋ ๋ชจ๋ ์๋น์ค์ ๋ฐ๋ก ์ ๊ทผ ๊ฐ๋ฅํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ์ ๋ค (์ปค๋๊ณผ์ ์ํต์ด ์ฝ๋ค)
- (๋จ์ ) ์ด๋ค ํ ๋ถ๋ถ ๋ฐ๊พธ๊ฒ ๋๋ฉด, ๋ค๋ฅธ ๋ถ๋ถ์๋ ์ํฅ์ ์ค ์ ์๋ค๋ ๋ฌธ์

Layered Approach
monolithic(๋ชจ๋๊ฐ ์๋ก ์ ๊ทผ ๊ฐ๋ฅ) ↔ Layered(์์์ ์๋๋ก๋ง ์ ๊ทผ ๊ฐ๋ฅ)

- OS์๋ ๋จ๊ณ(layer)๊ฐ ์๋ค.
- ๋ด๋ ค๊ฐ์๋ก ๋ฎ์์ง๋ค. → 0๋ฒ์ ํ๋์จ์ด. ๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ์ ์ ์ ์ธํฐํ์ด์ค
- ๊ถํ์ ๋ฐ๋ผ์ ๋ ์ด์ด๋ฅผ ๋๋ ๋๊ณ , ์→์๋๋ก๋ง ์ ๊ทผ ๊ฐ๋ฅ
- ์ฅ์
- ์ง๊ด์ ๊ตฌ์กฐ → ๋๋ ๋๊ณ ๊ฐ ๋ ์ด์ด์ ๋ง๊ฒ ๋ชจ๋ ๊ตฌํ → ๋์์ธ ์ฝ๋ค (์ปด๋ค์ TCP ๋ ์ด์ด ๊ฐ์ด ํ๋์จ์ด์ ์ผ๋ก ๊ตฌ๋ถ์ด ๋๋ ๊ฒฝ์ฐ์๋ ๋์์ธ์ด ์ฝ๋ค)
- ๋๋ฒ๊น , verification ์ฝ๋ค → ๋ ์ด์ด ๋จ์๋ก ํ๋ฉด ๋๋๊น (monolithic์ ๋ค tightly coupled๋ผ์ ์๋ชปํ๋ฉด ๋ค๋ฅธ ๋ฐ๋ ์ํฅ ์ค ์ ์์)
- ๋จ์ : ์ฑ๋ฅ์ด ์ ์ข์ ์ ์๋ค
- layer1์ ์ ๊ทผํ๋ ค๋ฉด ์์ layer๋ฅผ ๋ชจ๋ ๊ฑฐ์ณ์ผ ํ๋ค → ์์คํ ์๋น์ค์ ์ ๊ทผํ๋ ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฐ๋ค.
Microkernels
- ์ปค๋์ด ํ๋ ๊ฒ์ ์ ์ ์คํ์ด์ค๋ก ๋์ด์ฌ๋ ธ๋ค.

- ์ปค๋ฎค๋์ผ์ด์
๋ฐฉ์ → Message Passing
- file system์ด device driver๋ ์ํตํด์ผํ ์ผ์ด ์์ ๋ ๋ฉ์ธ์ง ํจ์ฑ ๋ฐฉ์์ผ๋ก ์ํต
- ์ปค๋์ด ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌ.
- ์ฅ์ : ์ปค๋์ด ๋จ์ํด์ง๋ค. extensionํ๊ธฐ ์ฝ๋ค. reliableํ๋ค. → ์ปค๋ ๋ชจ๋์์ ์ ์ด์ ๋์๊ฐ๋๊ฒ ์ ์ด์, ๋ฐ์ดํฐ ์ ์ถ๋ ํ๋ฅ ์ด ์ ๋ค
- ๋จ์ : ๋ฉ์ธ์ง ํจ์ฑ ๋ฐฉ์์ ์ด์ฉํ ์ ์ ์คํ์ด์ค์์ ์ปค๋ฎค๋์ผ์ด์ ์ด ํผํฌ๋จผ์ค ์ค๋ฒํค๋๊ฐ ์๋ค
'๐ฑ CS > ์ด์์ฒด์ (OS)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ด์์ฒด์ ๊ณต๋ฃก์ฑ ] Ch4. Threads & Concurrency (0) | 2024.05.12 |
|---|---|
| [์ด์์ฒด์ ๊ณต๋ฃก์ฑ ] Ch 3. Processes (1) | 2024.04.26 |
| [์ด์์ฒด์ ๊ณต๋ฃก์ฑ ] Ch 1. Introduction (1) | 2024.04.13 |