Skip to main content

Category: Notes

Linux System Programming - Part 1

This notes has been created in “Linux System Programming” course that taken from “C and System programmers Accosiaion” in early 2014. Kaan Arslan was the lecturer in this course. Bu yazida, daha once yayinlamis oldugum linux sistem programlama kursunda almis oldugum kurs notlarini tekrar bir araya getirdim. Bu kurs C ve System programcilari dernegi tarafindan 2014 yili nosan ayinda alinisti. Unix/Linux Sistemlerinin Tarihsel Gelisimi Unix 1969-1970 yıllarında AT&T Bell Lab tarafından DEC-PDP 7 makinaları için üretilmiştir.

Win32 System Programming - Part 5

Islemcilerin Sayfalama Mekanizmasi Modern guclu masaustu islemcileri ve guclu mobil islemciler sayfalama (paging) mekanizmasina sahiptir. Bu sistemde fiziksel RAM sayfa denilen bloklara ayrilmistir. Sayfa uzunluklari sistemden sisteme degisebilir. INTEL de 4K (4096 Byte) tir. Bu durumda ornegin bellegin n numarali sayfasi n*4096 inci byte den baslan ve 4096 byte surer Islemci sayfa tablosu (page table) denilen bir tabloya bakarak calisir.. Program icerisinde kullandigimiz adresler gercek fiziksel ram de yer belirtmez.

Win32 System Programming - Part 4

Proseslerin komut satiri argumanlari (Command line arguments of a process) Programlari komut satirindan calistirirken program isminin yanina yazilan yazilara komut satiri argumanlari denir. Windows sistemlerinde komut satiri argumanlari createProcess fonksiyonunda parametre olarak girilmektedir. windows da komut satiri argumanlari createProcess in ikinci parametresi olarak girilir. ve tek bir yazi seklindedir. Processin komut satiri argumanlari GetCommandLine api fonksiyonu ile elde dilebilir. Derleyilerin baslangic kodlari bu api yi kullanarak komut satirini elde eder.

Win32 System Programming - Part 3

VirtualBox da share mount etmek: sudo mount -t vboxsf EDrive EDrive Unix ve linux sistemlerinde process yaratan tek bir fonksiyon vardir o da fork isimli fonksiyondur. pid_t fork(void) Fork processin ozdes kopyasindan cikartir. Fakat ust e alt processler arasinda artik bundan sonra hicbir iliski yoktur. Bunlarin gecmisleri aynidir. Ayni kod bolmune sahiptirler. Fakat artik bu kodun ayni bolumunu calistirmak zorunda degildirler. Yani fork fonksiyonuna tek bir proses akisi girer ancak iki process cikar.

Win32 System Programming - Part 2

Windows API Programlamaya İlişkin Temel Bilgiler Windows API programlama yaparken kaynak kodun içerisine windows.h dosyasi include edilmelidir. Bu dosya içerisinde içerisinde gereken pekçok bildirim vardir. Sistem programlamada yazim stili olarak macar notasyonu (hungarian notation) kullanilir. Macar notasyonuna göre; Fonksiyonlar pascal tarzı harflendirilir. Yani her sözcüğün ilk harfi büyüktür. (her sozcugun ilk harfi buyuktur. Fiiller ince kullanilir.) o GetWindowLong(), CreateProcess() Degiskenler genellikle onun turunu belirten bir önek ile başlatılır.

Win32 System Programming - Part 1

This note has been created in the “Windows System Programming” course that taken from “C and System programmers Accosiaion” in 2014. Kaan Arslan was the lecturer in this course. Bu yazida, daha once yayinlamis oldugum C ve sistem prgramcilari derneginden almis oldugum windows sistem programlama kursu kurs notlarini tekrar bir araya getirdim. Bu kurs C ve System programcilari dernegi tarafindan 2014 yili eylul ayinda alinisti. Temel Kavramlar İşletim sistemi bilgisayar temel donanımını yöneten kullanıcı ile sistem arasında arayüz oluşturan bir sistem yazılımıdır.