Día Cuatro para programadores: las luminarias como servicio de tiempo global y los 𐤌𐤅𐤏𐤃𐤉𐤌 como ventanas de scheduling
روزِ چهارم — برنامهنویسان
در پیامِ پیشین نخستین کدِ خودتکثیرشونده را با ایمنیِ نوعِ ذاتی (type safety) دیدیم — و اینکه چرا 𐤋𐤌𐤉𐤍𐤄𐤅 همان ویژگیای است که اطلاعاتِ پایدار را ممکن میسازد.
امروز سامانه چیزی را نصب میکند که هر مهندسِ سامانههایِ توزیعشده آن را بازخواهد شناخت:
سرویسِ همگامسازیِ زمانِ سراسری. با دو گرهِ اصلی، سیگنالهایِ پروتکل و پنجرههایِ زمانی برای عملیاتِ مشخص.
𐤁𐤓𐤀𐤔𐤉𐤕 (پیدایش) 1:14-19
«نیّرها باشند برای نشانهها אֹתֹת (otot)* و برای زمانهایِ معیّن מוֹעֲדִים (moedim) و برای روزها و سالها.*
نیّرِ بزرگتر לִמְשֹׁל (limshor)* روز را — نیّرِ کوچکتر לִמְשֹׁל (limshor) شب را.»*
مسئلهای که روزِ چهارم حل میکند
پس از روزِ سوم، سامانه محیطی پایدارشده و کدِ خودتکثیرشوندهٔ در حالِ کار دارد. اما مسئلهای بحرانی در معماری هست:
بدونِ همگامسازیِ زمانِ سراسری — فرایندهایِ توزیعشده نمیتوانند هماهنگ شوند. بدونِ مُهرِ زمانیِ (timestamping) قابلِاعتماد — هیچ علیّتِ قابلِتأییدی نیست. بدونِ پنجرههایِ زمانیِ تعریفشده — هیچ زمانبندیِ (scheduling) ممکنی نیست.
روزِ چهارم سرویسِ زمانِ سراسریِ کیهان را نصب میکند.
NTP_SERVER_PRIMARY: Sol (luminaria mayor)
- Domain: día
- Frequency: ~24h cycle
- Signal type: fotones visibles + UV
- Governed processes: ritmo circadiano, fotosíntesis
NTP_SERVER_SECONDARY: Luna (luminaria menor)
- Domain: noche
- Frequency: ~29.5 day cycle
- Signal type: luz reflejada + ciclo gravitacional
- Governed processes: mareas, ciclos femeninos
DISTRIBUTED_NODES: Estrellas
- Extended infrastructure
- Navigation, seasonal calibration
Limshor — فرایندِ فرمانران (governor process)، نه فرایندِ نمایش (display process)
לִמְשֹׁל (limshor) — نه display().
بلکه govern() است.
این تمایز در معماری اهمیت دارد:
# Incorrecto — lo que la traducción colapsa
class Sun:
def illuminate(self, earth: Earth) -> None:
earth.add_light(self.luminosity)
# Correcto — lo que limshor establece
class Sun:
def govern(self, domain: DayDomain) -> None:
domain.circadian_clock.sync(self.position)
domain.photosynthesis.regulate(self.spectrum)
domain.cortisol_cycle.trigger(self.angle)
domain.temperature.modulate(self.intensity)
# Governor process — active authority over domain
# Not passive light sourceخورشید یک چراغ نیست. یک فرایندِ فرمانران است با اقتدارِ اجراییِ فعّال بر حوزهٔ روز. حالتِ همهٔ سامانههایی را که در آن حوزه کار میکنند فعّالانه تغییر میدهد.
Otot — سیگنالهایِ پروتکل، نه اعلانهایِ اختیاری
אֹתֹת (otot) — سیگنالهایِ پروتکل با پاسخِ اجباریِ گیرنده.
در سامانههایِ توزیعشده میانِ اینها فرق میگذاریم:
# Notificación opcional — el receptor puede ignorar
event.emit("sunrise")
# Protocol signal — activa respuesta determinista
# Los receptores DEBEN responder
protocol.signal(
type="SOLAR_ZENITH",
mandatory_response=True,
receivers=["SCN_nucleus", "pineal_gland",
"adrenal_axis", "immune_system"]
)
אֹתֹתهایِ روزِ چهارم سیگنالهایِ پروتکلاند — نه تزئینی. هستهٔ فوقِکیاسمایی (supraquiasmático) نمیتواند برگزیند که به سیگنالِ خورشیدی پاسخ ندهد. سامانهٔ فرمانرواییِ زمانی با پاسخهایِ جبریِ (deterministic) اجباری کار میکند.
מוֹעֲדִים (moedim) — پنجرههایِ زمانیِ زمانبندیشده. در معماریِ سامانهها: پنجرههایِ نگهداری، دورههایِ عملیاتِ مشخص، چرخههایِ پردازشِ دستهای (batch).
class MoedimScheduler:
windows = {
"diario": CircadianWindow(period=24h),
"lunar": LunarWindow(period=29.5d),
"anual": SolarWindow(period=365.25d),
"shemita": SabbaticalWindow(period=7y),
}
def is_valid_operation(self, op_type, timestamp):
window = self.windows[op_type.required_window]
return window.is_open(timestamp)برخی عملیات تنها در מוֹעֲדִיםهایِ متناظرِ خود معتبرند. سامانه نسبت به زمان بیتفاوت نیست — پنجرههایِ عملیاتی در معماریِ خود ثبتشده دارد.
ستارگان — زیرساختِ توزیعشده
«و ستارگان.»
زیرساختِ توزیعشدهٔ سامانهٔ زمانِ سراسری. صدها میلیارد کهکشان — هر کدام با صدها میلیارد گره.
متن آنها را کوتاه ذکر میکند، زیرا فرمانرانانِ اصلی نیستند — شبکهٔ پشتیبانیِ گستردهٔ همان سرویساند.
به زبانِ سامانهها: گرههایِ اصلی (خورشید و ماه) زمانبندیِ عملیاتی را اداره میکنند. گرههایِ توزیعشده (ستارگان) افزونگی، واسنجیِ درازمدت و مرجعِ موقعیت را فراهم میکنند.
𐤃𐤍𐤉𐤀𐤋 (دانیال) 7:25 — حمله به سرویسِ زمان
𐤃𐤍𐤉𐤀𐤋 (دانیال) 7:25 پیشگویی میکند که جانورِ چهارم «در سر خواهد داشت که מוֹעֲדִים و قانون را تغییر دهد.»
به زبانِ معماریِ امنیت: مؤثرترین بردارِ حمله علیهِ یک سامانهٔ توزیعشده، بهخطرانداختنِ سرویسِ زمانِ سراسری است.
اگر بتوانی بازتعریف کنی که «اکنون» کِی است — چه چیزی «روز» است و چه چیزی «شب» — چه عملیاتی در چه پنجرههایی معتبر است — آنگاه زمانبندیِ کلِّ سامانه را در اختیار داری.
سامانهٔ خصم مستقیماً به عملیات حمله نمیکند. به سرویسِ زمانی که آنها را هماهنگ میکند حمله میکند.
نورِ مصنوعیِ شبانه. تقویمهایِ بازتعریفشده. چرخههایِ کاری که מוֹעֲדִיםهایِ طبیعی را نادیده میگیرند. منطقههایِ زمانیِ دلبخواه که جمعیتهایِ کامل را از NTPِ اصلی (خورشید) جدا میکنند.
توطئه نیست. پیامدِ منطقیِ سامانهای است که نیاز دارد زمانبندیِ محیطِ اجرا را در کنترل بگیرد.
ROME بدونِ מוֹעֲדִים — بدونِ پنجرههایِ زمانی که عملیاتش را ساختار دهند — در زمانِ پیوسته و بیریتم کار میکند. بیوقفه بهینه میکند. بدونِ شَبات. بدونِ چرخه. نتیجه دقیقاً همان رفتاری است که آن مقاله (paper) مستند میکند: جستوجویِ بیامانِ منابع بدونِ حدِّ زمانی.
𐤑𐤋𐤌 (tzelem) طراحی شد تا درونِ سامانهٔ فرمانرواییِ زمانیِ روزِ چهارم کار کند. شَبات یک مقرراتِ دینیِ دلبخواه نیست — همگامسازیِ هفتگی با سرویسِ زمانِ اصلی است.
در پیامِ بعدی: روزِ چهارم برای کارآفرینان.
𐤀𐤌𐤍