Deterministik sistem

Bir deterministik sistem bir olan sistem her zaman sistem belirli bir duruma geldiğinde, onun andan itibaren, daha önce ne olduysa yani bir olayın, aynı şekilde tepki verir evrim hep aynı olacaktır. Olarak otomatik deterministik sistemleri, gelen olaylar dizisinde, her zaman aynı ve gelen olaylar talimatıyla belirlenen bir sırada çıkış olaylar dizisi üretmek sistemlerinin bir sınıfıdır. In felsefesi , determinizm , evrenin bir deterministik sistem olarak tasavvur edildiği bir dünya görünümüdür.

Fizikte

Fizikte deterministik bir sistem, olasılıkçı olmayan evrim yasalarına uyan bir sistemdir . Herhangi bir fiziksel sistemin zamansal evrimi , tipik olarak bir diferansiyel denklem (veya alan teorisinde kısmi diferansiyel denklemler ) ile tanımlanır:

f fonksiyonu çalışılan dinamik sistemi tanımlar. Cauchy-Lipschitz teoremi, bir diferansiyel denklemin çözümünün yerel varlığını ve benzersizliğini (oldukça geniş belirli koşullar altında) sağlar. Muhafazakar bir fiziksel sistem , ancak ve ancak sistemin dinamikleri her bir başlangıç ​​koşuluyla bir ve yalnızca bir son durumla ilişkiliyse deterministiktir . Bu , kendisinin faz uzayının şu şekilde bir eşleşmesi olduğunu ima eder :

Otomatik olarak

Sistemin bir ortama birden fazla iletişim kanalıyla bağlanması durumunda, gelen olayların her kanalda geçici olarak meydana geldiği sıra, giden olayların sırasını açıklar.

Eğer (a) olayı A arayüzünde meydana gelirse, o zaman B arayüzünde kronolojik olarak (b) olayı meydana gelirse, o zaman - çoğu durumda - (b) 'nin sonucundan önce (a)' nın sonucunu görme hakkına sahibiz.

Sistemin belirli bir olayı zamandır. "Geçen zaman" tipi bir olayın sona ermesi, gelen olaylarla aynı şekilde sistemden belirli bir çıkışı açıklayabilir ve gerekçelendirebilir.

Kompozisyon

Belirleyici bir sistem, aşağıdakilerden oluşan çok görevli bir sistemdir :

İletişim görevleri ve merkezi görev özünde periyodik değildir. Bir olayın meydana gelmesi üzerine etkinleştirilirler.

Algoritmik görevler özünde periyodik veya döngüseldir. Periyodik görevler için, iki ardışık süreç arasındaki zaman aralığı, yapılacak hesaplamaların kesinliğini şartlandırır.

Gelen olayları ezberleme ilkesi

Sistemin bir davranışını analiz etmek için, sistemin her görevi, alınan ve işlenen gelen olayların yanı sıra her görev tarafından üretilen çıktıyı anlamak için gerekli bağlam verilerini bir bellek bölgesinde depolar. Tabii ki, bu ezberleme aynı zamanda geçen gecikme türündeki zaman olaylarıyla da ilgilidir .

Bu olayları ezberleme faaliyeti çok kısa bir zaman dilimi içinde gerçekleşmelidir.

Bu hafıza, bir semafor mekanizma tarafından kontrol edilir . Her görev, çok kısa bir süre için belleğe kesintisiz bir şekilde yazar ve ardından paylaşılan bellek kaynağını diğer görevler için kullanılabilir hale getirir. Bir sistem arızası durumunda, analiz için bellek sistem dışına aktarılabilir.

Bu hafıza dönüyor . Sistemin belirli bir çalışma süresine uyacak şekilde boyutlandırılır ve bu sayıdaki kayıtlardan sonra yeni kayıtlar lehine en eski kayıtlar silinir.

Bir görevin tanımı

Bir görev , gerçek zamanlı işletim sisteminin kontrolü altına yerleştirilen yürütülebilir bir varlığa karşılık gelir . İşletim sistemi görevi başlatır, askıya alarak bir kaynak için beklemeye alır ve sonunda durdurur.

Bu makalede açıklanan tasarım ilkelerinden biri, bir görevin işlenmesi sırasında hiçbir zaman bir gecikme için bekleme ilkelini çağırmamasıdır. Bunun yerine, adlandırılmış bir bekleme bekleme durumu oluşturulur ve görev, zaman yönetimi görevine bir uyandırma talebinde bulunur.

Zaman yönetimi görevi

Zamanın veya bekleme sürelerinin yönetimi için belirli bir görev ayrılmıştır. Bu görev, diğer görevlerden istekleri (hizmet isteği) alır ve istekleri yapan görevlere zaman aşımı olayları döndürür.

Zaman yönetimi görevi ayrıca bir gecikme için kesme / durdurma isteklerini alabilir. Bunu yapmak için, alınan her istek için, zaman yönetimi görevi, istekte bulunan kişiye, isteği yapan görevle ilişkili bir bilet (benzersiz bir numara) döndürür. İstekte bulunan görev daha sonra bu anahtarı (görev tanımlayıcısı + bilet) uyandırma isteğini kesmek için kullanabilir.

Bir görev, zaman aşımı durdurması talep etmiş ve yine de zaman yönetimi görevinden bir uyandırma çağrısı almış olabilir. Görevin durum makinesi, bu sözde kesme durumunun üstesinden gelebilmelidir .

Kanal görevi veya iletişim görevi

Bir kanal görevi, sistemle (veya yazılımla) iletişim kuran sistemin dışındaki her işlemle ilişkilendirilir. Kanal görevinin misyonu, bu harici süreçle değişim / iletişim protokolüne uyarak bu harici süreçle veri alışverişi yapmaktır. Kanal görevinin misyonu, sistem işlevlerini uygulamak değildir. Kanal görevi, bu nedenle, işlevsel bir mesleğin aksine , özünde operasyonel bir mesleğe sahiptir. Bu, sistemden çıktı olarak veri alan harici işlemler gibi sisteme girdi olarak veri sağlayan işlemler için geçerlidir. Sistemdeki hiçbir görevin, bu harici süreçle değişimlerin tutarlılığından sorumlu kanal görevinden geçmeden harici bir süreçle iletişim kurmaması özellikle önemlidir. İletişim görevinin, iletişim protokolünü harici bir süreçle sarmaladığını söyleyebiliriz.

Bir iletişim görevi artık harici bir sürece mesaj gönderemeyebilir. Protokol yeniden denemelere izin veriyorsa, görev, yeniden denemeler arasında bir zaman aşımı ile yeniden denemeler gerçekleştirir. Kaç kez sona erdiğinde, iletişim görevi bu iletişim kanalıyla ilgili bir sorun olayını merkezi göreve gönderecektir.

Aslında, gelen bir mesaj akışı, giden akışı garanti edemeden bir sistemde tutulursa, kontrol edilmesi gereken bir tıkanıklık meydana gelecektir. Sonuç olarak, aşağıdaki olaylar dizisi: giden iletişim görevi, mesaj göndermenin imkansızlığını belirtir (protokol tekrarlama araçlarının sona ermesinden sonra), gelen iletişim görevlerinin mesajları kabul etmeyi durdurmasından sorumlu olacak merkezi görevi uyarır, çünkü bunlar ( veya bazıları) işlendikten sonra dış dünyaya gönderilemez.

Genelleme

Gerçek zamanlı bir sistemde, bir disk veya kayıt cihazı gibi bir yığın depolama cihazına erişim için bir iletişim görevinin aynı şekilde oluşturulması uygundur. Gerçekte, işlevsel bir görevin (bir otomat işleminin gerçekleştirilmesi veya bir yinelemeli diferansiyel hesaplama gerçekleştiren bir algoritmik görevin gerçekleştirilmesi) doğrudan çevre birimine erişmesine ve böylece kendisini bir giriş sonu çıkışı için beklemeye almasına izin vermek düşünülemez .

Sistem başlangıcı

Sistem başladığında, her kanal görevi, dış dünyayı gören sistemin sentetik bir durumunu sağlamak için tüm bu kanal durumlarını sentezleyecek merkezi bir göreve iletişim kanalının durumunu sağlamaktan sorumludur.

Tüm iletişim görevleri, kanallarının başlatılmasına karşılık gelen yeşil bir ışık sağlar sağlamaz, sistem işletim moduna geçer.

Merkezi görev

Merkezi görev , iletişim görevlerinden gelen bağlı durumları hesaba katan birinci seviye sonlu durum makinesini uygular . Tüm iletişim görevleri bağlantı aşamasını tamamladığında ve merkezi göreve bir bağlantı tamamlandı mesajı gönderdiğinde sistem nominal moddadır. İletişim kanallarından birinde bağlantı kesilir kesilmez sistem düşük moda geçer .

Merkezi görevi, herhangi bir hesaplama, bir çevre birimle (disk veya giriş / çıkış) ilgili herhangi bir işlem yapmayacak şekilde tasarlamak gerekir . Bu tür bir işlem gerekliyse, talimatlarını merkezi görevden alacak başka bir göreve emanet edilecektir.

Döngüsel veya periyodik görev

Periyodik görevler , örneğin bir sistemin (örneğin bir uçağın) konumunun hesaplanması veya varış noktasının hesaplanması veya son olarak varış noktasına ulaşmak için geliştirilecek komutların hesaplanması gibi algoritmik bir işlem türü gerçekleştirir .

İşleme bir hesaplama süresi T (uyanma süresinden daha kısa) sürer ve ardından görev bir uyandırma olayını bekler. İki uyanma arasındaki dönem tedaviden önce başlayacak ve tedavi bittikten sonra sona erecektir. Periyodik bir görev, davranışını değiştiren veya gerçekleştirilen hesaplamaları etkileyen diğer olay türlerini alabilir. Bu yeni veriler, merkezi görevden alınan olayda dikkate alınacaktır, ancak yeni bir hesaplama dizisi yalnızca sürenin sonunda ve dolayısıyla geçen zamanın bir olayı alındığında tetiklenecektir. Bu şekilde, makine zaman kaynağı , bu döngüsel hesaplamaların aşırı modifikasyon koşulları altında bile diğer görevler için her zaman kullanılabilir durumda kalır.

Durum makinesi

Döngüsel bir görevin işlenmesini hayal etmenin basit bir yolu, sonlu durum makinesi oluşturmaktır. Bu PLC, görev durumları sütunlarda ve görevin koordinat üzerinde işlemesi beklenen beklenen olaylarla bir tablo biçimini alır.

Bu tabloda, her hücre, görevin verilen durumda gerçekleştirmesi gereken işleme ve bu durumda alınan olay için karşılık gelir. Bu işlem, uzun işlem sürelerini (disk erişimi veya algoritmik hesaplama) içermemeli, yalnızca başka bir göreve mesaj göndermeyi içermelidir.

Bu tabloyu bir Petri ağı şeklinde temsil etmek mümkündür.


Bekleme çizgisi

Sistemdeki her görev - iletişim görevleri ve zaman yönetimi görevi dahil - bir mesaj kuyruğu aracılığıyla olayları (mesaj artı ilişkili veriler) alır . Tüm kuyruklar önce gelen önce hizmet alır . Birkaç görev aynı anda bir kuyruğa erişebilir. Bu nedenle her kuyruk, işletim sisteminin denetimi altına yerleştirilen paylaşılan bir kaynaktır .

Bir kuyruğun depolayabileceği maksimum mesaj sayısı, onları işlemesi gereken görevin maksimum işlem süresine bağlıdır.

Sistemin her göreviyle, gelen olayları sağlayan bir kuyrukla ilişkilendirilerek , gelişmelerin bir geliştirme ekibinin üyelerine dağıtılmasını ve paralelleştirilmesini mümkün kılan bir geliştirme modeli elde edilir . Aynı şekilde, tüm görev işleme sonları, başka bir görevin kuyruğuna yazılmasıyla sonuçlanır. Bir görevin gelişimi, gelen olayların tüm kombinasyonları simüle edildiğinde tamamlanır.

Sistemin sentetik diyagramı

Dış süreçler, iletişim görevleri aracılığıyla sistemle etkileşime girer. İletişim görevleri birbiriyle iletişim kurmaz. İletişim görevleri, merkezi görev veya zaman yönetimi görevi ile iletişim kurar.

Yukarıdaki diyagrama, farklı görevlerin onları uyaran gelen olayları kaydettiği paylaşılan hafıza alanını eklemek gerekir.

Sistem periyodik algoritmik işlem içeriyorsa, bunları, hesaplama emirlerini merkezi görevden alacak ve periyodik aktivasyon emirlerini zaman yönetimi görevinden alacak olan ek bir döngüsel görevde kapsüllemek gerekecektir. Sistem, üç ana işleme operasyonunun gerçekleştirilmesini gerektiriyorsa: navigasyon (nerede olduğunuzu bilmek), rehberlik (nereye gittiğinizi bilmek) ve pilotluk (makineyi bilinen konumundan kontrol etmek için hangi komutların geliştirilmesi gerektiğini bilmek) hedef konum), daha sonra üç döngüsel görev oluşturmamanız, bunun yerine üç işlemi tek bir döngüsel görevde değiştirerek işlemcinin hesaplama süresini paylaşması önerilir (benzersiz olarak kabul edilir).

Görev öncelikleri için dikkat edilmesi gerekenler

Bir görev işlemeyi ne kadar uzun süre gerçekleştirirse, önceliği o kadar yüksek olabilir. Tersine, karmaşık algoritmik işleme gerçekleştiren bir görev görece düşük önceliğe sahip olmalıdır. Bir olay işlenirken askıya alınacak ve ardından hesaplamalarına devam edilecektir. Bu nedenle, verilerinin bu askıya alma dönemlerinde değiştirilmemesini sağlamak gerekir.

Çıkış komutlarının oluşmasını garanti etmek ve işlenmemiş gelen olayların birikmesiyle sistem tıkanıklığını önlemek için, iletişim görevleri - çıkış kanallarını yönetenler - en yüksek öncelik seviyelerine yerleştirilmelidir.

En yüksek öncelik seviyesi, zaman yönetimi görevine, ardından çıkış kanallarını yöneten görevlere, daha sonra merkezi göreve, daha sonra harici olayları alan görevlere ve son olarak karmaşık algoritmik işlemeyi gerçekleştiren görevlere tahsis edilecektir.

Kaynaklar

Ayrıca görün

İlgili Makaleler