Sayfayı Yazdır | Pencereyi Kapat

Windows Platformu Nasýl Ýþler?

Nereden Yazdırıldığı: Bilginin Adresi
Kategori: Bilgisayar Güvenliði / Computer Security
Forum Adı: Güvenlik / Security Makaleleri
Forum Tanımlaması: Bilgisayarýnýzý Her Türlü Saldýrýya Karþý Korumak Ýçin Yapmanýz Gerekenler
URL: https://www.bilgineferi.com/forum/forum_posts.asp?TID=8574
Tarih: 29-03-2024 Saat 17:45


Konu: Windows Platformu Nasýl Ýþler?
Mesajı Yazan: megabros
Konu: Windows Platformu Nasýl Ýþler?
Mesaj Tarihi: 08-04-2010 Saat 00:41

Esasýnda Windows'un yapýsý gayet basit bir temele; nesne yapýsýna ve hazýr kod bloklarýna dayanýr. Programcý yazdýðý programda hangi objeler olduðu ve bunlarýn nerede konuþlandýðýný bildirir. Windows program çalýþtýðýnda bu kýsma göre görüntüyü ve diðer objeleri oturtur. Programcý program yazdýðýnda ise bunun çoðunluðunu Windows býrakýr. Bir Windows programýnýn yazýlýþý herkesin bildiði gibi þöyledir.

Örneðin Visual BASIC ile bir program yazalým. Yeni bir standart exe deklare edelim. Ve görünen formun üzerine bir button koyalým. Þimdi betonun caption özelliðini "TIKLA" yapalým. Butonumuza týklayalým ve açýlan pencereye þu olayý düzenleyelim.

Private Sub Button_1 Click()

Msgbox "Naber"

End Sub

Programý bir güzel renkli yazdýk. Her neyse Þimdi bir F5 yapalým. Bizim form gözüktü, düðmeye bastýk mesaj kutusu gözüktü ama esasýnda ne oldu?

Windows’u artýk çözebiliriz. Esasýnda biz programý yazarken Ýlk önce standart exe tanýmladýk. Bu bir form dur. Form bir Active-X tir. yani çeþitli olaylarý vardýr. Bir active-x temel olarak bir *.ocx dosyasýdýr. Bazý active-x ler ise *.dll veya *.exe içine gömülü olabilir. Bunu sonra anlatacaðýz. Active X çalýþtýðýnda gerekli objeyi yükler baþta tanýmlý olan özellikleri bu active-x e sanki bir alt programa deðer gönderir gibi gönderir. Tabii bunu bellekte yapar. Öreðin formun geniþliði,zemin rengi hepsi birer özelliktir. Bazý aktive-x'ler genel özellik gösterir yani üzerinde baþka active-x leri barýndýrýr. Form objesi üst düzey bir aktive-x topluluðudur. Kendi baþýna üzerinde kapat butonu. küçült butonu gibi kendi alt active-xleri vardýr. Form objesine baþka active-xler de yüklene bilir. Bizim command button objesi bu türdendir.

Bir Windows exenin baþ hýsýmýnda bir obje taplosu bulunur. Ayrýca bir de Windowssun programlarý yönetmek için kullandýðý bir bellek alaný mevcuttur. Program çalýþtýrýldýðýnda. Windows hemen bu tabloya bakar ve bahsi gecen active-xler bellekte yüklü deðilse bunlarý belleye atar. Sonra her bir active-x e bir numara verir. Bu numaraya HWND adý eriþmektedir. Sonra Windows bekler. Siz bir active-x i çalýþtýrýnca veya bir active-x program gidiþine göre otomatik çalýþýnca Windows bunu þu þekilde anlar. HWND yani çaðrýlan hwnd yi alýr. Bunu nasýl mý yapar. Tüm görünür active-x lerin ekrandaki konumunu alýr. Tama diyelim ki bizim deminki programda düðmeye basacaðýz. Mouse'u tutuk ve sürükledik. Butonun üzerine geldir. Tada.. hemen Windows diyor ki bizim þu hwnd li active-x in üzerine Mouse ile gelindi. Sonra gidiyor hwnd tablosuna bizim active-x in fonksiyonlarýnýn konumuna bakýyor. Sonra programý bu noktaya devrediyor. Tabii bizim sadece click olayý var. Yani kod gelen deðerde karþýlaþtýrma yaparak clik deðeri ile ayný mý diyor. Sonuç negatif. active-x komut bloðu sonlanýyor. Sonra bir mouseyi biran kýpýrdatýyoruz. hala ayný objedeysek bu alay tekrar oluyor. Sonra aklýmýza esiyor ve týklýyoruz. Windows bu sefer active-x imizin komut bloðuna (active-x e deðil o baþka yerde sadece komutlarýna.) click deðerini gönderiyor. Program clikc karþýlaþmasý pozitif çýktýðý için bizim kodlarý iþliyor.

Yani kýsacasý Windows sürekli hangi hwnd li obje aktif diye sürekli kontrol yapýyor. Bizim active-x kodlarýnýn olduðu yerde bir de tablo var bunda ise active-x in özellikleri var örneðin kodumuz formun baþlýðýný deðiþtiriyor olsun. Çalýþýnca ilk önce özellik deðiþimi var diyor. Gidiyor ve programýn ilk yüklenen tablosuna bakýyor. Form1 e diyor þu þu hwnd verilmiþ sonra hwnd tablosuna bakýyor. Bizim diyor þu hwnd li objenin kodlarýnýn önündeki tablo þu adreste bunu bir bellekte sakla. Sonra form active-x inin (active-x programýnýn kendinin) tabloyu nasýl iþlediðini bu programa soruyor. O da diyor ki ben diyor tablonun falanca sýrasýnda caption özelliðini tutarým. Hemen gidiyor bu özelliði deðiþtiriyor. Sonra active-x in kendisine (bellekteki active-x e) Bu tablonun tamamýný yolluyor ve özellik deðiþti diyor. Hemen active-x artýk görüntüyü mü deðiþtirecek baþka bir þey mi yapacak? Her neyse onu yapýyor.

Daha mesaj kutusunu anlatmadýk. Windows yapýlacak standart iþleri *.dll diye önceden paketlemiþ. Gerçi programcý da kendi paketlerini oluþturabilir. Ama her neyse. Windows’un baþta oluþturduðu bu *.dll ler içlerinde bazý hazýr fonksiyonlarý bulundurur. Örneðin; registeriye kayýt ekle, ekranýn þurasýna þu harfi koy. Bana bir çizgi çiz gibi. Windowsçun bu hazýr programcýklarýna API denir. Ve her Windows platformunda program yazan kiþi bilir. Programcý bir api çaðýrdýðý taktirde hemen ilgili dll nin fonksiyonu bellekten çaðrýlýr. Tabii ki Windows tüm dll leri bellekte tutmaz. Programýn baþýnda olan tablo hangi dlllerin kullanýlacaðýný baþtan belirtir. ve program sonlanýlana ve dll kullanýlmaz olana kadar bu dll bellekte kalýr. Temel çalýþma mantýðý ile verilen numaralar ile gerçekleþir. Bir active-x temelde bir program olduðu için onlar da dll leri kullanýr. hatta dlller de bir iþ yapmak isterse active-xleri kullanýr. MsgBox gibi.

Windows exelerinin yapýsý hakkýnda ayrýntýlý bilgiyi virüslerin bulaþtýðý dosyalarý anlatan linkle bulabilirsiniz. Bunun için ana sayfaya geçmelisiniz.

Windows'un geçmiþi

Windows bir dos emilasyonu olarak piyasaya çýkmýþ bir iþletim sistemidir. Kara ekrana komut yazmanýn sýkýcýlýðýný fark eden Microsoft yetkililerinin yarý dahiyane yarý Macintosh çalýntýsý iþletim sistemidir. Dos hemen hemen az iþ görür kabul edildiði yýllarda çýkmýþtýr. Bir tarafta daha kundaktayken grafik kullanan machintoshlar vardý diðer taraftan ise Internet'in çekirdeðini oluþturacak network yapýlarýný. Komplex eriþimleri barýndýran Unix. Microsoft Unix'in altýnda epey bir ezilince XeniX iþletim sistemini çýkartmýþtýr. Ma a bu da istenen baþarýyý gösterememiþ.

 
Dosun rijit yapýsýnda ezilmiþtir. Zamanýnda yazýlara týklanarak bilgisayar kullanabileceðiniz NC gibi üçüncü parti çözümler kullanýcýyý cazip gelmiþtir. Çünkü baþka alternatif te bakmamýþtýr. Microsoft yetkilileri de bu komut editörlerine daha iyi bir alternatif için ilk Windows öncülerini yazdý. Sonra da bu protformun altýnda özel çalýþabilecek özel bir iki program. Sonuç çok iyi idi. Bir kere grafik kartlarýna çok iyi bir hakimiyet oluþtu. O zamana kadar oyunlar bile Dos4Dvg.exe gibi baþtan elleye yüklemesi gereken uygulamalara mahkumdu. Bunu fýrsat bilen oyun üreticileri, muhasebe programlarý yazarlarý hemen bu platforma sýçradý. Bu PC nin devrimi idi.

Microsoft yetkilileri toparlayýp piyasaya 3.0-3.1 varyantlarýný sürdü. Ve buna kendi baþlý baþýna bir iþletim sistemi dediler. Gerçi ilk baþta komut satýrýndan çalýþtýrmak gerekiyordu. Konfigre edilemiyordu. Hatta masa üzeri bile siline biliyordu ama olsun. Tabii profesyonel kullanýcýlarýn büyük bir kýsmý bunun yalan olduðunu biliyordu. Daha fazlasýný istediler. Microsoft yetkilileri bunu lisans ücreti karþýlýðý yaptý. Win95 geldi. Bu gerçek bir iþletim sistemi idi. Microsoft bu sürümü o denli iç içe geçmiþ ama tümleþik ve iyi tasarlanmýþ biçimde yaptý ki Windows-xp ye kadar win95 yapýsý esas kaldý.

Win95-Win98-WÝnME temel olarak dos çekirdeðini sýk kullanýr. Gerçi Win-XP de böyledir ama bu durum iyi saklanmýþtýr. Microsoft XeniX, çekirdeði Windows'a da taþýdý. Buna WinNT dedi. zamanýn en popüler iþletim sistemi olan Win-NT belki Unix-Linux ten sonra çaðýn en büyük kurucusu oldu. NT karnel WinME den sonraki Windowslarýn çekirdeðidir ayný zamanda. Zira insanlar daha çok network ve Internet iþi istiyor. Microsoft ta bunu veriyor.

Linux Tuvacks ise bir text olarak yazdýðý karnel ile dünyanýn boyutunu deðiþtirdi. Linux.. Yeni çaðýn evlere bile giren Unix'i. Her ne kadar bir Unix olmadýðýný söyleyenler varsa da inanmayýn o Unix'tir. Bu iþletim sistemi ilk önce C++ ile uðraþanlarýn sonra Hackerlarýn evi oldu. Basit bir editör ile yazabileceðiniz kodlarý make edip yeniden çekirdek kýsmýný yazabilirsiniz. Socket programlamaya iþletim sistemi olarak o denli açýk týr ki her aygýtý bir dosya olarak bulabilirsiniz. Bu da daha çok Internet~Network demek. PHP,PERL gibi bir çok dilin oluþturduðu yerdir. Standardlar bu platformda oluþtu ve oluþuyor. Linux programcýlarý Windows'un grafik yapýsýndan pek tabii ki etkilendi ve X-Windows'u yazdý. Tabii ki Linux yapýsý gereði her sonucu teker teker dosyalarda saklar ve gizler. Ama buna raðmen Linux Microsoft'un uykusunu kaçýrmaya yetti de arttý.

Saygýlar.



Sayfayı Yazdır | Pencereyi Kapat