{"id":40560,"date":"2026-05-16T09:01:16","date_gmt":"2026-05-16T00:01:16","guid":{"rendered":"https:\/\/blog.agentsoft.co.kr\/index.php\/2026\/05\/16\/40560\/"},"modified":"2026-05-16T09:01:16","modified_gmt":"2026-05-16T00:01:16","slug":"pintos-project-1-final-report-alarm-clock-priority-scheduling-advanced-scheduling","status":"publish","type":"post","link":"https:\/\/blog.agentsoft.co.kr\/index.php\/2026\/05\/16\/40560\/","title":{"rendered":"Pintos Project 1 final report &#8211; Alarm clock, Priority Scheduling, Advanced Scheduling"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/image4.happycampus.com\/Production\/thumbnail\/2024\/06\/10\/data29981839-0001.jpg\"><img decoding=\"async\" src=\"https:\/\/image4.happycampus.com\/Production\/thumbnail\/2024\/06\/10\/data29981839-0002.jpg\"><\/p>\n<p><strong>\ubaa9\ucc28<\/strong><\/p>\n<p>1. alarm clock<br \/>\n1.1. implementation<br \/>\n1.1.1.data structure<br \/>\n1.1.2. algorithm<br \/>\n1.2. discussion <\/p>\n<p>2. priority scheduling<br \/>\n2.1. implementation<br \/>\n2.1.1. data sturcture<br \/>\n2.1.2. algorithm<br \/>\n2.2. discussion <\/p>\n<p>3. advanced scheduling<br \/>\n3.1. implement<br \/>\n3.1.1. how to compute priority in advanced scheduling<br \/>\n3.1.2. data structure<br \/>\n3.1.3. algorithm<br \/>\n3.2. discussion <\/p>\n<p>4. result<\/p>\n<p><strong>\ubcf8\ubb38\ub0b4\uc6a9<\/strong><\/p>\n<p>1. alarm clock<br \/>\n1.1. implementation<br \/>\n\uae30\uc874\uc758 busy-waiting \ubc29\uc2dd\uc744 sleep\/wake-up \ubc29\uc2dd\uc73c\ub85c \ubcc0\uacbd\ud558\ub294 \uac83\uc740 \uc2dc\uc2a4\ud15c \uc790\uc6d0\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \ub370 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. busy-waiting \ubc29\uc2dd\uc740 \ud504\ub85c\uc138\uc11c\uac00 \uc77c\uc815\ud55c \uc2dc\uac04\ub3d9\uc548 \uc544\ubb34 \uc791\uc5c5\ub3c4 \ud558\uc9c0 \uc54a\uace0 \ubc18\ubcf5\uc801\uc73c\ub85c \uc0c1\ud0dc\ub97c \ud655\uc778\ud558\ub294 \ubc29\ubc95\uc73c\ub85c, \ud0c0\uc774\uba38\ub098 \uc870\uac74\uc774 \ucda9\uc871\ub420 \ub54c\uae4c\uc9c0 CPU\uac00 \ub8e8\ud504\ub97c \ubc18\ubcf5\ud558\uba70 \uae30\ub2e4\ub9b0\ub2e4. (\uc608\ub97c \ub4e4\uc5b4, \uc54c\ub78c\uc2dc\uacc4\uc758 \uacbd\uc6b0 \uc9c0\uc815\ub41c \uc2dc\uac04\uc774 \ub3c4\ub2ec\ud560 \ub54c\uae4c\uc9c0 \ud604\uc7ac \uc2dc\uac04\uc744 \uacc4\uc18d \ud655\uc778\ud558\ub294 \ubc29\ubc95\uc774\ub2e4.) \uc774\ub85c \uc778\ud574 CPU \uc0ac\uc774\ud074\uc744 \ub0ad\ube44\ud558\uac8c \ub428\uc73c\ub85c\uc368 CPU \uc790\uc6d0\uc774 \ubd88\ud544\uc694\ud558\uac8c \ub0ad\ube44\ub418\uace0, \uc804\ub825 \uc18c\ube44\ub97c \uc99d\uac00\uc2dc\ud0ac \uc218 \uc788\ub2e4. \ubc18\uba74, sleep\/wake-up \ubc29\uc2dd\uc740 \ud504\ub85c\uc138\uc11c\uac00 \uc791\uc5c5\uc744 \uae30\ub2e4\ub9ac\ub294 \ub3d9\uc548 \uc720\ud734 \uc0c1\ud0dc\ub85c \uc804\ud658\ub418\uc5b4 \ub2e4\ub978 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uac8c \ud55c\ub2e4. \ub530\ub77c\uc11c \uc2dc\uc2a4\ud15c \ud6a8\uc728\uc131\uc744 \uc99d\uac00\uc2dc\ud0ac \uc218 \uc788\uc73c\uba70, \ud2b9\ud788 \uc784\ubca0\ub514\ub4dc \uc2dc\uc2a4\ud15c\uc774\ub098 \ubc30\ud130\ub9ac\ub85c \uad6c\ub3d9\ub418\ub294 \uc7a5\uce58\uc5d0\uc11c \ub9e4\uc6b0 \uc720\uc6a9\ud558\ub2e4. \uc774\ub97c \ud1b5\ud574 \ubd88\ud544\uc694\ud55c \uc790\uc6d0 \ub0ad\ube44\ub97c \uc904\uc774\uace0, \uc2dc\uc2a4\ud15c\uc758 \uc751\ub2f5\uc131\uc744 \ub192\uc77c \uc218 \uc788\ub2e4.<\/p>\n<p>1.1.1.data structure<br \/>\nstruct thread\uc5d0 wakeup \ubcc0\uc218 \ucd94\uac00<br \/>\nbusy-waiting \ubc29\uc2dd\uacfc sleep\/wake-up \ubc29\uc2dd\uc758 \uac00\uc7a5 \ud070 \ucc28\uc774\uc810\uc740 thread\uac00 \uae68\uc5b4\uc57c \ud560 \uc2dc\uac04\uc5d0\ub9cc \uae68\ub294\uc9c0, \uc544\ub2c8\uba74 \uae68\uc9c0 \uc54a\uc544\ub3c4 \ub420 \uc2dc\uac04\uc5d0\ub3c4 \uae68\uc6cc\uc11c \uc2dc\uac04\uc744 \ud655\uc778\ud558\ub294 \uc9c0\ub2e4. \uadf8\ub7ec\ubbc0\ub85c sleep\/wakeup \ubc29\uc2dd\uc744 \uad6c\ud604\ud558\uae30 \uc704\ud574 \uac01 thread\uac00 \uae68\uc5b4\uc57c \ud560 \uc2dc\uac04\uc744 \uc800\uc7a5\ud558\ub294 \ubcc0\uc218\ub97c thread struct \uc548\uc5d0 \ucd94\uac00\ud574 \uc8fc\ub294 \uac83\uc774 \uc88b\ub2e4. wakeup \ubcc0\uc218\ub294 \ud604\uc7ac thread\uac00 \uae68\uc5b4\ub098\uc57c \ud558\ub294 ticks \uac12\uc744 \uc800\uc7a5\ud55c\ub2e4.<\/p>\n<p>\ucd9c\ucc98 : <a href=\"https:\/\/www.happycampus.com\/report-doc\/29981839\/\" target=\"_blank\">\ud574\ud53c\ucea0\ud37c\uc2a4<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ubaa9\ucc28 1. alarm clock 1.1. implementation 1.1.1.data structure 1.1.2. algorithm 1.2. discussion 2. priority scheduling 2.1. implementation 2.1.1. data sturcture 2.1.2. algorithm 2.2. discussion 3. advanced scheduling 3.1. implement 3.1.1. how to compute priority in advanced scheduling 3.1.2. data structure 3.1.3. algorithm 3.2. discussion 4. result \ubcf8\ubb38\ub0b4\uc6a9 1. alarm clock 1.1. implementation \uae30\uc874\uc758 busy-waiting \ubc29\uc2dd\uc744 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12085,50864,50867,50862,50866,50865,1833,16377,50863],"class_list":["post-40560","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-acarbose","tag-alarm-clock","tag-busy-waiting","tag-pintos","tag-scheduling","tag-thread","tag-1833","tag-16377","tag-50863"],"_links":{"self":[{"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/40560","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/comments?post=40560"}],"version-history":[{"count":0,"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/40560\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/media?parent=40560"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/categories?post=40560"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.agentsoft.co.kr\/index.php\/wp-json\/wp\/v2\/tags?post=40560"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}