Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! Π₯ΠΎΡ‡Ρƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΡΠ΅Ρ€ΠΈΡŽ статСй-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ интСрСсной Π½Π° ΠΌΠΎΠΉ взгляд Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ β€” OSTEP. Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ рассматриваСтся достаточно Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π° unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β€” Ρ€Π°Π±ΠΎΡ‚Π° с процСссами, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌΠΈ, ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ОБ. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» всСх ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚. ΠŸΡ€ΠΎΡˆΡƒ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π½Π΅ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ (достаточно вольно), Π½ΠΎ надСюсь ΠΎΠ±Ρ‰ΠΈΠΉ смысл я сохранил.

Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚:

Π”Ρ€ΡƒΠ³ΠΈΠ΅ части:

А Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎ ΠΌΠ½Π΅ Π½Π° ΠΊΠ°Π½Π°Π» Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ =)

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ

Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: Как Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°
Как Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°? КакиС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ прСдполоТСния? КакиС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹? КакиС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ использовались Π² Ρ€Π°Π½Π½ΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСмах?

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, для Π½Π°Ρ‡Π°Π»Π° сдСлаСм нСсколько ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΡ… отступлСний ΠΎ процСссах, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² систСмС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС вмСстС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΊΠ°ΠΊ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ построСния ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ ΠΈ Ρ‡Π΅ΠΌ большС Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ Π²Ρ‹ смоТСтС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСдполоТСния ΠΎ процСссах Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² систСмС, ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… jobs (Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ). ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС эти прСдполоТСния Π½Π΅ рСалистичны, Π½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ для развития мысли.

  1. КаТдая Π·Π°Π΄Π°Ρ‡Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ,
  2. ВсС Π·Π°Π΄Π°Ρ‡ΠΈ ставятся ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ,
  3. ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎ своСго Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ,
  4. ВсС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CPU,
  5. ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ извСстно.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°

ΠšΡ€ΠΎΠΌΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‰Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ инструмСнт сравнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ планирования: ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° это всСго лишь нСкоторая ΠΌΠ΅Ρ€Π° Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ. БущСствуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для сравнСния ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ².

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΡƒ, которая называСтся врСмя ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° (turnaround time). ВрСмя ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° Π·Π°Π΄Π°Ρ‡ΠΈ опрСдСляСтся ΠΊΠ°ΠΊ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ врСмя поступлСния Π·Π°Π΄Π°Ρ‡ΠΈ Π² систСму.

Tturnaround=Tcompletionβˆ’Tarrival

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ всС Π·Π°Π΄Π°Ρ‡ΠΈ поступили Π² ΠΎΠ΄Π½ΠΎ врСмя, Ρ‚ΠΎ Ta=0 ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Tt=Tc. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ СстСствСнно помСняСтся, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ прСдполоТСния.

Другая ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° β€” fairness (ΡΠΏΡ€Π°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ). ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‡Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ часто ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ характСристиками Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. НапримСр, ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ†Π΅Π½ΠΎΠΉ оТидания запуска Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сниТаСтся Ρ‡Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

FIRST IN FIRST OUT (FIFO)

Π‘Π°ΠΌΡ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΡ‚ΡŒ называСтся FIFO ΠΈΠ»ΠΈ first come (in), first served (out). Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько прСимущСств: ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ прост Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄ всС наши прСдполоТСния, выполняя Ρ€Π°Π±ΠΎΡ‚Ρƒ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Допустим 3 Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ поставлСны ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Но ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° А ΠΏΡ€ΠΈΡˆΠ»Π° Ρ‡ΡƒΡ‚ΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, поэтому Π² спискС выполнСния Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π‘ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π’. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ каТдая ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ 10 сСкунд. Какой Π² этом случаС Π±ΡƒΠ΄Π΅Ρ‚ срСднСС врСмя выполнСния этих Π·Π°Π΄Π°Ρ‡?

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π² значСния β€” 10+20+30 ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² Π½Π° 3, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ срСднСС врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π²Π½ΠΎΠ΅ 20 сСкундам.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ наши прСдполоТСния. Π’ частности ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1 ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ каТдая Π·Π°Π΄Π°Ρ‡Π° исполняСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Как ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ сСбя FIFO Π² этот Ρ€Π°Π·?

Как оказываСтся Ρ€Π°Π·Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° исполнСния Π·Π°Π΄Π°Ρ‡ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° продуктивности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° FIFO. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° А Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ 100 сСкунд, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π‘ ΠΈ Π’ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎ 10 каТдая.

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· рисунка, срСднСС врСмя для систСмы получится (100+110+120)/3=110. Π’Π°ΠΊΠΎΠΉ эффСкт называСтся эффСктом конвоя, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ рСсурса Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ вслСд Π·Π° тяТСлым ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒ с ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ‚Π΅Π»Π΅ΠΆΠΊΠΎΠΉ. Π›ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ кассу ΠΈΠ»ΠΈ ΠΆΠ΅ Ρ€Π°ΡΡΠ»Π°Π±ΠΈΡ‚ΡŒΡΡ ΠΈ Π΄Ρ‹ΡˆΠ°Ρ‚ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ.

Shortest Job First

МоТно Π»ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ с тяТСловСсными процСссами? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ. Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ планирования называСтсяShortest Job First (SJF). Π•Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ достаточно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π΅Π½ β€” ΠΊΠ°ΠΊ понятно ΠΈΠ· названия, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ самыС ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ запуска Ρ‚Π΅Ρ… ΠΆΠ΅ самых процСссов, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ срСднСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 50 вмСсто 110, Ρ‡Ρ‚ΠΎ практичСски Π² 2 Ρ€Π°Π·Π° Π»ΡƒΡ‡ΡˆΠ΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ прСдполоТСния, Ρ‡Ρ‚ΠΎ всС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈΠ±Ρ‹Π²Π°ΡŽΡ‚ Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ врСмя, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ SJF каТСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ. Однако наши прСдполоТСния всС Π΅Ρ‰Π΅ Π½Π΅ каТутся рСалистичными. Π’ этот Ρ€Π°Π· ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2 ΠΈ Π² этот Ρ€Π°Π· прСдставим, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π±Ρ‹Π²Π°Ρ‚ΡŒ Π² любоС врСмя, Π° Π½Π΅ всС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. К ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти?

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° А (100с) ΠΏΡ€ΠΈΠ±Ρ‹Π²Π°Π΅Ρ‚ самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ t=10 ΠΏΡ€ΠΈΠ±Ρ‹Π²Π°ΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ Π‘, Π’, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ 10 сСкунд. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, срСднСС врСмя выполнСния это (100+(110-10)+(120-10))3 = 103. Π§Ρ‚ΠΎ Π±Ρ‹ ΠΌΠΎΠ³ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?

Shortest Time-to-Completion First (STCF)

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ опустим ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3 ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π½Π°ΠΌ понадобится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° оборудования ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ для прСрывания Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ контСкстов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ поступлСния Π·Π°Π΄Π°Ρ‡ Π‘, Π’ β€” ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ А ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π·Π°Π΄Π°Ρ‡ΠΈ Π‘ ΠΈ Π’ ΠΈ послС ΠΈΡ… окончания ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ процСсса А. Π’Π°ΠΊΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ называСтся STCFΠΈΠ»ΠΈ Preemptive Job First.

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ((120-0)+(20-10)+(30-10))/3=50. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ становится Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Π½Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ВрСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° (Response Time)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°Π΄Π°Ρ‡ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эти Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CPU, STCF Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. И ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π² Ρ€Π°Π½Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° эти Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΈ довольно-Ρ‚Π°ΠΊΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ. Однако Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ основноС врСмя Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΡ‚ Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ взаимодСйствия. Π’Π°ΠΊ Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ новая ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° β€” врСмя ΠΎΡ‚Π²Π΅Ρ‚Π° (ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°).

ВрСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° считаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Tresponse=Tfirstrunβˆ’Tarrival

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ: А=0, Π‘=0, Π’=10 (abg=3,33).

И оказываСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ STCF Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆ Π² ситуации, ΠΊΠΎΠ³Π΄Π° 3 Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈΠ±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ β€” Π΅ΠΌΡƒ придСтся Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° малСнькиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ…ΠΎΡ€ΠΎΡˆ для ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°, Π½ΠΎ ΠΏΠ»ΠΎΡ… для ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ интСрактивности. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ сидя Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π² ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ символы Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΆΠ΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 10 сСкунд, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ какая-Ρ‚ΠΎ другая Π·Π°Π΄Π°Ρ‡Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ процСссор. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ-Ρ‚ΠΎ ΠΈ приятно.

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ сталкиваСмся с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ β€” ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ Π±Ρ‹Π» чувствитСлСн ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°?

Round Robin

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Round Robin (RR). Основная идСя довольно проста: вмСсто запуска Π·Π°Π΄Π°Ρ‡ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ²Π°Π½Ρ‚ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ) ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Алгоритм повторяСт свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° всС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ. ΠŸΡ€ΠΈ этом врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€Π΅Ρ€Π²Π΅Ρ‚ процСсс. НапримСр, Ссли Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ процСсс ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ Ρ…=10мс, Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° выполнСния процСсса Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π΅Π½ 10 ΠΈ Π±Ρ‹Ρ‚ΡŒ 10,20 ΠΈΠ»ΠΈ Ρ…*10.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π—Π°Π΄Π°Ρ‡ΠΈ АБВ ΠΏΡ€ΠΈΠ±Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² систСму ΠΈ каТдая ΠΈΠ· Π½ΠΈΡ… Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ 5 сСкунд. Алгоритм SJF Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π’ противопоставлСниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RR c ΠΎΠΊΠ½ΠΎΠΌ запуска=1с пройдСтся ΠΏΠΎ Π·Π°Π΄Π°Ρ‡Π°ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (рис. 4.3):

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)
(SJF Again (Bad for Response Time)

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)
(Round Robin (Good For Response Time)

Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RR (0+1+2)/3=1, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ для SJF (0+5+10)/3=5.

Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для RR, Ρ‡Π΅ΠΌ мСньшС ΠΎΠ½ΠΎ, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ врСмя ΠΎΡ‚Π²Π΅Ρ‚Π°. Однако, нСльзя Π΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ чСрСсчур малСньким, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ врСмя Π½Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ контСкста Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ свою Ρ€ΠΎΠ»ΡŒ Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π±ΠΎΡ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠΊΠ½Π° исполнСния выставляСтся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ОБ ΠΈ зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ контСкста Π½Π΅ СдинствСнная слуТСбная опСрация, которая Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ врСмя β€” запущСнная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ кСшами ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ эту срСду, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

RR β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, Ссли Π±Ρ‹ Ρ€Π΅Ρ‡ΡŒ шла Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°. Но ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅Π΄Π΅Ρ‚ сСбя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ этом Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅? Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅, ΠΊΠΎΠ³Π΄Π° врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ А, Π‘, Π’=5с ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя. Π—Π°Π΄Π°Ρ‡Π° А Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π² 13, Π‘ Π² 14, Π’ Π² 15с ΠΈ срСднСС врСмя ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° получится 14с. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, RR являСтся самым ΠΏΠ»ΠΎΡ…ΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ для ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°.

Π‘ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ словами, любой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚ΠΈΠΏΠ° RR β€” чСстный, ΠΎΠ½ Π΄Π΅Π»ΠΈΡ‚ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° CPU ΠΏΠΎΡ€ΠΎΠ²Π½Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ всСми процСссами. И Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, эти ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ постоянно ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

Π’Π΅ΠΌ самым, Ρƒ нас Π΅ΡΡ‚ΡŒ нСсколько противопоставлСнных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΏΡ€ΠΈ этом Π΅Ρ‰Π΅ остаСтся нСсколько ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ врСмя Π·Π°Π΄Π°Ρ‡ΠΈ извСстно ΠΈ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ CPU.

БмСшиваниС с I/O

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΡƒΠ±Π΅Ρ€Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 4, Ρ‡Ρ‚ΠΎ процСсс Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ CPU, СстСствСнно это Π½Π΅ Ρ‚Π°ΠΊ ΠΈ процСссы ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ процСсс Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, процСсс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состояниС blocked, оТидая Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ I/O. Если I/O посылаСтся ΠΊ ТСсткому диску, Ρ‚ΠΎ такая опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мс ΠΈΠ»ΠΈ дольшС, ΠΈ процСссор Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°Ρ‚ΡŒ. Π’ это врСмя ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ процСссор Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ придСтся ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΡƒ β€” ΠΊΠΎΠ³Π΄Π° процСсс Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ свой I/O. Когда это случится, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ОБ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π²ΡˆΠΈΠΉ I/O процСсс Π² состояниС ready.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡. КаТдая ΠΈΠ· Π½ΠΈΡ… нуТдаСтся Π² 50мс процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Однако пСрвая Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10мс ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ I/O (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ 10мс). А процСсс Π‘ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 50мс процСссор Π±Π΅Π· I/O.

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ STCF ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ. Как ΠΏΠΎΠ²Π΅Π΄Π΅Ρ‚ сСбя ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, Ссли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠΉ процСсс ΠΊΠ°ΠΊ А? Он поступит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ β€” сначала ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ процСсс А, Π° ΠΏΠΎΡ‚ΠΎΠΌ процСсс Π‘.

Operating Systems: Three Easy Pieces. Part 4: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄)

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ 10-мс ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Ρƒ процСсса А ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ стартС с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ STJF, Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ 50-мс Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈ 10-мс Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π° А Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ процСсс Π‘ ΠΈ I/O. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ I/O Π±ΡƒΠ΄Π΅Ρ‚ принято снова Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 10-мс процСсс А вмСсто процСсса Π‘. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° CPU ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом, ΠΏΠΎΠΊΠ° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ I/O. И ΠΊΠ°ΠΊ ΠΈΡ‚ΠΎΠ³ систСма Π»ΡƒΡ‡ΡˆΠ΅ утилизируСтся β€” Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ³Π΄Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ процСссы ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ I/O Π½Π° процСссорС ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ процСссы.

ΠžΡ€Π°ΠΊΡƒΠ»Π° большС Π½Π΅Ρ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°Π΄Π°Ρ‡ΠΈ извСстно. Π­Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ самоС ΠΏΠ»ΠΎΡ…ΠΎΠ΅ ΠΈ Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· всСго списка. ЀактичСски Π² срСднСстатистичСских ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ОБ, сама ОБ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Π·Π½Π°Π΅Ρ‚ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π±Π΅Π· знания Ρ‚ΠΎΠ³ΠΎ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ? Π‘Ρ‹Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ RR для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹?

Π˜Ρ‚ΠΎΠ³

ΠœΡ‹ рассмотрСли Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ планирования Π·Π°Π΄Π°Ρ‡ ΠΈ рассмотрСли 2 сСмСйства ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ². ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запускаСт ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ врСмя ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΆΠ΅ разрываСтся ΠΌΠ΅ΠΆΠ΄Ρƒ всСми Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°. Оба Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠ»ΠΎΡ…ΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сСмСйства. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ использованиС CPU ΠΈ I/O ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ясновидСниСм ОБ. И Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ занятии ΠΌΡ‹ рассмотрим ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смотрит Π² блиТайшСС ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΈ пытаСтся ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅. И называСтся ΠΎΠ½ multi-level feedback queue.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ