Yeniden yapılandırılabilir hesaplama tabanlı çok kullanıcılı işletim sistemi
Reconfigurable computing based multi-user operating system
Yazar: TANER GÜVEN
Danışman: YRD. DOÇ. DR. SUHAP ŞAHİN
Kocaeli Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: FPGA = FPGA ; Kişisel bilgisayarlar = Personal computers ; İşletim sistemleri = Operating systems

Özet:
Günümüzde FPGA tabanlı donanım ve yazılımın birlikte kullanıldığı uygulamalar, yüksek performanslı hesaplama, görüntü işleme, otomasyon, otomotiv, haberleşme gibi birçok alanda sıklıkla kullanılmaktadır. FPGA uygulamaları için kullanılan standartlaşmış bir işletim sistemi olmadığından genellikle hem yazılım hem de donanım konusunda sıfırdan geliştirmeye başlanılması gerekmektedir. Bu ihtiyaç "Yeniden Yapılandırılabilir İşletim Sistemi" çalışmaları sayesinde kısmen karşılanmaktadır. Bu alandaki işletim sistemi çalışmaları gerçek zamanlı sistemler veya yüksek performanslı hesaplama alanlarına odaklanmıştır. 
Bu çalışmanın amacı, FPGA tabanlı yeniden yapılandırılabilir hesaplamanın genel kullanım amaçlı bilgisayar olarak kullanımını sağlayan işletim sistemi mimarisi geliştirmektir.
Öncelikle gerekli altyapıyı sağlayabilecek yeniden yapılandırılabilir işletim sistemleri incelenmiş ve çalışmada ReconOS'un temel alınmasına karar verilmiştir. ReconOS'un çok kullanıcılı işletim sistemi olarak kullanılabilmesi için yapılması gereken değişiklikler tespit edilmiştir.
ReconOS'un bellek erişimi performansının, çalışmada kullanılan Zynq-7000 platformunun sağlayabileceği performansa göre çok düşük olduğu tespit edilmiştir. Bu problemin çözümü için yeni bir bellek arayüzü geliştirilmiş ve ReconOS'a entegre edilmiştir.
Çok kullanıcılı işletim sistemlerinde bulunması zorunlu olan bellek koruması, görev yönetimi, görev soyutlaması ve zaman paylaşımı problemleri üzerinde çalışılmıştır. Bu problemlere pratikte uygulanabilecek çözümler geliştirilerek Zynq-7000 platformu üzerinde gerçeklemesi yapılmıştır.
Geliştirilen işletim sisteminin testi için video oynatma, bellekte veri kopyalama, basit görüntü işleme gibi alanlarda kullanıcı uygulamaları geliştirilmiştir. Kullanıcı uygulamaları ile işletim sistemi Xilinx ZedBoard kiti üzerinde test edilmiştir.

Abstract:
Today, FPGA-based Hardware/Software Co-design applications are frequently used in many areas such as high performance computing, video processing, automation, automotive, and communications. Since there is not any standardized operating system used for FPGA applications, it is usually required to start developing from scratch for both software and hardware. This need is met partly by the Reconfigurable Operating System studies. The studies in this area is focused on real-time systems and high performance computing.
The purpose of this study is to develop an operating system architecture which supports FPGA based reconfigurable computing in general purpose computer model.
Firstly, reconfigurable operating systems which capable of providing necessary infrastructure was analyzed and decided to using ReconOS as basis for study. Changes needed to using ReconOS as multi-user operating system were identified.
It was detected that the memory access performance provided by the ReconOS is quite lower compared to the memory performance offered by the Zynq-7000 architecture. A new memory interface has been developed and integrated to ReconOS to solve this problem.
Work was made on memory protection, process management, process abstraction and time sharing issues which mandatory in multi-user operating systems. Practical solutions have been developed for these issues and implemented on Zynq-7000 platform.
User applications such as data copying, simple image processing, video playback were developed for the operating system test. Operating system was tested on Xilinx ZedBoard Development Board.