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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 99

Автор Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½

β€’ Π’ Ρ‡Π°ΡΡ‚ΡŒ "ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅" Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ "модСлью/ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ/ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ" ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ отобраТСния извСщаСтся ΠΎΠ± обновлСниях ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ скорСС ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Π½Π΅ ΠΏΠΎΠ΄ синхронным ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ»ΠΈ явных запросов Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.

β€’ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ "ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€" ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ запросы ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ части "ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅" ΠΈ "ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€" часто сильнСС связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ρ‡Π΅ΠΌ с модСлью. НапримСр, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ GUI-интСрфСйсов комбинируСтся ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ частСй "отобраТСния" ΠΈ "ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°". Они Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² отобраТСния ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π‘Ρ…Π΅ΠΌΠ° модСль/ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Unix распространСна Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΠΈΡ€Π΅, Ρ‡Π΅ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдах, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сущСствуСт прочная традиция "Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ", Π° IPC-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ простыми ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ.

ОсобСнно мощная Ρ„ΠΎΡ€ΠΌΠ° Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ связываСт интСрфСйс ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ (часто GUI-интСрфСйс, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отобраТСния ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°) с ядром (модСлью), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ для ΡƒΠ·ΠΊΠΎΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈ-языка. Данная модСль проСктирования Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ Π² Π³Π»Π°Π²Π΅ 8, Π³Π΄Π΅ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ конструкциям ΠΌΠΈΠ½ΠΈ-языков. Π—Π΄Π΅ΡΡŒ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΠ΅ ядра ΠΌΠΎΠ³ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… систСм ΠΊΠΎΠ΄Π°.

БущСствуСт нСсколько основных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ проСктирования.

11.6.8.1.Β ΠŸΠ°Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€/Π°ΠΊΡ‚ΠΎΡ€

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Π΅ интСрфСйсная Ρ‡Π°ΡΡ‚ΡŒ управляСт срСдой запуска Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π΄Π΅ΠΌΠΎΠ½Ρƒ, которая Π·Π°Ρ‚Π΅ΠΌ выполняСтся, Π½Π΅ трСбуя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠ°Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€/Π°ΠΊΡ‚ΠΎΡ€ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ fetchmail(l) ΠΈ fetchmailconf(1) (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ использовались ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ воспринимаСмости ΠΈ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, управляСмых Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 14 ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования языка Python). Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° fetchmailconf прСдставляСт собой ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поставляСтся с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ fetchmail. fetchmailconf Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π² качСствС GUI-ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт fetchmail Π»ΠΈΠ±ΠΎ Π² ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Данная модСль проСктирования позволяСт ΠΎΠ±Π΅ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ, fetchmail ΠΈ fetchmailconf, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… областях. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ fetchmail, которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ запускаСтся Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½, Π½Π΅ трСбуСтся ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ с GUI-ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, fetchmailconf ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° слоТном GUI-прСдставлСнии, Π½Π΅ трСбуя ΠΎΡ‚ fetchmail Π·Π°Ρ‚Ρ€Π°Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ слоТности. НаконСц, Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ·ΠΊΠΈΠΌΠΈ ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ, остаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ fetchmail ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ· сцСнариСв, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ fetchmailconf.

Π’Π΅Ρ€ΠΌΠΈΠ½ "ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€/Π°ΠΊΡ‚ΠΎΡ€" ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

11.6.8.2.Β ΠŸΠ°Ρ€Π° спулСр/Π΄Π΅ΠΌΠΎΠ½

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

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ спулСр ΠΈΠ»ΠΈ клиСнтская Ρ‡Π°ΡΡ‚ΡŒ просто ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ запросы Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π² спул-ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Запросы Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ β€” просто Ρ„Π°ΠΉΠ»Ρ‹, Π° спул-ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, являСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. РасполоТСниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ запросов согласовываСтся ΠΌΠ΅ΠΆΠ΄Ρƒ спулСром ΠΈ Π΄Π΅ΠΌΠΎΡ†ΠΎΠΌ.

Π”Π΅ΠΌΠΎΠ½ постоянно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ спул-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² поисках задания. Когда ΠΎΠ½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ запрос Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ задания, Ρ‚ΠΎ пытаСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ связанныС с Π½ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅. Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ запрос ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· спул-области ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ являСтся систСма спулСра ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Unix, lpr( 1 )/lpd(1). Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° 1Ρ€Π³( 1), просто ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π°Ρ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² спул-ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая пСриодичСски сканируСтся Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ Ipd. Π—Π°Π΄Π°Ρ‡Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π° β€” сСриализация доступа ΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‰ΠΈΠΌ устройствам.

Π”Ρ€ΡƒΠ³ΠΈΠΌ классичСским ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся ΠΏΠ°Ρ€Π° at(1)/atd(1), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ. Π’Ρ€Π΅Ρ‚ΡŒΠΈΠΌ историчСски Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, хотя ΠΈ Π½Π΅ распространСнным Π² настоящСС врСмя, Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° UUCP (Unix-to-Unix Copy Program), ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠ°ΡΡΡ Π² качСствС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ транспорта Π½Π° ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… линиях Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² Π½Π°Ρ‡Π°Π»Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° Π½Π΅ начался Π²Π·Ρ€Ρ‹Π²Π½ΠΎΠΉ рост Internet.

МодСль спулСр/Π΄Π΅ΠΌΠΎΠ½ ΠΈ сСйчас остаСтся Π²Π°ΠΆΠ½ΠΎΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… транспортировки ΠΏΠΎΡ‡Ρ‚Ρ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ). Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½Ρ‹Π΅ части ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… транспортных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ sendmail(1) ΠΈ qmail(1), ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ доставки ΠΏΠΎΡ‡Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· SMTP-сСрвСр ΠΈ внСшнСС Internet-соСдинСниС. Если ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ, Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚Π° помСщаСтся Π² спул-ΠΎΠ±Π»Π°ΡΡ‚ΡŒ; Π΄Π΅ΠΌΠΎΠ½-вСрсия ΠΈΠ»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ транспорта попытаСтся Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, систСма спулСр/Π΄Π΅ΠΌΠΎΠ½ состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… частСй: ΠΌΠΎΠ΄ΡƒΠ»ΡŒ запуска задания, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ задания ΠΈ спулСр-Π΄Π΅ΠΌΠΎΠ½. ЀактичСски присутствиС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ… частСй ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π° Π½ΠΈΠΌΠΈ находится спулСр-Π΄Π΅ΠΌΠΎΠ½.

ΠŸΠΎΠ½ΡΡ‚ΠΈΡ "спулСр" ΠΈ "Π΄Π΅ΠΌΠΎΠ½" β€” ΠΏΡ€ΠΎΡ‡Π½ΠΎ ΡƒΠΊΠΎΡ€Π΅Π½ΠΈΠ²ΡˆΠΈΠΉΡΡ ΠΆΠ°Ρ€Π³ΠΎΠ½ Π² Unix-сообщСствС (фактичСски Ρ‚Π΅Ρ€ΠΌΠΈΠ½ "спулСр" появился Π²ΠΎ врСмя Ρ€Π°Π½Π½ΠΈΡ… мэйнфрСймов).

11.6.8.3. ΠŸΠ°Ρ€Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€/ядро

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ°Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€/Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ спулСр/Π΄Π΅ΠΌΠΎΠ½, интСрфСйсная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚ ядра послС запуска. Π―Π΄Ρ€ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ модСль интСрфСйса. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ IPC-ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π΄Π΅Ρ‚Π°Π»ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: ядро ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ процСссом Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° (Π² Ρ‚ΠΎΠΌ смыслС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обсуТдался Π² Π³Π»Π°Π²Π΅ 7), ΠΈΠ»ΠΈ ядро ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· сокСты, ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΠ»ΠΈ посрСдством любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ IPC-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΡΠ²Π»ΡΡŽΡ‚ΡΡ (Π°) ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΈ (b) ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ядра ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ со своим собствСнным интСрфСйсом.

НаписаниС Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°Ρ€ слоТнСС, Ρ‡Π΅ΠΌ написаниС ΠΏΠ°Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€/Π°ΠΊΡ‚ΠΎΡ€, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ тСснСС ΠΈ слоТнСС связаны. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ свСдСния Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ± ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ срСдС запуска ядра, Π½ΠΎ ΠΈ ΠΎ Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

Однако Ссли ядро спроСктировано с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ использования Π² сцСнариях, Ρ‚ΠΎ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ драйвСрная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ядра, Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΈΠ»ΠΈ нСсколько Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ядру. ΠŸΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΎΠ±ΠΎΠΈΡ… случаях прСдставлСн ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ^^ ΠΈghostview(l), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ для gs(1), ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Ghostscript. Ghostscript ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚

PostScript Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ графичСскиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ языки управлСния ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ gv ΠΈ ghostview ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ GUI-ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ для вСсьма ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ синтаксиса ΠΊΠΎΠΌΠ°Π½Π΄ Ghostscript.

Π”Ρ€ΡƒΠ³ΠΈΠΌ прСвосходным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ являСтся комбинация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ xcdroast/cdrtools. Π’ дистрибутив cdrtools Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° cdrecord(1) с интСрфСйсом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Код cdrecord спСциализируСтся Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΎΠ² CD-ROM. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° xcdroast прСдставляСт собой GUI-интСрфСйс ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Ρ‹Π΅ условия Ρ€Π°Π±ΠΎΡ‚Ρ‹ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для выполнСния большСй части Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° xcdroast{ 1) Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ cdrecord( 1).