๐ก๐ธ๐ธ๐ถ5: ๐ฆ๐๐๐๐ถ ๐ฐ๐๐พ๐/์ด์์ฒด์ Operating Systems (COSE341) (2) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์ด์์ฒด์ ] CH4. CPU Scheduling 1. Basic Concepts Multiprogramming : ์ปดํจํฐ์ CPU์์ ๋์์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ธฐ์ multiprogramming์ ๋ชฉ์ ์ CPU utilization์ ๊ทน๋ํ์ process๋ CPU execution ์ฃผ๊ธฐ์ I/O wain ์ผ๋ก ๊ตฌ์ฑ๋จ. ์ฆ, ํ๋ก์ธ์ค๊ฐ ์ผ์ ์๊ฐ ๋์ CPU์์ ์คํ๋ ๋ค์, ๊ณ์ ์คํ๋๊ธฐ ์ ์ I/O ์์ ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆผ. CPU Burst distribution์ 1) ์งง๊ณ ๋ง์ cpu burst ์ 2) ๊ธธ๊ณ ์ ์ cpu burst ๊ฐ ์๋๋ฐ, I/O Bound program์ ์งง๊ณ ๋ง์ cpu burst๋ฅผ ๊ฐ์ง๋ฉฐ CPU-Bound program์ ๊ธธ๊ณ ์ ์ cpu burst๋ฅผ ๊ฐ์ง distribution์์ ์ผ์ชฝ์ burst du.. [์ด์์ฒด์ ] CH3. Threads & Concurrency 0. Overview 1) Thread๋ : A basic unit of CPU utilization - thread ID, a program counter (PC), a register set, and a stack ์ผ๋ก ๊ตฌ์ฑ๋จ - ๊ฐ์ process์ ๋ค๋ฅธ ์ฐ๋ ๋์ code section, data section, and other operating-system resources ๊ณต์ ํจ 2) Single / Multithreaded Processes ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋จ์ผ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ฌ ๊ฐ์ ์ ์ฌํ ์์ ์ ์ํํด์ผ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์น ์๋ฒ๋ ์น ํ์ด์ง, ์ด๋ฏธ์ง, ์๋ฆฌ ๋ฑ์ ๋ํ ์์ฒญ์ ์๋ฝํด์ผ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ํ ๊ฐ์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋ฒ๋ฅผ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์๋ฝ.. ์ด์ 1 ๋ค์