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

๐Ÿš— Major Study (Bachelor)/๐ŸŸง Operating System26

[OS / ์šด์˜ ์ฒด์ œ] Segmentation Architecture, Hashed Page Table, Page Replacement Hashed Page Table ๊ณต๊ฐ„์€ ํฌ์ง€๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ sparceํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. ์–ด๋–ค key value๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ์œ„์น˜๊ฐ€ return ๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. Linked list ๊ตฌ์กฐ ์†์— page number์™€ frame number๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋‹ค. Segmentation paging์€ low level ์˜ address๋ฅผ ๊ด€๋ฆฌํ•˜์ง€๋งŒ segmentation์€ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๋Š” ์ปจ์…‰์ด๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” Code์™€ ๋ฐ์ดํ„ฐ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋˜ํ•œ Heap๊ณผ Stack์œผ๋กœ ๋‚˜๋‰  ์ˆ˜ ์žˆ๊ณ  ์ด๋Ÿฐ ๊ฒƒ์ด ๋…ผ๋ฆฌ์ ์ธ ๊ตฌํš์ด ๋œ๋‹ค. ๋…ผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ Space๋ฅผ ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ Segment๋ผ๊ณ  ๋ถ€๋ฅด๊ฒŒ ๋œ๋‹ค. Memory๋ฅผ ์ชผ๊ฐœ์„œ ๋‚˜๋ˆ ์„œ ๋ณธ๋‹ค.. 2022. 6. 9.
[OS / ์šด์˜์ฒด์ œ] Virtual Memory, Virtual Address Space, Demand Paging, Copy-on-Write Background ํ”„๋กœ๊ทธ๋žจ์ด ์•„์ฃผ ๋งŽ์€ Instruction์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ ๋‹ค Load ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•œ๊ฐ€? ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ชจ๋“  ์˜์—ญ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Error handling code๋“ค์€ error ๋ฐœ์ƒ ์ด์ „๊นŒ์ง€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์„ load ํ•˜์ž๋Š” ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. Background ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์„ loadํ•˜๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์žฅ์ ์ด ์ƒ๊ธด๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ ์ƒ๋‹นํžˆ ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. physical memory์˜ ์–‘์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋ฉด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋” ๋งŽ์€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ Swaping์„ ํ•  ๋•Œ I/O Overhead๊ฐ€ ํฌ๊ฒŒ ์ค„.. 2022. 6. 6.
[OS / ์šด์˜ ์ฒด์ œ] Paging, Frame Table, Hardware Support, Shared Pages, Hierarchical Paging Paging overhead๋Š” 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€์ ์—์„œ page table ์„ ๋จผ์ € ์‚ดํŽด๋ณด์ž. page table์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์€ ๋ฌด์‹œํ•˜์ง€ ๋ชปํ•  ๋งŒํผ ํฌ๋‹ค. page์˜ ํ•œ ์นธ์ด frame number ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ณ  page offset์ด 12 bit๋ผ๋ฉด 20bit์˜ ํฌ๊ธฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 4MB ์ •๋„ ํ•ด๋‹นํ•˜๋ฏ€๋กœ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋‹ค. page table์€ ์ปดํ“จํ„ฐ ์•ˆ์— ํ”„๋กœ์„ธ์Šค ๊ฐœ์ˆ˜ ๋งŒํผ ์กด์žฌํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ 100๊ฐœ ์ •๋„ ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด 400MB ์ •๋„ ์ฐจ์ง€ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” Internel Fragmentation ๊ด€์ ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด logical memory์˜ ๊ณต๊ฐ„์ด 14๋ผ๊ณ  ํ•˜๋ฉด ์–ด์ฐŒ ๋๋“  16์— ํ•ด๋‹นํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ํ•˜๋‚˜์˜ Frame์—๋Š”.. 2022. 6. 2.
[OS / ์šด์˜์ฒด์ œ] Swapping, Contiguous Memory Allcoation, Fragmentation, Paging, Swapping ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ Switching์ด ์ผ์–ด๋‚˜๋ ค๊ณ  ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค ํฌ๊ธฐ๋ฅผ 100MB๋กœ ๊ฐ€์ •. ๋””์Šคํฌ์˜ latency๊ฐ€ 8ms ์ •๋„ ๊ฑธ๋ฆฐ๋‹ค. 2์ดˆ์—๋‹ค๊ฐ€ 8ms ์ •๋„ ์ถ”๊ฐ€๋œ๋‹ค. 2008ms ๊ฑธ๋ฆฌ๊ฒŒ ๋˜๊ณ  Swap out๊ณผ Swap in ์ด 2๋ฒˆ ์ผ์–ด๋‚˜๊ณ  4016ms๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. Context Switching ํ•  ๋•Œ ๊ฑธ๋ฆฌ๋Š” ์ˆซ์ž์ด๋‹ค. Time slice๊ฐ€ ๋ณดํ†ต 10 ~ 100 ms ํ•˜๋Š”๋ฐ Context Switching ํ•  ๋•Œ 4์ดˆ๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. disk transfer rate๋ฅผ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ Hard Dist๋ฅผ SSD๋กœ ๋ฐ”๊พธ๋Š” ๋“ฑ์˜ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์‚ฌ์šฉ์— ํ•„์š”ํ•œ ํ”„๋กœ์„ธ์Šค๋งŒ ๋„˜๊ธฐ๋Š” ๊ฒƒ์œผ๋กœ Context Switching์„ ํ•ด์•ผ ํ•œ๋‹ค. .. 2022. 5. 30.
[OS / ์šด์˜์ฒด์ œ] Address Binding, Logical vs Physical Address Space, Dynamic Linking and Shared Library, Swapping Basic HardWare ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ž๋™์ ์œผ๋กœ ๋ฒ—์–ด๋‚ฌ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธํ•ด์ค€๋‹ค. Memory Management Unit. ์•„์ฃผ ๋น ๋ฅธ ์‹œ๊ฐ„์— ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค์˜ ์‹œ์ž‘์ ์€ base๋ผ๊ณ  ํ•œ๋‹ค. ์ฃผ์†Œ๋ฅผ ๋‹ฌ๋ผ๊ณ  ํ•˜๋ฉด base์™€ ๋น„๊ต๋ฅผ ํ•ด์„œ ์•„๋ž˜ ์žˆ์œผ๋ฉด NO (Interrupt๊ฐ€ ๋ฐœ์ƒ)์œ„์— ์žˆ์œผ๋ฉด YES๋ฅผ ์–ป๊ฒŒ ๋œ๋‹ค. base๋ณด๋‹ค ํฐ ๊ฐ’์ด๋ฉด ๋‹ค์Œ Task๋ฅผ ๋น„๊ตํ•œ๋‹ค. base + limit์„ ํ•ด์„œ ์ฃผ์†Œ๊ฐ’์„ ์–ป๊ณ  ์ด๋ณด๋‹ค ํฌ๊ฒŒ ๋˜๋ฉด Segmentation fault๋ฅผ ๋ณด๊ฒŒ ๋œ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์„ HardWare๊ฐ€ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์ž. base์™€ limit์ด ์ €์žฅ๋˜๋Š” ๊ณณ์€ ๋ž˜์ง€์Šคํ„ฐ์ด๋‹ค. ์•„์ฃผ ๋น ๋ฅธ ์‹œ๊ฐ„์— ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Base/limit ๋ž˜์ง€์Šคํ„ฐ๋Š” priviledge ~ ์ด ๋ฌธ์žฅ ํ™•์ธํ•ด๋ณผ ๊ฒƒ.. 2022. 5. 26.
[OS / ์šด์˜์ฒด์ œ] The Readers-Writers Problem, The Dining Philosopher's Problems, Synchronization within the Kernel, POSIX Synchronization The Readers-Writers Problem Writer๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๊พธ๊ธฐ๋„ ํ•˜๊ณ  ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์ด๋‹ค. Mutual Exclusion ๋ณด์žฅํ•˜์ง€ ์•Š๊ณ  Shared Data๋ฅผ ๊ฑด๋“œ๋ฆฌ๋ฉด race condition์ด ๋ฐœ์ƒํ•˜๊ณ  Debug ํ•˜๊ธฐ ๊ต‰์žฅํžˆ ์–ด๋ ต๋‹ค. Writer ๋“ค์ด ๋™์‹œ์— ๋“ค์–ด์˜ค๋ฉด ์•ˆ๋œ๋‹ค. Reader ๋“ค์ด ์žˆ๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์ˆ˜์ •์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋™์‹œ์— Shard Data์— ์ ‘๊ทผ์„ ํ•˜๋ฉด ๋ฌธ์ œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” Reader๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์žˆ์–ด๋„ ์ƒ๊ด€์ด ์—†๋‹ค. ์“ฐ๊ณ  ์žˆ๋Š” ์ค‘๊ฐ„์— ์ฝ์–ด๊ฐ€๋ฉด ์ด๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด ์ƒํ™ฉ์€ ์œ„ํ—˜ํ•œ ์ƒํ™ฉ์ด๋‹ค. ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ Reader๊ฐ€ ์ฝ์–ด๊ฐ€๊ณ  ์žˆ๋Š”๋ฐ Writer๊ฐ€ ๋“ค์–ด์™€์„œ ๋‚ด์šฉ์„ ๋ฐ”๊พธ์–ด ๋ฒ„๋ฆฌ๋ฉด ์ด๊ฒƒ๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. ์ด 4๊ฐ€.. 2022. 5. 23.
[OS / ์šด์˜ ์ฒด์ œ] Monitors, Condition Variable, Implementing a Monitor Using Semaphore, Deadlock and Starvation, Bounded Buffer Problem Monitors Monitor์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ Resource์ด๋‹ค. Spin lock๊ณผ Block์˜ ๋ฐฉ๋ฒ•์œผ๋กœ Waiting ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. Waiting ์€ Linked List๋กœ ๊ตฌํ˜„์„ ํ•œ๋‹ค. Monitor ์ž์ฒด๋Š” Mutual Exclusion์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. Monitor in Java synchronized๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉ์„ ํ•˜๋ฉด ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ Thread๋งŒ์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์ธ ๊ฒƒ์ด๋‹ค. System.Threading.Monitor์˜ ํŠน์„ฑ์„ ์ „ํ•ด ๋ฐ›์œผ๋ฉด Monitor์˜ ํŠน์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. Condition Variable ์–ผ์Œ ๋•ก ๋†€์ด. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  x.wait์œผ๋กœ ์‹คํ–‰์„ ํ•˜๋ฉด ์–ผ์Œ๊ณผ ๋™์ผํ•œ ์ƒํƒœ๊ฐ€ ๋œ.. 2022. 5. 19.
[OS / ์šด์˜์ฒด์ œ] Mutex, Semaphores, Monitors Mutex Mutex์˜ ๊ฐ’์ด 1์ด๋ฉด ๋“ค์–ด๊ฐ€๋„ ๋œ๋‹ค. Boolean variable์˜ ๋œป์€ Availableํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊ฐ€์ง„๋‹ค. True์ด๋ฉด ๋“ค์–ด์™€๋„ ๋œ๋‹ค! ์ดˆ๊ธฐํ™”๋ฅผ True๋กœ ์„ค์ •์„ ํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์•„๋ฌด๋‚˜ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. Atomic Operation์„ ํ†ตํ•ด์„œ๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. Class์˜ Private ๋ณ€์ˆ˜๋กœ ์„ ์–ธ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๋‹ค. acquire๋Š” Entry section์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋ˆ„๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ์„ ํ•ด์•ผ ํ•œ๋‹ค. release ํ•จ์ˆ˜๋Š” Exit function์ด๋‹ค. ๋‹ค์Œ ์นœ๊ตฌ๊ฐ€ ๋“ค์–ด์™€๋„ ๋œ๋‹ค๊ณ  ํ•˜๋Š” ํ’€์–ด์ฃผ๋Š” ๊ตฌ์—ญ์ด๋‹ค. acquire ํ•จ์ˆ˜ available์˜ ๊ฐ’์ด ์ฒ˜์Œ์— true์ด๋ฏ€๋กœ while ๋ฌธ์„ ํ†ต๊ณผํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ available๊ฐ€ false๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. ์ด.. 2022. 5. 16.
[OS / ์šด์˜์ฒด์ œ] Mutual Exclusion using TestAndSet, Mutual Exclusion and Swap, Mutual Exclusion using CAS, Bounded Waiting Mutual Exclusion, Atomic Variable Mutual Exclusion using TestAndSet critical section ์•ž์— entry section์ด ์žˆ๋‹ค. Lock์˜ ์ดˆ๊นƒ๊ฐ’์ด false์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๊ฐ€ critical section์— ๋“ค์–ด๊ฐ€๋ ค๊ณ  ์‹œ๋„๋ฅผ ํ•œ๋‹ค. TestAndSet์€ ์ด์ „์˜ lock์˜ ๊ฐ’์„ return ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. while()๋ฌธ์ด ๊นจ์ง€๊ฒŒ ๋œ๋‹ค. ๋“ค์–ด๊ฐ€๋Š” ์ž…์žฅ์—์„œ while๋ฌธ์ด ๊นจ์ง€๋Š” ๊ฒƒ, Critical section์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. lock = 0์ด๋ฏ€๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ  TestAndSet์€ ํ•ด๋‹น lock๊ฐ’์„ ๋ฌด์กฐ๊ฑด 1๋กœ ๋ฐ”๊พธ์–ด ์ค€๋‹ค. ๊ทธ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ true๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด์˜ค๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ TestAndSet์˜ ๋ฆฌํ„ด๊ฐ’์€ true์ด๋ฏ€๋กœ while ๋ฌธ์ด ์œ ์ง€๊ฐ€ ๋˜์–ด.. 2022. 5. 9.
[OS / ์šด์˜์ฒด์ œ] Peterson's solution, Erroneus Algorithm, Peterson's Solution, Memory Barriers, Hardware Instructions, compare and swap, TestAndSet Peterson's solution ํ”„๋กœ์„ธ์Šค๊ฐ€ 2๊ฐœ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •, 3๊ฐœ๋ถ€ํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฐ€. Peterson์˜ solution์œผ๋กœ๋Š” ์•ˆ๋œ๋‹ค. Pi, Pj๋Š” ์ƒ๋Œ€์ ์ธ ์ด๋ฆ„์ด๋‹ค. ๋‚˜ ์ž์‹ ์ด P0๋ผ๋ฉด Pi๊ฐ€ P0๊ฐ€ ๋œ๋‹ค. Pi๋Š” ๋‚˜ ์ž์‹ ์„ ์ผ์ปซ๋Š” ๋ง์ด๋‹ค. turn, ๋ˆ„๊ฐ€ ๋“ค์–ด๊ฐˆ ์ฐจ๋ก€์ธ์ง€๊ฐ€ turn ๋ณ€์ˆ˜์— ํ•ด๋‹นํ•œ๋‹ค. flag๋ณ€์ˆ˜๋Š” ์‚ฌ์ด์ฆˆ๊ฐ€ 2์ธ ๋ฐฐ์—ด์ด๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ 2๊ฐœ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ. turn์˜ ์ดˆ๊นƒ๊ฐ’์€ 0 flag๋„ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ๋˜์–ด์žˆ๋‹ค. Erroneus Algorithm do while ๋ฃจํ”„ ์•ˆ์—์„œ critical section์ด ์กด์žฌํ•œ๋‹ค. entry section์ด while ์‹œ์ž‘๋ฌธ์ด๊ณ  exit section์€ ์•„๋ž˜ ์ฒ˜๋Ÿผ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‚ด ์ฐจ๋ก€๊ฐ€ ์•„๋‹ˆ๋ฉด ๊ธฐ๋‹ค๋ฆฌ๋ผ๋Š” ๋ฐ˜๋ณต๋ฌธ์ด ๋œ๋‹ค. tur.. 2022. 5. 2.