Operating Systems ááááºáááº
áá±áž áá¬á! áá»áœááºáá±á¬á·áºá¡ááŒááºá¡á á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá²á· á
á¬áá±áá
áºáá¯ááŒá
áºáá²á· OSTEP áá²á· áá±á¬ááºážáá«ážááœá±ááᯠáá¬áá¬ááŒááºáá¬ážáá²á· á¡áááºážáááºááœá±ááᯠááá·áºá¡á¬áá¯á¶á
áá¯ááºá
á±áá»ááºáá«áááºá á€á¡ááŒá±á¬ááºážá¡áá¬ááẠunix áá²á·ááá¯á·áá±á¬ áááºáááºááŸá¯á
áá
áºáá»á¬ážá áá¯ááºáá±á¬ááºááŸá¯ááᯠá¡áá±á¬áºáá±áž áááºáááºááŸáá¯ááºážááŸáá¯ááºáž ááœá±ážááœá±ážáá¬ážááŒá®ážá ááá¯ááá¯áááºááŸá¬á áá¯ááºáááºážá
ááºáá»á¬ážá á¡áá»áááºááá¬ážááœá²áá°áá»á¬ážá áááºááá¯áá®ááŸáá·áº áá±ááºáá® OS áá
áºáá¯á¡ááŒá
Ạáááºáá®ážáá¬ážááá·áº á¡ááŒá¬ážáá±á¬ á¡áá¬ážáá° á¡á
áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºáá«áááºá áá
á¹á
ááºážá¡á¬ážáá¯á¶ážá áá°áááºážááᯠá€áá±áá¬ááœáẠááŒáá·áºááŸá¯ááá¯ááºáá«áááºá
á€á¡ááŒá±á¬ááºážá¡áá¬á¡ááœáẠáá¬ááºááœá²áááºážááᯠá€áá±áá¬ááœáẠááœá±á·ááá¯ááºáááº-
áá°áááºáž áá°áááºáž áá»áœááºá¯ááºá ááá¯ááºáá±ážááá¯ááºáᬠááá¯ááºáá»á±á¬áá®ááœá±ááŸá¯
á¡ááŒá¬ážá¡á áááºá¡ááá¯ááºážáá»á¬áž-
á¡ááá¯ááºáž 1- áááá«ááºáž á¡ááá¯ááºáž 2- Abstraction- áá¯ááºáááºážá áẠá¡ááá¯ááºáž 3- Process API ááᯠááááºáááºááŒááºážá á¡ááá¯ááºáž 4- á¡á á®á¡á ááºááœá²áá°á¡á¬áž ááááºáááºááŒááºážá
áá»áœááºá¯ááºá áá»ááºáááºááœááºáááºáž ááŒáá·áºááŸá¯ááá¯ááºáá«áááºá
Scheduler ááááºáááº
ááŒá¿áá¬áá¡ááŸá
áºáá¬á- á¡áá»áááºááá¬ážáá±ážááœá²áá°áá°áá«áááᯠáááºáá²á·ááá¯á·áááºáá±á¬ááºáááºáááºážá
á¡áááºážáᶠá¡áá»áááºááá¬ážáá±ážááœá²áá° áá°áá«ááá±á¬ááºáá»á¬ážááᯠáááºááá¯á·áá±ážááœá²ááá·áºááááºážá á¡ááá áá°ááá»ááºá áá¬áá²á áááºá¡ááá¯ááºážá¡áá¬ááœá±á á¡áá±ážááŒá®ážáá²á á¡á
á±á¬ááá¯ááºáž ááœááºááŒá°áá¬á
áá
áºáá»á¬ážááœáẠáááºááá·áºá¡ááŒá±áá¶áááºážááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá²á·ááŒááááºážá
á¡áá¯ááºáá¬ááẠáá°ááá»ááºáá»á¬áž
ááŒá áºááá¯ááºáá»á±ááŸááá±á¬ áá°áá«ááá»á¬ážááᯠáááœá±ážááœá±ážáá®á á á¯áá±á«ááºážáá¯áá±á«áºááá·áº á áá áºá¡ááœááºáž áá¯ááºáá±á¬ááºáá±ááá·áº áá¯ááºáááºážá ááºáá»á¬ážá¡ááŒá±á¬ááºáž ááá¯ážááŸááºážáá±á¬ ááá±á¬áá¬ážááœá²ááœá²ááŸá¯á¡áá»áá¯á·ááᯠááŒá¯áá¯ááºááŒáá«á áá¯á·á á¡áá¯ááºáááº. á¡áá¯ááºáá¬áááºááᯠáááºááŸááºááŒááºážááẠáá±á¬ááºáá¯ááºáá±ážáá°áá«ááá»á¬ážá á¡áá±ážáá«áá±á¬ á¡á áááºá¡ááá¯ááºážááŒá áºááŒá®áž á¡áá¯ááºáá¬áááºá¡ááŒá±á¬ááºáž áááºááá¯áááá±á áá°áá«áááᯠáááºáá±ážáá¬ážááá¯ááºáá±ááŒá áºáááºá
áá áºáá«ááá¶ááŸá¬áááºáž system áá²ááŸá¬ á¡áá¯ááºáá¯ááºáá±áá²á· áá¯ááºáááºážá ááºááœá±á¡ááŒá±á¬ááºáž á¡á±á¬ááºáá« áá°ááá»ááºááᯠáá¯ááºááŒáá·áºáá¡á±á¬áẠá¡áá¯ááºá¡ááá¯ááºá¡ááœááºá·á¡ (áá¯ááºáááºážáá¬áááºáá»á¬áž)á á€áá°ááá»ááºá¡á¬ážáá¯á¶ážáá®ážáá«ážááẠáááºááœá±á·ááá»áá±á¬áºáááºáž ááœá±ážáá±á«áºááŸá¯ááœá¶á·ááŒáá¯ážááá¯ážáááºáááºá¡ááœáẠááá¯á¡ááºáá«áááºá
- á¡áá¯ááºáá áºáá¯á á®ááẠáá°áá®áá±á¬á¡áá»áááºááá¬áá¡ááœáẠáá¯ááºáá±á¬ááºáááºá
- á¡áá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááŒáá¯ááºáááºáááºáž áááºááŸááºááŒá®ážá
- áá±ážá¡ááºáá±á¬áá¬áááºááᯠááŒá®ážááŒá±á¬ááºáááºá¡áá áá¯ááºáá±á¬ááºááŒááºážá
- á¡áá¯ááºá¡á¬ážáá¯á¶áž CPU ááá¯áá¬áá¯á¶ážáááºá
- áá¯ááºáááºážáá áºáá¯á á®á áá¯ááºáá±á¬ááºáá±áá»áááºááᯠááááŸááá«áááºá
á¡á á®á¡á ááºááœá²áá° áááºááá áºáá»á¬áž
áááºááŸáá·áºáááºáááºáá±á¬ áá°ááá»ááºá¡áá»áá¯á·á¡ááŒááºá ááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ á¡áá»áááºááá¬ážáá°áá«ááá»á¬ážááᯠááŸáá¯ááºážááŸááºááẠá¡ááŒá¬ážáááááá¬áá áºáᯠááá¯á¡ááºáááº- á¡á á®á¡á ááºááœá²áá° áááºááá áºáá»á¬ážá áááºááá áºááá¯áááºááŸá¬ áá áºá á¯á¶áá áºáá¯á á¡ááá¯ááºážá¡áá¬áá áºáá¯áá»áŸáá¬ááŒá áºáááºá á¡áá»áááºááá¬ážááœá²áá°áá»á¬ážááᯠááŸáá¯ááºážááŸááºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº áááºááá áºáá»á¬ážá áœá¬ ááŸááá«áááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáááºááá áºáá¯áá±á«áºáá±á¬ ááááºážááááºážáá áºáá¯ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡ááŸáá·áºáá»á¡áá»ááẠ(á¡ááŸáá·áºáá»áá»áááº)á áá¯ááºáááºážáá±á¬ááºááœááºáá»áááºááᯠá¡áá¯ááºááŒá®ážá á®ážáá»áááºááŸáá·áº á áá áºá¡ááœááºážááŸá á¡áá¯ááºáá±á¬ááºááŸááá»áááºá¡ááŒá¬áž ááŒá¬ážáá¬ážáá»ááºá¡ááŒá ẠáááºááŸááºáááºá
Tturnaround=Tcompletion-Tarrival
á¡áá¯ááºá¡á¬ážáá¯á¶áž áá áºáá»áááºáááºáž áá±á¬ááºááŸááá¬áááºáᯠáá»áœááºá¯ááºááá¯á· áá°ááá±á¬ááŒá±á¬áá·áºá ááá¯á·áá±á¬áẠTa=0 ááŸáá·áº Tt=Tcá á¡áááºáá«áá°ááá»ááºáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááŒá±á¬ááºážáá²áá±á¬á¡áá«ááœáẠá€áááºááá¯ážááẠááá¬áá¡ááá¯ááºáž ááŒá±á¬ááºážáá²ááœá¬ážáá«áááºá
áá±á¬ááºááẠáááºááá áº- ááá¬ážáá»áŸáááŸá¯ (ááá¬ážáá»áŸáááŸá¯á ááá¯ážáá¬ážááŸá¯)á áá¯ááºáá¯ááºááŸá¯á áœááºážá¡á¬ážááŸáá·áº ááá¬ážáá»áŸáááŸá¯ááẠá á®áá¶ááááºážáá±ážááœá²ááŒááºážááœáẠááá·áºáá»ááºáááºááá¹ááá¬áá»á¬áž ááŒá áºáá±á·ááŸááááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡á á®á¡á ááºááœá²áá°ááẠá áœááºážáá±á¬ááºáááºááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºáá±á¬áºáááºáž á¡ááŒá¬ážáá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠá á±á¬áá·áºááá¯ááºážáááŒááºážááá¯ááºáá»á ááááºááŒáá·áº ááá¬ážáá»áŸáááŸá¯ááᯠáá»áŸá±á¬á·áá»áá±ážáááºá
ááááá¯á¶ážááœááºááŒááºáž (FIFO)
áá»áœááºá¯ááºááá¯á· á¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºáá±á¬ á¡ááŒá±áá¶á¡áá»áá¯á¶áž algorithm ááᯠFIFO ááá¯á·ááá¯áẠáá¯áá±á«áºáááºá first come (áááº) á first serve (ááœááº). ဠalgorithm ááœáẠá¡á¬ážáá¬áá»ááºáá»á¬ážá áœá¬ ááŸááááº- áááºážááẠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠá¡ááœááºááœááºáá°ááŒá®áž áá»áœááºá¯ááºááá¯á·á áá°ááá»ááºá¡á¬ážáá¯á¶ážááŸáá·áº ááá¯ááºáá®ááŒá®áž á¡áá¯ááºááᯠáá±á¬ááºážá áœá¬ áá¯ááºáá±á¬ááºáá«áááºá
ááá¯ážááŸááºážáá±á¬á¥ááá¬ááá¯ááŒáá·áºááŒáá«á áá¯á·á á¡áá¯áẠá áá¯ááᯠáááŒáá¯ááºáááºáááºáž áááºááŸááºáá¬ážááẠááá¯ááŒáá«á áá¯á·á ááá¯á·áá±á¬áº A ááẠá¡ááŒá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááẠá¡áááºážáááºá á±á¬áááºáᯠáá°áááŒáá«á áá¯á·á ááá¯á·ááŒá±á¬áá·áº B ááŸáá·áº C ááŸáá·áº áááºáááºááá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážááẠá á±á¬ááŒá®áž áááºážááẠá¡ááŒá¬ážá¡áá¬áá»á¬ážááẠá á±á¬á áá¯ááºáá±á¬ááºáááá·áºá á¬áááºážááœáẠáá±á«áºáá¬áááºááŒá áºáááºá áááºážááá¯á·áá áºáá¯á á®ááᯠ3 á áá¹ááá·áºááŒá¬ áá¯ááºáá±á¬ááºáááºáᯠáá°áááŒáá«á áá¯á·á á€ááá á¹á ááœáẠá€á¡áá¯ááºáá»á¬ážááᯠááŒá®ážááŒá±á¬ááºááẠáá»ááºážáá»áŸá¡áá»áááºá á¡áááºáááºážá
áááºááá¯ážáá»á¬ážááᯠáá±ááœááºááŒááºáž - 10+20+30 ááŸáá·áº 3 ááŒáá·áº ááœá²ááŒááºážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áŸááºážáá»áŸ áááá¯ááááºáá¯ááºáá±á¬ááºáá»áááºááᯠá
áá¹ááá·áº 20 ááŸáá·áº áá®áá»áŸáááºá
ááᯠáá»áœááºá¯ááºááá¯á·á áá°ááá»ááºáá»á¬ážááᯠááŒá±á¬ááºážáá²ááẠááŒáá¯ážá
á¬ážááŒáá«á
áá¯á·á á¡áá°ážáááŒáá·áºá áá°ááá»áẠ1 ááŒá
áºáá±á¬ááŒá±á¬áá·áº á¡áá¯ááºáá
áºáá¯á
á®ááẠáá¯ááºáá±á¬ááºááẠá¡áá»áááºááá¬á áá°áá®áááºáᯠáá»áœááºá¯ááºááá¯á· áá°ááá±á¬á·áááºááá¯ááºáá«á áá®áá
áºááŒáááºááŸá¬ FIFO á áááºááá¯áá¯ááºáá±á¬ááºááá²á
ááœááºáá¬áááºááŸáá·áºá¡áá»áŸá ááá°áá®áá±á¬áá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážáá¯ááºáá±á¬ááºáá»áááºáá»á¬ážááẠFIFO algorithm ááá¯ááºáá¯ááºá áœááºážá¡á¬ážá¡áá±á«áº á¡ááœááºá¡áá»ááºááá±á¬áá±á¬ááºáá±á¬áááºáá±á¬ááºááŸá¯ááŸááááºá Task A ááẠááŒá®ážááŒá±á¬ááºááẠá áá¹ááá·áº 100 ááŒá¬ááẠááŒá áºáá±á¬áºáááºáž B ááŸáá·áº C ááẠáá áºáá¯á á®ááá¯ááºáž 10 á áá¹ááá·áº ááŒá¬áááºáᯠáá°áááŒáá«á áá¯á·á
áá¯á¶ááœááºááœá±á·ááá¯ááºáááºá¡ááá¯ááºážá á
áá
áºá¡ááœááºáá»ááºážáá»áŸá¡áá»áááºááẠ(100+110+120)/3=110 ááŒá
áºáááá·áºáááºá á€á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠáá±á«áºáááºá áá¬ááºáááºážá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯á¡áááºážá¡ááŒá
áºáá
áºáá¯á áá±ááá¯áá¯á¶ážá
áœá²áá°á¡áá»áá¯á·ááẠá¡ááœááºá¡áá»áœá¶á
á¬ážáá¯á¶ážáá°áá±á¬ááºááœáẠáááºážá
á®áá±ááá·áºá¡áá«á ááá·áºááŸá±á·ááŸá¬ áá±á¬ááºáááºáá
áºáá±á¬áẠááŸááºážá¡ááŒáá·áºáá²á· ááŸááá±áá²á·á¡áá« áá¯ááºá
á¯á¶ááá¯ááºááŸá¬ áááºážá
á®áá±áááá¯áá«áá²á ááŒá¿áá¬á¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážááŒá±ááŸááºážáááºážááŸá¬ ááœá±ááŸááºážáá±á¬ááºáá¬ááᯠááŒá±á¬ááºážáá²ááẠááá¯á·ááá¯áẠá
áááºáá»áŸá±á¬á·ááŒá®áž áá±ážáá±ážáááºááẠá¡áááºááŸá°ááẠááŒáá¯ážá
á¬ážááŒááºážááŒá
áºáááºá
á¡ááá¯áá¯á¶ážá¡áá¯áẠááá
áá²áá®ážááááºáá¯ááºáááºážá ááºáá»á¬ážááŒáá·áº á¡áá¬ážáá°á¡ááŒá±á¡áá±áá áºáá¯ááᯠáá áºáááºážáááºážááŒáá·áº ááŒá±ááŸááºážááá¯ááºáá«ááá¬ážá áá±áá»á¬áááºá áá±á¬ááºáá áºáá»áá¯ážááá±á¬á· Planning ááá¯á·áá±á«áºáááºáá¡ááá¯áá¯á¶ážá¡áá¯áẠááá (SJF)á áááºážá á¡ááºáááá¯áá®áááºááẠá¡ááœááºááẠááá¬áááŒá áºááẠ- áá¬áááºááœáẠá¡áááá¹áá¬ááºááœáá·áºááá¯áá¬ážááá·áºá¡ááá¯ááºáž á¡ááá¯áá¯á¶ážá¡áá¯ááºáá»á¬ážááᯠáá áºáá¯ááŒá®ážáá áºáᯠá áááºáá¯ááºáá±á¬ááºáá«áááºá
á€á¥ááá¬ááœááºá áá°áá®áá±á¬áá¯ááºáááºážá
ááºáá»á¬ážáá¯ááºáá±á¬ááºááŒááºážáááááºááẠáá»ááºážáá»áŸáááá¯ááááºááŸáá·áºáááºááŸá¯á¡áá»áááºááá¯ážáááºááŸá¯áá
áºáá¯ááŒá
áºááŒá®áž áááºážááŸáá·áºáá®áá»áŸáááºááŒá
áºáááºá áá á¡á
á¬áž ááá ááá®ážáá«áž ááá¯áá±á¬ááºážáááºá
ááá¯á·ááŒá±á¬áá·áºá áá¯ááºáá±á¬ááºá áá¬áá»á¬ážá¡á¬ážáá¯á¶áž áá áºáá»áááºáááºážáá±á¬ááºáá¬áááºáᯠáá±ážáá¬ážááá·áº áá°ááá»ááºá¡ááœáẠSJF algorithm ááẠá¡áá±á¬ááºážáá¯á¶áž algorithm ááŒá áºáá¯á¶ááááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááá°ááá»ááºááẠáááºááœá±á·áá»áá¯á¶ááá±á«áºáá±ážáá«á á€áá áºááŒáááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá°ááá»áẠ2 ááá¯ááŒá±á¬ááºážáá²ááŒá®áž á€á¡áá»áááºááẠá¡áá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá áºáá»áááºáááºážááá¯ááºáá² á¡áá»áááºáááœá±ážááŸááá±ááá¯ááºáááºáᯠá áááºáá°ážááŒáá·áºáá«á áááºážááẠá¡áááºááŒá¿áá¬áá»á¬ážááᯠááŒá áºáá±á«áºá á±ááá¯ááºááááºážá
á¡áá¯áẠA (100c) ááẠáŠážá
áœá¬áá±á¬ááºááŸááá¬ááŒá®áž á
áááºáá¯ááºáá±á¬ááºáááºáᯠá
áááºáá°ážááŒáá·áºááŒáá«á
áá¯á·á t=10 ááœááºá áá¯ááºáá±á¬ááºá
áᬠB ááŸáá·áº C áá±á¬ááºááŸááá¬ááŒá®áž áá
áºáá¯á
á®ááẠ10 á
áá¹ááá·áºááŒá¬áááºááŒá
áºáááºá ááá¯á·ááŒá±á¬áá·áº áá»ááºážáá»áŸáá¯ááºáá±á¬ááºáá»áááºááẠ(100+(110-10)+(120-10))3 = 103á á€á¡áá¬ááᯠááá¯ážáááºá
á±ááẠá
á®á
ááºáá°ááẠáá¬áá¯ááºááá¯ááºááááºážá
á¡ááá¯áá¯á¶áž á¡áá»áááº-ááá ááŒá®ážá á®ážááẠ(STCF)
á¡ááŒá±á¡áá±ááá¯ážáááºá á±áááºá¡ááœááºá áááá¯ááááºááᯠá áááºááŒá®áž ááŒá®ážááŒá±á¬ááºáááºá¡áá áá¯ááºáá±á¬ááºáááºáá°áá±á¬ áá°ááá»áẠ3 ááᯠáá»ááºááŸááºáá¬ážáááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠáá¬á·ááºáá²áá¶á·ááá¯ážááŸá¯ ááá¯á¡ááºáááºááŒá áºááŒá®áž áááºááá·áºááŸááºážáá¬ážááá·áºá¡ááá¯ááºáž áá»áœááºá¯ááºááá¯á· á¡áá¯á¶ážááŒá¯áá«áááºá timer áá¯ááºáá±á¬ááºáá±áá±á¬ á¡áá¯ááºáá áºáá¯ááᯠááŸá±á¬áá·áºááŸááºáááºááŸáá·áº á¡ááŒá±á¬ááºážá¡áá¬ááŒá±á¬ááºážááŒááºážá. ááá¯á·ááŒá±á¬áá·áºá á¡áá»áááºááá¬ážáá±ážááœá²áá°ááẠá¡áá¯ááºáá»á¬áž Bá C áá±á¬ááºááŸááá¬áááºááŸáá·áº áá±á¬áá±á¬áááºááœáẠáá áºáá¯áá¯áá¯ááºáá±á¬ááºááá¯ááºááẠ- á¡áá¯áẠA ááá¯áá¯ááºáá±á¬ááºááŒááºážááá¯áááºááŒá®áž á¡áá¯ááºáá»á¬áž B ááŸáá·áº C ááá¯á·ááᯠá á®áá¶áá±á¬ááºááœááºáá±ážááŒá®ážá áááºážááá¯á·ááŒá®ážá á®ážááŒá®ážáá±á¬ááºá áááºáááºáá¯ááºáá±á¬ááºáá±áá±á¬áá¯ááºáááºážá áẠA ááᯠáááºáááºáá¯ááºáá±á¬ááºááá¯ááºáááºá ááá¯ááá¯á·áá±á¬á¡áá»áááºááá¬ážááᯠáá±á«áºáááºá STCFááá¯á·ááá¯áẠPreemptive Job ááá.
á€á¡á
á®á¡á
ááºáá±ážááœá²áá°áááááºááẠá¡á±á¬ááºáá«ááááºááŒá
áºáááá·áºáááº- ((120-0)+(20-10)+(30-10))/3=50á ááá¯á·ááŒá±á¬áá·áºá ááá¯ááá¯á·áá±á¬ á¡áá»áááºááá¬ážááœá²ááŒááºážááẠáá»áœááºá¯ááºááá¯á·ááá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážá¡ááœáẠááá¯áááẠááá·áºáá»á±á¬áºáá«áááºá
áááºááá áºáá¯á¶á·ááŒááºááŸá¯á¡áá»áááº
ááá¯á·ááŒá±á¬áá·áºá á¡áá¯ááºáá»á¬ážáá¯ááºáá±á¬ááºáá±ááá·áºá¡áá»áááºááᯠáá»áœááºá¯ááºááá¯á·ááááŒá®áž á¡ááá¯áá«áá¬áááºáá»á¬ážááᯠCPU ááá¯áá¬á¡áá¯á¶ážááŒá¯áá«áá STCF ááẠá¡áá±á¬ááºážáá¯á¶ážááŒá±ááŸááºážáá»ááºááŒá áºáááá·áºáááºá á¡á á±á¬ááá¯ááºážá¡áá»áááºáá»á¬ážááœááºáá áºááŒáááºá ဠalgorithms áááºá¡áá±á¬áºáá±ážáá±á¬ááºážá áœá¬á¡áá¯ááºáá¯ááºáááºá ááá¯á·áá±á¬áºáááºáž ááá¯á¡áá« á¡áá¯á¶ážááŒá¯áá°ááẠterminal ááœáẠáá°ááá¡áá»áááºá¡áá»á¬ážá á¯ááᯠáá¯ááºáá¯á¶ážá á±ááŒá®áž á¡áá»áá¯ážááŒá áºááœááºážáá±á¬ á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯á¡ááœá±á·á¡ááŒá¯á¶ááᯠáá»áŸá±á¬áºááá·áºáá¬ážáááºá ááá¯á·ááŒá±á¬áá·áº áááºááá áºá¡áá áºáá áºáᯠááœá±ážááœá¬ážáá¬áá²á·áááºá áá¯á¶á·ááŒááºáá»ááẠ(áá¯á¶á·ááŒááºááŸá¯)á
áá¯á¶á·ááŒááºáá»áááºááᯠá¡á±á¬ááºáá«á¡ááá¯ááºáž ááœááºáá»ááºáááºá
Tresponse=TfistrunâTarrival
ááá¯á·ááŒá±á¬áá·áºá ááááºá¥ááá¬á¡ááœááºá áá¯á¶á·ááŒááºáá»áááºááẠA=0á B=0á C=10 (abg=3,33) ááŒá áºáááá·áºáááºá
á¡áá¯áẠ3 áᯠáá áºáá»áááºáááºáž áá±á¬ááºááŸááá¬ááá·áº á¡ááŒá±á¡áá±ááœáẠSTCF algorithm ááẠá¡ááœááºáá±á¬ááºážááœááºááŒááºážáááŸáááŒá±á¬ááºáž ááœá±á·ááŸáááá«ááẠ- áá±ážáááºáá±á¬á¡áá¯ááºáá»á¬áž ááŒá®ážááŒá±á¬ááºáááºá¡áá á á±á¬áá·áºááááºááŒá áºáá«áááºá ááá¯á·ááŒá±á¬áá·áº algorithm ááẠturnaround time metric á¡ááœáẠáá±á¬ááºážááœááºáá±á¬áºáááºáž á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯áááºááá áºá¡ááœáẠááá±á¬ááºážáá«á áááºááẠterminal ááœááºááá¯ááºáá±á á¡ááŒá¬ážá¡áá¯ááºá¡áá»áá¯á·á CPU ááá¯áá°áá±áá±á¬ááŒá±á¬áá·áº 10 á áá¹ááá·áºáááºááá¯áá á±á¬áá·áºáááºááŒáá¯ážá á¬ážáá±áá«á terminal ááœááºááá¯ááºáá±áá»áŸááºááŒááºáá±á¬ááºááŒáá·áºáá«á ááááºáá¬áá¬áá¬áá±á¬á· ááá¯ááºáá°ážá
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬ážááŒá¿áá¬áá
áºáá¯ááŸáá·áº áááºááá¯ááºáá±áááẠ- áá¯á¶á·ááŒááºááŸá¯á¡áá»áááºá¡ááœáẠá¡áá²áááºáá±á¬ á¡áá»áááºááá¬ážááᯠáááºááá¯á·áááºáá±á¬ááºááá¯ááºáááºáááºážá
áá±á¬áºáááºáááºáááºáááº
á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠalgorithm áá áºáá¯ááᯠáá®ááœááºáá²á·áááºá áá±á¬áºáááºáááºáááºááẠ(RR)á á¡ááŒá±áá¶á¡ááŒá¶á¡á ááºááẠá¡áá±á¬áºáá±ážááá¯ážááŸááºážáá«áááº- á¡áá¯ááºáá»á¬ážááŒá®ážááŒá±á¬ááºáááºá¡áá áá¯ááºáá±á¬ááºááá·áºá¡á á¬ážá á¡áá»áááºá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá (á¡áá»áááºá¡ááá¯ááºážá¡á áá¯áá±á«áºáááº) ááᯠáá¯ááºáá±á¬ááºááŒá®áž áááºážá á®á០á¡ááŒá¬ážá¡áá¯ááºáá áºáá¯ááá¯á· ááŒá±á¬ááºážáá«áááºá áá¯ááºáá±á¬ááºá áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŒá®ážááŒá±á¬ááºáááºá¡áá á¡ááºáááá¯áá®áááºá áááºážáá¡áá¯ááºááᯠááŒááºáá¯ááºáááºá á€ááá á¹á ááœááºá áááá¯ááááºá áááºáááºáá»áááºááẠáá¯ááºáááºážá ááºááᯠááŸá±á¬áá·áºááŸááºááá·áºá¡áá»áááºá á¡ááŒáááºáá»á¬ážá áœá¬ ááŒá áºááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá timer ááẠx=10ms ááá¯ááºáž áá¯ááºáááºážá ááºáá áºáá¯ááᯠááŸá±á¬áá·áºááŸááºáá«áá process execution window áá¡ááœááºá¡á á¬ážááẠ10 ááŸáá·áº 10,20 ááá¯á·ááá¯áẠx*10 ááŒá áºááá·áºáááºá
á¥ááá¬áá áºáá¯ááᯠááŒáá·áºááŒáá«á áá¯á·- ABC á¡áá¯ááºáá»á¬ážááᯠá áá áºá¡ááœááºáž áá áºááŒáá¯ááºáááºáááºáž áá±á¬ááºááŸáááŒá®áž áááºážááá¯á·áá áºáá¯á á®ááẠ5 á áá¹ááá·áºááŒá¬ áá¯ááºáá±á¬ááºááá¯áá«áááºá SJF algorithm ááẠá¡áá¯ááºáá áºáá¯á á®ááᯠáá±á¬ááºáá áºáá¯áá áááºáá®ááœáẠá¡ááŒá®ážáááºáááºááŒá áºáááºá ááá·áºáá»ááºáááºá¡á¬ážááŒáá·áºá launch window = 1s áá«áá±á¬ RR algorithm ááẠá¡á±á¬ááºáá«á¡ááá¯ááºáž áá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠááŒááºáááºážááœá¬ážáááá·áºááẠ(áá¯á¶á 4.3)á
(SJF áááẠ(áá¯á¶á·ááŒááºáá»áááºá¡ááœáẠááá±á¬ááºáž)
(Round Robin (áá¯á¶á·ááŒááºáá»áááºá¡ááœááºáá±á¬ááºážáááº)
RR á¡ááºáááá¯áá®áááºá¡ááœáẠáá»ááºážáá»áŸáá¯á¶á·ááŒááºáá»áááºááẠ(0+1+2)/3=1 ááŒá áºááŒá®áž SJF (0+5+10)/3=5 ááŒá áºáááºá
á¡áá»áááºáááºážááá¯ážááẠRR á¡ááœáẠá¡ááœááºá¡áá±ážááŒá®ážáá±á¬ ááá·áºáááºáá±á¬ááºáá áºáá¯ááŒá áºáááºáᯠáá°áááẠáá¯áá¹ááááŸáááŒá®áž áá±ážáááºáá±á áá¯á¶á·ááŒááºáá»áááºááá¯ááŒáá·áºáá±ááŒá áºáááºá ááá¯á·áá±á¬áºáááºážá áááºááẠáááºážááᯠá¡ááœááºáá±ážáááºá¡á±á¬áẠáááŒá¯áá¯ááºááá·áºáá«á á¡ááŒá±á¬ááºážááŸá¬ á¡ááŒá±á¬ááºážá¡áá¬ááŒá±á¬ááºážáá²ááŒááºážá¡áá»áááºááẠá¡áá¯á¶ážá á¯á¶á áœááºážáá±á¬ááºááŸá¯ááœáẠá¡áááºážááá¹ááá áºáá¯á០áá«áááºáá±áá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá execution window time ááœá±ážáá»ááºááŸá¯ááẠOS áááá¯áá¬ááá¬ááŸááºááŸáááºááŸááºáá¬ážááŒá®áž áááºážááœááºáá¯ááºáá±á¬ááºáááºá á®á ááºáá¬ážááá·áºá¡áá¯ááºáá»á¬ážáá±á«áºááœááºáá°áááºáááºá Switching context ááẠá¡áá»áááºááŒá¯ááºážááá·áº áá áºáá¯áááºážáá±á¬ service operation ááá¯ááºáá«á - run áááá¯ááááºááẠá¡ááŒá¬ážáá±á¬ á¡áá¬áá»á¬ážá áœá¬á á¥ááá¬á á¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºááŸáºáá»á¬ážáá±á«áºááœáẠáá¯ááºáá±á¬ááºááŒá®áž ááá¯ááºáá áºáá¯á á®ááŒáá·áº á€áááºáááºážáá»ááºááᯠááááºážáááºážáááºááŸáá·áº ááŒááºáááºááá°ááẠááá¯á¡ááºáááºá áá»á¬ážá áœá¬áááºáž ááŒá¬ááá¯ááºáááºá á¡áá»áááºá
áá¯á¶á·ááŒááºááŸá¯á¡áá»áááºáááºááá áºá¡ááŒá±á¬ááºážáá¬ááŒá±á¬áá±áá»áŸáẠRR ááẠáá±á¬ááºážááœááºáá±á¬á¡áá»áááºááá¬ážáá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áº áá¯ááºáá±á¬ááºáááá·áºá¡áá»ááẠáááºááá áºááẠဠá¡ááºáááá¯áá®áááºááŒáá·áº áááºááá¯á·ááŒá¯áá°áááºáááºážá á¡áááºáá« á¥ááá¬ááᯠáá¯á¶ážáááºááŒáá·áºáá±á¬á¡áá« A, B, C = 5s á áááºáááºáá»áááºááŸáá·áº áá áºáá»áááºáááºáž áá±á¬ááºááŸááá¬áááºá Task A ááẠ13 á B ááœáẠ14 á C ááœáẠ15 á áá¹ááá·áºááœáẠááŒá®ážáá¯á¶ážáááºááŒá áºááŒá®áž áá»ááºážáá»áŸááŸáá·áºáááºáá»áááºááẠ14 á áá¹ááá·áºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº RR ááẠturnover metric á¡ááœáẠá¡ááá¯ážáá¯á¶áž algorithm ááŒá áºáááºá
áá±áá°áá»á¡á¬ážááŒáá·áºááá¯ááá±á¬áº áááºááá·áº RR-type algorithm ááẠááá¬ážáá»áŸááááºá áááºážááẠáá¯ááºáááºážá ááºá¡á¬ážáá¯á¶ážááŒá¬ážááœáẠCPU á¡áá»áááºááᯠá¡áá®á¡áá»áŸ ááá¯ááºážááŒá¬ážáá±ážáááºá ááá¯á·ááŒá±á¬áá·áº á€áááºááá áºáá»á¬ážááẠáá áºáá¯ááŸáá·áºáá áºáᯠá¡áááºáááŒáẠááá·áºáá»ááºáá±áá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠááá·áºáá»ááºááẠá¡ááºáááá¯áá®áááºáá»á¬ážá áœá¬ ááŸáááŒá®áž áá áºáá»áááºáááºážááŸá¬ááẠá¡áá¯ááºáá»áááºááᯠááááŸáááŒá®áž á¡áá¯ááºááẠCPU ááá¯áᬠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºáž áá°ááá»ááºáá»á¬ážá áœá¬ áá»ááºááŸááá«áá±ážáááºá
I/O ááŸáá·áº áá±á¬á ááºááŒááºážá
ááááŠážá áœá¬á áá¯ááºáááºážá ááºááẠCPU ááá¯áá¬á¡áá¯á¶ážááŒá¯áááºáá°áá±á¬áá°ááá»áẠ4 ááá¯áááºááŸá¬ážááá¯ááºááŒáá«á áá¯á·á ááá¬áá¡á¬ážááŒáá·áºá áááºážáááºááá á¹á ááá¯ááºáá«á áá¯ááºáááºážá ááºáá»á¬ážáááºá¡ááŒá¬ážá ááºáá á¹á ááºážáá»á¬ážááá¯áááºáá±á¬ááºááá¯ááºáááºá
áááºááá·áº áá¯ááºáááºážá ááºá០I/O áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á¬ááºážááá¯ááá·áºá¡ááá¯ááºá áá¯ááºáááºážá ááºááẠI/O ááŒá®ážááŒá±á¬ááºááẠá á±á¬áá·áºááá¯ááºážáá±áá»áááºááœáẠááááºááá¯á·áá¬ážáá±á¬ á¡ááŒá±á¡áá±ááá¯á· áááºáá±á¬ááºáááºá I/O ááᯠáá¬á·ááºáááá¯ááºááá¯á· ááá¯á·áá«áá ááá¯ááá¯á·áá±á¬ áá¯ááºáá±á¬ááºáá»ááºááẠms á¡áá»á¬ážá¡ááŒá¬áž ááá¯á·ááá¯áẠááá¯ááŒá¬ááá¯ááºááŒá®ážá áááá¯áááºáá¬ááẠááá¯á¡áá»áááºááœáẠáááºááá·áºááœá¬ážáá«áááºá ááá¯á¡áá»áááºá¡ááœááºážá á¡á á®á¡á ááºááœá²áá°á áááá¯áááºáá¬ááᯠá¡ááŒá¬ážáá¯ááºáááºážá ááºáá áºáá¯áá¯ááŒáá·áº ááááºážááá¯ááºááá¯ááºáááºá á¡á á®á¡á ááºáá±ážááœá²áá°ááá±á¬ááºáááºáá¯á¶ážááŒááºáá»ááºááŸá¬ áááºážá I/O áá¯ááºáááºážá ááºááᯠááŒá®ážááŒá±á¬ááºá á±ááá·áºá¡áá»áááºááŒá áºáááºá áá®ááá¯ááŒá áºáá¬áá²á·á¡áá«á á¡ááŸá±á¬ááºá¡ááŸááºáá áºáá¯ááŒá áºáá±á«áºáá¬ááŒá®áž OS á I/O ááá¯á· áá±á«áºáá²á· áá¯ááºáááºážá ááºááᯠá¡áááºááá·áºá¡ááŒá±á¡áá±á¡ááŒá Ạááá·áºááœááºážáá±ážáá«áááá·áºáááºá
ááŒá¿áá¬áá±á«ááºážáá»á¬ážá áœá¬áá²á· á¥ááá¬ááᯠááŒáá·áºáá¡á±á¬ááºá áááºážááá¯á·áá áºáá¯á á®ááẠCPU á¡áá»ááẠ50ms ááá¯á¡ááºáááºá ááá¯á·áá±á¬áºá ááááá áºáá¯ááẠ10ms ááá¯ááºáž I/O ááá¯áá¯á¶ážáá«ááẠ(áááºážááẠ10ms ááá¯ááºážááœááºáááºáž áá¯ááºáá±á¬ááºáááá·áºáááº)á áá¯ááºáááºážá áẠB ááẠI/O ááá«áá² 50ms áááá¯áááºáá¬ááᯠá¡áá¯á¶ážááŒá¯áááºá
á€á¥ááá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠSTCF á¡áá»áááºááá¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá A áá²á·ááá¯á· áá¯ááºáááºážá
ááºáá
áºáᯠá
áááºáá«á á¡áá»áááºááá¬ážáá±ážááœá²áá°ááẠáááºááá¯á·ááŒá¯áá°áááºáááºážá áá°ááẠá¡á±á¬ááºáá«ááá¯á·ááᯠáá¯ááºáá±á¬ááºáááá·áºáááº- áŠážá
áœá¬ áá°ááẠáá¯ááºáááºážá
áẠA ááᯠá¡ááŒá®ážá¡ááá¯áẠáá¯ááºáá±á¬ááºááŒá®áž B áá¯ááºáááºážá
ááºááᯠáá¯ááºáá±á¬ááºáááºááŒá
áºáááºá
á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠááá¯ážáá¬áá»ááºážáááºáááºážááŸá¬ áá¯ááºáááºážá
áẠA á 10 ms subtask áá
áºáá¯á
á®ááᯠáá®ážááŒá¬ážáá¯ááºáááºážáá
áºáá¯á¡ááŒá
Ạáááºáá¶ááŒááºážááŒá
áºáááºá ááá¯á·ááŒá±á¬áá·áº STJF algorithm ááŒáá·áº á
áááºáá±á¬á¡áá«á 50 ms task ááŸáá·áº 10 ms task á¡ááŒá¬áž ááœá±ážáá»ááºááŸá¯ááẠáááºááŸá¬ážáá«áááºá ááá¯á·áá±á¬áẠáá¯ááºáááºážááœá² A ááŒá®ážáá±á¬á¡áá«á áá¯ááºáááºážá
áẠB ááŸáá·áº I/O ááᯠá
áááºáá«áááºá I/O ááŒá®ážáá«áá process B á¡á
á¬áž 10ms áá¯ááºáááºážá
áẠA ááᯠáááºáá¶á
áááºááẠáá¯á¶ážá
á¶á¡ááá¯ááºáž ááŒá
áºáááá·áºáááºá á€áááºážá¡á¬ážááŒáá·áºá CPU ááẠááááá
áºáá¯á
á±á¬áá·áºááá¯ááºážáá±áá»áááºááœáẠá¡ááŒá¬ážáá¯ááºáááºážá
ááºáá
áºáá¯á០á¡áá¯á¶ážááŒá¯ááá·áº áááºáá±ááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááŒá
áºááá¯ááºáááºá I/O ááááºá¡áá±ááŒáá·áºá á
áá
áºá¡á¬áž ááá¯ááá¯áá±á¬ááºážááœááºá
áœá¬ á¡áá¯á¶ážááŒá¯ááá¯ááºááẠ- á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááá¯ááºáᬠáá¯ááºáááºážá
ááºáá»á¬ážááẠI/O ááᯠá
á±á¬áá·áºááá¯ááºážáá±áá»áááºááœááºá á¡ááŒá¬ážáá±á¬ áá¯ááºáááºážá
ááºáá»á¬ážááᯠáááá¯áááºáá¬áá±á«áºááœáẠáá¯ááºáá±á¬ááºááá¯ááºáá«áááºá
Oracle áááŸááá±á¬á·áá«á
ááᯠá¡áá¯ááºá áá¯ááºáá±á¬ááºáá±ááá·áºá¡áá»áááºááᯠáááááºáᯠáá°ááá»ááºááᯠáááºááŸá¬ážááẠááŒáá¯ážá á¬ážááŒáá«á áá¯á·á á€áááºááŸá¬ áá±áá¯áá»á¡á¬ážááŒáá·áº á á¬áááºážáá áºáá¯áá¯á¶ážááœáẠá¡ááá¯ážááœá¬ážáá¯á¶ážááŸáá·áº áááºááœá±á·ááá»áá¯á¶ážáá±á¬ áá°ááá»ááºááŒá áºáááºá ááááºáá±á¬á·á áá¬áááºáá¬ááẠOS ááœááºá OS ááá¯ááºááá¯ááºá á¡áá¯ááºáá»á¬ážáá¯ááºáá±á¬ááºáá»áááºááŸáá·áºáááºáááºá á¡áááºážáááºáá¬áááááºáááºá ááá¯á·ááŒá±á¬áá·áº á¡áá¯ááºáá»áááºáááºáá»áŸááŒá¬áááºááá¯ááááá² á¡áá»áááºááá¬ážááᯠáááºááá¯á·áááºáá±á¬ááºááá¯ááºáááºáááºážá á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠáá»áœááºá¯ááºááá¯á·ááẠRR á¡ááŒá±áá¶áá°á¡áá»áá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
ááááº
á¡áá¯ááºá¡áá»áááºááá¬ážááœá²ááŒááºážá á¡ááŒá±áá¶á
áááºáá°ážáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááŒáá·áºááŸá¯ááŒá®áž á¡áá»áááºááá¬ážááœá²áá°áááá¬ážá
ᯠ2 áá¯ááᯠááŒáá·áºááŸá¯áá²á·áááºá ááááá
áºáá¯ááẠá¡ááá¯áá¯á¶ážáá¯ááºáááºážááᯠáŠážá
áœá¬á
áááºáá²á·ááŒá®áž áá¯ááááá
áºáá¯ááẠá¡áá¯ááºá¡á¬ážáá¯á¶ážááŒá¬ážááœáẠá¡áá®á¡áá»áŸ á
á¯ááºááŒá²áá±áá»áááºááœáẠáá¯á¶á·ááŒááºááŸá¯á¡áá»áááºááᯠááá¯ážá
á±áááºá á¡ááŒá¬ážáááá¬ážá
á¯á á¡ááºáááá¯áá®áááºáá»á¬áž áá±á¬ááºážááœááºááá·áºáá±áá¬ááœáẠá¡ááºáááá¯áá®áááºááŸá
áºáá¯á
áá¯á¶ážááẠááá±á¬ááºážáá«á CPU ááŸáá·áº I/O ááá¯á·ááᯠááŒáá¯ááºáá°á¡áá¯á¶ážááŒá¯ááŒááºážááẠá
áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºáá±ážááá¯ááºáá¯á¶ááᯠáá±á·áá¬áá²á·áá±á¬áºáááºáž OS á¡ááŒá¬ážá¡ááŒááºááŒáá·áº ááŒá¿áá¬ááᯠáááŒá±ááŸááºážááá¯ááºáá²á·áá«á áá±á¬ááºáááºáááºážá
á¬ááŸá¬ áá»ááºááŒááºážá¡ááááºááᯠááŒáá·áºááŒá®áž á¡áá¬áááºááᯠááá·áºááŸááºážááá¯á· ááŒáá¯ážá
á¬ážáá²á· á¡á
á®á¡á
á¥áºááᯠáá±á·áá¬ááŒáá·áºáá«áááºá áááºážááᯠmulti-level feedback queue áá¯áá±á«áºáááºá
source: www.habr.com