Design and implementation of a joyce kernel for DOS
Başlık çevirisi mevcut değil.
- Tez No: 19329
- Danışmanlar: DOÇ.DR. NADRA ERDOĞAN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 1991
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Belirtilmemiş.
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 75
Özet
ÖZET DOS İÇİN BİR JOYCE ÇEKİRDEĞİ TASARIM VE UYGULAMASI Eşzamanlı (concurrent) yazılım ve eşzamanlı yazılım teknikleri, yakın zamana kadar işletim sistemleri kapsamında ele alınmasına rağmen, giderek ayrık bir disiplin olma yolunda ilerlemektedir [1 J. Varolan bilgisayarların önemli bir bölümünün., kavramsal olarak birbirlerine çok yakın oldukları söylenebilir. Bir kontrol birimi, komutu ve ilişkin işlem değerlerini bellekten okur ve bir işlem birimine gönderir. Komut burada uygulanır ve sonuç belleğe geri gönderilir. Gu modelde program hızı, işlemci hızı ile birebir ilişkilidir. Ancak paralel mimarilerin geliştirilmesi ve paralel özelliklerin bir program içinden kullanılmasını mümkün kılan programlama dillerinin tasarlanması ile, işlemci hızlarında karşılık gelen artışlar olmadan da, program uygulama zamanlarında önemli azalmalar elde etmek mümkün olacaktır [2]. Her sıralı (sequential) algoritma, paralel dillerle ifade edilebilir (yapı hiçbir paralel özellik içermiyorsa bile). Fakat bunun tersini yapmak (paralel algoritmaları sıralı dillerle ifade etmek) ya tümüyle imkansızdır, ya da elde edilen sonuç orjinal modelin çok uzak ve karmaşık bir kopyası olacaktır. Joyce paralel kullanım amacı ile 1987 yılında Per Brınch Hansen tarafından tasarlanmış bir programlamadilidir [3]. Bu dile ilişkin ilk gerçekleştirim de yine 1987 yılında Per Brinch Hansen tarafından yapılmıştır [4]. Dil yapısı önemli ölçüde CSP (Communicating Sequential Processes) ve Pascal'dan ödünç alınmıştır. CSP kökenli komutlar dilin paralel özelliklerini, Pascal kökenli olanlar ise temel kontrol yapılarını ve veri tanımlama kesimlerini oluşturur. Joyce programları,“agent”adı verilen birimler tarafından oluşturulur. Joyce“agenf'ların özyineli (recursive) çağırılmasına olanak sağlar. Bir Joyce programının başlatılması, programın başlangıç (initial) ”agenf'ını harekete geçirir.“Agenf'lar yaratıcıları ile eşzamanlı olarak koşan alt ”agent“lar yaratabilirler. Bir ”agenf'ın değişkenlerine diğer“agent”lar erişemez.“Agenf'lar kanallar yolu ile gönderilen sembollerle haberleşirler. Her kanalın bir alfabesi vardır (kanaldan yollanabilen sonlu sayıda sembol kümesi). Her sembolün bir adı vardır ve belli tipte bir mesaj taşır. Bir ”agent“ belli bir kanaldan bilgi göndermeye hazır, başka bir ”agenf'da aynı kanaldan bilgi almaya hazır ise, bu iki“agenf'ın uyuştukları söylenir. Bu durum gerçekleştiği zaman, iki ”agent“ arasında bir haberleşme gerçekleşir. Gönderici ”agenf 'tan gelen mesaj, alıcı“agenf'ın bir değişkenine atanır. Bir kanal üzerinde belli bir anda tek haberleşme işlemi gerçekleşebilir. Kanallar iki yönlü bilgi taşıyabilirler. Bir kanal, iki veya daha çok ”agent“ tarafından kullanılabilir. Eğer bir kanal ikiden çok ”agent“ tarafından kullanılıyorsa, onları bir dizi biçimde uyuşturmak mümkün olacaktır.”Poll“ komutu bir ”agenf'ın bir uyuşma sağlanana kadar birden fazla kanalı gözlemesini sağlar. Hem gönderici nemde alıcı“agenf'lar ”poll“ işleminden yararlanabilir. ”Agenf'lar dinamik olarak kanal yaratıp, onlara yerel değişkenleri ile ulaşabilirler. Bir kanal yaratıldığı saman kanala ilişkin bir gösterge“agent”yerel değişkenine atanır.“Agent”göstergeyi alt“agenf'larına parametre olarak geçirebilir. Bir ”agent“ kendisini tanımlayan yordamın sonuna geldiği zaman, tüm sub ”agenf'ları sonlanana kadar bekler. İlk Joyce gerçekleştiririni p-kod üreten bir Joyce derleyicisinden ve p-kod yorumlayıcısından oluşuyordu. Bu tezin amacı, aynı ortam üzerinde (tek işlemcili bir sistem) farklı bir gerçekleştiririn yapmaktır; dış yordamlardan oluşan bir Joyce çekirdeği ve Joyce'dan C'ye bir çevirici. Bu çalışma çeviricinin kendisini kapsamaz. Sadece temel çevirme kurallarını ve çekirdek kütüphanesini içerir. Kütüphane yordamları altı tanedir; - Activate : Yeni bir agent yaratmak için, - Allocate : Yeni bir haberleşme kanalı yaratmak için. - Communicate : Bir haberleşme isteğini bildirmek için, - Terminate : Tanımlayıcı yordamının sonuna gelmiş bir“agenf'ı sonlandırmak için, - Suspend : ”Poll“ operasyonu esnasında bir uyuşma sağlayamamış ”agenf'ları geçici olarak durdurmak için, - EndPoll :“Poll”operasyonu içerisinde uyuşma sağlandığını bildirmek için kullanılır.bu gerçekleşirim orijinal Joyce tanımından bazı noktalarda ayrılmaktadır. ij Orijinal tanımda“poll”işlemine konu olan haberleşme taleplerinden herhangi birinin rasgele seçilmesi gerektiği söylenirken, burada ilk kaydedilmiş olan (“poll”bloğu içinde) haberleşme talepleri öncelikli olarak ele alınmaktadır. ii) Orijinal tanımda sadece giriş (input) tipi haberleşme taleplerinde değişken kullanımı sorunlu iken., burada hem giriş hem de çıkış tipi haberleşmelerde değişken kullanımı zorunludur. iii) Orijinal“poll”tanımı, bir uyuşma durumunda, iki taraftan en az birinin normal (“poll”olmayan) haberleşme isteğinde bulunmuş olmasını sorunlu kılarken, burada ikisi de“poll”durumunda olan“agenf'lar arasında bir uyuşma sağlanması mümkündür. iv) Orijinal tanımda kanal tipleri sadece temel veri tiplerini içerebilirken, burada kanalların kanal göstergeleri içermesi mümkündür. Bu çalışma da seçilen uygulama biçimi ve Per Brinch Hansen tarafından gerçekleştirilen uygulama biçiminin birbirlerine göre bazı avantaj ve dezavantajları olduğu söylenebilir. - Eğer çeviri (herhangi bir üst düzey dile) yöntemi benimsenirse, kod üretme görevi hedef dil derleyicisi tarafından gerçekleştirilecektir. Aksi durumda kod üretme işi de tasarımcı tarafından üstlenilmek zorundadır.- Eğer çeviri yöntemi benimsenirse, hedef sıralı dilin kütüphane yordamları Joyce programcısı tarafından kullanılabilir (Hiç olmazsa hata bulma amçları ile]. Böylece kaynak paralel dilin sınırları, hedef sıralı dilin özelliklerini de içerecek biçimde genişletilebilir. Bu durumda C programlama dilinin oldukça kuvvetli olan altyordam özellikleri sadece çevirici üzerinde yapılacak, göreli olarak basit değişiklikler ile Joyce diline monte edilebilir ve rahatça Joyce programı yazanlar tarafından kullanılabilir. - Eğer çevirici yöntemi kullanılırsa derleyicinin sıralı yapısı önemli problemler çıkarabilirler ve bazen bu problemler herhangi bir biçimde ilerlemeyi tümüyle engelleyici olabilirler. Bu konuda verilebilecek en iyi örnek derleyicilerin sisteme ilişkin bazı değişiklikler yapılma ihtimalini hesaba katmadan tasarlanmış olmasıdır. Yığın adreslerinin veya bası saklayıcı değerlerinin değişmeyeceğini varsayarak kod üreten yada optimizasyon amacı ile belirli bir çağrı ve geri dönüş mekanizması yerine durma göre birden fazla yöntem kullanabilen derleyicilerin yarattığı problemlerdir. - Eğer çevirici yöntemi kullanılırsa, paralel programlama diline ait paralel özelliklerin sıralı programlama terimleri ile düşünülmesi ve gerçeklenmesi gerekecektir (”Âgenf'ların C altyordamları, haberleşme kanallarının C yapıları ile gerçeklenmeleri gibi). Bu yöntemin, kaynak dildeki paralelliği azalttığı ve dili güçsüzleştirdiği söylenebilir.
Özet (Çeviri)
SUMMARY D E S I 6 N AN D I M PLE M E N T AT I O N O F A J O YCE KERNEL FOR DOS Joyce is a small programming language designed for teaching the principles and practice of distributed processing. Joyce is a semantic variant of CSP with PASCAL notation. A Joyce program consists of nested procedures which define abstract machines known as agents. Agents may activate subagents dynamically, a subagent and its creator run concurrently. Agents communicate by means of symbols transmitted through channels. Two agents match when one of thern is ready to output a symbol to a channel and the other is ready to input the same symbol from the same channel. A polling statement enables an agent to examine one or more channels until it finds a matching agent. The first implementation consisted of a Joyce compiler, generating p-code and a p-code interpreter. The subject of this thesis is to try a different way in the implementation of Joyce to the same single processor environment; A Joyce kernel (consisting of external procedures) and a Joyce to C translator. The work does not include the translator itself, but only the kernel and a suggested set of rules for the translation process. VIII
Benzer Tezler
- Design and implementation of a digital signal processor system using field programmable gate arrays
Dışarıdan programlanabilen kapı dizileri kullanarak sayısal sinyal işlemci sistemi tasarımı ve gerçekleştirilmesi
GÖKHAN GÜLTOPRAK
Yüksek Lisans
İngilizce
1999
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. MURAT AŞKAR
- Design and implementation of a computer based uroflowmeter systems
Kişisel bilgisayar tabanlı uroflowmetre cihazının tasarımı ve gerçekleştirilmesi
YUSUF BOZKAYA
Yüksek Lisans
İngilizce
1998
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. ZİYA İPER
- Design and implementation of a task handler for a distrubited workflow enactment service
Dağınık işakışı harekete geçirme servisi için bir görevci tasarımı ve gerçekleştirimi
PINAR KARAGÖZ
Yüksek Lisans
İngilizce
1998
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ASUMAN DOĞAÇ
- Design and implementation of a multilevel converter based battery energy storage system
Çok seviyeli dönüştürücü tabanlı batarya enerji depolama sisteminin tasarımı ve uygulanması
FATİH EROĞLU
Doktora
İngilizce
2022
Elektrik ve Elektronik MühendisliğiGaziantep ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
DOÇ. DR. AHMET METE VURAL
- Özel çekirdekli bir transformatör tasarımı ve uygulaması
Design and implementation of a special cored transformer
SUDE HATEM
Doktora
Türkçe
2022
Elektrik ve Elektronik MühendisliğiGazi ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. EROL KURT