Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2"

Transkript

1 Paralel Programlama Ortamları Elis Soylu 1, M. Akçay 2 1 Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2 Dumlupınar Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü,Kütahya esoylu@ogu.edu.tr, makcay26@gmail.com Özet: Bu çalışmada paralel programlama mantığından bahsedilip, bu ortamların karakteristik özellikleri üzerinde durulacaktır. Okunabilirlik, kısalık, hata kontrolü, sınıf metot yapıları, etkinlik, modülerlik ve polimorfizm gibi özellikler incelenecektir. MPI (Message Passing Interface), Java Thread, CUDA (Compute Unified Device Architecture), OpenMP, PThread ve Haskell dilleri ile paralel matris çarpımı algoritması üzerinde inceleme yapılacaktır. Anahtar Sözcükler: Paralel Programlama, Matris Çarpımı, MPI, Java Thread, CUDA, OpenMP, PThread, Haskell. Parallel Programming Platforms Abstract: In this paper, parallel programming s logic is mentioned and these platforms characteristical properties will be given. Readability, brevity, error checking, class-method structure, effiency, modularity and polymorphism will be investigated. Parallel matrix multiplication algorithm will be investigated with MPI (Message Passing Interface), Java Thread, CUDA (Compute Unified Device Architecture), OpenMP, PThreads and Haskell. Keywords: Parallel Programming, Matrix Multiplication, MPI, Java Thread, CUDA, OpenMP, PThread, Haskell. 1. Giriş Bilgisayar programcıları programlama sürecinin başından beri mevcut hesaplamayı daha da hızlı yapabilmek için büyük çaba harcamışlardır. Bu çaba özellikle modellemeler, mühendislik çalışmaları ve bilimsel hesaplamalarda daha zorunlu hale gelmiştir. Bu ihtiyaçlar ile paralel programlama kavramı ortaya çıkmıştır. Paralel programlama, bir problemin birden fazla bilgisayar veya işlemci kullanılmasıyla kısa sürede çözüme ulaşılması için kullanılan bir yöntemdir. Paralel programlamanın en temel kilit noktaları; haberleşme ve senkronizasyondur. Dolayısıyla bu kilit noktalarıyla birlikte donanımsal özellikler yazılımsal özellikler ile uyumlu olarak hareket etmelidir. Birden fazla işlem biriminin olması, birimlerin kontrolünde mimarilerine uygun yazılımlara yönelik işler yapılması gereğini ortaya koyar. Verimli bir kullanım ile mümkün olan optimal sürede işlem sonucunu ortaya koymak en temel amaç olmuştur. Böylece kullanımı kısıtlı olarak gerçekleştirilen paralel programlama değer görmeye başlamıştır. Ayrıca Paralel programlamaya uygun makinelerin de sayısı artmıştır [1]. Paralel programlama uygulandığı biçimler bakımından aşağıdaki farklılıkları içerir. Paralelliğin hangi kısımda yapıldığı Paralel program kısımlarının tanımlanma şekli İşlemcilerin haberleşmesi Paralel kısımların eşzamanlı çalışma prensipleri Uygulanan metotlar ile süper bilgisayarlar denilen normal bilgisayarlardan daha kısa

2 sürede çok fazla veriyle problemin çözümünü yapan makineler ortaya çıkar [2]. 2. İş parçacığı Tabanlı Yöntemler 2.1 Java Thread ile Paralel Programlama Thread, bir programın birbirinden bağımsız işlem parçalarını yürütmekle görevli en küçük parçasıdır. Kullanıcı tarafından ve işlemci tarafından oluşturulan thread ler olmak üzere iki farklı şekli vardır. Kullanıldığı yerlere bakılacak olursa, aynı görev içinde işlemcinin farklı thread leri kullanıma koyması paralel programlamada karşılaşılan kısmıdır. Birçok programlama dilinde thread yapıları kütüphaneler yardımıyla oluşturulur. Bu kütüphanelerden kullanılışı açısından Java Thread uygulama ara yüzü en basit kullanıma sahip olanıdır. Her bir Java programı bir işi, main() metodu ile gerçekleştiren en azından bir thread ile iş yapar. Thread ler arası senkronizasyon ve haberleşme işlerinin dengeli olabilmesi için mutex, lock, barriers ve deadlock gibi metotlara ihtiyaç duyulur [3]. 2.2 CUDA ile paralel programlama Cuda, Nvidia firması tarafından üretilen grafik işlemci birimi kullanılarak paralel programlama yapılan mimari çeşididir. CUDA işlemciyi kullanarak mimari yardımıyla kernel adı verilen programın serileştirilmesiyle paralel yapıya ulaşılır [4]. CUDA, SIMT (Single Instruction Multiple Thread) paralel programlama modeline sahiptir. Thread denilen yapılar uygun sayıda bir araya gelerek warp denilen yapıları, warp lar birleşerek blok ları, blok lar birleşerek grid denen yapıları meydana getirirler. Paralel programlamanın işlemci mimarisiyle en optimal çalıştığı thread sayısı 32 dir. Bu sayı dışında olan durumlar için thread lerde boşta bekleme (idle) denilen durum ortaya çıkar. Thread ler kendi içlerinde yaptıkları işlerde birbirlerinden bağımsız hareket ederler. CPU ile GPU arasındaki haberleşme birbirinden bağımsız algoritma parçaları ile haberleşme trafiği az olacağından daha hızlı çalışır. Örneğin; birbirinin sonucunu bekleyen seri bir algoritma parçasından paralellik adına verimli sonuç almak pek mümkün değildir. Bu gibi durumlarda bant genişliği, haberleşme koşullarına bağlı olarak darboğaz (bottleneck) denilen durumların oluşması sıklıkla karşılaşılan bir durumdur. Bu gibi durumların çözümlenmesi için senkronizasyonun thread ler arasında uygun komutlarla sağlanması gerekir [5]. 2.3 PThread ile Paralel Programlama Birçok çok çekirdekli işlemci thread ler için bir POSIX standardı olarak bilinen POSIX THREAD (PThread) yapısını kullanır. PThread yapısı, C programlama dilinin tipleri, fonksiyonları ve sabitlerini içeren bir kütüphanedir. pthread ön eki kullanılmak üzere yaklaşık 100 civarında PThread prosedürü bulunmaktadır. Bu prosedürler 4 ana başlık altında toplanabilir: Thread yönetimi (thread oluşturma, birleştirme, ) Mutex yapıları Koşul değişkenleri Senkronizasyon En çok kullanılan PThread metotları ise; pthread_create, pthread exit, pthread cancel, pthread attr init, pthread attr destroy şeklindedir [6].

3 2.4 OpenMP ile Paralel Programlama OpenMP, shared memory mimarisini C, C++, Fortran dillerinde destekleyen bir ara yüzdür. Derleyici komutları, kütüphane metotları, ortam değişkenleri gibi yapıları bünyesinde barındırır. OpenMP kütüphanesi taşınabilir bir özellik sunması açısından bilgisayarcılar için paralelleştirmede önemli bir yöntemdir. Çoklu iş parçacığı yönetimini sağlar. Paralel çalıştırılacak kod kısımları thread yapılarına iş bölümü ile dağıtılır. Ompgetthreadnum() fonksiyonu ile her thread kendine özgü işi yapar. Her thread kendine verilen görevi bitirdikten sonra yeni bir iş parçası almak için tekrar kuyruğa girer. İşin tamamı bitene kadar bu döngü devam eder. Hem görev hem de veri paralelliği açısından OpenMP önemlidir [7]. 2.5 Haskell ile Paralel Programlama Haskell, GHC isimli derleyiciye sahip bir fonksiyonel programlama dilidir. Çok çekirdekli mimariler için geniş kütüphane seçeneğiyle oldukça etkilidir [8]. Bir fonksiyonel programlama dili olarak Haskell, veri bağımsızlığı ile birbirinden bağımsız fonksiyonlardan oluştuğu için durum (state) değişikliği gözlenmediğinden paralellik açısından değerlidir. Haskell dili, paralelliği SMP (sharedmemory multi-processed) üzerinde gerçekleştirilir. Thread denilen bağımsız yapılarla paralel olarak işlemciler üzerinde istenilen işlemler kolaylıkla gerçekleştirilir. Parallel isimli ara yüz içinde par ve seq isimli iki fonksiyon ile işlem paralelleştirilir. Eden ve GpH, Haskell dilinin kullanıcıya görev paralelleştirmesini ve verileri ifade etmesini sağlayan önemli türevlerinden biridir [9]. 3. Dağıtık Yöntemler 3.1 MPI ile Paralel programlama MPI (Message Passing Interface), dağıtık mimarideki makinelerde paralel programlama yapmayı kolaylaştıran fonksiyonlar kütüphanesidir. Temel işleyişi, ayrık adres uzaylarına sahip işlemciler arasında mesaj alıp - verme yöntemi şeklindedir. İşlemciler arasında haberleşmeyi sağlamak için MPI_COMM_WORLD komutuyla bir ortam oluşturulur. Bununla birlikte, MPI_Init MPI_Finalize MPI_Comm_Size MPI_Comm_Rank MPI_Send MPI_Receive En sık kullanılan MPI komutlarıdır. Kaynak 0 olarak numaralandırılarak yani verinin yer aldığı ve dağıtılacağı bilgisayar numarası verilerek numaralandırma yapılır. Koşul ifadeleri yardımıyla da bileşen bilgisayarlara veri dağıtımı mesaj yoluyla gerçekleşir. Benzer yolla da verilerin toplanması esnasında mesajlar toplanarak işlenmiş veri elde edilir [10]. 4. Karakteristik Özellikler Java gibi nesnel bir dilde ise class yapısı içinde tip tanımlaması yapılabilir. Java dilinin önemli bir kısmını aşırı yüklenmiş metot yapısı oluşturur. Java dili genel olarak nesnelerle program altyapısını oluşturur. Hem çalışma sırasında hem de derleme aşamasında hata kontrolünü sürekli gerçekleştirir. En önemli özelliği

4 platformdan bağımsız olmasıdır [11]. Haskell dili, dilin tasarımı gereği metot ile tip tanımını birbirinden ayırır. Tip sınıfı ile objenin kullanacağı kurallar belirlenerek bu tanımlama yapılır. Aşırı yüklenmiş metot yapısı bu dil tarafından desteklenmez. Public, Private gibi özellikler Haskell de yer almaz. Bunun yerine bir sınıfın bileşenleri modül sistemi içinde saklanıp, açıklanır. Bir fonksiyonel programlama dili olarak Haskell, polimorfik olması ve yanetkisiz çalışması ile diğer dillerden ayrılır. Atama deyiminin bulunmayışı beraberinde değerlerin çakışmamasını yani yan-etki durumunun ortadan kalkmasını sağlar. Polimorfizm ile de temel sınıflardan yola çıkılarak çeşitli obje yapılarının türetilmesini sağlar [12]. MPI, yapısı gereği hata kontrolünü yapması ve okunabilirliğinin kolay olması ile açıkça ifadesi mümkündür. Görev paralelleştirme metodunu kullanır. CUDA, mimariye uygun şekilde tekrar düzeltilebilir yapısı vardır. Class- metot lar yardımıyla yeni fonksiyonlar üretebilir ve kolayca kullanılabilir. NVIDIA nın tasarladığı Nsight modülü ile hata ve performans kontrolü açıkça listelenir. İşlemcilerin dikkatli bir şekilde etkin kullanımı gerçekleştirilir [13]. PThread, çok işlemcili bir bilgisayarda birçok thread yapısını aynı anda çalıştırır. Thread ler birbirini engellemeyecek düzende iş yapar. Böylece, çok karmaşık işlemler de kolaylıkla thread ler yardımıyla paralelleştirilir. OpenMp ise, taşınabilir ve ölçeklendirilebilir olması açısından paralelliğe uygundur. Bu karakteristik özellikler, matris çarpımı algoritması ile 1000x1000 tipli bir matriste performans incelemesini gösteren tablo aşağıdadır. Programla ma Dilleri OpenMP Java Thread CUDA MPI PThread 8- process Sun Ent. 2 GB M. Haskell Intel Core i-7 6 GB M Donanım Süre Hızlan ma Intel 3.802s 3.320x Core 2 Quad Intel 8.73s 7x Xeon Dual Core GeForce 0.25s 2.56x GTX 280 SC Intel 0.111s 5.70x Core 2 Quad 0.056s x 7.2s 3.8x Tablo 1- Matris çarpımı algoritması ile Paralel programlama ortamlarının performansları Bu tabloda matris çarpımı algoritması, blok parçalama yöntemiyle oluşturulmuştur. Bu algoritmanın karmaşıklığı N, işlemci sayısı olmak üzere seri olarak O(N), paralel olarak O(log N) dır. Elde edilen performanslardan OpenMP platformu ile 4 kere çalıştırılıp ortalama süre hesaplanmıştır [14]. Java için, Java Hotspot JIT in Version 1.6.0_13 ortamında test edilmiştir [15]. CUDA platformu ise belirtilen GeForce işlemcisinde test edilmiştir [16]. MPI ile elde edilen sonuçlar matristeki blokların parçalanması yöntemiyle elde edilmiştir [17]. PThread için diğerlerinden farklı bir makinede yüksek bir performans elde

5 edilmiştir [18]. Haskell platformunda GpH modülü yardımıyla elde edilen her thread yapısına bir blok karşılık gelecek şekilde sonuç elde edilmiştir [19]. 5. Sonuç ve Öneriler MPI, Java Thread, CUDA, Haskell, PThread, OpenMP platformlarının paralellik ile gösterdiği karakteristiksel özellikler temel özellikleriyle birlikte incelenmiştir. MPI ve PThread platformları paralellik açısından daha gelişmiş bir ortama sahiptir. Matris çarpımında blok parçalama yöntemiyle incelenen platformlarda derlenerek performanslarındaki farklılıklar gözlenmektedir. Algoritmaya uygunluğu açısından etkin seçilen bir platform nanosaniye derecesinde de olsa daha hızlı sonuç verebilir. 6. Kaynaklar [1] Erarslan, G., "Paralel Programlama ve MPI", I.pdf [Son Erişim Tarihi:13 Aralık 2014]. [2] Ergün, U., Sayar, A., "Fonksiyonel Programlama Dilleri ile Paralel Programlama", Niğde Üniversitesi Mühendislik Bilimleri Dergisi, Cilt 3, Sayı 2, 1-17, [3] Meyer, B., Pedroni, M., "Concurrent Programming with Java Threads", Software Architecture, 2010, S/0050/slides/13_softarch_self_study_thre ads.pdf [Son Erişim Tarihi: 10 Aralık 2014]. [4] Akcay, M., Sen, B., Orak, I., M., Celik, A., "Paralel Hesaplama ve CUDA", 6th International Advanced Technologies Symposium 2011 (IATS'11), June [5] Akaydın, B., Tunçel M., Introduction to CUDA, ITU Cuda education, [6] Prasad J., Shared Memory Programming with pthreads, Inter- University Centre for Astronomy & Astrophysics Pune, India [7] en.wikipedia.org/wiki/openmp [Son Erişim Tarihi: 18 Aralık 2014]. [8] ell_for_multicores [Son Erişim Tarihi: 10 Aralık 2014]. [9] Coutts, D., Löh, A., Modern Programming languages, Copublished by the IEEE CS and the AIP, 12, , [10] [Son Erişim Tarihi: 11 Aralık 2014]. [11] Çay T., İşcan F., Harita Mühendisliğinde Kullanılan Programlama Dilleri ve Yazılımları, Akademik Bilişim 02, [12] Sabel, D., Schmidt-Schauß, M., Conservative Concurrency Haskell, 27th Annual ACM/IEEE Symposium on Logic in Computer Science, [13] Bhardwaj D., Parallel Computing, Indian Institute of Technology, Delhi India, [14] Chowdhury, R., Parallel Computing with OpenMP to solve matrix Multiplication, UCONN BIOGRID REU Summer, 2010.

6 [15] Häuser, J., A Test Suite for High- Performance Parallel Java, Center for Advanced Computing Research, [16] Dotzler, G., JCudaMP: OpenMP/Java on CUDA, Programming Systems Group, [17] Quinn, M., Parallel Programming in C with MPI and OpenMP, International Edition, [18] 98/ [Son Erişim Tarihi: 18 Aralık 2014]. [19] Loidl, H-W., Comparing Parallel Functional Languages : Programming and Performance, Journal Higher-Order and Symbolic Computation, Kluwer Academic Publishers, Volume 16 Issue 3, , 2003.

Paralel Programlama Ortamları

Paralel Programlama Ortamları Paralel Programlama Ortamları Elis Soylu ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ esoylu@ogu.edu.tr Paralel Programlama Ortamları Paralel Programlama Tanımı İş Parçacığı Tabanlı Yöntemler Java Thread ile Paralel

Detaylı

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME Ecem İren Halilcan Can Akince Aylin Kantarcı Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü

Detaylı

Multicore/Multithread Programlama

Multicore/Multithread Programlama Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok

Detaylı

Bilgisayar Ağları ve Dağıtık Programlama

Bilgisayar Ağları ve Dağıtık Programlama KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI Bilgisayar Ağları ve Dağıtık Programlama 1. Giriş Bu deneyde paralel programlama standartlarından olan MPI (Message

Detaylı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş CUDA GPU ve CPU Intel Gen8 GPU Yardımcı işlemci olarak GPU 2 Giriş Graphical Processor

Detaylı

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

Paralel Hesaplama ve CUDA

Paralel Hesaplama ve CUDA 6. Uluslar arası İleri Teknolojiler Sempozyumu (İATS 11), 16-18 Mayıs 2011, Elazığ, Türkiye Paralel Hesaplama ve CUDA M. Akçay 1 B. ġen 2, Ġ.M. Orak 3, A. Çelik 4 1 University of Dumlupınar, Kütahya/Turkey,

Detaylı

Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları

Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları Yrd. Doç. Dr. Erdal DİKMEN Süleyman Demirel Üniversitesi Fizik Bölümü Araştırma Grubu: Sündüz Korkmaz (Doktora) Oğuz Öztürk (Yüksek Lisans) Hilal

Detaylı

Bölüm 4: Threads (İş Parçaları)

Bölüm 4: Threads (İş Parçaları) Bölüm 4: Threads (İş Parçaları) Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 4: Threads (İş Parçaları) Genel bakış Çok çekirdekli programlama Çok iş parçalı modeller

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN

PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN PARALEL HESAPLAMA ÇAĞRI GİDER 13011016 ENES BİLGİN - 13011004 Paralel Hesaplama Nedir? Paralel Hesaplamanın Avantajları Paralel Hesaplamanın Kullanım Alanları Paralel Hesaplama Yöntemleri, Donanım ve Yazılım

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Süreçler ve İş Parçacıkları(Thread) İşletim Sistemlerine Giriş - Ders03 1 Süreç -Tüm modern bilgisayarlarda bir çok iş aynı anda yapılabilir. *kullanıcı programları çalışır *disk

Detaylı

MONTE CARLO BENZETİMİ

MONTE CARLO BENZETİMİ MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 1: Giriş İçerik Bilgisayar Sistemleri Donanım Yazılım Programlama Program Geliştirme Nesne-tabanlı Programlama C++ Programlama Dili 2 Bilgisayar Sistemleri Kısaca,

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 Yrd.Doç.Dr.Hacer Karacan İçerik Grafik Kullanıcı Arayüzü Uygulamaları AWT, Swing Arayüz Yerleşim Düzeni Temel GKA Bileşenleri Olay Yönetimi Olay Dinleyiciler Olay

Detaylı

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

Fonksiyonel ve Imperative Programlama ile Sıralama

Fonksiyonel ve Imperative Programlama ile Sıralama Fonksiyonel ve Imperative Programlama ile Sıralama Elis Soylu 1, Muammer Akçay 2 1 Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2 Dumlupınar Üniversitesi,

Detaylı

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Aylin Kantarcı Ege Üniversitesi Akademik Bilişim 2015 Eskişehir, 2015 GİRİŞ CISC işlemciler Geriye uyumluluk Karmaşık

Detaylı

Paralel Hesaplama. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

Paralel Hesaplama. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara Paralel Hesaplama Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden paralel hesaplama? Terminoloji Paralel hesaplamanın tarihi Teori: Hızlanma, Amdahl Yasası

Detaylı

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik BLM 4811 MESLEKİ TERMİNOLOJİ II 2017-1 Salı 13.00 14.50, D-109 Dr. Göksel Biricik goksel@ce.yildiz.edu.tr Ders Planı Hafta Tarih Konu 1 19.09 Tanışma, Ders Planı, Kriterler, Giriş 2 26.09 Bilgisayarın

Detaylı

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması E M R U L L A H S O N U Ç A K A D E M I K B I L I Ş I M Ş U B A T 2 0 1 5 E M R U L L A H S O N U Ç,

Detaylı

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi BLM111 Programlama Dilleri I Hafta 7 C Programlama Diline Giriş ve C Derleyicisi Yrd. Doç. Dr. Caner ÖZCAN C Programlama Dili Tarihçesi C programlama dili 1972 yılında Bell Laboratuarlarında Dennis Ritchie

Detaylı

C# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

YZM 3102 İşletim Sistemleri

YZM 3102 İşletim Sistemleri YZM 3102 İşletim Sistemleri Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 5 Bu bölümde, Thread (İş Parçacığı) Thread lerin Faydaları

Detaylı

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr.

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr. DGridSim Gerçek Zamanlı Veri Grid Simülatörü Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011 Mustafa Atanak Sefai Tandoğan Doç. Dr. Atakan Doğan 1. Sistem Mimarisi DGridSim katmanlı bir yapı göz önünde bulundurularak

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi

Detaylı

ODTÜ Kampüs Izgara Hesaplama Uygulaması

ODTÜ Kampüs Izgara Hesaplama Uygulaması ODTÜ Kampüs Izgara Hesaplama Uygulaması Mete Özay, Tuğba Taşkaya Temizel Enformatik Enstitüsü ODTÜ Taslak Kampüs Izgara Hesaplama Mevcut Uygulamalar ODTÜ Kampüs Izgara Hesaplama Sistem Testleri ODTÜ Kampüs

Detaylı

Bilgisayar Mimarisi ve Organizasyonu Giriş

Bilgisayar Mimarisi ve Organizasyonu Giriş + Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi

Detaylı

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Dağıtık Sistemler BİM-434 4/II 2+2+0 3 4,5 Dersin Dili Dersin Seviyesi

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

Intel Parallel Studio ile Paralel Hesaplama

Intel Parallel Studio ile Paralel Hesaplama Intel Parallel Studio ile Paralel Hesaplama Muammer Akçay 1, Hüseyin Aşkın Erdem 2 1 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya 2 Hava Harp Okulu, Havacılık ve Uzay Teknolojileri

Detaylı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 Thread (İşlemcik) Thread (İşlemcik) Nedir? Thread (işlemcik-iplik); Belli bir process e bağlıdır. Bağlı bulundukları process in adres uzayını kullanırlar, Thread

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

MÜFREDAT DERS LİSTESİ

MÜFREDAT DERS LİSTESİ MÜFREDAT DERS LİSTESİ MÜHENDİSLİK FAK. / BİLGİSAYAR MÜHENDİSL / 2010 BİLGİSAYAR MÜHENDİSLİĞİ Müfredatı 0504101 Matematik I Calculus I 1 GÜZ 4 5 Z 0504102 Genel Fizik I General Physics I 1 GÜZ 4 4 Z 0504103

Detaylı

Windows'da çalışırken pek çok durumda bir işe başlamadan önce işletim sisteminin o işe ilişkin bilgileri depolayacağı bir alan yaratması gerekir.

Windows'da çalışırken pek çok durumda bir işe başlamadan önce işletim sisteminin o işe ilişkin bilgileri depolayacağı bir alan yaratması gerekir. Handel Kavramı: Windows'da çalışırken pek çok durumda bir işe başlamadan önce işletim sisteminin o işe ilişkin bilgileri depolayacağı bir alan yaratması gerekir. Alanın yaratıldığı bölge Windows'un kendi

Detaylı

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1 Bölüm1 İlk Bilgiler ISBN 0-321-49362-1 Bölüm 1 Konuları Niye Programlama Dilleri prensiplerini öğreniyoruz? Programlama alanları Dil değerlendirme kriterleri Dit tasarımına etkiler Dil kategorileri Dil

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba 08225 AĞ TEMELLERĠ Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı 20 EKi. 2014 Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş C Programlama Dr. Serkan DİŞLİTAŞ 1.1. C# ile Program Geliştirme.Net Framework, Microsoft firması tarafından

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet

Detaylı

Bilgisayar Mimarisi Nedir?

Bilgisayar Mimarisi Nedir? BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde

Detaylı

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1 Bilgisayar Mühendisliği Bilgisayar Mühendisliğine Giriş 1 Mühendislik Nedir? Mühendislik, bilim ve matematiğin yararlı cihaz ve sistemlerin üretimine uygulanmasıdır. Örn: Elektrik mühendisleri, elektronik

Detaylı

MPI Nedir? Noktadan Noktaya Haberleşme

MPI Nedir? Noktadan Noktaya Haberleşme 1 MPI Nedir? Noktadan Noktaya Haberleşme (Kısım 2) 15-18 Nisan 2009 Özden AKINCI İTÜ Bilişim Enstitüsü UYBHM Uygulama Uzmanı 2 Özet MPI Nedir? MPI Kullanmanın Nedenleri? MPI Programı Nasıl Derlenir? MPI

Detaylı

Yazılım Mühendisliği Bölüm - 3 Planlama

Yazılım Mühendisliği Bölüm - 3 Planlama 1 Yazılım Mühendisliği Bölüm - 3 Planlama 2 3 4 Planlama 5 Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında

Detaylı

İŞLETİM SİSTEMLERİ. (Operating Systems)

İŞLETİM SİSTEMLERİ. (Operating Systems) İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri

Detaylı

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar Mühendisliği Bölümü Balcalı-ADANA İçerik Çalışmanın

Detaylı

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir? Sınıf Diyagramları Sınıf diyagramı statik bir diyagramdır. Bir uygulamanın statik görünümünü temsil eder. Sınıf diyagramı sadece bir sistemin farklı yönlerini görselleştirmek, açıklamak ve belgelemek için

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

Windows Programlama Güz Dönemi

Windows Programlama Güz Dönemi Windows Programlama 2016-2017 Güz Dönemi C#, yeni bir programlama dili olup, iki açıdan önemlidir: Microsoft.NET Framework ü kullanabilmek üzere tasarlanıp geliştirilmiştir. Modern object-oriented metodolojileri

Detaylı

UHeM ve Bulut Bilişim

UHeM ve Bulut Bilişim UHeM ve Bulut Bilişim Özden AKINCI Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) Bilim ve Mühendislik Uygulamalar Müdürü 11.07.2012 UHeM hakkında Vizyon: Yüksek başarımlı hesaplama, bilgi teknolojileri

Detaylı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği Gürol Erdoğan 1, Mustafa Yıldız 1, Mehmet Erdem Türsem 2, Selahattin Kuru 1 1 Enformatik Uygulama ve Araştırma Merkezi, Işık Üniversitesi, İstanbul

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine İŞLETİM SİSTEMLERİNE GİRİŞ - 2 Kaynakların Paylaşımı (Resource Sharing) Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde paylaşılan kaynaklar

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 4 Yazılım: Sistemler ve uygulama yazılımı Prensipler ve Öğrenme hedefleri Sistemler ve uygulama yazılımı bireylerin ve organizasyonların

Detaylı

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1 DERS BİLGİLERİ Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS Programlama Dilleri BIL204 4 3+0 3 5 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü Türkçe Lisans Zorunlu / Yüz Yüze Dersin

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Prosesler Bilgisayar İşletim Sistemleri BLG 312 Prosesler ve Proses Yönetimi bilgisayar sisteminde birden fazla iş aynı anda etkin olabilir kullanıcı programı diskten okuma işlemi yazıcıdan çıkış alma

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition Bölüm 4: İş Parçacıkları 14.1 Silberschatz, Galvin and Gagne 2009 Bölüm 4: İş Parçacıkları Genel Bakış Çoklu İş Parçacığı Modelleri İş Parçacığı Kütüphaneleri İş Parçacıkları ile İlgili Meseleler İşletim

Detaylı

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS DERS BİLGİLERİ Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS Algoritmalar ve Programlama Lab. I BİL 103 1 2+0 2 2 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü Türkçe Lisans Zorunlu

Detaylı

Intel Parallel Studio ile Paralel Hesaplama Muammer AKÇAY 1, Hüseyin Aşkın ERDEM 2 1 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya

Intel Parallel Studio ile Paralel Hesaplama Muammer AKÇAY 1, Hüseyin Aşkın ERDEM 2 1 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya Intel Parallel Studio ile Paralel Hesaplama Muammer AKÇAY 1, Hüseyin Aşkın ERDEM 2 1 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya 2 Hava Harp Okulu, Havacılık ve Uzay Teknolojileri

Detaylı

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0). I.SINIF-1.YARIYIL TÜRK DİLİ I : Haftalık ders 2 saattir (T-2 ) (U-0) (K-2). Ders İçeriği; % 10 Dil, Diller ve Türk Dili, % 15 Dil Bilgisi, Sözcük ve Cümle % 25 Kelime Türleri % 25 Anlatım Öğeleri ve Anlatım

Detaylı

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin

Detaylı

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Programlama Dilleri II Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Ders Hakkında.NET, Ye n i Je n era syo n Inter n et in geliştirilmesi için gerekli ürün ve teknoloji platformudur. Bugün sayısal

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse

Detaylı

Çekirdek Nedir? Ne yapar?

Çekirdek Nedir? Ne yapar? Çekirdek Nedir? Ne yapar? Erkan Esmer Nisan, 2014 İçindekiler 1 Giriş.................................................... 2 2 Çekirdek Tipleri.............................................. 3 2.1 Mikrokernel............................................

Detaylı

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 1 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ İŞLETİM SİSTEMİ OS(Operating System) İşletim sistemi temel olarak, belli girdileri alıp derleyen ve sonuçları üreten program

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri

Detaylı

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Güven Fidan AGMLAB Bilişim Teknolojileri 18/10/11 GRID ÇALIŞTAYI 2007 1 MapReduce Nedir? Büyük data kümelerini işlemek ve oluşturmak

Detaylı

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Nesne Yönelimli Programlama BİM-222 2/II 1+0+2 2 3 Dersin Dili

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C

Detaylı

Java 2 Micro Edition (J2ME)

Java 2 Micro Edition (J2ME) Java 2 Micro Edition (J2ME) Arş.Gör. Cenk ATLIĞ Bahar 2005-2006 Trakya Üniversitesi Bilgisayar Mühendisliği İçerik Giriş MIDP nedir? MIDP in Java 2 Platformundaki yeri Java 2 Platformunda cihazların kullanım

Detaylı

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından

Detaylı

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1 Görsel Programlama DERS 11 Görsel Programlama - Ders11/ 1 ÇOKLU KULLANIM(Multi Threading) Günümüz işletim sistemleri çok görevli(multi tasking) dir. Aynı anda farklı programlar çalışmakta, görevler yerine

Detaylı

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem

Detaylı

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER BİRİNCİ SINIF GÜZ YARIYILI 2015-2016 EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER DEĞİŞİKLİK FORMU COM101 BİLGİSAYAR PROGRAMLAMA

Detaylı

Paralel Gözlemleme Sistemleri Hakkında Kıyaslamalı Çalışmalar

Paralel Gözlemleme Sistemleri Hakkında Kıyaslamalı Çalışmalar Dumlupınar Üniversitesi Paralel Gözlemleme Sistemleri Hakkında Kıyaslamalı Çalışmalar Arş. Grv. Ahmet ÇELİK Yrd. Doç. Dr. Ahmet ÖZMEN İçindekiler Giriş Genel bilgiler Paralel Gözleme Araçları Deneysel

Detaylı

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayarlara ve Programlamaya Giriş COMPE 101 Güz 2 2

Detaylı

Hasan ARMUTLU 1 Muammer AKÇAY 2

Hasan ARMUTLU 1 Muammer AKÇAY 2 Hasan ARMUTLU 1 Muammer AKÇAY 2 1 Uşak Üniversitesi, Karahallı MYO, Bilgisayar Teknolojileri Bölümü, Uşak hasan.armutlu@usak.edu.tr 2 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya makcay@dpu.edu.tr

Detaylı

MATEMATİK BÖLÜMÜ BÖLÜM KODU:3201

MATEMATİK BÖLÜMÜ BÖLÜM KODU:3201 BÖLÜM KODU:01 011-01 01.Yarıyıl Dersleri 0.Yarıyıl Dersleri MTK 101 Analiz I Analysis I 4 1 5 6 MTK 10 Analiz II Analysis II 4 1 5 6 MTK 11 Lineer Cebir I Linear Algebra I 1 4 MTK 1 Lineer Cebir II Linear

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

Swing ve JDBC ile Database Erişimi

Swing ve JDBC ile Database Erişimi Swing ve JDBC ile Database Erişimi JDBC API, tablolanmış herhangi bir tür veriye, özellikle İlişkisel Veritabanı, erişim sağlayan bir Java API sidir. JDBC, aşağıda verilen üç etkinliğin gerçekleştirilebileceği

Detaylı

BLG 1306 Temel Bilgisayar Programlama

BLG 1306 Temel Bilgisayar Programlama BLG 1306 Temel Bilgisayar Programlama Öğr. Grv. M. Mustafa BAHŞI WEB : mustafabahsi.cbu.edu.tr E-MAIL : mustafa.bahsi@cbu.edu.tr Bilgisayar ile Problem Çözüm Aşamaları Programlama Problem 1- Problemin

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol

Detaylı

2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI 2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI Bilgi BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ (BTY) Türkiye de orta eğitimde bilgisayar eğitimi,

Detaylı