İşletim Sistemleri (Operating Systems)

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

Download "İşletim Sistemleri (Operating Systems)"

Transkript

1 İşletim Sistemleri (Operating Systems) 1

2 Process (İşlem-Süreç) 2

3 İşletim Sistemi Process Yönetimi Process oluşturma ve sonlandırma (Process creation and termination) Process değiştirme (Process switching) Process zamanlama (Process scheduling) Process senkronizasyonu ve process ler arası iletişim (Process synchronization and inter-process communication) 3

4 Process Tanımı Process: Bir işletim sistemi üzerinde belleğe yüklenerek çalıştırılan program parçalarına verilen isimdir. (komut satırından yada mouse+click ile) Bir program pasif varlıktır (passive entity), bir process ise aktif varlıktır (active entity). Bir kaynak program durgun bir komutlar dizisi şeklinde bulunurken, process bu komutlar dizisinin işletilmesi anındaki durumuna verilen isimdir. Process lerin bazısı işletim sistemini çalıştırmaya yararlar, bazıları ise kullanılan diğer programları çalıştırmaya yararlar. Program: Verileri işlemek üzere oluşturulan komutlar/komut kümeleridir. Process: Bir programın bilgisayar sistemlerince işletimi esnasında aldığı isimdir. 4

5 Process Tanımı 5

6 Process Tanımı Klasik process; Von Neumann mimarisi bilgisayarlarda işletilmekte olan programa ait bir tabirdir. Daha sonraları modern process ve thread (iplik) kavramı ortaya çıkmıştır. Programcılar programlarının değişik kısımlarını bir thread kümesi olarak tek bir klasik process çatısı altında geliştirebilirler. Klasik process ler, tek bir thread e sahip modern process ler olarak düşünülebilir. 6

7 Process Tanımı İşletilen her program için en az bir process tanımlanır. Aynı programa ilişkin birden fazla process olabilir. Her process, yeni başka process ler de üretebilir. Bir programı birden çok process in çalıştırmasının avantajları ve dezavantajları vardır. Avantajı; bir programın çalışması için birden çok process çalıştığı için o program kısa sürede işleme girebilir. Dezavantajı; ne kadar çok process olursa, bilgisayarın RAM belleğinde o kadar çok yer işgal edilecektir ve CPU bir program için birden fazla process işleyeceği için bu işlemciyi daha çok yükleyecektir. 7

8 Process Tanımı Bir process yapması gereken işi tamamlamak için, CPU süresine, hafızaya, dosyalara, I/O cihazlarına ihtiyaç duyar. Bazı sistem çağrıları ile sistem kaynaklarını kullanırlar. Process çalıştığı sürece bu kaynaklardan ihtiyaç duyduğunu kullanır, çalışması sonlanınca işletim sistemi ayrılmış kaynakları serbest bırakır. Çok görevlilik (Multitasking) özelliğine sahip olan işletim sistemleri, aynı anda birçok process in çalıştırılmasına izin verir. Tek çekirdekli işlemciye sahip olan bilgisayarlarda bu iş zaman paylaşımı esasına göre yapılır. 8

9 Process Tanımı Process ler kendi adres alanında (own adress space) çalışırlar ve hafıza koruması (memory protection) uygulanır. Her process kendisine ait ayrı bir hafıza alanına sahiptir. Bu sayede bir process in, başka bir process in bilgisine erişmesi engellenmiştir. Bir process için ayrılan alanın başlangıç adresi (base register) ve boyutu (limit register) belirlenmelidir. 9

10 Process Tanımı Bir process : Text (Code) : program code Yığın (Stack) : function parameters, return address, local variables Veri (Data) : global variables bölümlerini içerir. Birbirleri ve dış dünya ile haberleşirler. Process ömrü: oluşturulması ve sonlanması arasında geçen süredir. Process Code Data Stack 10

11 Process Bellek Modeli Stack (Yığın) : Yerel (local) değişkenlerin, fonksiyon çağrılarında parametre aktarımı, dönüş adresinin ve dönüş değerinin saklanması için kullanılır. Yığının çalışması otomatik olarak gerçekleşir. Yerel değişkenler kullanımı başladığı yerde otomatik olarak yığında oluşturulur, kullanım dışına çıkıldığında ise yine otomatik olarak yok edilir. Data : Global değişkenler ve fonksiyonlarda static olarak tanımlanan değişkenler saklanır. Text/Code : Program kodunu ve fonksiyonları saklar. Heap : Dinamik bellek kullanımı için kullanılır. Bu alanın yönetiminden programcı sorumludur. Programcı, C de malloc() ve free() fonksiyonlarını, C++ da ise new ve delete operatörlerini kullanarak ihtiyacı kadar alanı alır ve kullanımı bitince ise aldığı alanı geri vermekle sorumludur. 11

12 Process Bellek Modeli 12

13 Parent-Child Process İlişkisi Genellikle işletim sistemi yüklendiğinde bir başlangıç process i otomatik olarak oluşturulur ve bu process tüm process hiyerarşisinin kökü olur. Bir process oluşturulduğunda bu köke eklenir. Çalışmakta olan bir program başka bir programı çalıştırabilir. Yani bir process başka bir process i oluşturabilir. Bir process in başka bir process i oluşturması durumunda; Oluşturan process, üst process (parent process), Yeni oluşturulan process ise alt process (child process) olarak adlandırılır 13

14 Parent-Child Process İlişkisi root : üst (parent) process p1, p2 ve p3 :root process in alt (child) process leri p4 ve p5 : p3 process inin alt process leri 14

15 Parent-Child Process İlişkisi Alt process (child process) oluşturulur iken, üst process den (parent process) bazı özellikleri almaktadır. Pek çok işletim sisteminde process in erişim hakları, çalışma dizini, dosya betimleyicileri, çevre değişkenleri yeni process oluşturma sırasında üst process den alt process e aktarılır. Alt process aktarılan özellikleri daha sonra değiştirmeden kullanabilir ya da değiştirebilir. Windows sistemlerinde alt-üst process ilişkisi UNIX/Linux sistemlerinden daha zayıftır, yani daha az özellik alt process e aktarılır. 15

16 Process ve Thread Kullanım Modelleri Bir process yeni bir alt (child) process oluşturabilir. Fakat yeni bir process oluşturmak maliyetlidir. Aynı zamanda process contex switching (bağlam anahtarlama) maliyeti de yüksektir. Bu yüzden çok process li yapıya alternatif olarak thread yapısı kullanılabilir. Threadlar process içerisinde oluşturulurlar. Thread process lere göre hafif elemanlardır. Bir process birden fazla thread içerebilir. Bir thread oluşturulduğunda onun için sadece yeni bir stack (yığın) oluşturulur. Bir thread içinde bulunduğu process in heap, text ve data alanlarını paylaşır. Her thread kendi stack (yığın) alanına sahiptir. 16

17 Process ve Thread Kullanım Modelleri Çok Process li Programlama Modeli Tek Process li Çok Thread li Programlama Modeli Çok Process li Çok Thread li Programlama Modeli Çok process li modelin dezavantajı process oluşturma ve process ler arasında contex switching (bağlam anahtarlama) maliyetidir. Çok thread li programlamada thread ler işlemciyi daha verimli kullanır. Üstelik thread oluşturmak daha düşük maliyetlidir. Buna karşılık thread lerden biri başarısız olursa uygulama da başarısızolur ve sonlanması gerekir. Çok process li çok thread li modelde, kritik görevler ayrı process ler olarak kodlanır. Her bir process thread lerden oluşur. Örneğin Oracle veritabanı, chrome ve firefox web tarayıcıları bu modele göre gerçeklenmişlerdir. 17

18 Process Yürütmesinin İzlenmesi Process izi (trace) : İşletim sistemi process zamanlamasını yönetmelidir. Dispatcher aktif process i şu durumlarda takas eder. (1) zaman aşımı oluştuğunda, ya da (2) process istekleri, G / Ç işlemi 18

19 Process Yürütmesinin İzlenmesi 19

20 Dispatcher (Görevlendirici) İşletim sistemi tasarımında kullanılan Dispatcher, işlemci zamanlama algoritmasına (CPU scheduling algorithm) göre beklemekte olan process den sıradakini alıp işlemciye yollayan programın ismidir. Dispatcher zamanı dispatcher ın bir process i bitirip diğerine geçişi arasındaki süredir. Dispatcher mümkün olduğu karar hızlı olmalıdır. 20

21 Dispatcher (Görevlendirici) Bilgisayarda anlık olarak tek process çalışabilir ve bu process o anda çalışmakta olan diğer process ler arasından seçilmiş bir process dir. Örneğin bilgisayarda 10 tane program açık olabilir ama CPU da anlık olarak bir tanesi çalışır. Çalışan programların tamamı bekleme sırasında (ready queue) beklerler. Bir işlemci zamanlama algoritmasına göre process ler dispatcher vasıtası ile sırası geldiğinde Hazır kuyruğundan (ready queue) alınıp işlemciye (CPU) gönderilerek çalıştırılırlar. 21

22 Process Çalışma Modları Kullanıcı modu Düşük haklar ve ayrıcalıklar Kullanıcı programları genel olarak bu modda çalışır Sistem modu / çekirdek modu Yüksek haklar ve ayrıcalıklar İşletim sistemi çekirdek process leri bu modda çalışır 22

23 İki Durumlu Process Modeli Herhangi bir zaman diliminde bir process CPU tarafından ya işletiliyordur yada işletilmiyordur. Yani process ya Koşuyor (Running) yada Koşmuyor (Not Running) durumdadır. 23

24 Beş Durumlu Process Modeli

25 Process Durumları Bir process in herhangi bir andaki eylemi, process in o andaki durumunu belirler. Bir process 5 durumda olabilir. 1. Yeni (New) : Process in oluşturulduğunu gösterir. 2. Hazır (Ready) : Bu durumda bulunan bir process çalışabilir durumdadır ve ana bellekte tutulmaktadır. Eğer bir process çalışmaya başlayabilmesi için gerekli tüm sistem kaynaklarını elde etmişse (ana bellek, teyp birimi, yazıcı vb.) ve sadece arta kalan kaynak olan İşlemciyi (CPU) talep ediyorsa hazır durumda bulunur. İşlemci müsait duruma gelinceye kadar bu process hazır durumda tutulacaktır. İşlemci zamanlama algoritmalarına (CPU scheduling algorithm) göre de sırası gelen process bekleme sırasından (Hazır Kuyruk) alınarak görevlendirici (dispatcher) tarafından CPU ya gönderilir. 25

26 Process Durumları 3. Koşuyor (Running) : Process, işlemciyi şu anda kullanmaktadır. 4. Bekliyor veya Bloke (Waiting or blocked) : Bir process, başka bir process tarafından kullanılan bir kaynağı beklediğinde veya şu anda hazır olmayan bir kaynağı kullanmak ihtiyacı olduğunda bekleme durumuna geçer. (I/O or event wait) 5. Sonlanıyor (Terminated) : Process in sonlandırıldığını gösterir. 26

27 Process Durumları Admitted: New durumundaki bir process in Ready durumuna geçmesidir. (Created) Scheduler Dispatch: Ready Durumundaki process in Running Durumuna Geçmesidir. (Dispatched) Interrupt: Running Durumundaki Process in Ready durumuna geçmesidir. (run-time expires) I/O or Event Wait: Process bir eylemin gerçekleşmesini beklediği durumda running den, waiting durumuna geçer. (Blocks) I/O or Event Completion: Waiting durumundaki process in beklediği durum gerçekleştiğinde Ready durumuna geçer. (event accours) Exit: Çalışması biten processin running durumundan Terminated durumuna geçmesidir. (finished) 27

28 Process Durumları Hazır (Ready) durumda bulunan tüm process ler Hazır durum kuyruğunda bekletilirler. Görevlendirici (dispatcher), Hazır durumda olan bir process i işlemci zamanlama algoritma stratejisi çerçevesinde seçerek çalışması için işlemciye (CPU) gönderir. Böylece process durumu Hazır (Ready) durumundan Koşuyor (Running) durumuna dönüşmüş olur. Process, hazır olmayan bir kaynak beklediği zaman, (giriş/çıkış işlemi veya mesaj alma vb. durumlarda) Hazır durumdan Bekleme/Bloke (Waiting or blocked) durumuna geçer. 28

29 Process Durumları Bir process in daha önceden talep ettiği kaynak işletim sistemi tarafından process e tahsis edildiği zaman process Bekleme/Bloke durumdan Hazır duruma geçiş yapar ve tekrar kuyruğa girer. İşletim sistemi bir kesme (interrupt) vasıtası ile hali hazırda İşlemciyi kullanan process in çalışmasını durdurabilir ve process tekrar Hazır kuyruğuna gönderilir. 29

30 Örnek olarak; Process Durumları Hesap makinası programı çalıştırılmak istendiğinde onu çalıştıran process önce Hazır kuyruğuna geçer, sonra işlemcide işlem görerek Koşuyor durumuna geçer ve program açılır. Daha sonrasında ise hesap makinesi programını çalıştıran process, "Bekleme/Bloke durumu"na geçer. Kullanıcıdan klavye vasıtasıyla rakam girişi beklenir. Rakam girişi veya bir işlem yapılmadığı sürece hep Bekleme/Bloke durumunda kalır. 30

31 Process Durumları Process çalışırken klavye, gibi dışsal bir olayı bekleyecek bir işlem başlatırsa process in çalışıyor olma durumu sona erdirilir ve process bekleme/bloke olmuş duruma getirilir. Çok prosesli çalışmada parçalı çalışma süresi (quantum) boyunca meşgul bir döngü içerisinde sürekli klavyenin yoklanması (polling) etkin bir yöntem değildir. Bu yüzden sistem çalışmakta olan process i bekleme/bloke durumuna aldıktan sonra çalışmaya hazır olan process lerden uygun olan bir başkasını seçerek onun çalışmasını sağlar. Bekleme/Bloke edilen process ler bekleme kuyruklarına alınmaktadır. Dışsal olayı beklemek için bekleme/bloke durumundaki bir process, dışsal olay gerçekleştiğinde bekleme/bloke durumundan çıkartılarak çalışmaya hazır (ready) duruma getirilir. 31

32 Process Durumları Kullanıcı matematiksel bir işlem için rakam girişleri yapıp eşittir tuşuna bastığında; Bekleme-Bloke durumundan çıkar --> Hazır Kuyruğuna geçer --> Çalışır durumuna geçer. Çalışır durumunda CPU'da işlemi gerçekleştirir ve sonucu ekrana yazar, process daha sonra tekrar Bekleme-Bloke durumuna geçer. Kullanıcıdan tekrar bir işlem bekler. Bekleme-Bloke durumunda olduğu sürece işlem yapmaz. Process in sonlanması genellikle (fakat her zaman değil) çalışır durumdayken (run) gerçekleşir. 32

33 Process Durumları Bazen bir process i askıya (suspend) almak faydalı olabilir. Bu, process i belleğin dışına çıkarma ve durumunu diske kaydetmeyi içerir. Bu durum özellikle sistem kaynaklarını serbest bırakırken yararlıdır ve daha yüksek önceliğe sahip diğer process leri çalıştırmaya izin verir. Genellikle Swap (disk takası), işlemlerinde gerçekleşen bu olay iki yeni Process durumunu gerektirir. Ready, suspend New Admit Activate Suspend Admit Ready Suspend Dispatch Running Time out Exit Bekleme/Bloke askıda (Waiting-Blocked-suspended) Hazır askıda (Ready-suspended) Hazır(Ready) veya Bekle(Waiting) durumunda olan process ler, sistemin kaynak talebine bağlı olarak Askıya(Suspend) alınabilir. Waiting/ Blocked, suspend Event Occurs Activate Suspend Waiting/ Blocked Event Occurs Event Wait 33

34 Zombi (Zombie) Process POSIX standartlı işletim sistemlerinde, sonlanmış ancak process tablosundan bilgileri silinmemiş process e zombi process denir. Zombi process ler kullandıkları tüm kaynakları iade etmişlerdir. UNIX/Linux sistemlerinde bir alt process sonlandığında onu oluşturan process wait ya da waitpid fonksiyonlarıyla çıkış kodunu almazsa process, process tablosunda wait işlemi yapılana kadar kalır. Zombi process ler ps komutu ile process listesi alındığında 'z' harfi ile gösterilir. Linux Process/Thread Model 34

35 Process Kuyruğu (Process queue) Bu basit sistemde tek bir kuyruk process leri biriktirmek için yeterlidir. Bir process ya aktiftir (executing) yada pasiftir(waiting) O anda çalışmayan process sırasını bir kuyrukta bekler. Enter Queue Dispatch Processor Exit Pause 35

36 Tek Düzeyli Process Kuyruğu Ancak tek bir bloke kuyruğu kullanıldığında arka sıradaki bir process in beklediği G/Ç işlemi geldiği halde öndeki process leri beklemek zorundadır. Bu problemin çözümü her olay (event) için bir bloke kuyruğu oluşturulacak şekilde kuyruğun yatayda büyütülmesidir. 36

37 Çok Düzeyli Process Kuyruğu Kuyrukta yüzlerce process olduğu düşünüldüğünde her bir olay için bir kuyruk tahsisi yapmak daha verimli bir kullanım olacaktır. İşletim sistemleri genellikle her olay için ayrı bir bekleme kuyruğu oluşturmaktadır. 37

38 Çok Düzeyli Process Kuyruğu Her Process kendi ile ilgili olan kuyruğa girer. Tüm programlar CPU'da işlem görmeden önce, henüz bekleme/bloke durumundayken, herhangi bir rastgele kuyruğa girmez. Sadece kendi ile ilgili olan kuyruğa girer. Çünkü bazı programların çalışması daha uzun sürebilir bazı programların çalışması daha kısa sürebilir. 38

39 Çok Düzeyli Process Kuyruğu Tüm process ler aynı kuyruğa girerse, açılması daha kısa süren program, açılması daha geç olan programında arkasında sıraya girer ise, 1 saniyede açılacak olan program 10 saniyede açılabilir. İşletim sitemi bu problemi önlemek için, benzer işlemleri yapan programları bilgisayar ana belleğinde farklı farklı yerlerde kuyruğa alır. 39

40 Bağlam anahtarlama (context switching) İşlemcinin, paralel işletimi sağlamak üzere bir process işletimini bırakıp diğer bir process işletimine geçmesi belirli önlemler alınmadan yapılamaz. İşletimin yarım bırakıldığı andaki process durum bilgilerinin saklanması gerekir. Yarım bırakılan bir programın tutarlı bir biçimde kaldığı yerden çalıştırılması işletimini bırakıldığı andaki durum bilgilerinin saklanması yoluyla sağlanır. 40

41 Bağlam anahtarlama (context switching) İşlemcinin bir process işletimini, daha sonra devam etmek üzere bırakıp diğer bir process işletimine geçmesi içerik anahtarlama (context switching) olarak adlandırılır. Bu nedenle her process için işletim sistemi tarafından bir veri yapısı tutulur. Bu veri yapısı en azından işletimin hangi komuttan başlayarak sürdürüleceği bilgisini, işlemci yazmaç (register) içeriklerini varsa kullanılan dosyalarla ilgili bilgileri içermek zorundadır. 41

42 Bağlam anahtarlama (context switching) İşlemci (CPU) anlık olarak tek bir iş ile uğraşabilir. Fakat işletim sistemi tasarımında bulunan bir özellik sayesinde, işlemcide birden fazla işin aynı anda çalışıyormuş gibi hissettirilmesi mümkündür. Aslında anlık olarak tek process çalıştırıp birden fazla iş yapıyormuş gibi gösteren işletim sistemi özelliği kısaca çok görevlilik (multi tasking) olarak adlandırılır. Bu özellik işlemcinin (CPU), process leri sırayla çalıştırması sayesinde elde edilir. Process ler arasında işlemcinin geçiş yapmasına da bağlam anahtarlama (context switching) ismi verilir. 42

43 Bağlam anahtarlama (context switching) Çoklu program işleme tekniğinde, CPU da, "bir process den diğer "bir process e geçerken, periyodik olarak context switching gerçekleşir. Aslında her context switching işleminin bilgisayar açısından bir maliyeti vardır. Dolayısıyla context switching aslında iyi bir özellik olmasına karşılık bir de maliyeti vardır ve oranı yükseldikçe dezavantaj haline gelir. 43

44 Bağlam anahtarlama (context switching) CPU, bir process den diğerine anahtarlandığında data ve durum kaydedicilerinin kaydedilmesi gereklidir. Örneğin 1 birimlik bilginin yüklenmesi için20 nanosaniyeye(ns) ihtiyaç duyulduğu ve 50 tanede kaydedici olduğu düşünülürse, bu kaydedicilerin kaydedilmesi 1milisaniye(ms) alacaktır. Ayrıca yeni yüklenecek process in kaydedicileri de 1ms de CPU nun kaydedicilerine aktarılacağından bu süreç 2ms sürecektir. Bu süre zarfında işe dönük birçok komut işletilebilecekken, anahtarlamaya geniş bir zaman ayrılması gerekmektedir. 44

45 Bağlam anahtarlama (context switching) Eğer işletim sistemi bir process çalışırken context switching yapmaya karar verirse, kalınan noktadan itibaren tekrar devam edebilmesi için o anki tüm context'i saklaması ve tekrar yükleyebilmesi gerekir. İşletim sistemi bir process in o anki halini saklamak için Process Control Block (PCB) yapısını kullanır. Bu yapıya tekrar devam edebilmek için gerekli her şey yazılır. Sıra tekrar aynı process e gelince de PCB tekrar yüklenir ve kalınan yerden devam edilir. 45

46 Bağlam anahtarlama (context switching) Contex anahtarlama sırasında işlemler sürekli olarak ana bellek üzerine yazılır ya da ana bellek üzerinden okunurlar. Bu nedenle ana bellek üzerinde sürekli olarak okunup yazılma işlemi gerçekleştirilir, Bu iki durumda istenmeyen durumlardır. Gerçekleşen bu context switching işleminden dolayı belirli bir zaman kaybı olur. İyi bir işletim sisteminde context switching sayısının düşük olması istenir, 46

47 Bağlam anahtarlama (context switching) 47

48 İşletim Sistemi Kontrol Tabloları (OS Control Tables) İşletim sistemi tarafından yönetilen her varlık için tablolar tutulur. Bellek Tabloları G/Ç Tabloları Dosya Tabloları Process Tabloları Her process ve kaynak ile ilgili durum bilgilerinin tutulması gerekir. İşletim sistemi process lerle ilgili gerekli bilgileri bir process tablosu içinde muhafaza eder. 48

49 Process Table, Process Image Process lerin gerçekleştirilmesi sırasında işletim sistemi o process e bir process kimliği vererek process tablosuna ekler. Process tablosunda her process in görüntüsüne (process image) ilişkin işaretçi bilgisi ile görüntünün olduğu belleğin başlangıç adresi saklanmaktadır. 49

50 Process Control Block (PCB) - Process Image Her process, işletim sisteminde process control block (PCB) ) tarafından temsil edilir. 50

51 Process Control Block (PCB) PCB içinde, process numarası, saklayıcı değerleri, program sayaç değeri, process in ana bellekteki başlangıç adresi (eğer process ana bellekte ise), process durumu, öncelik değeri, process in oluşturulma zamanı, kullanılan CPU zamanı, mesaj kuyruk göstergeci, statü değerleri, vb bilgiler saklanır. 51

52 Process Control Block (PCB) Process lerin durum değiştirmeleri sırasında; işlemci bağlamı saklanır, çalışmakta olan process in PCB si güncellenir, çalışmakta olan process uygun kuyruğa (hazır/bloke) alınır, çalışacak yeni process belirlenir, seçilen process in PCB si güncelleştirilir, bellek yönetimi ile ilgili bilgiler güncellenir, seçilen process in bağlamı yazmaçlara yüklenir ve çalıştırılır. 52

53 Process Control Block (PCB) 53

54 Process Control Block (PCB) 54

55 Process Control Block (PCB) Process Identification Processor State Information Process Control Information 55

56 Process Control Block (PCB)- Process Table Proses Kimlik Bilgileri (Process Identification) Kimlik Bilgileri Process kimlik numarası Process in üst process inin-annesinin kimlik numarası Üst process in kullanıcı kimlik bilgisi 56

57 Process Control Block (PCB)- Process Table İşlemci Durum Bilgisi (Processor State Information) Kullanıcıya açık saklayıcılar İşlemcinin makina dili kullanılarak erişilebilen saklayıcıları. Kontrol ve Durum saklayıcıları Program sayacı Durum saklayıcısı Yığın işaretçileri Program durum sözcüğü (çalışma modu biti var) 57

58 Process Control Block (PCB)- Process Table Process Kontrol Bilgileri (Process Control Information) İş sıralama ve durum bilgileri Process durumu Önceliği İş sıralama ile ilgili bilgiler (Hangi bilgiler olduğu kullanılan iş sıralama algoritmasına bağlı. Örneğin: bekleme süresi, daha önce koştuğu süre) Çalışmak için beklediği olay Veri Yapıları Process ler örneğin bir çevrel kuyruk yapısında birbirlerine bağlı olabilir (örneğin aynı kaynağı bekleyen eş öncelikli prosesler). Process ler arasında üst-alt ilişkisi olabilir 58

59 Process Control Block (PCB)- Process Table Process ler arası haberleşme ile ilgili bilgiler Bazı bayrak, sinyal ve mesajlar proses kontrol bloğunda tutulabilir. Process Ayrıcalıkları Bellek erişimi, kullanılabilecek komutlar ve sistem kaynak ve servislerinin kullanımı ile ilgili haklar Bellek yönetimi Process e ayrılmış sanal bellek bölgesinin adresi Kaynak kullanımı Process in kullandığı kaynaklar: örneğin açık dosyalar Process in önceki işlemci ve diğer kaynakları kullanımına ilişkin bilgiler 59

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ı

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

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

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

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

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ı

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ı

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ı

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ı

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

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ı

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

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

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ı

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ş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

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ı

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ı

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ı

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

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

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition Bölüm 5: İşlemci Zamanlaması 5.1 Silberschatz, Galvin and Gagne 2009 Temel Kavramlar Çoklu programlama sayesinde CPU kullanımının optimize edilmesi CPU I/O İşlem Döngüsü Bir işlemin çalıştırılması birbirlerini

Detaylı

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri Dr. Binnur Kurt [email protected] Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. Prosesler 4. İplikler 5. İplikler

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ı

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN WINDOWS XP SCHEDULING ALGORITHMS & WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN WIN 32 Win 32 de süreçler oluştuğu bir sınıf önceliği üzerine verilmiştir. >>Idle(tembel),below,below normal,normal,above normal,high,ve

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Bilgisayar İşletim Sistemleri BLG Çok prosesli ortamda birden fazla proses çalışmaya hazır şekilde bellekte yer alır MİB zamanının prosesler arasında paylaştırılması:zaman paylaşımlı çalışma iş sıralama:bir

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ı

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

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ı

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

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

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Zamanlama (Scheduling) İşletim Sistemlerine Giriş - Ders02 1 Zamanlama (Scheduling) Eğer bir bilgisayar çok programlı(multi programming) ise, sıklıkla birçok süreç aynı anda

Detaylı

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition Bölüm 8: Ana Bellek 8.1 Silberschatz, Galvin and Gagne 2009 Bölüm 8: Ana Bellek Arka Plan Bilgisi Yer Değiştirme (Swapping) Bitişik Bellek Yerleşimi (Contiguous Memory Allocation) Sayfalama (Paging) Sayfa

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ı

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ı

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

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

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ı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Bellek Yönetimi (Memory Management) İşletim Sistemlerine Giriş - Ders10_02 1 Yazılım ile LRU Benzetimi Donanım kullanmadan LRU algoritmasının yazılım ile gerçekleştirimidir.

Detaylı

İşletim Sistemleri. Dr. Binnur Kurt [email protected]. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri İşletim Sistemleri Dr. Binnur Kurt [email protected] Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. 4. İplikler 5. Arası İletişim 6. İş

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ı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

Yrd. Doç. Dr. A. Burak İNNER

Yrd. Doç. Dr. A. Burak İNNER Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr Adres Alanı Process ID (PID) Process Durumu NICE Değeri

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK Mikroişlemci HAFTA 1 HAFIZA BİRİMLERİ Program Kodları ve verinin saklandığı bölüm Kalıcı Hafıza ROM PROM EPROM EEPROM FLASH UÇUCU SRAM DRAM DRRAM... ALU Saklayıcılar Kod Çözücüler... GİRİŞ/ÇIKIŞ G/Ç I/O

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ı

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi

Detaylı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma

Detaylı

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA 1 İçindekiler Bilgisayarların Çalışma Prensibi Sayı Sistemleri Programlama Dilleri 2 BİLGİSAYARLARIN ÇALIŞMA PRENSİBİ Bilgisayar

Detaylı

PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU

PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU Aşağıdaki linkten Pardus Topluluk Sürümü 3.0 KDE 64-bit sürümü indirebilirsiniz. http://sourceforge.net/projects/gnupardus/files/pardus3.0/tr/pardus_topluluk_3.0

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ı

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ı

Bilgisayarların Gelişimi

Bilgisayarların Gelişimi Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım

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ı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Kontrol deyimleri programlamanın olmazsa olmaz koşullarındandır. Şartlara (karşılaştırma) bağlı

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2) BLM-112 PROGRAMLAMA DİLLERİ II Ders-3 İşaretçiler (Pointer) (Kısım-2) Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Dinamik Bellek Yönetimi Bir program çalıştırıldığında

Detaylı

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar Ders 5, Slayt 2 1 BACAK BAĞLANTILARI Ders 5, Slayt 3 PIC

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ı

B-Tree Dosya Sistemi (BTRFS)

B-Tree Dosya Sistemi (BTRFS) B-Tree Dosya Sistemi (BTRFS) Alev Erzurumlu Kasım, 2014 İçindekiler 1 Giriş.................................................... 2 2 Peki nedir bu dosya sistemi?....................................... 3

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 7 Bu bölümde, Temel Kavramlar Planlama Kriterleri Planlama

Detaylı

Görüntü Bellek. Ana Bellek. Fiziksel Adres. Belek Uzayı. Bellek hiyerarşisi. Hız Maliyet (+) Ana Bellek. Boyut (+) DISK. Görüntü Adres.

Görüntü Bellek. Ana Bellek. Fiziksel Adres. Belek Uzayı. Bellek hiyerarşisi. Hız Maliyet (+) Ana Bellek. Boyut (+) DISK. Görüntü Adres. 9 Yönetimi (Memory Management), Görüntü (Virtual Memory) Amaç Kullanıcılara/programlara fiziksel belleğin (ana ) boyutundan bağımsız olarak büyük boyutta ve lineer (sürekli) alanı sağlamak. Kullanıcılar/programlar,

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ı

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

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

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ı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar)

Detaylı

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma NB Ekran Seri Port Üzerinden Veri Okuma/Yazma Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma Genel Bilgi NB Ekranlar üzerinde 2 adet seri port bulunmaktadır. Bu portları kullanarak noprotocol modunda

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar

Detaylı

Bölüm 8: Ana Bellek 8.1

Bölüm 8: Ana Bellek 8.1 Bölüm 8: Ana Bellek 8.1 Arka Plan Bilgisi Çalıştırılmak istenen program öncelikle diskten belleğe alınmalı ve bir işleme dönüştürülmelidir CPU nun direk olarak erişebileceği kayıt birimleri yalnızca ana

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Veri Hiyerarşisi Dosyalar ve Akımlar(streams) Sıralı Erişim (Sequential Access) dosyalarının oluşturulması Sıralı Erişim Dosyalarından Veri Okuma Rasgele

Detaylı

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım

Detaylı

KASIRGA 4. GELİŞME RAPORU

KASIRGA 4. GELİŞME RAPORU KASIRGA 4. GELİŞME RAPORU 14.07.2008 Ankara İçindekiler İçindekiler... 2 Giriş... 3 Kasırga Birimleri... 3 Program Sayacı Birimi... 3 Bellek Birimi... 3 Yönlendirme Birimi... 4 Denetim Birimi... 4 İşlem

Detaylı

Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir.

Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir. 2 Dosya Nedir? Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir. Birincisi, bir sistem görevi yerine getirirken yada bir uygulama

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ı

2011 Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

2011 Bahar Dönemi. Öğr.Gör. Vedat MARTTİN 2011 Bahar Dönemi Öğr.Gör. Vedat MARTTİN ADRESLEME YÖNTEMLERİ Komut yazımında en önemli konulardan biri, adresleme yöntemidir. Adresleme yöntemi, işlenenin nerede bulunacağını belirtmek için kullanılan

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN malloc Malloc fonksiyonu bir değişken için hafızadan bir blok yer ayrılması için kullanılır. Eğer hafızada yeterli alan yoksa fonksiyon NULL döndürür. int *ptr; ptr = (int *)

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme İşaretçi Kavramı

Detaylı

Kullanıcı Klavuzu

Kullanıcı Klavuzu www.fonosis.com Kullanıcı Klavuzu Kullanıcı Bakımı Anahtar Kelimeler Kullanıcı oluşturma Kullanıcı görüntüleme, listeleme, Kullanıcı yetkilendirme, ilişkilendirme Uygulama içerisinde dilediğiniz kadar

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 1 Adresleme modları

Detaylı

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ 1 İkinci Kuşak Bilgisayarlar 1956-1963: Transistor Transistor 1947 yılında keşfedilmiştir. 50 li yılların sonuna kadar bilgisayarlarda yaygın kullanımı görülmez.

Detaylı

Windows Eski Sürümleri Bellek Yapısı

Windows Eski Sürümleri Bellek Yapısı Windows Eski Sürümleri Bellek Yapısı -Intel 8086/8088 mimarili işlemciler//640k RAM -Segment Modeli(Segmented Model) -Her segment 64K uzunluğunda -Intel 80286,640K dan daha fazla RAM i destekledi -Windows

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Bilgisayar İşletim Sistemleri BLG 312 İşletim Sistemlerine Giriş Bilgisayar Sistemi uygulama programları derleyici editör komut yorumlayıcı işletim sistemi makina dilinde programlar mikroprogram (ROM da)

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ı

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara REALTIME LINUX 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Genel Kamu Lisansının 2 ya da daha sonraki

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ı

Komutların Yürütülmesi

Komutların Yürütülmesi Komutların Yürütülmesi Bilgisayar Bileşenleri: Genel Görünüm Program Sayacı Komut kaydedicisi Bellek Adres Kaydedicisi Ara Bellek kaydedicisi G/Ç Adres Kaydedicisi G/Ç ara bellek kaydedicisi 1 Sistem Yolu

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması

Detaylı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme Dinamik Bellek

Detaylı

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1 Von Neumann Mimarisi Mikroişlemciler ve Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli

Detaylı

BÖLÜM 7 Kesmeler.

BÖLÜM 7 Kesmeler. C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 7 Kesmeler www.8051turk.com Amaçlar Kesme tanımını ve önemini kavramak 8051 mikrodenetleyicisinin kesme yapısını öğrenmek 8051 de kullanılan kesme türlerini

Detaylı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı

Detaylı