Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

඙֢ᔮᕹᓤ

ᬰᑕٌ݊ਫሿ

ᬰᑕጱਧԎ޾ં௔
ᬰᑕ

​ ᬰᑕฎᩒრ᧣ଶ޾‫ړ‬ᯈጱच๜‫֖҅ܔ‬ᕚᑕฎCPU᧣ଶ޾‫ړ‬ᯈጱच๜‫̶֖ܔ‬

​ ᬰᑕ൉‫׀‬ӷᐿᡦ೙๢‫ګ‬ғᡦ೙॒ቘ࢏޾ᡦ೙ٖਂ̶

​ ᕚᑕԏᳵ‫ݢ‬զ‫و‬Ձᡦ೙ٖਂ҅֕ฎྯӞӻ᮷ํ‫ݱ‬ᛔጱᡦ೙॒ቘ࢏̶

​ ‫ݢ‬զ᧣አfork()๶ᬰᤈᕚᑕጱ॔‫҅ګ‬՗ᘒ‫ڠ‬ୌӞӻෛጱᬰᑕ̶᧣አfork()ጱᬰᑕԅᬰᑕ҅ෛԾኞጱᬰᑕ
ԅৼᬰᑕ̶

​ ٖ໐᭗ᬦӞӻԅӞӻᬰᑕຽᦩ꧊౲ᘏPID๶ຽᦩྯӞӻᬰᑕ҅PIDฎӞӻහ҅ਫᴬӤฎӞӻintᔄ̶ࣳ

​ ᬰᑕԏᳵਂࣁӞӻกดጱᖀಥ‫ى‬ᔮ̶ಅํጱᬰᑕ᮷ฎPIDԅ1ጱinitᬰᑕጱ‫ݸ‬դ̶

​ ᬰᑕൈᬿᒧԏᳵํӞӻ೰‫ݻ‬ᆿᬰᑕጱ೰ᰒ҅޾ৼᬰᑕጱ᱾ᤒ̶

ᬰᑕ‫ڠ‬ୌ
​ linux‫ڠ‬ୌᬰᑕጱӷӻ‫ڍ‬හғfork()޾exec()̶Ḓ‫ض‬fork‫ڍ‬හ᭗ᬦ೩ᨬ୮‫ڹ‬ᬰᑕ‫ڠ‬ୌӞӻৼᬰᑕ̶ᆿᬰ
ᑕӨৼᬰᑕጱ‫ڦ܄‬ՐՐࣁԭPID̵PPID޾ᩒრ̵ᕹᦇᰁ̶

​ exec‫ڍ‬හᨮᨱ᧛‫ݢݐ‬ಗᤈ෈կਖ਼ٌ᫹‫࣎ࣈف‬ᑮᳵᬩᤈ̶

​ fork‫ڍ‬හֵአٟ෸೩ᨬᶭਫሿٟ҅෸೩ᨬฎӞᐿവ᬴ኜᛗ‫ع‬೩ᨬහഝጱದ๞̶ٖ໐ଚӧ॔‫ګ‬ᬯӻᮎӻ
ᬰᑕࣈ࣎ᑮᳵ҅ᘒฎᦏᆿᬰᑕ޾ৼᬰᑕ‫و‬Ձ‫ݶ‬Ӟӻ೩ᨬ̶Ԟ੪ฎ‫و᧛ݝ‬Ձٟ҅‫ف‬೩ᨬ̶

​ forkਫᴬ୏ᲀ෸॔‫ګ‬ᆿᬰᑕጱᶭᤒզ݊ᕳৼᬰᑕ‫ړ‬ᯈࠔӞጱᬰᑕൈᬿᒧ̶

​ fork‫ڍ‬හᬬࢧ꧊:

​ ᨮහғইຎ‫ڊ‬Კ҅‫ڞ‬fork()ᬬࢧ-1,ྌ෸ဌํ‫ڠ‬ୌෛጱᬰᑕ̶๋‫ڡ‬ጱᬰᑕՖᆐᬩᤈ̶

̴̴ ᵭғࣁৼᬰᑕӾ҅fork()ᬬࢧ0

̴̴ ྋහғࣁᆿᬰᑕӾ҅fork()ᬬࢧྋጱৼᬰᑕጱPID

fork‫ڍ‬හ᧣አӞེ‫ܩ‬ᬬࢧӷེҔ‫ݻ‬ᆿᬰᑕᬬࢧৼᬰᑕጱID҅‫ৼݻ‬ᬰᑕӾᬬࢧ0҅

̴̴ᬯฎࢩԅᆿᬰᑕ‫ݢ‬ᚆਂࣁஉग़ᬦৼᬰᑕ҅ಅզ஠ᶳ᭗ᬦᬯӻᬬࢧጱৼᬰᑕID๶᪙᪵ৼᬰᑕ҅

̴̴ᘒৼᬰᑕ‫ํݝ‬Ӟӻᆿᬰᑕ҅՜ጱID‫ݢ‬զ᭗ᬦgetppid‫ݐ‬஑̶

ᬰᑕጱᇫா޾᫨ഘ
ӣᇫாཛྷࣳ
ᬰᑕᛗ੝ํ3ᐿᇫாғ

1.ᬩᤈாғᬰᑕ‫ܛ‬አ॒ቘ࢏ᬩᤈጱᇫா̶

2.੪ᖃᇫாғᬰᑕٍ॓ᬩᤈᇫா҅ᒵஇᔮᕹ‫ړ‬ᯈ॒ቘ࢏զ‫ٌ׎‬ᬩᤈጱᇫா̶

3.ᒵஇாғԞฎᴥलா౲፻፦ா҅Ԟฎࣁᒵஇ຤ӻᇫாਠ౮ጱᇫா̶

ᬰᑕᇫா᫨۸

ᬰᑕᇫா᫨۸ጱܻࢩ:

1.ᬩᤈா—>੪ᖃா:ᬩᤈᬰᑕᒵஇֵአ຤ᐿᩒრ౲຤Ԫկ‫ݎ‬ኞ̶

2.ᒵஇா——>੪ᖃா:ಅᵱᩒრ஑‫ک‬ჿ᪃̶

3.ᬩᤈா———>੪ᖃா:ᬩᤈ෸ᳵᇆ‫ک‬ԧ҅౲ᘏๅṛս‫ض‬ᕆጱᬰᑕ̶

4.੪ᖃா———>ᬩᤈாғCPUᑮᳳ҅ᭌೠӞӻ੪ᖃᬰᑕ̶

Բᇫாཛྷࣳ

ෛीӷӻᇫாғෛୌா޾ᕣྊா̶

ෛୌாғᬰᑕᤩ‫ڠ‬ୌ෸ጱᇫா҅ᬰᑕ੢๚ᬰ‫ف‬੪ᖃᴚ‫ڠ҅ڜ‬ୌᬰᑕᵱᥝӷྍғ1҅ԅෛᬰᑕ‫ړ‬ᯈಅᵱ
ᩒრ҅ୌᒈᤒጱᓕቘ‫௳מ‬Ҕᆐ‫ᦡݸ‬ᗝྌᬰᑕԅ੪ᖃா҅ᒵஇᤩ᧣ଶಗᤈ̶

ᕣྊாғᬰᑕਠ౮ձ‫ک҅ۓ‬ᬡྋଉᕮ๳ᅩ̶

Ӡᇫாཛྷࣳ
ᇫா᫨۸ٍ֛ܻࢩғ

ᬰᑕጱൈᬿ޾ᕟ౮
ᬰᑕฉ‫؟‬

​ ᬰᑕጱᇫாࣁӧෙ‫ݎ‬ኞ‫ݒ‬۸҅຤෸‫ڰ‬ᬰᑕጱٖ਻ٌ݊ᇫாᵞ‫ݳ‬ᑍԅᬰᑕฉ‫̶؟‬Ԇᥝ۱‫ތ‬զӥᥝᔰғ

1.ᬰᑕഴ‫ࣘګ‬

​ ਂ‫ؙ‬ᬰᑕຽப‫̵௳מ‬ሿ࣋‫޾௳מ‬ഴ‫௳מګ‬

2.ᬰᑕᑕଧࣘ

​ ᤩಗᤈጱᑕଧ̶

3.ᬰᑕ໐ஞ຾
​ ‫ਂכ‬Ӿෙ҈୑ଉሿ̶࣋

4.ᬰᑕහഝࣘ

​ ‫ਂכ‬ᐺํහഝ̶

​ ࣁ඙֢ᔮᕹӾ҅ᬰᑕᇔቘᦶ᷌޾ඪ೮ᬰᑕᬩᤈጱሾह‫ݳ‬౮ԅᬰᑕӤӥ෈̶ᬰᑕӤӥ෈ํӣӻ᮱‫ړ‬ᕟ
౮ғ

1.አಁӤӥ෈

​ ኧྋ෈̵හഝ̵‫و‬Ձਂ‫̵܄ؙ‬አಁ຾ᕟ౮҅‫ܛ‬አᬰᑕጱᡦ೙ࣈ࣎ᑮᳵ̶

2.ੀਂ࢏Ӥӥ෈

​ ೰եᦇහ࢏̵຾೰ᰒ̵ഴ‫ګ‬ੀਂ࢏ᒵᕟ౮̶

3.ᔮᕹӤӥ෈

​ ኧᬰᑕഴ‫̵ࣘګ‬Ԇਂᓕቘ‫̵௳מ‬໐ஞ຾ᕟ౮̶

ᕚᑕٌ݊ਫሿ

୚‫ف‬ग़ᕚᑕጱۖ๢
​ ԅԧ‫ٺ‬੝ᑕଧଚ‫ݎ‬ಗᤈ෸ಅ՞‫ڊ‬ጱ෸ᑮ୏ᲀ҅ฎጱଚ‫ێݎ‬ଶๅᕡ̵ଚ‫ݎ‬௔ๅঅ̶

ᕚᑕጱᕟ౮
​ ᕚᑕ෸ᬰᑕӾᚆड़ଚ‫ݎ‬ಗᤈጱਫ֛҅ฎᬰᑕጱᕟ౮᮱‫҅ړ‬Ԟฎ॒ቘ࢏᧣ଶ޾‫ړ‬ᯈጱच๜‫̶֖ܔ‬

ᬰᑕጱᕟ౮᮱‫ړ‬ғ

1.ᕚᑕጱࠔӞຽᦩᒧզ݊ᕚᑕᇫா‫௳מ‬

2.ԅᬩᤈಅ‫ਂכ‬ጱᕚᑕӤӥҔ‫ݢ‬զ಩ᕚᑕऩᑍᬰᑕӾӞӻᇿᒈጱᑕଧᦇහ࢏̶

3.໐ஞ຾҅ࣁ໐ஞாૡ֢෸‫݇ਂכ‬හ҅ࣁ‫ڍ‬හ᧣አ෸ጱᬬࢧࣈ࣎

4.አԭਂනᕚᑕੴ᮱‫ݒ‬ᰁ޾አಁ຾ጱᐺํਂ‫̶܄ؙ‬

ᕚᑕጱᇫா
​ ᬩᤈ̵੪ᖃ޾ᒵஇᇫா҅ဌํ೯᩸ᇫா̶

​ ग़ᕚᑕጱսᅩฎғ൉ṛᔮᕹ௔ᚆٍ֛҅ᤒሿࣁள᭛ᕚᑕ‫ڔ‬ഘ҅ᜓ፜Ԇਂᑮᳵ҅‫ٺ‬੝ᓕቘ୏ᲀҔ᭗‫מ‬ฃ
ԭਫሿҔଚ‫ݎ‬ᑕଶṛ̶

ᕚᑕጱਫሿ
​ ग़ᕚᑕጱਫሿ‫ړ‬ԅӣᔄғአಁᕆᕚᑕ̵ٖ໐ᕆᕚᑕ޾Ⴐ‫ݳ‬ොୗ̶

ٖ໐ᕆᕚᑕ

​ ᕚᑕጱᓕቘጱૡ֢ኧٖ໐ਠ౮ٖ҅໐ԅٌ‫ڠ‬ୌᬰᑕ޾Ӟӻचᕚᑕ̶
​ սᅩғ‫ݶ‬෸᧣ଶ‫ݶ‬ӞᬰᑕӾጱग़ӻᕚᑕଚ‫ݎ‬ಗᤈҔᬩᤈ᭛ଶள҅ಗᤈපሲṛ̶

​ ᗌᅩғཛྷୗ‫ڔ‬ഘᔮᕹ୏ᲀ᫾य̶़

አಁᕆᕚᑕ

​ ᕚᑕጱᓕቘฎଫአᑕଧਠ౮̶

​ սᅩғᕚᑕ‫ڔ‬ഘ෫ᶳֵአٖ໐ᇙ๦ොୗ̶

​ ᗌᅩғӞӻአಁᕚᑕጱᴥल୚᩸ෆӻᬰᑕጱᕟल̶

Ⴐ‫ݳ‬ୗᕚᑕ

​ ‫ܨ‬ඪ೮አಁᕆᕚᑕ҅ํඪ೮ٖ໐ᕆᕚᑕ̶

॒ቘ࢏᧣ଶ

॒ቘ࢏᧣ଶጱ੶ེ
1.ṛᕆ᧣ଶ

​ ֢ӱ᧣ଶ̵ᳩᑕ᧣ଶ҅ࣁग़᭲ಢ॒ቘ඙֢ᔮᕹӾ҅՗ᬌ‫ف‬ᔮᕹጱӞಢ֢ӱӾೲᆙᶼਧጱ᧣ଶᒽኼ೴ᭌ
ᝑଗጱ֢ӱᬰ‫ف‬Ԇਂ҅ԅٌ‫ړ‬ᯈಅᵱጱᩒრ҅ଚ‫ڠ‬ୌ֢௶ጱፘଫአಁᬰᑕ‫׎ݸ‬ਠ౮‫ۖސ‬ᴤྦྷጱṛᕆ᧣
ଶձ‫̶ۓ‬

2.Ӿᕆ᧣ଶ

​ ଘᤍ᧣ଶ̵Ӿᑕ᧣ଶ҅໑ഝᨼਂᩒრ٬ਧԆਂӾಅᚆ਻ᕑጱᬰᑕහᰁ҅ଚ໑ഝᬰᑕጱ୮‫ڹ‬ᇫா๶٬ਧ
ᬀۗਂ‫࢏ؙ‬ጱԆਂӾጱᬰᑕጱ‫غ‬ഘ̶

3.֗ᕆ᧣ଶ

​ ᬰᑕ᧣ଶ̵ᕚᑕ᧣ଶ̵Ꭸᑕ᧣ଶ̶Ԇᥝጱ‫ۑ‬ᚆฎ໑ഝ຤ᐿܻ‫ڞ‬٬ਧ੪ᖃᴚ‫ڜ‬ӾጱᮎԶᬰᑕ҈ٖ໐ᕆᕚ
ᑕ឴஑॒ቘ࢏҅ଚਖ਼॒ቘ࢏‫ᦏڊ‬ᕳਙֵአ̶

॒ቘ࢏᧣ଶᓒဩ
​ ֗ᕆ᧣ଶጱ๋‫ڡ‬੒᨝෸ᬰᑕ̶

֗ᕆ᧣ଶጱच๜ᔄࣳ

​ ‫ہ‬५ୗᓒဩ

​ ᶋ‫ہ‬५ୗ

֗ᕆ᧣ଶᓒဩ

‫ض‬๶‫ض‬๐‫(ۓ‬FCFS)

​ ᶋ‫ہ‬५ୗ᧣ଶᓒဩ҅ฃԭਫሿ҅֕පሲӧṛ̶

๋Ꭸ֢ӱս‫ض‬ᓒဩ(SJF)

​ ᶋ‫ہ‬५ୗ᧣ଶᓒဩ҅ฃԭਫሿ҅֕ಗᤈපሲӧṛ̶
ս‫ض‬ᕆ᧣ଶᓒဩ

​ ໑ഝᕚᑕጱս‫ض‬ᕆ๶ᬩᤈ̶

᫪᫨᧣ଶᓒဩ

​ Ԟฎ෸ᳵᇆ᧣ଶ̶

CFS‫ل‬ଘ᧣ଶᓒဩ

​ LinuxጱCFS᧣ଶ࢏ଚဌํፗള‫ړ‬ᯈ෸ᳵᇆ‫ک‬ᬰᑕ҅ਙฎਖ਼॒ቘ࢏ጱֵአྲ‫ړښ‬ᕳᬰᑕ̶ᬯ໏զ๶҅ᬰ
ᑕಅ឴‫ݐ‬ጱ॒ቘ࢏෸ᳵٌਫฎ޾ᔮᕹᨮ᫹ੂ‫ڔ‬ፘ‫ى‬ጱ̶ᬯӻྲֺᬰӞྍᬮտත‫ک‬ᬰᑕnice꧊ጱ୽ߥ҅
nice꧊֢ԅ๦᯿ਖ਼᧣ෆᬰᑕಅֵአጱ॒ቘ࢏෸ᳵྲٍ҅ํๅṛnice꧊(ๅ֗ս‫ض‬๦)ጱᬰᑕਖ਼ᤩᩙԨ֗๦
᯿҅՗ᘒӹ०Ӟ᮱‫ړ‬ጱ॒ቘ࢏ֵአྲ҅ᘒٍํๅੜnice꧊(ๅṛս‫ض‬ᕆ)ጱᬰᑕ‫ڞ‬տᤩᩙԨṛ๦᯿҅՗
ᘒಶ‫ܛ‬ๅग़ጱ॒ቘ࢏ֵአྲ̶

ٖ໐‫ྍݶ‬Օᕨ

ԁኴ‫޾܄‬ᒋԩ๵կ
ԁኴ‫܄‬੪ฎᦢᳯ޾඙֢‫و‬ՁහഝጱդᎱྦྷ̶

᭿‫ع‬ଚ‫޾ݎ‬ᒋԩ๵կᑍԅ‫̶ྍݶ‬

ᓕᑕ:಩‫ړ‬වࣁ‫ݱ‬ӻᬰᑕӾጱԁኴ‫܄‬ᵞӾ᩸๶ᓕቘ҅ଚ಩‫و‬Ձᩒრአහഝᕮ຅ು᨝ࣈᤒᬡ‫ڊ‬๶҅ኧԭԁ
ኴ‫܄‬ฎᦢᳯ‫و‬ՁᩒრጱդᎱྦྷ҅ୌᒈӞӻᑃԡ๶ᬰᤈᓕቘ̶ᬯӻᑃԡ੪ฎᓕᑕ̶

Linux‫ྍݶ‬๢‫ګ‬
1.ܻৼ඙֢

ܻৼ඙֢ࣁಗᤈጱᬦᑕӾӧտᤩ಑ෙ҅զᴠྊᓌ‫ܔ‬ጱᒋԩ๵կ‫ݎ‬ኞ҅Ꮯ‫כ‬඙֢ᕮຎጱྋᏟ௔҅॔๥ጱ
ᲁ๢‫ګ‬ᚆड़ࣁܻৼ඙֢ጱचᏐӤ຅ୌ̶

2.ٖ໐‫ݩמ‬ᰁ

ࣁLinuxӾֵአᒵஇᴚ‫ڜ‬๶ਫሿٖ໐‫ݩמ‬ᰁ̶

3.ᒵஇᴚ‫ڜ‬

ଚ‫ݎ‬ᬰᑕ‫ྍݶ‬෸҅‫ݝ‬ᥝᒵஇ๵կӧჿ᪃෸҅੪஠ᶳ೯᩸҅න‫ف‬ፘଫጱᒵஇᴚ‫̶ڜ‬

4.‫ى‬Ӿෙ

‫ى‬Ӿෙฎ಩ٖ໐ாಗᤈጱᑕଧ֢ԅӞӻԁኴ‫܄‬๶‫כ‬ಷጱӞᐿಋྦྷ҅Ԇᥝ‫כ‬ಷӾෙ॒ቘᑕଧԞᥝᦢᳯጱ
හഝᕮ຅̶

5.ᛔ෤ᲁ

ᛔ෤ᲁฎ๋ᓌ‫ܔ‬ጱӞᐿᲁܻ᧍҅ᲁጱ‫ݐ‬꧊ฎ0ᤒᐏᩒრ‫ݢ‬አ҅ᲁጱ‫ݐ‬꧊ฎ1ᤒᐏᩒრ‫ے‬ᲁ̶

‫ے‬ᲁ
Linuxᛔ᫝ਫሿ‫پ‬ᐿӧ‫ݶ‬ጱᲁ๢‫ݱ҅ګ‬ᐿᲁԏᳵጱ‫ڦ܄‬:୮ᲁ૪ᕪᤩٌ՜ᕚᑕ೮ํ҅ӞԶᲁᤩԩአ෸ᓌ
‫ܔ‬ጱಗᤈ஬ᒵஇ҅ᘒ‫ݚ‬ӞԶᲁտֵ୮‫ڹ‬ձ‫ۓ‬፻፦ፗ‫ک‬ᲁ‫ݢ‬አԅྊ̶

᭜౮ଚ‫ݎ‬ಗᤈጱܻࢩ
Ӿෙ:Ӿෙ‫پ‬Ԓ‫ݢ‬զࣁձ֜෸‫ݎྍ୑ڰ‬ኞ҅Ԟ੪‫ݢ‬ᚆᵋ෸಑ෙ୮‫ڹ‬ྋࣁಗᤈጱդᎱ̶

᫫Ӿෙ޾tasklet:ٖ໐ᚆࣁձ֜෸‫ࠏڰ‬ᯯ౲᧣ଶ᫫Ӿෙ޾tasklet,಑ෙ୮‫ڹ‬ྋࣁಗᤈጱդᎱ.

ٖ໐ಶ‫ܛ‬:ࢩԅٖ໐ٍํಶ‫ܛ‬௔҅ಅզٖ໐ጱձ‫ݢۓ‬ᚆᤩٌ՜ձ‫ۓ‬ಶ‫̶ܛ‬

፻፦݊አಁᑮᳵጱ‫ྍݶ‬:ࣁٖ໐ጱᬰᑕ‫ݢ‬ᚆᵋ፦҅ᬯ੪տࠏᯯ᧣ଶᑕଧ҅՗ᘒ੕ᛘ᧣ଶӞӻෛጱአಁᬰ
ᑕಗᤈ̶

੒ᑍग़॒ቘ:ӷӻ޾ग़ӻ॒ቘ࢏‫ݢ‬զ‫ݶ‬෸ಗᤈդᎱ̶

ࣁӾෙ॒ቘᑕଧӾᚆ᭿‫ع‬ଚ‫ᦢݎ‬ᳯጱਞ‫ق‬դᎱᑍ֢ԅӾෙਞ‫ق‬Ꮁ҅ࣁ੒ᑍग़॒ቘጱ๢࢏Ӿᚆ᭿‫ع‬ଚ‫ݎ‬
ᦢᳯጱਞ‫ق‬դᎱᑍԅSMPਞ‫ق‬դᎱ҅ࣁٖ໐ಶ‫ܛ‬෸ᚆ᭿‫ع‬ଚ‫ᦢݎ‬ᳯጱਞ‫ق‬դᎱᑍԏԅಶ‫ܛ‬ਞ‫ق‬դᎱ̶

ԧᥴᵱᥝ‫כ‬ಷՋԍ
य़ग़හٖ໐හഝᕮ຅ᵱᥝ‫ے‬ᲁѺ

ᕳහഝ‫ے‬ᲁᘒӧฎᕳդᎱ‫ے‬ᲁ

ྒᲁ
ྒᲁԾኞጱ๵կ:

1.԰෕๵կ

2.‫ܛ‬አᒵஇ๵կ

3.ӧ‫ہݢ‬५

4.஗ሾᒵஇ

ᴠྊྒᲁጱᒽኼ
ᶼᴠྒᲁ̵᭿‫ྒع‬ᲁ̵༄ၥྒᲁ̵ᥴᴻྒᲁ

ᬰᑕ᭗‫מ‬
ᬰᑕԏᳵ԰ፘԻഘ‫௳מ‬ጱૡ֢ᑍԅᬰᑕ᭗‫מ‬

ᬰᑕ᭗‫מ‬ጱොୗ:

1.‫ݩמ‬᭗‫מ‬๢‫ګ‬

2.ᓕ᭲᭗‫מ‬᭗‫מ‬๢‫ګ‬

3.ၾ௳փ᭓᭗‫מ‬๢‫ګ‬

4.‫ݩמ‬ᰁ᭗‫מ‬๢‫ګ‬

5.‫و‬Ձٖਂ᭗‫מ‬๢‫ګ‬
‫ݩמ‬᭗‫מ‬๢‫ګ‬
‫ݩמ‬ฎӞᐿ᫫Ӿෙ҅ฎփ᭓Ꭸၾ௳ጱᓌ‫ܔ‬᭗‫מ‬๢‫҅ګ‬᭗ᬦ‫ݎ‬ᭆ೰ਧ‫ݩמ‬๶᭗Ꭳᬰᑕ຤ӻ୑ྍԪկ‫ݎ‬
ኞ҅զᬼֵᬰᑕಗᤈ‫॒ݩמ‬ቘᑕଧ̶

ᓕ᭲᭗‫מ‬๢‫ګ‬
ᓕ᭲ฎᬳᖅ᧛ٟᬰᑕጱӞӻᇙྛጱ෈կ҅ೲᆙFCFSොୗփ᭓හഝ҅Ԟᚆֵᬰᑕ‫ྍݶ‬ಗᤈ̶ᓕ᭲ฎ‫ݻܔ‬
ጱ҅‫ݎ‬ᭆᬰᑕᥤᓕ᭲ԅᬌ‫෈ڊ‬կ҅զਁᒧၞጱ୵ୗਖ਼හഝ‫ݎ‬ᭆ‫ک‬ᓕ᭲҅ള‫ݑ‬ᬰᑕᥤᓕ᭲ԅᬌ‫෈ف‬կ҅
՗ᓕ᭲ള‫ݑ‬හഝ҅ಅզᑍԏԅᓕ᭲᭗‫̶מ‬

ᓕ᭲ጱਫᨶฎӞӻ‫و‬Ձ෈կ҅‫ڥܨ‬አᬀۗਂ‫࢏ؙ‬๶ᬰᤈහഝ᭗‫̶מ‬

‫و‬Ձٖਂ᭗‫מ‬๢‫ګ‬
‫و‬Ձٖਂฎ೰ࣁԆ๢Ӿ୏ᬗӞӻ‫ل‬አਂ‫̵܄ؙ‬ᥝ᭗‫מ‬ጱᬰᑕ಩ᛔ૩ጱᡦ೙ࣈ࣎ᑮᳵฉ੘‫وک‬Ձٖਂ
‫̶܄‬

ၾ௳փ᭓᭗‫מ‬๢‫ګ‬
ԅԧਫሿ୑ྍ᭗‫҅מ‬஠ᶳ᯻አᳵള᭗‫מ‬ොୗ҅ᬰᑕԏᳵ‫ݎ‬ኞ౲ᘏള‫ݑ‬ၾ௳᭗ᬦӞӻ‫و‬Ձጱහഝᕮ຅
——‫מ‬ᓟᬰᤈ҅ၾ௳‫ᤩݢ‬ቘᥴ౮‫מ‬կ҅ྯӞӻ‫מ‬ᓟ᮷ํӞӻࠔӞຽᦩᒧ̶
Linux‫ྍݶ‬๢‫޾ګ‬᭗‫מ‬๢‫ګ‬

Linuxٖ໐‫ྍݶ‬๢‫ګ‬
1.ܻৼ඙֢

​ ܻৼ඙֢‫ࣁᦤכ‬ಗᤈᬦᑕӾӧᤩ಑ෙ҅զᴠྊᓌ‫ܔ‬ጱᒋԩ๵կጱ‫ݎ‬ኞ҅զᏟ‫כ‬඙֢ጱྋᏟ௔҅॔๥ጱ
ᲁ๢‫ݢګ‬զࣁܻৼ඙֢ጱचᏐӤ຅ୌ̶Linuxٖ໐ਧԎӷᔄܻৼ඙֢ :

​ ܻৼෆࣳ඙֢

​ ܻৼ֖ࢶ඙֢:ᰒ੒೰ᰒ‫ݒ‬ᰁಅ೰ਧጱձ఺ӞࣘԆਂ‫܄‬ऒጱ֖ଧ‫ڜ‬ᬰᤈ඙̶֢

2.ٖ໐‫ݩמ‬ᰁ

​ ࣁLinux඙֢ᔮᕹӾ҅Ԟֵአᒵஇᴚ‫ڜ‬Ӿਫሿٖ໐ֵአጱ‫ݩמ‬ᰁ๢‫̶ګ‬

3.ᒵஇᴚ‫ڜ‬

​ Linuxٖ໐‫ݩמ‬ᰁ᯻አᶋ஬ୗᒵஇ๶ਫሿ҅୮ᬰᑕӾಗᤈDOWN඙֢ᘒᒵஇ෸҅ਖ਼න‫ف‬ᒵஇ‫ݩמ‬ᰁᴚ
‫ڜ‬ҔԪਫӤଚ‫ݎ‬ᬰᑕ‫ྍݶ‬෸҅‫ݝ‬ᥝᒵஇ๵կӧჿ᪃෸҅੪஠ᶳ೯᩸҅න‫ف‬ፘଫጱᒵஇᴚ‫̶ڜ‬ᒵஇᴚ‫ڜ‬
Ԟฎԁኴᩒრ҅੒ٌᬰᤈ‫ץ‬ද෸ଫ‫ے‬ᲁ҅զ᭿‫ع‬ᒋԩ๵կ̶

4.‫ى‬Ӿෙ

‫ى‬Ӿෙฎ಩ٖ໐ாಗᤈጱᑕଧྦྷ֢ԅӞӻԁኴ‫܄‬๶‫כ‬ಷጱӞᐿಋྦྷ҅Ԇᥝ‫כ‬ಷӾෙ॒ቘᑕଧԞᥝᦢᳯ
ጱහഝᕮ຅̶

5.ᛔ෤ᲁ

ᛔ෤ᲁฎ๋ᓌ‫ܔ‬ጱӞᐿᲁܻ᧍҅ᲁጱ‫ݐ‬꧊ԅ0ᤒᐏᩒრ‫ݢ‬አ҅ᲁጱ‫ݐ‬꧊ԅ1ᤒᐏᩒრ‫ے‬ᲁ̶ᛔ෤ᲁஉ‫؟‬
ԫ‫ݩמز‬ᰁ҅֕ࣁٍ֛ਫሿᬮฎํ‫ڦ܄‬ጱ̶ᝑӞӻᩒრ஑‫ک‬ᛔ෤ᲁጱ‫כ‬ಷ҅‫ݚ‬Ӟӻᦶࢶ‫ݐ‬஑ྌᩒრጱ
ٖ໐ֺᑕਖ਼‫כ‬ಷ஬ᒵஇ҅ፗ‫ک‬ᩒრᥴᲁ̶

IPC๢‫ګ‬
ࣁLinuxᔮᕹӾ҅಩‫ݩמ‬ᰁ̵ၾ௳ᴚ‫و޾ڜ‬ՁٖਂᩒრᑍԅIPC(ᬰᑕᳵ᭗‫)מ‬ᩒრ҅አԭᬰᑕᳵ᭗‫̶מ‬
Linux൉‫׀‬ᕳአಁጱIPCᩒრฎ᭗ᬦᔮᕹ᧣አ๶ਫሿጱ҅ਙժԅᬰᑕ൉‫׀‬ӣᐿ๐‫ۓ‬:

1.ԅ‫ݩמ‬ᰁ੒ᬰᑕಅᥝᦢᳯԁኴᩒრᬰᤈ‫כ‬ಷ

2.አၾ௳ᴚ‫ࣁڜ‬ᬰᑕԏᳵզ୑ྍොୗ‫ݎ‬ᭆ޾ളතၾ௳

3.ᶼኸ‫و‬Ձٖਂྦྷզ‫׀‬ᬰᑕԏᳵԻഘ޾‫و‬Ձහഝ

IPC޾ᓕ᭲ԏᳵጱ‫ ڦ܄‬ฎ҅ਙ꧋ᦜ‫ݶ‬Ӟӻ๢࢏Ӥጱᦜग़ᬰᑕᬰᤈ᭗‫҅מ‬ᘒӧฎᴴԭӷӻᬰᑕ҅Ӭᓕ᭲
ํӞӻᴴ‫҅ګ‬ӷӻᬰᑕ஠ᶳฎፘ‫ى‬ጱ҅՜ժ஠ᶳํ‫ݶو‬ጱᐙ‫ض‬ᬰᑕ̶

ਂ‫ؙ‬ᓕቘ
ԆਂᑮᳵӞᛱ‫ړ‬ԅӷ᮱‫ړ‬:Ӟ᮱‫ړ‬ฎᔮᕹ‫҅܄‬አԭਂන඙֢ᔮᕹጱٖ໐ᑕଧ޾හഝᕮ຅ᒵ҅‫ݚ‬Ӟ᮱‫ړ‬ฎ
አಁ‫҅܄‬አԭਂනଫአᑕଧ޾හഝ̶

ਂ‫ؙ‬ᓕቘ۱‫ތ‬Ӟӥ‫ۑ‬ᚆ:
1.‫ړ‬ᯈӨ݄ᯈ

2.ು᨝޾ฉ੘

3.ᵍᐶӨ‫و‬Ձ

4.ਂ‫ؙ‬Өಘ꧌

ਂ‫࢏ؙ‬
​ ੀਂ࢏̵ṛ᭛ᖨਂ̵Ԇਂ‫̵࢏ؙ‬ᏺፏ̵ᏺଃ҅ೲᬯӻᶲଧ᭛ଶ᩼๶᩼֗҅ᮎӻԞ᩼๶᩼֗

‫ڥ‬አṛ᭛ᖨਂ๶ਂනԆਂӾᕪଉᦢᳯጱ‫҅௳מ‬զ൉ṛᑕଧಗᤈ᭛ଶ̶

ࣈ࣎᫨ഘӨਂ‫כؙ‬ಷ

ᖫᦲ:რᑕଧ᭗ᬦᖫᦲᑕଧ౲࿤ᖫᑕଧጱ॒ቘ๶឴஑ፓຽդᎱ̶

᱾ള:಩ग़ӻཛྷࣘᬳള౮ԅӞӻਠෆጱ‫ݢ‬᯿ਧ֖ᑕଧ҅ᵱᥝᥴຉٖ᮱޾क़᮱ᒧ‫ݩ‬ᤒ҅಩ᒧ‫ݷݩ‬ጱ୚አ᫨
۸ԅහ꧊୚አ҅ᥝਖ਼ၿ݊‫࣎ࣈਁݷ‬ጱᑕଧ‫ݗف‬ᅩ޾හഝ୚አᅩ᫨ഘԅහ꧊ࣈ̶࣎

ᤰ‫ف‬:ࣁᤰ᫹Ӟӻ‫ے‬᫹դᎱཛྷࣘԏ‫ؙਂ҅ڹ‬ᓕቘᑕଧ௛տ‫ړ‬ᯈӞࣘਫᴬԆਂ‫܄‬ᕳᬰᑕ҅ᤰ‫ف‬ᑕଧ໑ഝ೰
ਧጱԆਂ‫܄‬Ḓࣈེ࣎҅ٚ‫ץ‬ද޾᧣ෆᤩᤰ᫹ཛྷࣘӾጱ᭦ᬋࣈ࣎҅ਖ਼᭦ᬋࣈ࣎ᕬਧԅᇔቘࣈֵ࣎҅ԏ౮
ԅ‫ݢ‬ಗᤈԫᬰ‫ګ‬դᎱ̶

ᇔቘԆਂ‫࢏ؙ‬՗ྌᮎӻᕹӞጱचࣈࣈ࣎୏তᶲଧᖫྊጱਂ‫زܔؙ‬ᑍԏԅᇔቘࣈ࣎౲ᕷ੒ࣈ࣎҅ᇔቘࣈ
࣎ጱ௛֛຅౮ᇔቘࣈ࣎ᑮᳵ̶

​ ಩᭦ᬋࣈ࣎᫨۸ԅᇔቘࣈ࣎ጱຎᯪ歪ᑍԏԅࣈ࣎᯿ਧ̵֖ࣈ࣎ฉ੘౲ࣈ࣎᫨ഘํզӥӷᐿොୗ̶

ᶉாࣈ࣎᯿ਧ֖

​ ኧᤰ‫ف‬ᑕଧਫሿᤰ᫹դᎱཛྷࣘጱ‫ے‬᫹޾ࣈ࣎᫨ഘ҅಩ਙᤰ‫ړف‬ᯈᕳᬰᑕጱԆਂ೰ਧ‫܄‬ऒٌ҅Ӿጱಅํ
᭦ᬋࣈ࣎‫ץ‬ද౮ԅԆਂࣈ࣎҅ᑍᶉா᯿ਧ̶֖

ۖாࣈ࣎᯿ਧ֖

​ ኧᤰ‫ف‬ᑕଧਫሿᤰ᫹դᎱཛྷࣘጱ‫ے‬᫹҅಩ਙᤰ‫ړف‬ᯈᕳᬰᑕጱԆਂ೰ਧ‫܄‬ऒ҅֕੒ᬳളᑕଧ॒ቘᬦጱ
ଫአᑕଧጱ᭦ᬋࣈ࣎‫ڞ‬ӧ؉ձ֜‫ץ‬ද҅ᑕଧԆਂ᩸তࣈ࣎ᤩᗝ‫ف‬Ꮭկӫአੀਂ࢏---᯿ਧ֖ੀਂ࢏̶

ᬳᖅਂ‫ؙ‬ᑮᳵᓕቘ
ࢴਧ‫ړ‬ᯈᓕቘ

ࢴਧ‫ؙਂ܄ړ‬ᓕቘጱच๜௏మ:Ԇਂᑮᳵᤩ‫ړ‬౮හᰁࢴਧӧ‫ݒ‬ጱ‫܄ړݱ҅܄ړ‬ጱय़ੜӧᒵ҅ྯӻ‫ݝ܄ړ‬
ᤰ‫ف‬Ӟӻ֢ӱ҅ᝑग़ӻ‫܄ړ‬Ӿ᮷ᤰํ֢ӱ҅‫ڞ‬੪‫ݢ‬զଚ‫ݎ‬ಗᤈ҅ᬯ੪ฎඪ೮ग़‫ک‬ᑕଧᦡᦇጱ๋ᓌ‫ܔ‬ጱ
ਂ‫ؙ‬ᓕቘದ๞̶

‫ݒݢ‬ጱ‫ؙਂ܄ړ‬ᓕቘ

​ ‫ؙਂ܄ړݒݢ‬ᓕቘ݈ᑍԅۖா‫ړ‬Բཛྷୗ҅ೲᆙ֢ӱጱय़ེॿ๶‫ړښ֕҅܄ړړښ‬ጱ෸ᳵ̵य़ੜ̵֖ᗝ
᮷ฎۖா̶ᔮᕹ಩֢ӱᤰ‫ف‬Ԇਂ෸҅໑ഝٌ᩸ᵱᥝጱԆਂ਻ᰁ᷐ັ፡ฎ‫݈ވ‬᪃ड़ጱᑮᳵ҅ᝑํ҅‫ڞ‬ᵱ
ᥝೲᵱ‫ړ‬ᯈӞӻ‫ړ܄ړ‬ᯈᕳ֢ӱҔᝑ෫҅‫ڞ‬ե֢ӱᒵஇԆਂᩒრ̶

‫ړ܄ړݒݢ‬ᯈᓒဩ:
1.๋սᭇଫ‫ړ‬ᯈᓒဩ

​ ᶲଧັತ๚‫ړ‬ᯈ‫܄‬ᤒ౲᱾ᤒ҅ፗ‫ک‬ತ‫ک‬ᒫӞӻჿ᪃ᳩଶᥝ࿢ጱᑮᳳԅྊ҅‫҅܄ړྌۆړ‬Ӟ᮱‫ړړ‬ᯈᕳ
֢ӱ҅‫ݚ‬Ӟ᮱‫ړ‬Ֆԅᑮᳳ‫ྌ̶܄‬ᴨۢᬯӞ‫ړ‬ᯈᓒဩ෸҅๚‫ړ‬ᯈ‫܄‬ᤒ౲᱾ᤒጱᑮᳳ‫܄‬᭗ଉೲࣈ࣎՗ੜ‫ک‬
य़ഭଧ̶

2.ӥེᭇଫ‫ړ‬ᯈᓒဩ

​ ௛ฎ՗๚‫ړ‬ᯈ‫܄‬ጱӤེಚൈᕮ๳॒ᶲଧັತ‫ړ‬ᯈ‫܄‬ᤒ౲᱾ᤒ҅ፗ‫ک‬ತ‫ک‬ᒫӞӻᚆड़ჿ᪃ᳩଶᥝ࿢ጱᑮ
ᳳ‫܄‬ԅྊ҅‫ۆړ‬ᬯӻ๚‫ړ‬ᯈ‫҅܄‬Ӟ᮱‫ړړ‬ᯈᕳ֢ӱ҅‫ݚ‬Ӟ᮱‫ړ‬Ֆԅᑮᳳ‫̶܄‬

3.๋սᭇଫ‫ړ‬ᯈᓒဩ

​ ಚᶎᬯӻෆӻ๚‫ړ‬ᯈ‫܄‬ᤒ౲᱾ᤒ҅՗ᑮᳳ‫܄‬Ӿ೴ᭌӞӻᚆჿ᪃አಁᬰᑕᥝ࿢ጱ๋ੜ‫܄ړ‬ᬰᑕ‫ړ‬ᯈ̶

4.๋ࣕᭇଫ‫ړ‬ᯈᓒဩ

​ ಚᶎෆӻ๚‫ړ‬ᯈ‫܄‬ᤒ౲᱾ᤒ҅௛ฎ೴ᭌӞӻ๋य़ጱᑮᳳ‫ۆړ‬ᕳ֢ӱֵአٌ҅ํดᐏֵ‫ۃ‬ӥጱᑮᳳ‫܄‬ӧ
ᛗᬦੜ҅੒ӾੜࣳᩳԞํ‫̶ڥ‬

5.ள᭛ᭇଫ‫ړ‬ᯈᓒဩ

​ ԅᮎԶᕪଉአ‫ک‬ጱᳩଶጱᑮᳳ‫܄‬ᇿᒈᦡᒈ‫ܔ‬ᇿጱᑮᳳ‫܄‬᱾ᤒ̶

‫ړ‬ᶭਂ‫ؙ‬ᓕቘ
᯻አ‫ړ‬ᶭਂ‫ؙ‬ᓕቘ꧋ᦜᑕଧਂන‫ک‬ᝑଗӧፘᮝጱᑮᳳࣘӾ҅‫عݢܨ‬ᴻᑏۖ‫ݢํ֢҅ۖ௳מ‬꧌‫ڥړ‬አԆ
ਂᑮᳵ҅ၾᴻۖா‫܄ړ‬ᓒဩӾጱ"Ꮶᇆ"ᳯ᷌҅՗ᘒ൉ṛԆਂᑮᳵጱ‫ڥ‬አሲ̶

1.ᶭᶎ

​ ᬰᑕ᭦ᬋࣈ࣎ᑮᳵ‫ړ‬౮य़ੜፘᒵጱ‫ྯ҅܄‬ӻ‫܄‬౮ԅᶭᶎ౲ᘏᶭ҅ᶭ‫ݩ‬՗0୏তӞེᖫ‫ݩ‬

2.ᶭ໛

​ Ԟᑍԅᶭ଄҅಩Ԇਂᇔቘࣈ࣎‫ړ‬ᯈय़ੜፘᒵጱ‫ٌ҅܄‬य़ੜӨᶭᶎय़ੜፘᒵ҅ྯӻ‫܄‬ฎӞӻᇔቘࣘ౲ᶭ
໛҅ள‫ݩ‬՗0୏তׁེᖫ‫ݩ‬

3.᭦ᬋࣈ࣎

‫ړ‬ᶭਂ‫࢏ؙ‬ጱ᭦ᬋࣈ࣎ኧӷ᮱‫ړ‬ᕟ౮:ᶭ‫޾ݩ‬ᶭٖ֖ᑏ

ᶭ‫ݩ‬p޾ᶭٖ֖ᑏd҅‫ض‬՗ᶭᤒच࣎ੀਂ࢏ತ‫ک‬ᶭᶎचࣈ࣎҅ࣁአᶭ‫ݩ‬p֢ԅᔱ୚ັᶭᤒ
‫ؙਂྦྷړ‬ᓕቘ
‫ਂྦྷړ‬ᓕቘጱ୚‫ف‬Ԇᥝฎჿ᪃አಁᖫᑕ޾ֵአӤጱᥝ࿢ٌ҅՜ਂ‫ؙ‬ᓕቘದ๞ᵙզჿ᪃ᬯԶᥝ࿢̶

‫ړ޾ྦྷړ‬ᶭጱྲ᫾
‫ྦྷړ‬ฎ‫௳מ‬ጱ᭦ᬋ‫֖ܔ‬ኧრᑕଧጱ᭦ᬋᕮ຅݊‫ތ‬Ԏಅ٬ਧ҅ฎአಁ‫ّݢ‬஑҅ྦྷᳩኧአಁ໑ഝᥝ࿢Ꮯ
ਧ҅ྦྷ᩸তࣈ࣎‫ݢ‬՗Ԇਂࣈ࣎୏ত̶ࣁ‫ྦྷړ‬ොୗӾ҅რᑕଧᕪ᱾ളᤰᯈ‫ݸ‬Ֆ‫כ‬೮ԫᖌᕮ຅҅୚‫ف‬ፓጱ
ฎჿ᪃አಁཛྷࣘ۸ᑕଧጱᵱ࿢̶

‫ړ‬ᶭฎ‫௳מ‬ጱᇔቘ‫֖ܔ‬Өრᑕଧጱ᭦ᬋᕮ຅‫ړ‬ᯈ҅ฎአಁӧ‫ݢ‬ᥠጱ҅ᶭᳩኧᔮᕹᏟਧ҅ᶭᶎ‫ݝ‬ᚆ՗Ԟ
ଃӥጱෆහ‫୏࣎ࣈ׭‬ত̶

ᶭᶎᗝഘᓒဩ
ᶭᶎᗝഘғࣁࣈ࣎ฉ੘ᬦᑕӾ҅ᝑࣁᶭᶎӾ‫ݎ‬ሿಅᥝᦢᳯጱᶭᶎӧࣁٖਂӾ҅‫ڞ‬ԾኞᗌᶭӾෙ(page
fault)̶୮‫ݎ‬ኞᗌᶭӾෙ෸඙֢ᔮᕹ஠ᶳࣁٖਂᭌೠӞӻᶭᶎਖ਼ٌᑏ‫҅ਂٖڊ‬զ‫׎‬ԅ‫ܨ‬ਖ਼᧣‫ف‬ጱᶭᶎᦏ
‫ڊ‬ᑮᳵ̶

OPTғ๋๊֯ഘᓒဩҁoptional replacement҂̶๊ഘӥེᦢᳯ᪗୮‫ڹ‬෸ᳵ๋ᳩጱᶭ̶optᓒဩᵱᥝ
Ꭳ᭲඙֢ᔮᕹਖ਼๶ጱԪկ҅ดᆐӧ‫ݢ‬ᚆਫሿ҅‫֢ݝ‬ԅӞᐿᤍᰁٌ՜ᓒဩጱຽ‫̶ٵ‬
LRU:๋ᬪ๋੝ֵአ(Least Recently Used).๊ഘӤֵེአ᪗ᐶ୮‫๋ڹ‬ᬱጱᶭ̶໑ഝੴ᮱௔ܻቘғ๊ഘ๋
ᬪ๋ӧ‫ݢ‬ᚆ ᦢᳯ‫ک‬ጱᶭ̶௔ᚆ๋ളᬪOPT҅֕ᵙզਫሿ̶‫ݢ‬զᖌಷӞӻ‫ى‬ԭᦢᳯᶭጱ຾౲ᘏᕳྯӻᶭ
Ⴒ‫ᦢݸ๋ے‬ᳯጱ෸ᳵຽᓋ҅֕୏ᲀ᮷உय̶़

​ FIFO:‫ض‬ᬰ‫(ڊض‬First In First Out),ਖ਼ᶭᶎ፡؉Ӟӻ஗ሾᖨ٫‫҅܄‬ೲ஗ሾොୗ๊ഘ̶ᬯฎਫሿ๋ԅᓌ‫ܔ‬


ጱᓒဩ҅ᵌ‫ތ‬ጱ᭦ᬋฎ๊ഘḦኸࣁٖਂ෸ᳵ๋ᳩጱᶭ̶֕ኧԭӞ᮱‫ړ‬ᑕଧ౲හഝࣁෆӻᑕଧጱኞ޸ޮ
๗Ӿֵአ᷇ሲஉṛ҅ಅզտ੕ᛘ‫॔ݍ‬ጱഘ‫ف‬ഘ‫̶ڊ‬

ଉᥠᶎᦶ᷌

ҁӞ҂᧗‫ڦړ‬ᓌ‫᧔ܔ‬Ӟ᧔ᬰᑕ޾ᕚᑕզ݊ਙժጱ‫̶ڦ܄‬
1.ᬰᑕฎٍํӞਧ‫ۑ‬ᚆጱᑕଧ‫ى‬ԭ຤ӻහഝᵞ‫ݳ‬ӤጱӞེᬩᤈၚۖ҅ᬰᑕฎᔮᕹᬰᤈᩒრ᧣ଶ޾‫ړ‬ᯈ
ጱӞӻᇿᒈ‫̶֖ܔ‬

​ 2.ᕚᑕฎᬰᑕጱਫ֛҅ฎCPU᧣ଶ޾‫ړ‬ၝጱच๜‫֖҅ܔ‬ਙฎྲᬰᑕๅੜጱᚆᇿᒈᬩᤈጱच๜‫̶֖ܔ‬

​ 3.Ӟӻᬰᑕ‫ݢ‬զํग़ӻᕚᑕ҅ग़ӻᕚᑕԞ‫ݢ‬զଚ‫ݎ‬ಗᤈ

ҁԫ҂ᕚᑕ‫ྍݶ‬ጱොୗํߺԶҘ
԰෕ᰁғ᯻አ԰෕੒᨝๢‫ํݝ҅ګ‬೜ํ԰෕੒᨝ጱᕚᑕ಍ํᦢᳯ‫ول‬ᩒრጱ๦ᴴ̶ࢩԅ԰෕੒᨝‫ํݝ‬
Ӟӻ҅ಅզ‫ݢ‬զ‫ولᦤכ‬ᩒრӧտᤩग़ӻᕚᑕ‫ݶ‬෸ᦢᳯ̶

​ ‫ݩמ‬ᰁғਙ꧋ᦜ‫ݶ‬Ӟ෸‫ڰ‬ग़ӻᕚᑕᦢᳯ‫ݶ‬Ӟᩒრ҅֕ฎᵱᥝഴ‫ݶګ‬Ӟ෸‫ᦢڰ‬ᳯྌᩒრጱ๋य़ᕚᑕහ
ᰁ̶

​ Ԫկҁ‫ݩמ‬҂ғ᭗ᬦ᭗Ꭳ඙֢ጱොୗ๶‫כ‬೮ग़ᕚᑕ‫҅ྍݶ‬ᬮ‫ݢ‬զො‫׎‬ጱਫሿग़ᕚᑕս‫ض‬ᕆጱྲ᫾඙
̶֢

ҁӣ҂ᬰᑕጱ᭗‫מ‬ොୗํߺԶҘ
​ Ԇᥝ‫ړ‬ԅғᓕ̵᭲ᔮᕹIPCҁ۱ೡၾ௳ᴚ‫ݩמ̵ڜ‬ᰁ̵‫و‬Ձਂ‫ؙ‬҂̵SOCKET

​ ᓕ᭲Ԇᥝ‫ړ‬ԅғฦ᭗ᓕ᭲PIPE ̵ၞᓕ᭲ҁs_pipe҂̵޸‫ݷ‬ᓕ᭲ҁname_pipe҂

​ ᓕ᭲ฎӞᐿ܎‫݌‬ૡጱ᭗‫מ‬ොୗ҅හഝ‫ݝ‬ᚆ‫ܔ‬ᶱၞۖ҅ଚӬ‫ݝ‬ᚆࣁٍํՅᖭ‫ى‬ᔮጱᬰᑕᳵၞۖ҅ᬰᑕጱ
Յᖭ‫ى‬ᔮ᭗ଉฎᆿৼᬰᑕ

​ ޸‫ݷ‬ᓕ᭲Ԟฎ܎‫݌‬ૡጱ᭗‫מ‬ොୗ҅ਙ꧋ᦜ෫Յᖭ‫ى‬ᔮጱᬰᑕᳵᬰᤈ᭗‫מ‬

​ ‫ݩמ‬ᰁฎӞӻᦇහ࢏҅አ๶ഴ‫ګ‬ग़ӻᬰᑕ੒ᩒრጱᦢᳯ҅ਙ᭗ଉ֢ԅӞᐿᲁ๢‫̶ګ‬

​ ၾ௳ᴚ‫ڜ‬ฎၾ௳ጱ᱾ᤒ҅ਂනࣁٖ໐Ӿଚኧၾ௳ᴚ‫ڜ‬ຽᦩᒧຽᦩ̶

​ ‫ݩמ‬ฎӞᐿྲ᫾॔๥ጱ᭗‫מ‬ොୗ҅አԭ᭗Ꭳളතᬰᑕ຤ӻԪկ૪ᕪ‫ݎ‬ኞ̶

​ ‫و‬Ձٖਂ੪ฎฉ੘Ӟྦྷᚆᤩٌਙᬰᑕᦢᳯጱٖਂ҅ᬯྦྷ‫و‬ՁٖਂኧӞӻᬰᑕ‫ڠ‬ୌ҅֕ฎग़ӻᬰᑕ‫ݢ‬զ
ᦢᳯ̶

ҁࢥ҂Ջԍฎᖨ٫‫܄‬ფ‫ڊ‬ҘํՋԍ‫ܧ‬ਸ਼ҘٌܻࢩฎՋԍҘ
​ ᖨ٫‫܄‬ფ‫ڊ‬ฎ೰୮ᦇᓒ๢‫ݻ‬ᖨ٫‫܄‬ऴ꧌හഝ෸᩻‫ڊ‬ԧᖨ٫‫܄‬๜᫝ጱ਻ᰁ҅ფ‫ڊ‬ጱහഝᥟፍࣁ‫ݳ‬ဩහഝ
Ӥ̶

​ ‫ܧ‬ਸ਼ํզӥӷᅩғ

​ ᑕଧૄმ҅੕ᛘ೏ᕷ᷐๐‫ۓ‬

​ ᪡᫨ଚӬಗᤈӞྦྷ௶఺դᎱ

​ ᭜౮ᖨ٫‫܄‬ფ‫ڊ‬ጱԆᥝܻࢩฎᑕଧӾဌํ՚ᕡ༄ັአಁᬌ‫̶ف‬

ҁԲ҂ՋԍฎྒᲁҘྒᲁԾኞጱ๵կҘ
​ ࣁӷӻ౲ᘏग़ӻଚ‫ݎ‬ᬰᑕӾ҅ইຎྯӻᬰᑕ೮ํ຤ᐿᩒრᘒ݈ᒵஇٌਙᬰᑕ᯽නਙ౲ਙժሿࣁ‫כ‬೮፳
ጱᩒრ҅ࣁ๚ද‫ݒ‬ᬯᐿᇫாԏ‫ڹ‬᮷ӧᚆ‫ڹݻ‬വᬰ҅ᑍᬯӞᕟᬰᑕԾኞԧྒᲁ̶᭗‫ח‬ጱᦖ੪ฎӷӻ౲ग़
ӻᬰᑕ෫ᴴ๗ጱᴥल̵ፘ԰ᒵஇጱӞᐿᇫா̶

​ ྒᲁԾኞጱࢥӻ๵կҁํ Ӟӻ๵կӧ౮ᒈ҅‫ڞ‬ӧտԾኞྒᲁ҂

​ ԰෕๵կғӞӻᩒრӞེ‫ݝ‬ᚆᤩӞӻᬰᑕֵአ

​ ᧗࿢Ө‫כ‬೮๵կғӞӻᬰᑕࢩ᧗࿢ᩒრᘒᴥल෸҅੒૪឴஑ᩒრ‫כ‬೮ӧන

​ ӧ‫ہ‬५๵կғᬰᑕ឴஑ጱᩒრ҅ࣁ๚ਠ‫ֵق‬አਠԏ‫҅ڹ‬ӧᚆ୩ᤈ‫ہ‬५

​ ஗ሾᒵஇ๵կғᝑଗᬰᑕԏᳵ୵౮Ӟᐿ१ੲፘളጱሾ୵ᒵஇᩒრ‫ى‬ᔮ

ҁ‫م‬҂ᬰᑕํߺ‫پ‬ᐿᇫாҘ
੪ᖃᇫாғᬰᑕ૪឴஑ᴻ॒ቘ๢զक़ጱಅᵱᩒრ҅ᒵஇ‫ړ‬ᯈ॒ቘ๢ᩒრ

ᬩᤈᇫாғ‫ܛ‬አ॒ቘ๢ᩒრᬩᤈ॒҅ԭྌᇫாጱᬰᑕහੜԭᒵԭCPUහ

ᴥलᇫாғ ᬰᑕᒵஇ຤ᐿ๵կ҅ࣁ๵կჿ᪃ԏ‫ڹ‬෫ဩಗᤈ

ҁӠ҂‫ړ‬ᶭ޾‫ํྦྷړ‬Ջԍ‫ڦ܄‬Ҙ
​ ྦྷฎ‫௳מ‬ጱ᭦ᬋ‫֖҅ܔ‬ਙฎ໑ഝአಁጱᵱᥝ‫ړښ‬ጱ҅ࢩྌྦྷ੒አಁฎ‫ݢ‬ᥠጱ Ҕᶭฎ‫௳מ‬ጱᇔቘ‫ܔ‬
֖҅ฎԅԧᓕቘԆਂጱො‫׎‬ᘒ‫ړښ‬ጱ҅੒አಁฎ᭐กጱ̶

​ ྦྷጱय़ੜӧࢴਧ҅ํਙಅਠ౮ጱ‫ۑ‬ᚆ٬ਧҔᶭय़य़ੜࢴਧ҅ኧᔮᕹ٬ਧ

​ ྦྷ‫ݻ‬አಁ൉‫׀‬ԫᖌࣈ࣎ᑮᳵҔᶭ‫ݻ‬አಁ൉‫׀‬ጱฎӞᖌࣈ࣎ᑮᳵ

​ ྦྷฎ‫௳מ‬ጱ᭦ᬋ‫׎֖҅ܔ‬ԭਂ‫כؙ‬ಷ޾‫௳מ‬ጱ‫و‬Ձ҅ᶭጱ‫כ‬ಷ޾‫و‬Ձ‫کݑ‬ᴴ‫̶ګ‬

ҁ‫ك‬҂ ඙֢ᔮᕹӾᬰᑕ᧣ଶᒽኼํߺ‫پ‬ᐿҘ
​ FCFS(‫ض‬๶‫ض‬๐‫҅)ۓ‬ս‫ض‬ᕆ҅෸ᳵᇆ᫪᫨҅ग़ᕆ‫ݍ‬ḇ

ҁԜ҂᧔Ӟ᧔ᬰᑕ‫پߺํྍݶ‬ᐿ๢‫̶ګ‬
​ ܻৼ඙̵֢‫ݩמ‬ᰁ๢‫̵ګ‬ᛔ෤ᲁᓕᑕ̵տ‫૲ړ̵ݳ‬ୗᔮᕹ

ҁ‫܈‬҂᧔Ӟ᧔ྒᲁጱ॒ቘच๜ᒽኼ޾ଉአොဩ̶
​ ᥴ٬ྒᲁጱच๜ොဩইӥғ

ᶼᴠྒᲁ̵᭿‫ྒع‬ᲁ̵༄ၥྒᲁ̵ᥴᴻྒᲁ

​ ᥴ٬ࢥग़ጱଉአᒽኼইӥғ

​ Ồềᒽኼ̵ᶼᴠᒽኼ̵᭿‫ع‬ᒽኼ̵༄ၥӨᥴᴻྒᲁ

ҁ‫܈‬Ӟ҂਋‫د‬ᬰᑕ޾‫ب‬੬ᬰᑕ
਋‫د‬ᬰᑕғӞӻᆿᬰᑕᭅ‫҅ڊ‬ᘒਙጱӞӻ౲ग़ӻৼᬰᑕᬮࣁᬩᤈ҅ᮎԍᮎԶৼᬰᑕਖ਼౮ԅ਋‫د‬ᬰᑕ̶
਋‫د‬ᬰᑕਖ਼ᤩinitᬰᑕ(ᬰᑕ‫ݩ‬ԅ1)ಅතِ҅ଚኧinitᬰᑕ੒ਙժਠ౮ᇫாතᵞૡ̶֢

‫ب‬੬ᬰᑕғӞӻᬰᑕֵአfork‫ڠ‬ୌৼᬰᑕ҅ইຎৼᬰᑕᭅ‫҅ڊ‬ᘒᆿᬰᑕଚဌํ᧣አwait౲waitpid឴
‫ৼݐ‬ᬰᑕጱᇫா‫҅௳מ‬ᮎԍৼᬰᑕጱᬰᑕൈᬿᒧՖᆐ‫ࣁਂכ‬ᔮᕹӾ̶ᬯᐿᬰᑕᑍԏԅ‫ྒب‬ᬰᑕ̶

ҁ‫܈‬ԫ҂fork‫ڍ‬හጱᬬࢧ꧊
​ fork‫ڍ‬හᬬࢧ꧊:

​ ᨮහғইຎ‫ڊ‬Კ҅‫ڞ‬fork()ᬬࢧ-1,ྌ෸ဌํ‫ڠ‬ୌෛጱᬰᑕ̶๋‫ڡ‬ጱᬰᑕՖᆐᬩᤈ̶

̴̴ ᵭғࣁৼᬰᑕӾ҅fork()ᬬࢧ0

̴̴ ྋහғࣁᆿᬰᑕӾ҅fork()ᬬࢧྋጱৼᬰᑕጱPID

fork‫ڍ‬හ᧣አӞེ‫ܩ‬ᬬࢧӷེҔ‫ݻ‬ᆿᬰᑕᬬࢧৼᬰᑕጱID҅‫ৼݻ‬ᬰᑕӾᬬࢧ0҅

̴̴ᬯฎࢩԅᆿᬰᑕ‫ݢ‬ᚆਂࣁஉग़ᬦৼᬰᑕ҅ಅզ஠ᶳ᭗ᬦᬯӻᬬࢧጱৼᬰᑕID๶᪙᪵ৼᬰᑕ҅

̴̴ᘒৼᬰᑕ‫ํݝ‬Ӟӻᆿᬰᑕ҅՜ጱID‫ݢ‬զ᭗ᬦgetppid‫ݐ‬஑̶

ҁ‫܈‬ӣ҂᫫Ӿෙ޾ᏝӾෙ
᫫Ӿෙ޾ᏝӾෙጱ‫ڦ܄‬Ҙ

՗๜ᨶӤ๶ᦖ҅ӾෙฎӞᐿኪ‫҅ݩמ‬୮ᦡ॓ํ຤ᐿԪկ‫ݎ‬ኞ෸҅ਙ੪տԾኞӾෙ҅᭗ᬦ௛ᕚ಩ኪ‫ݩמ‬
‫ݎ‬ᭆᕳӾෙഴ‫̶࢏ګ‬ইຎӾෙጱᕚฎᄶၚጱ҅Ӿෙഴ‫࢏ګ‬੪಩ኪ‫ݎݩמ‬ᭆᕳ॒ቘ࢏ጱ຤ӻᇙਧ୚ᚕ̶
॒ቘ࢏ԭฎᒈ‫ܨ‬؊ྊᛔ૩ྋࣁ؉ጱԪ҅᪡‫ک‬Ӿෙ॒ቘᑕଧጱ‫ݗف‬ᅩ҅ᬰᤈӾෙ॒ቘ̶

(1) ᏝӾෙ

ኧӨᔮᕹፘᬳጱक़ᦡ(ྲইᗑ‫̵ܜ‬Ꮭፏ)ᛔۖԾኞጱ̶Ԇᥝฎአ๶᭗Ꭳ඙֢ᔮᕹᔮᕹक़ᦡᇫாጱ‫ݒ‬۸̶
ྲই୮ᗑ‫ܜ‬ත‫ک‬හഝ۱ጱ෸‫҅ײ‬੪տ‫ڊݎ‬ӞӻӾෙ̶౯ժ᭗ଉಅ᧔ጱӾෙ೰ጱฎᏝӾෙ(hardirq)̶

(2) ᫫Ӿෙ

ԅԧჿ᪃ਫ෸ᔮᕹጱᥝ࿢҅Ӿෙ॒ቘଫᧆฎ᩼ள᩼অ̶linuxԅԧਫሿᬯӻᇙᅩ҅୮Ӿෙ‫ݎ‬ኞጱ෸‫҅ײ‬
ᏝӾෙ॒ቘᮎԶᎨ෸ᳵ੪‫ݢ‬զਠ౮ጱૡ֢҅ᘒਖ਼ᮎԶ॒ቘԪկྲ᫾ᳩጱૡ֢҅න‫ک‬Ӿෙԏ‫ݸ‬๶ਠ౮҅
Ԟ੪ฎ᫫Ӿෙ(softirq)๶ਠ౮̶

You might also like