๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โญ Group_Study/Operating System37

[4์ฃผ์ฐจ] Deadlock: Deadlock Model Deadlock: Deadlock Model Deadlock ๋ฐœ์ƒ์˜ ์˜ˆ โœ” 2๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค(P1, P2) โœ” 2๊ฐœ์˜ ์ž์›(R1, R2) โœ” P1์€ P2๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” R1์„, P2๋Š” P1์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” R2๋ฅผ ์š”์ฒญํ•˜๊ณ  ์žˆ๋‹ค -> ์„œ๋กœ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์œผ๋ฏ€๋กœ deadlock! Deadlock Model(ํ‘œํ˜„๋ฒ•) Graph Model State Transition Model Graph Model โœ” Node ํ”„๋กœ์„ธ์Šค ๋…ธ๋“œ(P1, P2), ์ž์› ๋…ธ๋“œ(R1, R2) โœ” Edge $R_j$ -> $P_i$: ์ž์› $R_j$์ด ํ”„๋กœ์„ธ์Šค $P_i$์— ํ• ๋‹น ๋จ $P_i$ -> $R_j$: ํ”„๋กœ์„ธ์Šค $P_i$๊ฐ€ ์ž์› $R_j$์„ ์š”์ฒญ(๋Œ€๊ธฐ ์ค‘) โœ” Cycle ์ƒ์„ฑ ์‹œ Deadlock! State .. 2022. 12. 23.
[4์ฃผ์ฐจ] Deadlock: Deadlock and Resource types Deadlock: Deadlock and Resource types Deadlock์˜ ๊ฐœ๋… โœ” Blocked/Asleep state ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŠน์ • ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ โœ” Deadlock state ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ deadlock ์ƒํƒœ์— ์žˆ์Œ ์‹œ์Šคํ…œ ๋‚ด์— deadlock์— ๋น ์ง„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์ด deadlock์ด ์ƒํƒœ์— ์žˆ์Œ โœ” starvation์€ '์šด์ด ์—†์–ด์„œ' ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•œ ์ƒํƒœ์ผ ๋ฟ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค!! ์ž์›์˜ ๋ถ„๋ฅ˜ โœ” ์ผ๋ฐ˜์  ๋ถ„๋ฅ˜: Hardware resources vs Software resources โœ” ๋‹ค๋ฅธ ๋ถ„๋ฅ˜๋ฒ•(deadlock์˜ ๊ด€์ ) ์„ ์  ๊ฐ€๋Šฅ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ .. 2022. 12. 22.
[3์ฃผ์ฐจ] Mutual Exclusion Solutions (Language-Level solution) Mutual Exclusion Solutions (Language-Level solution) High-level Mechanism โœ” Monitor โœ” Path expressions โœ” Serializers โœ” Critical region, conditional critical region โœ” Language-level constructs โœ” Object-Oriented concept๊ณผ ์œ ์‚ฌ โœ” ์‚ฌ์šฉ์ด ์‰ฌ์›€ Monitor โœ” ๊ณต์œ  ๋ฐ์ดํ„ฐ์™€ Critical section์˜ ์ง‘ํ•ฉ โœ” Conditional variable - wait(), signal(), operations Monitor์˜ ๊ตฌ์กฐ โœ” Entry queue(์ง„์ž… ํ) ๋ชจ๋‹ˆํ„ฐ ๋‚ด์˜ proceure ์ˆ˜๋งŒํผ ์กด์žฌ โœ” Mutual exclusion .. 2022. 12. 21.
[3์ฃผ์ฐจ] Mutual Exclusion Solutions (OS supported SW solution) Mutual Exclusion Solutions (OS supported SW solution) Spinlock โœ” ์ •์ˆ˜ ๋ณ€์ˆ˜ โœ” ์ดˆ๊ธฐํ™”, P(), V() ์—ฐ์‚ฐ์œผ๋กœ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ ์œ„ ์—ฐ์‚ฐ๋“ค์€ indivisible (or atomic) ์—ฐ์‚ฐ OS support ์ „์ฒด๊ฐ€ ํ•œ instruction cycle์— ์ˆ˜ํ–‰๋จ โœ” P, V ์—ฐ์‚ฐ์„ ํ†ตํ•ด active ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ž„๊ณ„์˜์—ญ์— ์ง„์ž…ํ•œ๋‹ค ํŠน์ง• โœ” ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ์‹œ์Šคํ…œ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ โœ” Busy waiting lock์„ ๋Œ€๊ธฐํ•˜๋Š” ๋™์•ˆ loop๋ฅผ ๋Œ๋ฉด์„œ busy waiting ์ƒํƒœ๋กœ ๋Œ€๊ธฐ Semaphore โœ” 1965๋…„ Dijkstra๊ฐ€ ์ œ์•ˆ โœ” Busy waiting ๋ฌธ์ œ ํ•ด๊ฒฐ โœ” ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜(S) ์ดˆ๊ธฐํ™” ์—ฐ์‚ฐ, P(), V()๋กœ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ P: P.. 2022. 12. 18.
[3์ฃผ์ฐจ] Mutual Exclusion Solutions (SW & HW) Mutual Exclusion Solutions (SW & HW) SW Solutions Dekker's Algorithm โœ” Two process ME๋ฅผ ๋ณด์žฅํ•˜๋Š” ์ตœ์ดˆ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โœ” flag์™€ turn ๋‘˜๋‹ค ํ™œ์šฉ Petersen's Algorithm โœ” dekker's algorithm ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ N-Process Mutual Exclusion โœ” ๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra) ์ตœ์ดˆ๋กœ ํ”„๋กœ์„ธ์Šค n๊ฐœ์˜ ์ƒํ˜ธ๋ฐฐ์ œ ๋ฌธ์ œ๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ํ•ด๊ฒฐ ์‹คํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค์— ํ”„๋กœ์„ธ์„œ ํ• ๋‹นํ•˜๋Š” ์„ธ๋งˆํฌ ๋ฐฉ๋ฒ•, ๊ฐ€์žฅ ์งง์€ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„ ์ œ๊ณต โœ” ํฌ๋ˆ„์Šค(Knuth) โœ” ๋žจํฌํŠธ(lamport) โœ” ํ•ธ์Šจ(brinch Hansen) Dijkstra's Algorithm โœ” Dijkstra ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ flag[] .. 2022. 12. 17.
[3์ฃผ์ฐจ] Process Synchronization and Mutual Exclusion ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™” & ์ƒํ˜ธ๋ฐฐ์ œ (Process Synchronization and Mutual Exclusion) Process Synchronization โœ” ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค ์กด์žฌ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ ๊ณต์œ  ์ž์› ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ, ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ โœ” ๋™๊ธฐํ™”(Synchronization) ํ”„๋กœ์„ธ์Šค๋“ค์ด ์„œ๋กœ ๋™์ž‘์„ ๋งž์ถ”๋Š” ๊ฒƒ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์„œ๋กœ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ Asynchronous and Concurrent P's โœ” ๋น„๋™๊ธฐ์ (Asynchronous) ํ”„๋กœ์„ธ์Šค๋“ค์ด ์„œ๋กœ์— ๋Œ€ํ•ด ๋ชจ๋ฆ„ โœ” ๋ณ‘ํ–‰์  (Concurrent) ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค ๋“ค์ด ๋™์‹œ์— ์‹œ์Šคํ…œ์— ์กด์žฌ โœ” ๋ณ‘ํ–‰ ์ˆ˜ํ–‰์ค‘์ธ ๋น„๋™๊ธฐ์  ํ”„๋กœ์„ธ์Šค๋“ค์ด ๊ณต์œ  ์ž์›์— ๋™์‹œ ์ ‘๊ทผํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ Term.. 2022. 12. 16.