Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX (Π›ΠŸ)Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 88

Автор Π‘Π°Ρ… ΠœΠΎΡ€ΠΈΡ Π”ΠΆ.

Β  exit();

Β }

Β axtime = (time_t) 0;

Β for (;;) {

Β  Β /* ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ */

Β Β if (stat(argv[1], &statbuf) == -1) {

Β Β  printf("Ρ„Π°ΠΉΠ»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ %s Π½Π΅Ρ‚\n", argv[1]);

Β Β  exit();

Β Β }

Β Β if (axtime != statbuf.st_atime) {

Β Β Β printf("ΠΊ Ρ„Π°ΠΉΠ»Ρƒ %s Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅\n", argv[1]);

Β Β Β axtime = statbuf.st_atime;

Β Β }

Β Β signal(SIGALRM, wakeup); /* ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ сигнала */

Β Β alarm(60);

Β Β pause(); /* приостанов Π΄ΠΎ получСния сигнала */

Β }

}

Β wakeup() {}

Рисунок 8.8. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ alarm

Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ clock

входная информация: отсутствуСт

выходная информация: отсутствуСт

{

Β ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ часы; /* Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ снова посылали прСрывания */

Β if (Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов Π½Π΅ пуста)Β 
{

Β  ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ врСмя для ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов;

Β Β Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ callout, Ссли врСмя истСкло;

Β }

Β if (профилируСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра)

Β Β Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ прСрывания;

Β if (профилируСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ)

Β Β Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ прСрывания;

Β ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ статистику ΠΎ самой систСмС;

Β ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ статистику ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² систСмС процСссах;

Β Π²Ρ‹Π²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ИЦП процСссом;

Β if (ΠΏΡ€ΠΎΡˆΠ»Π° 1 сСкунда ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈ исполняСтся ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ критичСским)
Β {

Β  for (всСх процСссов Π² систСмС)Β 
{

Β Β  ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ "Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊ", Ссли ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½;

Β  Β Π²Ρ‹Π²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ИЦП;

Β Β Β if (процСсс Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ) Π²Ρ‹Π²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ процСсса;

Β  }

Β Β Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² случаС нСобходимости Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ процСсса ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ;

Β }

}

Рисунок 8.9. Алгоритм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ

8.3.1 ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ часов

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ машин послС получСния прСрывания ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ трСбуСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдствами произвСсти пСрСзапуск часов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³Π»ΠΈ вновь ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ процСссора. Π’Π°ΠΊΠΈΠ΅ срСдства ΡΠ²Π»ΡΡŽΡ‚ΡΡ машинно-зависимыми ΠΈ ΠΌΡ‹ ΠΈΡ… Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ.

8.3.2 Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ систСмныС Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρ‹

НСкоторым ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ядра, Π² частности Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌ устройств ΠΈ сСтСвым ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ, трСбуСтся Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ядра Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НапримСр, процСсс ΠΌΠΎΠΆΠ΅Ρ‚ пСрСвСсти Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Π²ΠΎΠ΄Π° Π±Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ символов, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ядро выполняСт запросы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Ρ‡Π΅Ρ€Π΅Π· фиксированныС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ доТидаясь, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΌΠ΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ "Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ" (см.Ρ€Π°Π·Π΄Π΅Π» 10.3.3). Π―Π΄Ρ€ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов (Рисунок 8.9), Π² Ρ‚ΠΎΠΌ числС имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, запускаСмой ΠΏΠΎ истСчСнии ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° (Π² Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΊΠ°Ρ…) Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов; для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ систСмныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π―Π΄Ρ€ΠΎ сортируСт записи Π² этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π² соотвСтствии с Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ связи с этим для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ запоминаСтся Π½Π΅ общая ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ запуска Π΄Π°Π½Π½ΠΎΠΉ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΠ±Ρ‰Π°Ρ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ складываСтся ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ запуска всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ.

АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX (Π›ΠŸ) - pic_68.png

Рисунок 8.10. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов

На РисункС 8.10 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ добавлСния Π½ΠΎΠ²ΠΎΠΉ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов. (К ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ поля "врСмя Π΄ΠΎ запуска" для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ a ΠΌΡ‹ вСрнСмся нСсколько ΠΏΠΎΠ·ΠΆΠ΅). Боздавая Π½ΠΎΠ²ΡƒΡŽ запись, ядро ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π΅ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ мСсто ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ пСрСустанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля "врСмя Π΄ΠΎ запуска" Π² записи, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π° добавляСмой. Будя ΠΏΠΎ рисунку, ядро собираСтся Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f Ρ‡Π΅Ρ€Π΅Π· 5 Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΊΠΎΠ²: ΠΎΠ½ΠΎ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ мСсто для Π½Π΅Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ сразу послС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ b ΠΈ заносит Π² ΠΏΠΎΠ»Π΅ "врСмя Π΄ΠΎ запуска" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ 2 (Ρ‚ΠΎΠ³Π΄Π° сумма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этих ΠΏΠΎΠ»Π΅ΠΉ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ b ΠΈ f составит 5), ΠΈ мСняСт "врСмя Π΄ΠΎ запуска" Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ c Π½Π° 8 (ΠΏΡ€ΠΈ этом функция c всС Ρ€Π°Π²Π½ΠΎ запускаСтся Ρ‡Π΅Ρ€Π΅Π· 13 Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΊΠΎΠ²). Π’ ΠΎΠ΄Π½ΠΈΡ… вСрсиях ядро ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ связным списком ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов, Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… мСняСт ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ записСй ΠΏΡ€ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ПослСдний способ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΈΠ·Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ядро Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ слишком часто ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ поступлСнии прСрывания ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСрывания провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… сигналов ΠΈ Π² случаС ΠΈΡ… обнаруТСния ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля "врСмя Π΄ΠΎ запуска" Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи. Бпособ хранСния ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ядром, позволяСт, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля "врСмя Π΄ΠΎ запуска" Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи, соотвСтствСнно ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, описанных Π²ΠΎ всСх записях Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи хранится ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ слСдуСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ Π½Π΅ запускаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½Π° Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссора Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π½Π΅ позволяСт Ρ‚Π°ΠΊΠΈΠΌ прСрываниям Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ процСсса, ΠΎΠ΄Π½Π°ΠΊΠΎ ядро Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прСдставлСния ΠΎ Ρ‚ΠΎΠΌ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ потрСбуСтся Π½Π° исполнСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Казалось Π±Ρ‹, Ссли функция выполняСтся дольшС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ°, всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСрывания Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. ВмСсто этого, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π² Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ ситуации оформляСт Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ "ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅", ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ срСди всСх ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ прСрывания ΠΈΠΌΠ΅ΡŽΡ‚ самый Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, ΠΎΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° ядро Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ запуску Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° возникновСния Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ запуском Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прСрывания ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ мноТСство ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ…, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π² ΠΏΠΎΠ»Π΅ "врСмя Π΄ΠΎ запуска", ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π±ΡƒΠ΄Π΅Ρ‚ занСсСно ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Когда ΠΆΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ происходит, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ всС записи с ΠΈΡΡ‚Π΅ΠΊΡˆΠΈΠΌΠΈ значСниями ΠΏΠΎΠ»Π΅ΠΉ "врСмя Π΄ΠΎ запуска" ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.