Yeni yazı: Priority Inversion ve Mars Pathfinder — FreeRTOS'ta Yeniden Üretim#120
Open
Mavrikant wants to merge 1 commit into
Open
Yeni yazı: Priority Inversion ve Mars Pathfinder — FreeRTOS'ta Yeniden Üretim#120Mavrikant wants to merge 1 commit into
Mavrikant wants to merge 1 commit into
Conversation
…n üretim Mars Pathfinder'ın 1997 priority inversion bug'ını anatomisiyle çözümler: VxWorks SEM_INVERSION_SAFE flag'i, bc_sched/bc_dist/ASI/MET görev etkileşimi, deadline ihlali kaynaklı reset mekanizması. Ardından FreeRTOS üzerinde xSemaphoreCreateBinary (inversion) → xSemaphoreCreateMutex (PIP düzeltmesi) geçişini ölçülebilir gecikme çıktısıyla (940 ms → 150 ms) yeniden üretir. Sha-Rajkumar-Lehoczky 1990 makalesinden gelen PIP/PCP worst-case bloklama formüllerini somut hesapla (min(n,m)·C_max vs C_max) karşılaştırır, DO-178C DAL A sertifikasyonu için RTOS seçim kriterleriyle bağlar. Konu defteri güncellendi. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Yeni yazı: Priority Inversion ve Mars Pathfinder — FreeRTOS'ta Yeniden Üretim
Seçilen konu ve neden seçildi
Konu: Mars Pathfinder'ın 1997'deki priority inversion bug'ı, FreeRTOS'ta somut yeniden üretimi, Priority Inheritance vs Priority Ceiling protokollerinin worst-case bloklama analizi.
Alan: RTOS / gerçek zamanlı senkronizasyon.
Neden bu konu:
volatile/atomic Yeni yazı:volatileYetmediğinde — Zynq-7000 Üzerinde C11_Atomic, SCU ve Bellek Bariyerleri #100 farklı katman, GIC Yeni yazı: ARM GIC — Cortex-A Kesme Denetleyicisinin İçine Bakmak #101 kesme katmanı, watchdog Yeni yazı: Watchdog Timer Tasarım Desenleri — Tek-Stage Yanılgısından Rendezvous Pattern'e #89 hata tepkisi tarafı).Hangi derinlik öğesini taşıyor (Bölüm 7)
Üç katmanlı somut derinlik:
bc_sched,bc_dist, ASI/MET), VxWorksSEM_INVERSION_SAFEflag'inin tam adı, deadline ihlali kaynaklı reset mekanizması (watchdog değil — zamanlayıcı kontrolünün kendisi).xSemaphoreCreateBinary()ile patolojiyi, tek satır değiştiripxSemaphoreCreateMutex()ile düzeltmeyi yan yana, ölçülebilir konsol çıktısıyla — H görevinin bloklanma süresi 940 ms → 150 ms.min(n,m)·C_max. PCP:C_max. 3 görev × 4 mutex'lik somut tabloyla 95 ms vs 40 ms karşılaştırması, schedulability analiziyle bağ."Bu konu Türkçe'de neden zor bulunuyor?" (Bölüm 8)
Bug İngilizce kaynaklarda detaylı (Reeves'in orijinal e-postası, Cornell CS614 arşivi, IEEE Sha-Rajkumar-Lehoczky 1990 makalesi) ama Türkçe tarafında yüzeysel — "öncelik tersine dönmesi var" diye geçilip kapanıyor. Bu yazı dört dağınık disiplini (Pathfinder vakası + VxWorks mutex semantiği + FreeRTOS API farkı + PIP/PCP formel sınırları + DO-178C sertifikasyon bağı) ilk kez tek yerde sentezliyor.
Kullanılan kaynaklar
semMLibreferansı (SEM_INVERSION_SAFE)pthread_mutexattr_setprotocolÖz-eleştiri özeti (Bölüm 6, 13)
2026-06-08-priority-inversion-mars-pathfinder.md; dal adıpost/2026-06-08-priority-inversion-mars-pathfinder.master'a hiçbir şey push edilmedi; teslim yalnızca PR.agent/topics.mddefteri güncellendi (açık PR listesi senkronlandı, fikir havuzu yenilendi).Notlar
/img/posts/2.webpseçildi — yayında olan yazılarda henüz kullanılmamış jenerik bir kapak. İstenirse konu-özel bir kapak (priority-inversion-cover.webp) sonradan eklenebilir.🤖 Generated with Claude Code