Görev. Hafta-06 Processes. Proses. Program Proses. Process Yönetimi. Örnek: Yemek yapmayı seven bir bilgisayarcı bir tarife göre kek yapıyor.

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

Download "Görev. Hafta-06 Processes. Proses. Program Proses. Process Yönetimi. Örnek: Yemek yapmayı seven bir bilgisayarcı bir tarife göre kek yapıyor."

Transkript

1 Hafta-06 Processes Proces Kavramı Proces Planlama Procesler Üzerinde İşlemler Birbirleriyle İlişkili Procesler Procesler Arası İletişim İstemci-Sunucu Sistemleri Arasında İletişim Windows ve Process C Sharp ve Process Görev Genel halde görev çalışır durumda olan programdır. Bu program pasif bir varlıktır. Program kavramı yalnızca dosya belirtir. Process ise aktiftir. Diskteki bir program çalışır duruma geldiğinde artık proses olarak isimlendirilir. Görevler, MİB zamanı, bellek, kütükler, G/Ç aygıt kaynakları gerektirir. Bu kaynaklar ilgili göreve onun oluştuğu anda aktarılır. Görev sonlandıktan veya kesildikten sonra, işletim sistemi bu kaynakları processden alır ve bir diğer processler arasında paylaştırır. Görevin çalışması ardışık işlemlerdir. Görev işletim sisteminde bir iş(process- task) birimidir. İşletim sistemi, farklı görevlerin aynı zamanda çalışmasını ve kaynakların ortak kullanımını kontrol eder Program Proses Örnek: Yemek yapmayı seven bir bilgisayarcı bir tarife göre kek yapıyor. yemek tarifi program malzeme girişler bilgisayarcı işlemci Proses bilgisayarcının yemek tarifini okuyup, malzemeleri elde edip istenilen sonuç için işlemleri yerine getirmesi. Program Proses (örnek devam) O sırada oğlu arı soktu çığlıkları ile içeri girer. Bilgisayarcı yemek tarifinde kaldığı yere işaret koyar, işini bırakır, ilk yardım kitabını alır ve ilgili tedaviye başlar. tedavi yolu program ilaçlar girişler bilgisayarcı işlemci Proses kitaptaki tedavi yöntemi uygulanarak ilk yardım işleminin yapılması Program Proses (örnek devam) Sonuç: işlemci iki proses arasında zamana göre paylaşıldı Proses bir etkinlik bir program, girişler, çıkışlar ve zaman içinde farklı durumlara sahip işlemcinin hangi prosese hizmet vereceği bir algoritma ile belirlenir Process Yönetimi İşletim sistemi, process yönetiminde aşağıdaki işleri gerçekleştirir: Kullanıcı ve sistem birimlerinin oluşturulması, silinmesi Processlerin oluşturulması, durdurulması ve yeniden çalıştırılması Processlerin zamana uyum sağlama mekanizmasının gerçekleştirilmesi Processler arasında iletişim sağlanması Kilitlenmelerin yönetimi

2 Process Kavramı Bir işletim sistemi çeşitli programlar yürütür: Batch sistemi jobs Zaman paylaşımlı sistemler kullanıcı programları veya görevler Kitaplarda görev, task, job ve prosses terimleri neredeyse birbirlerinin yerine kullanılır. Bir process aşağıdaki özellikleri içerir: program sayacı yığın veri bölümü Görevin çalışması, ardışık işlemler süreci şeklinde olup, her bir zaman diliminde görevin yalnız bir komutu çalışabilir. Görev yalnız program kodunu değil, aynı zamanda program sayacının (PC) değeri ile ifade edilen girişimleri, işlemci kayıtçılarının içeriklerini, kesme verilerini (alt program parametreleri, geri dönüş adresleri, geçici değişkenleri) içeren yığın, genel değişkenleri içeren veri bölümünden oluşur ve dahil edilir İki Durumlu Proses İki Durumlu Proses Proseslerin işlemciye sahip olma sıraları kestirilemez program kodunda zamanlamaya dayalı işlem olmamalı Proses iki durumdan birinde olabilir: Koşuyor Koşmuyor Koşmuyor çalışmaya hazır Bloke G/Ç bekliyor Kuyrukta en uzun süre beklemiş prosesin çalıştırılmak üzere seçilmesi doğru olmaz 4.9 Bloke olabilir 4.10 Proces 5-Durum Diyagramı Process 5-Durumları Prosesler yürütülürken durumlarını değiştirirler Sunuş (new): Görev oluşmaktadır. Çalışma Durumu (running): Görevin bir komutu işlemcide gerçekleştirilmektedir. Bekleme Durumu (waiting) : Görev herhangi bir olayın oluşmasını beklemektedir. (Örneğin; G/Ç işleminin bitmesi, herhangi bir sinyalin gelmesi). Hazır Olma Durumu (ready) : Görev işlemciye aktarılmak için beklemektedir. Bu duruma çalışmama durumu veya yürütüme hazır durumda denilmektedir. Bitiş veya Kesilme Durumu (terminated) : Görev çalışmasını bitirdikten sonra bu duruma geçer

3 Processin sonlandırma sebepleri: Uygulamadan çıkma Normal tamamlanmış Hafıza kullanıma uygun olmaması Koruma hatası, Örn: Sadece okunabilen bir dosyaya yazma Aritmetik hata Çalışma zamanı aşımı: Bir görevin veya bir iş parçacığının belirlenen maksimum süreden daha uzun süre beklemesi I/O başarısızlığı Geçersiz komut: Bir verinin yürütüm için ele alınması İmtiyazlı komut Üst görevlerin alt görevleri sonlandırması Processın Durumları Herhangi bir anda sadece bir görev çalışma durumundadır, ama birden fazla görev hazır ve bekleme durumunda olabilir Kuyruklar İkili Kuyruk Çoklu Kuyruk Process Kontrol Bloğu (PCB) Process Kontrol Bloğu (PCB) Her bir görevin çalışması için gereken bilgiler görev denetim bloğunda (PCB=Process Control Blok) bloğunda gösterilir. Görev denetim bloğundaki bilgiler, program sayacı, ana işlem birimi yazmaçları v.s bulunur. Her proces ile ilşkili bilgiler. Process durumu Process sayacı MİB yazmaçları MİB planlanması bilgileri Bellek yönetimi bilgileri İstatistiksel bilgiler G/Ç durumu bilgileri

4 Process Kontrol Bloğu (PCB)-II Procesten Procese CPU Anahtarlama Program sayacı: Görev için sonraki çalıştırılacak program kodunun adresi yazılır. MİB yazmaçları: Bilgisayarların mimarilerine göre farklılık gösterir. Bu yazmaçlarda görevin durumuna ait bilgiler saklanır. Bu bilgilerin saklanmasının önemi, görev kesildikten sonra yeniden çalışmaya başlaması için görev adresinin belli olmasıdır. Örnek; Program sayacı, Yığın. MIB nin planlanması bilgileri: Görev önceliklerini, zamanlama parametrelerini içerir. Bellek yönetimi bilgileri: Taban adreslerini, sayfa ve kesilme adreslerini içerir. İstatistiksel bilgiler: Ana işlem biriminin kullanım süresi görevlerin çalışması için zaman sınırlamaları, görev numaraları gibi bilgiler içerir. G/Ç durumu bilgileri: Göreve ayrılan G/Ç aygıtlarının listesi, görev için açılmış kütüklerin listesi gibi G/Ç durumu bilgilerine içerir Process Planlama Kuyrukları Hazır Kuyruk Ve Çeşitli G / Ç Aygıt Kuyrukları İş kuyruğu sistemdeki bütün procesleri düzenlemek. Hazır kuyruğu hazır ve yürütülmeyi bekleyen anabellekteki bütün procesleri düzenlemek Aygıt kuyruğu-.i/o aygıtları için bekleyen procesleri düzenlemek Process göçleri çeşitli kuyruklar arasındadır Process Planlamanın Tasarımı Görev sisteme sunulduktan sonra görev kuyruğuna yerleşir. Çalışmak için hazır olan ve çalışmayı bekleyen hazır görevler kuyrukta bulunurlar. Kuyruk genelde bağlantılı liste biçiminde oluşturulur. Proceslerin PCB göstergelerini içerir. Görev MIB da belli bir sure içersinde çalıştırılır. Bu sure bitiminden sonra görev, kesme veya herhangi özel bir durumun oluşmasını bekler. I/O aygıtlarını bekleyen görevler, aygıtlar kuyruğunda oluşur. Her aygıtın kendi özel kuyruğu vardır (Örn: Yazıcı). Görevlerin kuyrukta seçilmesi görev planlayıcısının işidir

5 Planlamalar Normal zamanlı planlamalara ilave Uzun vadeli planlayıcılar (veya iş planlayıcısı) hazır process kuyruğuna girecek görevleri seçer. Uzun zamanlı planlamalar seyrek meydana gelir (saniyeler, dakikalar) (yavaş olabilir). Uzun süreli zamanlalar multiprogramlamanın derecesini ölçer (göstergesidir) Görevler: G/Ç yönlü görev zaman hesaplamalardan ziyade G/Ç işlemlerine zaman harçlar, MİB kullanımı çok kısadır. MİB yönlü görev hesaplamalara daha çok zaman harçlar; MİB kullanımı uzundur. Kısa vadeli planlayıcı (veya MİB planlayıcısı) bir sonraki hangi görevin yürütüleceğini belirler ve MİB ye yerleştirir. Kısa vadeli planlayıcılarına sıkça görev düşmektedir. Bu nedenle hızlı olmalıdır(millisaniye) (hızlı olmalı) Bağlam Değiştirme Proses Oluşturma CPU diğer prosese geçtiği zaman, sistem mutlaka eski prosesin durumunu kaydetmeli ve kaydedilmiş durumu yeni prosese yüklemeli Bağlam değiştirme zamanı aşırı yüklenince; sistem geçişler sırasında kullanışlı olmaz Donanın desteği zaman bağımlıdır. Parent proses child prosesi diğer proseslere dönüştürürken oluşturur, bu şekilde prosos ağaçları meydana gelir. Kaynak paylaşımı Parent ve children proses bütün kaynakları paylaşır. Children proses parent prosesin alt küme kaynaklarını paylaşır. Parent ve child proses kaynak paylaşımı yapmaz. İcra Parent ve children proses aynı anda icra edilir. Parent children prosesin sonlandırılmasını bekler Process Oluşturma (Cont.) UNIX sistemlerde Proces ağacı Adres alanı Child proses parentin alanını kopyalar. Child kendisine yüklenmiş olan programa sahip olur. UNIX örnekleri Fork(çatallanmak) sistem yeni proses çağırır. Exec(prosesin farklı bir program olarak çalışmasını sağlar) -> Prosese yeni programla birlikte tekrar alan tahsis edilip çatallanmasından sonra sistem çağrısı kullanılır

6 Proses Sonlandırma Proses son ifadeyi icra ettikten sonra işletim sistemine ne karar vereceğini sorar.(çıkış) Çıkış verisi children prosesten parent a(bekleyerek). Proseslere tahisi edilen alan işletim sistemi tarafından sonlandırılır. Parent proses children prosesin çalıştırılmasını sonlandırabilir. (durdurmak). Child proses tahsis edilmiş kaynakların dışına çıkarılır. Artık Child prosese görev tayin etmez gerekmez. Parent proses çıkış yapar. İşletim sistemi parent proses sonlandırıldıktan sonra child prosesin çalışmasına izin vermez. Basamaklı sonlandırma. Ortak Çalışan Prosesler Bağımsız prosesler diğer proseslerin çalışmasından etkilenmezler. Ortak çalışan prosesler diğer proseslerin çalışmasından etkilenebilir. Proseslerin ortak çalışmasının avantajları Bilgi paylaşımı Hesaplama hızında artış Modüllerden oluşma Uyumluluk Üretici-Tüketici Problemi Ortak çalışan prosesler ile ilgili örnek: Üretici proses tüketici proses tarafından tüketilen bilgiyi üretir. Unbounded(kontrolsüz)-buffer; buffer ın boyutunda kullanımı uygun olmayan bir alana yerleşir. Bounded(kontrollü)-buffer; Sabit buffer boyutunu kabul eder. Bounded-Buffer Paylaşılam Hafıza Çözümü Paylaşılmış verisi #define BUFFER_SIZE 10 Typedef struct... item; item buffer[buffer_size]; int in = 0; int out = 0; Çözüm doğru, ama sadece BUFFER_SIZE-1 öğelerini kullanabilirsiniz Bounded-Buffer Yapımcı Süreç Bounded-Buffer Tüketici Süreç item nextproduced; while (1) while (((in + 1) % BUFFER_SIZE) == out) ; /* do nothing */ buffer[in] = nextproduced; in = (in + 1) % BUFFER_SIZE; item nextconsumed; while (1) while (in == out) ; /* do nothing */ nextconsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE;

7 Procesler arası İletişim (IPC) Süreçler için Mekanizma iletişim ve eylemlerini senkronize etmek. Mesaj sistemi procesler birbirleriyle paylaşılan değişkenlere başvurmadan iletişim kurarlar. IPC iki işleme olanak sağlar: send(mesaj) mesaj boyutu sabit veya değişken receive(mesaj) Eğer P ve Q iletişim kurmak isterse,gerekenler: Birbirleri arasında iletişim linki saptamalılar send/receive aracılığı ile mesaj değiştirmeliler İletişim linkinin uygulanması fiziksel (ör., paylaşilan bellek, donanım yolu) mantıksal (ör., mantıksal özellikler) Linkler nasıl belirlenir? Uygulama Soruları? Bir link ikiden daha fazla süreçle ilişkili mi? iletişim halindeki süreç çiftleri arasında kaç tane link olabilir? Linkin kapasitesi nedir? Sabit ya da değişken boyutlu mesaja hizmet verebilen link var mı? Tek yönlü veya iki yönlü bir bağlantı var mı? Direkt İletişim Dolaylı İletişim Süreçlerin isimleri birbirlerine açıkça gerekir. send (P, message) - süreç P ye mesaj gönderme receive(q, message) süreç Q gelen mesajı alır İletişim linkleri özellikleri Linkler otomatik kurulur Bir link tam olarak iletişim halindeki proces ile ilişkilidir. Her çift aarasında tam bir bağlantı vardır. Bağlantı tek yönlü olabilir ama genellikle çift yönlüdür. Mesajlar posta (aynı zamanda port olarak anılacaktır) ile yönlendirilir ve alınır. Her bir posta kutusunun benzersiz bir kimliği vardır. Procesler sadece bir posta kutusu paylaşarak iletişim kurabilirler. İletişim bağlantısı Özellikleri Sadece süreçler ortak bir posta kutusu kullanıyorsa link kurulur. Bir bağlantı (link), çok sayıda süreçler ile ilişkili olabilir. Her çift süreç çeşitli iletişim bağlantıları (linkleri) paylaşabilir. Bağlantı tek yönlü veya iki yönlü olabilir Dolaylı İletişim Dolaylı İletişim İşlemler Yeni bir posta kutusu oluşturmak Posta kutusu aracılığıyla mesaj göndermek ve almak. Poata kutusunu silmek. İlkeleri gibi tanımlanır: send(a, message) A posta kutusuna mesaj göndermek. receive(a, message) A posta kutusundan bir mesaj almak. Posta kutusu paylaşımı P 1, P 2, ve P 3 A posta kutusunu paylaşır. P 1, gönderir; P 2 ve P 3 alır. Kim mesajı alır? Çözüm En çok iki process ile ilişkili linke izin verilir. Mesaj alma işlemi için sadece bir procese izin verilir Sistem alıcıyı ikendi isteğine bağlı olarak seçer Gönderici alıcı kim bildirir

8 Senkronizasyon Buffering Mesaj geçişi engelli ya da engelsiz olabilir. Engelli, senkronize (eşzamanlı) olarak düşünülebilir. Engelsiz, asenkronize olarak düşünülebilir. Gönderme ve alma ilkeleri engelli veya engelsiz olabilir. Bağlantıyla ilişkilendirilmiş mesaj sırası, şu 3 yolla düzenlenir. 1. Sıfır kapasite 0 mesaj Gönderici, alıcıyı beklemelidir. (buluşma). 2. Sınırlı kapasite n adet mesajın sınırlı uzunlukta olması Bağlantı doluysa gönderici beklemelidir. 3. Sınırsız kapasite sınırsız uzunluk Gönderici hiçbir zaman beklemez Client-Server İletişimi Soketler Soketler Remote Procedure Calls (Uzaktan yordam çağrıları) Remote Method Invocation (Uzaktan yordam isteği) (Java) Soket, bir iletişimin bitiş noktası olarak tanımlanabilir. IP adresinin ve portun birleşimidir :1625 soketi, 1625 portu ve sunucusu demektir. İletişim, bir çift soket arasında meydana gelir Soket İletişimi Remote Procedure Calls (Uzaktan Yordam Çağrıları) Remote procedure call (RPC), yordam çağrılarını bağlı sistemler üzerindeki işlemlere ayırır. Stubs Sunucudaki gerçek yordam için client tarafındaki proxy. Client tarafındaki stub, sunucunun yerini belirler ve parametreleri yönlendirir. Server tarafındaki stub, mesajı alır, yönlendirilmiş parametreleri açar ve yordamı sunucu üzerinde uygular

9 RPC nin Çalışma Prensibi Remote Method Invocation (Uzaktan Yordam İsteği) Remote Method Invocation (RMI), RPC ye benzeyen bir Java mekanizmasıdır. RMI, makinedeki bir Java programının uzaktaki bir nesneden yordam çağırmasına olanak verir n Yönlendirilmesi Windows- Process Bir program çalıştırıldığında işletim sistemi prosesi yönetebilmek için dinamik bir alan tahsis eder ve proses bilgilerini o alana yazar. Windows terminolojisiyle işletim sisteminin bir proses listesi oluşturduğu söylenebilir. Proses nesnesi ise bir KERNEL nesnesidir Proses Kavramı Windows'da bir proses yaratmak için CreateProcess API fonksiyonu kullanılır. Bu fonksiyon bir exe dosyanın ismini alarak onu çalıştırır. Bu fonksiyon programı diskten belleğe yükleyerek çalıştırır. Tabii bir proses listesi oluşturarak prosesin önemli bilgilerini oraya yerleştirir. CreateProcess sonucunda birbirleriyle ilişkili iki önemli değer elde edilir.bunlar proses handle ve proses ID değerleridir. CreateProcess Fonksiyonunun BOOL CreateProcess( LPCTSTR lpapplicationname, LPTSTR lpcommandline, LPSECURITY_ATTRIBUTES lpprocessattributes, LPSECURITY_ATTRIBUTES lpthreadattributes, BOOL binherithandles, DWORD dwcreationflags, LPVOID lpenvironment, LPCTSTR lpcurrentdirectory, LPSTARTUPINFO lpstartupinfo, LPPROCESS_INFORMATION lpprocessinformation );

10 CreateProcess Fonksiyonunun Fonksiyonun birinci parametresi çalıştırılacak exe dosyanın ismidir. Dosya ismi path içerebilir. Bu durumda dosya yalnızca path ile belirtilen dizin içerisinde aranır. Eğer path içermiyorsa arama işlemi otomatik bazı dizinler içerisinde yapılmaktadır. Fonksiyonun ikinci parametresi main ya da WinMain fonksiyonlarına geçirilecek komut satırı argümanlarını belirtir. Pek çok program komut satırı argümanı olarak bir dosya ismini alacak biçimde yazılmıştır. Komut satırı argümanının ilk ayrık string'i birinci parametresiyle belirtilen dosya ismi olması gerekir. Yani komut satırı argümanı boşluklarla ayrılmış olarak girilebilir, ancak ilk boşluksuz string'in çalıştırılacak programı belirtmesi gerekir. CreateProcess Fonksiyonunun 1. Fonksiyon genellikle birinci parametre NULL, ikinci parametreyse en azından çalıştırılacak dosya ismini barındıracak şekilde çağırılır. Örneğin: CreateProcess(NULL, TEXT("winword.exe mytext.doc ),...); 2. İkinci parametre belirtilemek zorunda değildir ama belirtilecekse ilk string'in çalıştırılacak dosya ismini kesinlikle içermesi gerekir. 3. İki parametre de kullanılırsa dosya ismi birinci parametresiyle belirtilen biçimde aranır. 4. Fonksiyon UNIX'teki exec fonksiyonundan esinlenerek tasarlanmıştır CreateProcess Fonksiyonunun Fonksiyonun üçüncü ve dördüncü parametreleri ileride ele alınacak olan güvenlik bilgileridir. Bu parametreler NULL olarak geçilirse default durum ele alınır. Fonksiyonun beşinci parametresi yaratılan prosesin yaratan prosesin handle bilgilerini kullanıp kullanamayacağını belirler. Bu paranmetre TRUE olarak geçilebilir. Fonksiyonun altıncı parametresi yeni prosesin.alışma özellikleriyel ilgilidir. Bu parametre çeşitli sembolik sabitlerin bit OR ile birleştirilmesi ile girilebilir. Bu parametre tamamen 0 biçiminde de girilebilir. Bu durumda default bazı belirlemeler yapılmış olur. Bu parametrede aynı zamanda prosesin öncelik derecesi de belirtilebilmektedir. Prosesin öncelik derecesi prosesin kullandığı CPU zamanıyla ilgilidir CreateProcess Fonksiyonunun Fonksiyonun yedinci parametresi kullanılacak çevre değişkenlerini belirten yazının adresini alır. NULL olarak girilebilir. Fonksiyonun sekizinci parametresi programın default dizinini belirtmektedir. Pek çok API fonksiyonu parametre olarak dosya ismi almaktadır. Bu dosya ismi path ifadesi belirtilmeksizin kullanılırsa burada belirtilen dizin içerisinde işlem yapılır. NULL olarak geçilirse CreateProcess fonksiyonunu çağıran programın default dizini default dizin olarak kabul edilir. Fonksiyonun dokuzuncu parametresi STARTUPINFO türünden bir yapının adresini alır. Bu yapının içi CreateProcess tarafından faydalı bilgiler tarafından doldurulmaktadır. Ancak bu yapının ilk elemanı yapının uzunluğunu tutan DWORD türünden bit değişkendir. Yapının bu elemanının fonksiyona gönderilmeden önce uygun bir biçimde doldurulması gerekir CreateProcess Fonksiyonunun Örneğin: STARTUPINFO si = sizeof(startupinfo) ; CreateProcess(..., &si,...); Fonsiyonun onuncu parametresi PROCESS_INFORMATION isimli bir yapının adresini alır. Yani bu türden bir yapı değişkeni tanımlanıp adresi geçilmelidir. Bu yapının iki önemli elemanı yaratılan proses nesnesine ilişkin ID ve handle değeridir. CreateProcess Fonksiyonunun Aşağıda örnek bir CreateProcess çağırması görülmektedir: BOOL bresult; STARTUPINFO si = sizeof(startupinfo) ; PROCESS_INFORMATION pi; bresult = CreateProcess(NULL, "NOTEPAD.EXE", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi); if (!bresult) MessageBox(NULL, "Process creation error", "Error", MB_OK);

11 UNIX'te Prosesin Çalıştırılması Kernel Nesenleri Windows sisteminde CreateProcess fonksiyonunu çağıran prosese parent process oluşturulan prosese ise child process denir. Ancak parent-child ilişkisi Windows'da çok önemli değildir. Yalnızca handle tablosunun kullanımıyla sınırlıdır. Halbuki UNIX'te prosesler arasındaki parent-child ilişkisi başka konuları kapsayacak biçimde daha geniştir. İşletim sisteminin içsel çalışmasına özgü olan nesnelere(handle alanlarına) kernel nesneleri denir. Örnek kernel nesnekleri şunlardır: Process Thread Mutex Event File Semaphore Kernel Nesenleri Örneğin CreateProcess fonksiyonu ile process kernel nesnesi yaratılmaktadır. Process kernel nesnesiyle yaratılan alana özel olarak process database denilmektedir. Process database ve diğer kernel nesneleri Microsoft tarafından dokümante edilmemiştir. Kernel nesnelerinin içsel veri yapısı Windows sürümleriyle Microsoft tarafından değiştirilmektedir. Kernel Nesenleri Kernel nesnelerinin içsel yapısı dokümante edilmemiş olmasına karşın bütün kernel nesnelerinin ilk iki elemanı ortaktır ve bu bilgi pek çok makalede belirtilmiştir. Kernel nesnelerinin ilk DWORD elemanı nesnenin hangi kernel nesnesi olduğunu anlatan bir sayıdır. İkinci DWORD elemanı ise ilerde bahsedilecek olan nesnenin sayaç elemanıdır. Kernel nesnelerinin geri kalan elemanları nesnenin türüne bağlı olarak değişebilmektedir Process Handle Tablosu Process Handle Tablosu Her processin kernel nesnelerinin handle değerlerine ilişkin bir process handle tablosu vardır. Process handle tablosunun yeri process database içerisinde saklıdır. Bütün Kernel nesnelerine ilişkin handle değerleri aslında process handle tablosunda bir index belirtir. Kernel nesnesinin gerçek adresi buradan alınmaktadır. Örneğin CreateFile API fonksiyonuyla bir dosya açılmış olsun: hfile = CreateFile(...); Bu handle bilindiğinde File Kernel nesnesine şöyle erişilir: 1. İşletim sistemi handle'ın kullanıldığı process'i tespit eder. 2. İlgili process'in process handle tablosunu bulur. 3. Handle değerini index yaparak file kernel nesnesinin adresine erişir

12 Process Handle Tablosu Buradan çıkan en önemli sonuç bütün kernel nesnelerine ilişikin handle değerlerinin yalnızca o process için anlam taşıyan göreli bir değer olduğudur. Örneğin A process'i CreateFile fonksiyonu ile bir dosya yaratıp elde ettiği handle değerini bir yöntemle B process'ine process'e iletse B process'i bu handle ile o dosyaya erişemez. Çünkü iki process'in process handle tabloları birbirlerinden farklıdır. #include <windows.h> #include <stdio.h> // Ornek PID Process Identifier void main () STARTUPINFO sai = 0; //yeni süreç için pencere istasyonu, masaüstü, standart kolları ve // ana pencerenin görünümünü belirtmek için kullanılır PROCESS_INFORMATION pi; // Yeni oluşturulan süreç ve birincil iş parçacığı hakkında bilgi. sai.cb = sizeof(sai); // Yapının boyutları, byte olarak. CreateProcess (TEXT("c:\\windows\\notepad.exe"), NULL, NULL, NULL, FALSE, 0, NULL, NULL, &sai, &pi); printf("yeni Olusan process PID : %d \n", pi.dwprocessid); printf("ana process PID : %d \n", GetCurrentProcessId()); Ornek -3.8 Bekleme Programı C# ve Process-I #include <windows.h> #include <stdio.h> void main () STARTUPINFO sai = 0; PROCESS_INFORMATION pi; sai.cb = sizeof(sai); CreateProcess ("Merhaba", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &sai, &pi); waitforsingleobject(pi.hprocess, INFINITE); printf( islem Tamam\n"); using System.Diagnostics; class Program static void Main() Process.Start("C:\\"); using System; using System.Diagnostics; C# ve Process-II namespace DiagnosticsProcess class Program static void Main(string[] args) Process CurrentProcess = Process.GetCurrentProcess(); Console.WriteLine("ProcessName: 0", CurrentProcess.ProcessName); using System; using System.Diagnostics; namespace DiagnosticsProcess class Program static void Main(string[] args) Process[] proclist = Process.GetProcesses(); // Dizideki ilk 20 process süreçlerinin çıkışı for (int i = 0; i < 20; i++) Console.Write(" 0 - ProcessID: 1 ", i+1, proclist[i].id); Console.WriteLine("ProcessName: 0", proclist[i].processname);

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ölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

Proses. Prosesler 2. İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri 2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev

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ı

PROSESLER. Proses. Proses

PROSESLER. Proses. Proses Proses 2 PROSESLER Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkin birden fazla proses olabilir.

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Giriş Bilgisayar İşletim Sistemleri BLG 312 İplikler geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü vardır bazı durumlarda, aynı adres uzayında birden fazla akış kontrolü

Detaylı

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir 3 İPLİKLER Giriş geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var. aynı adres uzayında birden fazla akış kontrolü gerekebilir aynı adres uzayında çalışan paralel

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ı

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 - 4 Bu bölümde, IPC (Interprocess Communication) Shared

Detaylı

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var.

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var. Giriş 3 İPLİKLER geleneksel işletim sistemlerinde her in özel adres uzayı ve tek akış kontrolü var. aynı adres uzayında birden fazla akış kontrolü gerekebilir aynı adres uzayında çalışan paralel ler gibi

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

İşlem Yönetimi (Process Management)

İşlem Yönetimi (Process Management) İşlem Yönetimi (Process Management) 2 Bir işletim sisteminde, temel kavramlardan bir tanesi işlemdir. İş, görev ve süreç kelimeleri de işlem ile eşanlamlı olarak kullanılabilir. Bir işlem temel olarak

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ı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 VERİ YAPILARI Sunu Planı Kendini-gösteren Yapılar Dinamik Bellek Tahsisi Bağlı Listeler Yığınlar Kuyruklar Ağaçlar 1 Veri Yapıları Şu ana kadar, diziler, matrisler ve yapılar

Detaylı

Widows un çalışmasında birinci sırada önem taşıyan dosyalardan biriside Registry olarak bilinen kayıt veri tabanıdır.

Widows un çalışmasında birinci sırada önem taşıyan dosyalardan biriside Registry olarak bilinen kayıt veri tabanıdır. Registry: Windows un bütün ayarlarının tutulduğu bir veri tabanıdır. Widows un çalışmasında birinci sırada önem taşıyan dosyalardan biriside Registry olarak bilinen kayıt veri tabanıdır. Win.3x sistemlerinde

Detaylı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,

Detaylı

http://alikoker.name.tr Sanal Bellek Kullanımına İlişkin Bilgiler

http://alikoker.name.tr Sanal Bellek Kullanımına İlişkin Bilgiler "Programming Applications for Microsoft Windows (4th Edition)" Jeffrey Richter "Advanced Windows" Jeffrey Richter "Win32 Systems Programming" "www.tdsoftware.tr.cx" Sanal Bellek Kullanımına İlişkin Bilgiler

Detaylı

İşletim Sistemlerinde Proseslerin Çevre Değişkenleri

İşletim Sistemlerinde Proseslerin Çevre Değişkenleri İşletim Sistemlerinde Proseslerin Çevre Değişkenleri Kaan Aslan 21 Temmuz 2008 Modern işletim sistemlerinde her prosesin bir çevre değişken bloğu vardır. Prosesin çevre değişken bloğu çevre değişkenlerinden

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

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ı

UNIX/Linux ve Windows Sistemlerinde stdin, stdout ve stderr Dosyaları

UNIX/Linux ve Windows Sistemlerinde stdin, stdout ve stderr Dosyaları UNIX/Linux ve Windows Sistemlerinde stdin, stdout ve stderr Dosyaları Kaan Aslan 31 Mart 2010 Yalnızca UNIX/Linux sistemlerinde değil modern işletim sistemlerinin çoğunda aygıtlar birer dosyaymış gibi

Detaylı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; Performans:

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 - 3 Bu bölümde, Proses Kavramı Proses Üzerindeki Bilgiler

Detaylı

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers) 1 BLM 112- Programlama Dilleri II Hafta 5 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan Hiç hata yapmayan insan, hiçbir şey yapmayan insandır. Ve hayatta en büyük hata, kendini hatasız sanmaktır. ~Y.

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ı

İş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ı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

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ı

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2 İş Sıralamanın Amaçları İŞ SIRALAMA İşleri zaman içinde işlemciye yerleştirmek Sistem hedeflerine uygun olarak: İşlemci verimi Cevap süresi (response time) Debi (throughput) 23 İş Sıralama İş Sıralama

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ı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

F.Ü. Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuvarı DENEY NO: 6 JAVA İLE DAĞITIK PROGRAMLAMA.

F.Ü. Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuvarı DENEY NO: 6 JAVA İLE DAĞITIK PROGRAMLAMA. F.Ü. Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuvarı DENEY NO: 6 JAVA İLE DAĞITIK PROGRAMLAMA Deneyin Amacı: Bu deneyde nesne tabanlı bir programlama dili olan JAVA

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri 6 İŞ SIRALAMA İş Sıralama Çok programlı ortamlarda birden fazla proses belirli bir anda bellekte bulunur Çok programlı ortamlarda prosesler: işlemciyi kullanır bekler giriş çıkış bekler bir olayın olmasını

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ı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Süreçler Arası İletişim (IPC-Inter Process Communication) İşletim Sistemlerine Giriş - Ders02 1 Süreçler Arası İletişim Süreçler, sıklıkla birbirleri ile iletişim kurarlar. Bir

Detaylı

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması Sistem Programlama Sistem programlama bilgisayar mühendisliğinin bir alanı olup karmaşık sistemlerin ve bu sistemlerin parçalarının ile ilgilenir. İşletim Sistemlerinin Programlaması Giriş/Cıkış( I/O)

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Girdi/Çıktı (I/O) İşletim Sistemlerine Giriş - Ders11 1 Girdi/Çıktı (I/O) İşletim sisteminin temel fonksiyonlarından biride bilgisayardaki tüm I/O aygıtlarını kontrol etmesidir.

Detaylı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

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ı

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ı

PROCESS YARATIMI (TEKRAR):

PROCESS YARATIMI (TEKRAR): PROCESS YARATIMI (TEKRAR): Gecen haftaki dersten hatırlayabileceğiniz üzere, bir process başka bir process yaratabilmesi için UNIX sistemlerinde fork() sistem çağrısı kullaılıyordu. Başka bir process yaratan

Detaylı

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

Bölüm 9. Altprogramlar ISBN

Bölüm 9. Altprogramlar ISBN Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda

Detaylı

İş Parçacıkları Thread(s)

İş Parçacıkları Thread(s) İş Parçacıkları Thread(s) Bir çok geliştirici programlarını doğrusal(linear) bir şekilde oluşturmaktadır. Böyle bir durumda tek bir processin işini bitirmesi beklenmekte ve ardından bir sonraki kod parçasına

Detaylı

11- FONKSİYONLAR (FUNCTIONS)

11- FONKSİYONLAR (FUNCTIONS) 1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar

Detaylı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

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ı

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş Kaynak : Douglas E. Comer, Computer Networks and Internets With Internet Applications, 4. Baskı, 2004, Prentice Hall Hazırlayan : Tacettin

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Öğr. Gör. M. Ozan AKI r1.0 Algoritmalar (Algorithms) Algoritma, bir problemin çözümünü sağlayan ancak deneme-yanılma ve sezgisel çözüme karşıt bir

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers)

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers) 5. İşaretç iler (pointers) C dilinin öyle bir özelliği vardır ki, programlama dilleri arasında kendisini diğerlerinden ayıran bir fark olarak sunulur: işaretçiler. Aslında, bazı diğer dillerde de direkt

Detaylı

Bilgisayar Programcılığı

Bilgisayar Programcılığı Bilgisayar Programcılığı Uzaktan Eğitim Programı e-bġlg 121 AĞ TEKNOLOJĠLERĠNĠN TEMELLERĠ Öğr. Gör. Bekir Güler E-mail: bguler@fatih.edu.tr Hafta 5: Ağ (Network) katmanı I 4. 1 Giriş 4.2 Sanal devre (virtual

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR

Yrd.Doç.Dr. Celal Murat KANDEMİR Bilgisayar Mimarisi Ara Bağlantı Yapıları ve Bus Kavramı Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Ara Bağlantı Yapıları Bir bilgisayar sistemi MİB, bellek ve

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

BİL132 Bilgisayar Programlama II

BİL132 Bilgisayar Programlama II BİL132 Bilgisayar Programlama II 8. Olağandışı durumlar (exceptions) Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yüksel Tarhan Olağandışı durum Kütük bulunamadı Diskte yer kalmadı Nesne referans

Detaylı

Soket IPC (bağlantı doğrultusunda olan istemci and sunucu operasyonları) Sunucu. İstemci. socket() Bir soket yarat. bind()

Soket IPC (bağlantı doğrultusunda olan istemci and sunucu operasyonları) Sunucu. İstemci. socket() Bir soket yarat. bind() Soket IPC (bağlantı doğrultusunda olan istemci and sunucu operasyonları) Sunucu Bir soket yarat Sokete iyi bilinen bir port numarası bağla Bağlantılar için bir dinleme kuyruğu oluştur Bir bağlantıyı kabul

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

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 9 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Dizileri Fonksiyonlara Dizileri Fonksiyonlara Bir dizi argümanını fonksiyon içinde bir değer olarak kullanabilmek

Detaylı

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları Max - Min Heap Öncelikli kuyruk konusunu hatırlayın. Kuyruğa sonradan eklenmesine rağmen öncelik

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

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ı

YMT219 VERİ YAPILARI ÖDEV-1

YMT219 VERİ YAPILARI ÖDEV-1 YMT219 VERİ YAPILARI ÖDEV-1 1. İkiliBul yordamı aşağıda verilmiştir. İkiliBul yordamı A dizisi içerisinde 2 tane eşit sayı bulursa true bulamazsa false döndürmektedir. public boolean ikilibul(int[] A){

Detaylı

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Görsel Programlama DERS 12. Görsel Programlama - Ders12/ Görsel Programlama DERS 12 1 Java Ağ İşlemleri (Java Networking) Birbirleri ile ağ araçları ve kabloları ile bağlantılı bilgisayarlar bir ağ sistemi oluştururlar. İnternet, şirketlerin yerel bilgisayar

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ı

T.C. FIRAT ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ ELEKTRONİK VE BİLGİSAYAR BÖLÜMÜ

T.C. FIRAT ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ ELEKTRONİK VE BİLGİSAYAR BÖLÜMÜ T.C. FIRAT ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ ELEKTRONİK VE BİLGİSAYAR BÖLÜMÜ İŞLETİM SİSTEMLERİ (Ders Notları) Yrd.Doç.Dr. İbrahim TÜRKOĞLU ELAZIĞ- 2003 İÇİNDEKİLER 1. Bilgisayar Sistemlerinin Yapısı

Detaylı

İşletim Sistemlerinde Çok Prosesli Çalışma

İşletim Sistemlerinde Çok Prosesli Çalışma İşletim Sistemlerinde Çok Prosesli Çalışma Kaan Aslan 4 Mart 2008 İşletim sistemlerini proses yönetimine göre kabaca tek prosesli (single processing) ve çok prosesli (multiprocessing) olmak üzere iki gruba

Detaylı

API(Application Programming Interface) Fonksiyonları:

API(Application Programming Interface) Fonksiyonları: API(Application Programming Interface) Fonksiyonları: Bir işletim sisteminin çalışırken kendisinin kullandığı, programcının da dışarıdan çağırabileceği fonksiyonları vardır. Bunlara sistem fonksiyonları

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ı

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ı

SIMAN KULLANIM KILAVUZU

SIMAN KULLANIM KILAVUZU SIMAN KULLANIM KILAVUZU Önder Öndemir SIMAN Simülasyon programı Model Çatı ve Deneysel Çatı olmak üzere iki kısımdan oluşur. Model çatı genel itibariyle modullerin ve işlem bloklarının yazıldığı kısımdır.

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

KOD PARÇACIKLARI 1 / 5

KOD PARÇACIKLARI 1 / 5 KOD PARÇACIKLARI 1 / 5 Kod Parçacıkları (CodeSnipet) Kod parçacıkları paneli animasyon yazılımının beşinci versiyonunda gelmiş bir yeniliktir. Kod yazmak yerine panelden ilgili kodu seçip çift tıklamak

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Bellek Yönetimi (Memory Management) İşletim Sistemlerine Giriş - Ders08 1 Bellek Yönetimi Bellek önemli bir kaynaktır ve dikkatli yönetilmelidir. İşletim sistemlerinde bellek

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Genel bakış I/O donanımı Uygulama I/O arayüzü Çekirdek

Detaylı

Bilgisayar Sistemlerine Genel Bakış

Bilgisayar Sistemlerine Genel Bakış Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.

Detaylı

DİSK DEPOLAMA ALANLARI

DİSK DEPOLAMA ALANLARI DİSK DEPOLAMA ALANLARI 1. Giriş İşlemci hızı ve hafıza kapasitesinin disk hızından çok daha hızlı bir gelişim içinde bulunduğu göz önüne alınırsa, disk kullanımında teorik ilgi ve uygulamanın önemliliği

Detaylı

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun

Detaylı