
๐ CS/์ด์์ฒด์
์ ์ฐฝ์์ ์ด๊ธฐ
์ ์ฐฝ์์ ์ด๊ธฐ
Ready ์ํ์ ์๋ ํ๋ก์ธ์ค ์ค ๋๊ตฌ์๊ฒ CPU๋ฅผ ํ ๋นํ ๊ฒ์ธ๊ฐ์ ๋ํ ์ ์ฑ
Batch ์์คํ
์ด๋ - TimeSharing ์์คํ
์ด๋์ ๋ฐ๋ผ ๋ค๋ฆ Context Switching Overhead๋ฅผ ๊ณ ๋ คํด์ผํ๋ค. user mode => kernel mode ๋ชจ๋ ์ค์์นญ ํ์ฌ์ ์ํ์ ๋ณด ์ ์ฅ ์ฃผ์๊ณต๊ฐ (memory map) ์ ๋ณด ์ ์ฅ ๋ค์์ ์คํํ ํ๋ก์ธ์ค ์ ํ (์ค์ผ์ฅด๋ง) PCB์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ ๋ฆฌ๋ก๋ฉ ๋ฑ, ๊ฝค ๋ง์ ์ผ์ด context switch ์ฌ์ด์ ์ผ์ด๋๋ค!! Process Behavior CPU๋ฅผ ์ฌ์ฉํ๋ ํจํด์ ๋ฐ๋ผ a) Compute Bound : CPU ์ฐ์ฐ์ ๋น์ค์ด ๋์ ํ๋ก์ธ์ค b) I/O Bound : I/O ์ฐ์ฐ์ ๋น์ค์ด ๋์ ํ๋ก์ธ์ค CPU์ ์ฑ๋ฅ์ ๋ฐ๋ผ ์๋์ ์ผ๋ก ๊ฒฐ์ ๋๋ค..
์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ๊ณต์ ๋ ๋ฐ์ดํฐ๋ค์ ๋์์ ์ ๊ทผํ๋ ค ํ ๋, ๊ทธ ์คํ๋ค์ ์ ์ดํด์ฃผ์ด์ผ ํ๋ค. ์คํ๋๋ ์ฌ๋ฌ ์์
๋ค์ด ๋ฌธ์ ๊ฐ ์๊ฒ๋ ๋ง์ถฐ์ฃผ๋ ๊ฑธ Synchronization ์ด๋ผ๊ณ ํ๋ค. Race Condition ๋๊ฐ์ ์ํ์ ํ๋๋ฐ ๋งค๋ฒ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅด๊ฒ ๋์ค๋ ๊ฒ (ํ์ด๋ฐ์ ๋ฐ๋ผ์) ์ด๋ก์ ๋ฆฌํด๋ ๋ค์์ ๋นจ๊ฐ์ ์คํ๋ ๊ฑฐ put_balance์ ๊ฐ ๋ฃ๊ธฐ ์ ์ Context Switch๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด๋ก์์ 9000์, ๋นจ๊ฐ์์ 8000์ ๋ฆฌํด. ๋นจ๊ฐ์ ๋ฆฌํด(8000)ํ ๋ค์์ ๋ค์ ์ด๋ก์ ํ ๋ฐธ๋ฐ์ค๋ก ๋์๊ฐ์ ์ด๋ก์ ๋ฆฌํด(9000). ์ด ์ผ์ฒ์ ๋นผ๊ฐ๊ฑด๋ฐ ๊ฒฐ๊ณผ์ ์ผ๋ก 1000์๋ง ์์ด์ง. ๊ฐ๊ฟ? -> ์ด๊ฒ race condition Critical Regions ํ๋ก๊ทธ๋จ ์ฝ๋ ์ค ๊ณต์ ๋ ์์์ ์ ๊ทผํ๋ ๋ถ๋ถ ..
Parallal Program ํ๋์ Job์ ์ฌ๋ฌ CPU์์ ๋์์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ์์
์ ํฌํฌํด๊ฐ์ ์ฒ๋ฆฌํด์ ์ฃผ๋ ๊ฒ PCB, PT๋ค์ ์์ฑํด์ผ๋๊ณ , OS ๊ตฌ์กฐ๋ ๋ง๋ค์ด์ผํ๊ณ ํด์ ๋นํจ์จ์ ์ด๋ค (๊ณต๊ฐ, ์๊ฐ) ์ด๋ป๊ฒ ํ๋ฉด ๋ ํจ์จ์ ์ผ๋ก ํ ์ ์์๊น? ํ๋ก์ธ์ค๋ค๋ผ๋ฆฌ ๋น์ทํ ๊ฒ Address Space (Code, data) Privilege (ํน๊ถ?) ๋ฆฌ์์ค (ํ์ผ, ์์ผ ๋ฑ) ๋ค๋ฅธ ๊ฒ - ์ด๋ ๊ฒ ๋ค๊ฐ! Registers, PC, SP, Process State ์ค๋ ๋ : ๊ฐ์ ๊ฒ์ ๊ณต์ ํ๊ณ , ๋ค๋ฅธ ๊ฒ์ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ์ ธ๊ฐ์ Thread ๋ง์ ํ๋ก๊ทธ๋จ์ด ๋์์ ๋์๊ฐ๋ค ์ฐ๋ ๋๋ค์ ๊ฐ์ ์ฃผ์๊ณต๊ฐ์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ ๋๊ฐ ์ ๋ณด ๊ตํ์ด ๊ฐ๋จํ๋ค ํ๋ก์ธ์ค๋ฅผ ๋ง๋๋๊ฒ ๋ณด๋ค ๊ฐ๋ณ๋ค. ์๊ฐ. ๋ฉ๋ชจ๋ฆฌ..
Program Execution์ ๊ธฐ๋ณธ ๋จ์. Multiprogramming : ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ๊ฐ Multiprocessing: ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ๊ฐ. ํ๋์ job์ ์ฒ๋ฆฌํ๋ ํํ Pseudoparallelism : ์ค์ ๋ก ๋ณํ ํ๋ก์ธ์ค์ธ๊ฑด ์๋์ง๋ง, ์ฌ๋์ด ๋ณผ๋๋ ๊ทธ๋ฐ ๊ฒ ์ฒ๋ผ ๋๊ปด์ง. ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋น ๋ฅด๊ฒ ๋์๊ฐ๋ฉด์ ์ฒ๋ฆฌ๋จ์ผ๋ก์ ๋์์ ์ฒ๋ฆฌ๋๋๊ฒ ์ฒ๋ผ. ํ๋ก์ธ์ค๊ฐ ๊ฐ์ง๊ณ ์๋๊ฒ : ์ฃผ์ ๊ณต๊ฐ, ํ๋ก๊ทธ๋จ ์คํ ์ฝ๋, ์คํ-์คํํฌ์ธํฐ, PC, ๋ ์ง์คํฐ(์ ์ํ), OS์๊ฒ ์์ฒญํด์ ์ป์ ๋ฆฌ์์ค - ๋ฑ์ ํ๋ก์ธ์ค๊ฐ ๊ฐ๊ณ ๊ด๋ฆฌํ๋ค. Process in OS ๊ฐ ํ๋ก์ธ์ค๋ ์ ๋ํฌํ PID๋ก ๊ด๋ฆฌ๋๋ค. OS์๋ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํ Process Table (PT)๊ฐ ์์. Process Control B..
What does an operating system do? ํ๋์จ์ด์ ์ถ์ํ๋ ๋ ์ด์ด๋ฅผ ์ ๊ณต. ์ฉ H/W๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๊ณ ํ๋ก๊ทธ๋๋ฐํ ์ ์์ ์ํํธ์จ์ด์ ์ธ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํด์ค. ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๋์์ ์คํ๋ ์ ์๋๋ก ( = CPU, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋์ด ์ธ์ ์๋๋ก OS์์ ๊ด๋ฆฌํด์ค๋ค) CPU PipeLining A susperscalar CPU : ๋์์ ์ฌ๋ฌ instruction์ ์ํํ ์ ์๋ ๊ตฌ์กฐ Kernel mode : CPU์์ ์ ๊ณตํ๋ ๋ชจ๋ instruction ์ํ ๊ฐ๋ฅ. ๋ชจ๋ H/W feature (Device)์ access ๊ฐ๋ฅ. User mode : ๋ชจ๋ instruction์ด ์๋ ์ ํ๋ ๋ช
๋ น์ด๋ง ์ฌ์ฉ ๊ฐ๋ฅ. Device access์๋ ์ ํ. I/O Devices I/O Acce..