You are on page 1of 20

>> ‹çindekiler

CHIP Workshop Klasörü


Kesin, biriktirin,
kendi arflivinizi oluflturun

CHIP WORKSHOP’da BU AY

StudioWeb
❿Server-tarafl› uygulama
CHIP Workshop
gelifltirme programlar› Klasörü’nü
ayraçlar›yla
❿Web tasar›m›’nda alt›n kurallar birlikte siparifl
Flash Serisi edebilir ve
ActionScripts – Basic Actions kendi arflivinizi
Photoshop Serisi
oluflturabilirsiniz.
Gerçekçi Nesneler Yaratmak
Fiyat: 9.000.000 TL
Excel Serisi (KDV ve gönderim ücreti dahil)
D›flar›dan veri almak - 1

Nas›l Çal›fl›r? Siparifl için:


‹flletim Sistemi Nas›l Çal›fl›r?
http://abone.vogel.com.tr

Devam› eCHIP’te
Farkl› konulardaki di¤er kurslar› ve
Web adresi tan›t›mlar›n› eCHIP’te bulunan
Suxxess, PC Online ve Computer Easy isimli
Dijital Dergilerde bulabilirsiniz.

Suxxess
StudioWeb+:
‹leri düzey kullan›c›lar için
Web programlama
ASP Kursu PC Online
XML Kursu Ay›n Web Siteleri:
Marjial: CHIP editörlerinin sizler
Profesyonel kullan›c›lar için seçti¤i en iyi web
için makaleler siteleri
Oyun Programlama Serisi ‹nternet makaleleri
Access Kursu
HTML Kursu
Computer Easy
Bilgisayar & Elektronik Kursu
Bilgisayar ve ‹nternet Sözlü¤ü
Web Programc›l›¤›
<<
Sunucu tarafl› uygulama
gelifltirme programlar›
Dinamik içerikli web siteleri oluflturmak amac›yla kullanabilece¤iniz sunucu tarafl› uygulama pro-
gramlar›ndan hangisini seçmeli? ‹flte en popüler programlar›n art› ve eksileri. Karfl›laflt›rmas›n›
yap›n, kendinize en uygun olan› seçin.

B
Geçen say›m›zda girifl yapt›¤›m›z ve gibi konularda farkl›l›klar arz ederler. Yeni INFO
sözünü verdi¤imiz üzere bu ay sunu- olan her fleyi ö¤renmek zahmetli olabilir.
cu tarafl› uygulama programlar› Buna bilgisayar teknolojileri de dahil elbet- » Sunucu tarafl›
üzerinde duracak, bu teknolojilerden en te. Sunucu tarafl› bir teknolojiyi ö¤renmek teknolojilerle neler
popülerlerinin art› ve eksilerini inceleyece- ve kullanmaya karar vermek zaman, iflgü-
¤iz. Böylece bu teknolojilere yabanc› olan cü ve maddi aç›dan yat›r›m demektir. Bir-
yap›labilir?
okurlara bunlar› tan›tmay›, web sitelerinde birlerine alternatif olan teknolojilerden ❿ Her tür B2B, B2C, transaksiyon ve e-ti-
kullanmak üzere bu teknolojiler aras›nda hangisine bu yat›r›m› yapaca¤›n›za karar caret uygulamas›,
bir seçim yapmak zorunda kalan daha de- vermeden önce iyice düflünmemiz gerekir. ❿ Web tabanl› içerik yönetimleri,
neyimli okurlara ise yeni ipuçlar› verebil- ❿ Sunucuda sürücü, klasör ve dosya yö-
meyi umuyoruz. Hangi teknoloji? netimi,
Sunucu-tarafl› teknolojiler, tamam›yla ‹flte bu karar› vermede size yard›mc› ❿ Her türlü hesaplama uygulamas›,
istemci ortam›ndan ba¤›ms›z çal›fl›p, bü- olabilecek bir kaç ipucu. fiu sorular› kendi- ❿ Veritaban› ba¤lant›l› uygulamalar, ara-
tün program mant›¤› sunucu taraf›nda yü- nize sorun: ma,
rütülmekte ve elde edilen dinamik içerik ❿ Hangi programlama/scripting dilinde ❿ Tart›flma grubu uygulamalar› (forum-
saf HTML kodlar› olarak istemciye gönde- kendimi daha rahat hissediyorum? Bu lar),
rilmektedir. Bu bak›mdan ziyaretçi olarak programlama diliyle uygulama yazabilece- ❿ Ziyaretçi defterleri,
bilgisayar›n›zda ne tip donan›m, yaz›l›m ya ¤im sunucu aplikasyonlar› hangileri? ❿ Harici içerik ekleme,
da web taray›c› kullan›rsan›z kullan›n, su- ❿ Bu aplikasyonlarda kullanmak üzere ❿ Yönlendirme,
nucu taraf›ndan gelen kodlar standart kendimi gelifltirece¤im dil(ler)i ileride fark- ❿ Ziyaretçi sayaç uygulamalar›,
HTML kurallar›na uyduklar› sürece ekran›- l› alanlarda da kullanabilir miyim? Yani bu ❿ Arfliv ve istatistik uygulamalar›,
n›zda ayn› flekilde görünecekler ve ifllevle- dili ö¤renmek benim için ileriye dönük bir ❿ XML içeri¤i ile çal›flabilme. (Baz›lar›yla)
rini yerine getireceklerdir. Sunucu tarafl› yat›r›m olabilir mi? ❿ Dinamik grafik oluflturma. (Baz›lar›yla)
uygulamalar›n temel ifllevi ekran›n›zda gö- ❿ Piyasada bu dillerden hangileri geçerli ❿ Dinamik doküman oluflturma. Web
rünen sayfan›n kaynak kodlar›n› dinamik ve gelecek vaat ediyor? üzerinde bir içerik Word, Excel gibi farkl›
olarak oluflturmak oldu¤undan, bu uygula- ❿ Kullanaca¤›m aplikasyon program› program dokümanlar› olarak ta sunulabi-
malar›n jenere ettikleri kodlar sadece farkl› sunucu platformlar›nda kullan›labili- lir. (Baz›lar›yla)
HTML ile s›n›rl› kalmak zorunda da de¤il- yor mu? Hizmet ald›¤›m sunucu ya da host ❿ Bilgi validasyonu. (Girilen bilgilerin
lerdir. JavaScript, CSS, DHTML gibi istemci firmas›nda bir de¤ifliklik yaparsam, apli- do¤rulu¤unun ve geçerli formatta olup ol-
taraf›ndan yorumlanabilen tüm kodlar bu kasyonumda da de¤ifliklikler yapmak zo- mad›¤›n›n kontrolü.)
programlarla oluflturulabilir. Mesela belli runda kal›r m›y›m? ❿ E-mail gönderme. Form bilgilerinin, si-
ziyaretçileriniz için sayfan›z›n kullanaca¤› ❿ Yazaca¤›m aplikasyonlar› çal›flt›rabile- parifllerin ve konfirmasyonlar›n e-mail yo-
CSS stil dosyas›n›n di¤er bir ziyaretçiniz ce¤im sunucular için host hizmeti veren luyla gönderilmesi,
için kullan›lacak olandan farkl› olmas› ge- kurumlar var m›? Fiyatlar› ne? ❿ Web üzerinden doküman gönderme ve
rekebilir. Ya da diyelim ki login ifllemini ba- ❿ Kullanaca¤›m ürün ne kadar güvenli? indirme yönetimi. Resim, özgeçmifl, ürün
flar›yla gerçeklefltiren ziyaretçinizin kulla- Ya tercih etti¤im ürün hacker’lar›n da en foto¤raf› gibi dosyalar›n formlara eklene-
naca¤› DHTML menüsünün, baflar›s›z giri- çok tercih ettiklerindense? bilmesi,
flimde bulunan ziyaretçilerin kullanaca¤›n- ❿ Kullanaca¤›m ürünün performans› ne ❿ Cookie ve Session uygulamalar›: Ziya-
dan farkl› olmas›n› isteyebilirsiniz. Bu du- kadar iyi (olmal›)? Bu konuda benim ya da retçilerin tan›n›p en son kald›klar› durum
rumda program›n›z›n flarta ba¤l› olarak ileride olabilecek muhtemel müflterileri- bilgisine ulafl›m,
farkl› CSS ve JavaScript kodlar› üretmesini min beklentileri ne olabilir? ❿ Üyelik sistemleri, login prosedürleri ve
sa¤layabilirsiniz. ❿ ‹leride yapaca¤›m uygulamalar›n bo- flifreli web uygulamalar›, intranet, extra-
Temelde ayn› görevi üstlenmifl olan su- yutlar› ne kadar olabilir? Küçük boyutlu uy- net...
nucu aplikasyonlar› çal›flma flartlar›, per- gulamalar› ne derece pratik yaz›p çal›flt›ra-
formanslar›, çal›flabildikleri sunucu ortam- bilirim? Büyük boyutlu uygulamalar yapa-
lar›, programlanma zorluklar› ve fiyatlar› caksam bunlar› ne derece kolay kontrol

7 • CHIP Workshop >>


>> Web Programc›l›¤›

versiyonlar›n›n bulunabilmesidir. CGI


script’lerinin farkl› platformda çal›flabilme-
si demek, bir platform için yaz›lm›fl her-
hangi bir script’in bir di¤erinde aynen çal›-
flabilmesi anlam›na gelmez. Elbette bu du-
ruma istisna olabilecek Perl ve Java ile ya-
z›lm›fl uygulamalar›n bulunabilece¤ini he-
men ifade edelim. Form bilgilerini e-mail
ile gönderme gibi ihtiyaç duyabilece¤iniz
haz›r CGI script’lerini internette bulabilir
Ürün Bilgileri: Al›flverifl sitelerinin hepsi ya da host firman›z›n size sundu¤u baz› CFML: ColdFusion’da kullan›lan CFML
ürün bilgilerini içeren veritabanlar›na asl›nda HTML benzeri tak› bazl› bir markup
script’lerden istifade edebilirsiniz. Ama bu
ulafl›m için sunucu tarafl› teknolojilerden dilidir.
script’leri kendiniz oluflturmak isterseniz
faydalan›rlar.
CGI için iflin rengi biraz farkl› olacakt›r. CGI
edebilirim ve sorunsuzca güncelleyebili- script’leri yazabilmek belli bir seviyede Perl sion Studio) birlikte sunulmaktad›r.
rim? Ayn› kodlar› farkl› uygulamalar›mda bilgisi gerektirebilir. Flash ile entegrasyonu sa¤lanan Cold-
da kullanabilir miyim? Modern uygulama programlar›yla karfl›- Fusion, ActionScript deste¤i sayesinde
❿ Kullanaca¤›m aplikasyonu bilgisaya- laflt›r›ld›¤›nda CGI’›n bir çok dezavantaj› da Flash gelifltiricilerinin sahip olduklar› biri-
r›mda gelifltirmek ve çal›flt›rabilmek için ek bulunmaktad›r. CGI programlar›, yerleflti- kimleri server-tarafl› uygulamalarda da
yaz›l›mlara ihtiyac›m olacak m›? Bunlar üc- rildikleri web sunucusunda her istekte ayr› kullanabilmelerine imkan tan›may› hedef-
rete tabi mi? Fiyatlar› ne? ve yeni bir harici süreç bafllat›rlar. Çal›flan lemifl durumda.
❿ Hangi dil hakk›nda kaynak bulabilmem her bir program, sunucunun haf›zas›nda ColdFusion’un dezavantaj olarak nite-
daha kolay olur? Bunlarla ilgili kendimi ge- önemli say›labilecek bir alan› meflgul eder. lendirilebilecek en önemli özelli¤i, alterna-
lifltirebilece¤im kitap, internetten bulabi- Bu da ayn› anda çok say›da ziyaretçinin ifl- tifi olan programlar›n hiç birine benzeme-
lece¤im ders, örnek vs. hangi dil için daha lem görmesi halinde web sunucuya büyük mesidir. Di¤er program dillerine yapaca¤›-
fazla ? yük getirir. Bu bak›mdan CGI script’leri ça- n›z yat›r›m› ve deneyimi bir di¤erinde kul-
❿ Seçim yapaca¤›m uygulama ve prog- l›flt›ran web sunucular›n ayn› anda hizmet lanabilmeniz söz konusuyken, bu duru-
ram dili belli bir firmaya özgün bir ürün verebilecekleri ziyaretçi say›s› s›n›rl›d›r. mun ColdFusion için geçerli oldu¤unu pek
mü? Yoksa evrensel kullan›ma sahip mi? CGI’lerin önemli say›labilecek bir di¤er de- de söyleyemeyiz.
Peki bu firma batarsa ya da bu ürün üzeri- zavantaj› ise dinamik içeri¤in statik HTML Unix, Linux ve Windows’ta çal›flabilen
ne yat›r›m›n› durdurursa ne olacak? kodlar›ndan ayr›lmas›ndaki zorlu¤udur. ColdFusion’›n bugünkü fiyat› 800 USD ci-
var›nda.
“Farkl› kullan›c›lar›n, ayn› anda, farkl› isteklerine göre perfor-
Servlet’ler
mans›n› yayabilmesinden dolay› web sunucularda daha çok Servlet’ler aynen CGI script’leri gibi sunu-
Unix iflletim sistemi tercih edilmektedir.” cuda çal›flan ve dinamik web içeri¤i olufl-
turmaya yarayan saf Java programlar›d›r.
Herkesin kendi flartlar›na göre de¤ifl- Yani kompleks bir tasar›ma sahip olan ve Java programlama dilinin yarat›c›s› Sun
kenlik gösterebilecek bu seçimi sa¤l›kl› ya- CGI taraf›ndan oluflturulan dinamik bir Microsystems’in klasik CGI programlar›na
pabilmek için üzerinde düflünmemiz gere- sayfadaki kodlar›n sonradan güncellenme- alternatif olarak gelifltirmifl oldu¤u serv-
ken bu sorulardan sonra gelelim alternatif- si hiç de pratik de¤ildir. let’lerin bu programlara karfl› çok önemli
lerimizin ne oldu¤una. avantajlar› bulunmaktad›r. Servlet’ler ça-
ColdFusion l›flt›klar› sunucunun haf›zas›na yük getir-
CGI Sunucu tarafl› programlar›n yine ilklerin- mezler. HTTP protokolünü destekledikle-
CGI (Common Gateway Interface) temelde den olan ColdFusion, Allaire firmas› tara- rinden web tabanl› uygulamalar gelifltir-
iste¤in, sunucuda cgi-bin ad› verilen dizin- f›ndan gelifltirildi. (Not: Geçti¤imiz y›l için- mek için idealdirler. Gücünü Java program-
de yer alan harici bir program› çal›flt›rmas› de Allaire ile Macromedia firmalar› birleflti. lama dilinin özelliklerinden alan servlet’ler
ve elde edilen içeri¤i istemciye aktarmas› Allaire ColdFusion art›k Macromedia Cold- alternatiflerine göre daha güçlü, güvenli,
üzerine kurulu arabirimlere verilen genel Fusion MX olarak an›lmakta.) ColdFusion, esnek, kararl› ve ucuzdurlar. Platform-ba-
add›r. CGI programlar› (ki bunlar script ola- kendine has HTML benzeri tak›-bazl› mar- ¤›ms›zd›rlar. Yani bir iflletim sistemi için
rak da adland›r›labilmektedir) ço¤u Perl kup diliyle (CFML/ColdFusion Markup Lan- yaz›lm›fl bir servlet bir di¤erinde de aynen
programlama diliyle yaz›l›rlar. Klasik CGI guage) sunucu aplikasyonlar› içerisinde çal›fl›r.
programlar› sunucu-tarafl› uygulamalar›n belki de en kolay olan› ve en az programc›- Bunlara karfl›n statik ve dinamik içeri¤in
ilkidir. Bir CGI dosyas› oluflturmak için Per- l›k deneyimi gerektirenidir. Elektronik tica- yan yana ayn› sayfada yer almas› konusun-
l’in d›fl›nda C++, Visual Basic ve hatta Java ret siteleri oluflturmada ihtiyaç duyulabile- da CGI’lerin sahip olduklar› dezavantajlar
gibi farkl› bir programlama dilleri de kulla- cek tüm ifllevsellikleri bünyesinde bar›nd›- servlet’ler için de geçerlidir. Servlet’lerle
n›labilir. ran ColdFusion yaz›l›m paketi, bir sunucu çal›flabilmek iyi bir Java bilgisi gerektirir.
CGI programlar›n›n avantajlar› hemen ve bu sunucuda çal›flt›raca¤›n›z uygulama- Servlet’leri test edebilmek için servlet’ler-
her sunucuda ve platformda çal›flabilecek lar› gelifltirebilece¤iniz bir editörle (ColdFu- den anlayabilen bir sunucuya ihtiyac›n›z

<< CHIP Workshop • 8


Web Programc›l›¤›
<<
sahip uygulamalar› rahatl›kla Windows ta-
banl› PC’nizde yaz›p, test edebilir, Unix ya
da Linux tabanl› sunucuza göndererek ya-
y›nlayabilirsiniz. Günümüzde amatör web
programc›lar›n›n ço¤unun faydaland›klar›
host kurumlar›, Chili!Soft ASP kullanmak-
tad›r.

JSP
Temeli servlet’lere dayanan JSP, yeni ve ge-
JSP: Yeni ve gelecek vadeden bir Java lecek vadeden bir Java teknolojisi ürünü Sun ONE: Chili!Soft ASP, bundan böyle
teknolojisi ürünü. olup, ASP’ye çok benzeyen bir yap›ya sa- Sun ONE ASP olarak an›lacak
hiptir. Baz›lar›n›n ifadesiyle “ASP’nin Java
olacakt›r. Apache Tomcat, Macromedia ile yaz›lan versiyonudur”. Aynen ASP’de ol- sayar›n›zda çal›flabilmek için Java derleyici-
JRun gibi ticari performansa sahip sunucu- du¤u gibi dinamik kodlar statik içerikten si JSDK’yi (Java Software Development Kit)
lar›n yan› s›ra bilgisayar›n›zda servlet’leri- <% %> tak›lar›yla ayr›l›r. Ancak JSP’de prog- yüklemeniz zaruridir.
nizi test etmek için JSWDK gibi küçük, basit ramlama dili olarak temelde Java kullan›l›r.
ve bedava bir servlet sunucusundan da Alternatif olarak JavaScript kullan›labilirse PHP
faydalanabilirsiniz. de Java gibi güçlü bir dilden faydalanmak Sunucu tarafl› uygulama gelifltirebilmek
bir avantajd›r. JSP de avantajlar›n› aynen için kullan›labilecek oldukça kapsaml› ko-
ASP servlet’ler gibi Java’n›n gücünden al›r. Yani mut setlerine haiz bir di¤er popüler scrip-
Statik içeri¤i dinamik içerikle ayn› sayfada güvenli, esnek, kararl› ve platform-ba¤›m- ting dili PHP’dir. Aç›k ad› Hypertext Prepro-
yan yana kullanabilen yap›s›yla ve Win- s›zd›r. Apache, JRun, BEA WebLogic, IBM cessor olan PHP’nin temeli 1994 y›l›na da-
dows iflletim sistemi kullananlar›n hiç bir WebSphere gibi popüler sunucularda ve yanmakta. Perl ve C dillerine benzeyen ya-
ek yaz›l›ma gerek duymadan rahatl›kla bil- farkl› iflletim sistemlerinde güvenle çal›fla- p›s›yla, eski bir aç›k kaynak script dili olan
gisayarlar›nda deneme yapabilmelerini bilir. JSP ile oluflturulan uygulamalarda PHP/FI’ye (Hypertext Preprocessor and
sa¤layabilmesi sayesinde, popüler sunucu (ColdFusion benzeri) kendinizin ya da bafl- Form Interpretation) dünyan›n çeflitli böl-
aplikasyonlar›ndan biri ASP olmufltur. AS- kalar›n›n tan›mlad›¤› özgün tak›larla çal›- gelerinden program gelifltiricilerin katk›la-
P’de dinamik içerik oluflturabilmek için su- flabilme imkan›n›z vard›r. Mesela bir veri- r›yla PHP bugünkü halini ald› ve k›sa za-
nucu taraf›ndan yorumlanacak kodlar <% taban› ba¤lant›s›n› tek bir tak›y› sayfan›za manda en çok tercih edilen sunucu uygula-
%> ay›raçlar›yla belirlenen alanlar›n içerisi- ekleyerek oluflturabilir, böylece tekrar tek- ma programlar›ndan biri oldu.
ne genellikle VBScript ile yaz›l›rlar. Prog- rar kullanabilece¤iniz uygulama bileflenleri Di¤er aç›k kaynak yaz›l›mlar olan Apac-
ramlamada JavaScript de kullan›labilir. oluflturabilirsiniz. he web sunucu ve performans aç›s›ndan
ASP konusunda kaynak bulabilmek hiç JSP sahip oldu¤u genifl imkanlar aç›s›n- en iyi veritaban› yaz›l›mlar›ndan olan
sorun de¤ildir. Yazaca¤›n›z uygulamalar›- dan daha çok profesyonellere uygun bir su- MySQL ile gayet uyumlu çal›flabilen PHP,
n›z için host hizmeti verecek bir kurum bul- nucu tarafl› scripting’dir. Servlet’leri des- genifl platformlarda en ucuza oluflturulabi-
makta da bir sorun yaflanmayacakt›r. tekleyen hemen tüm sunucular JSP’yi de lecek web sistemleri için tercih edilebilir.
Microsoft ASP’nin önemli bir dezavan- desteklerler. Bu bak›mdan JSP ve servlet’le-
taj› sadece Microsoft IIS server’›nda çal›fla- rin ayn› uygulama içerisinde birbirleriyle Numan Pekgöz
bilmesi olarak gösterilebilir. IIS’lar›n hacker etkileflim içerisinde kullan›lmalar› da söz numanp@chip.com.tr
sald›r›lar›na en çok maruz kalan sunucular konusu olabilir. Bu tarz
olmas› ve kaynak kodunun aç›k olmamas› çal›flmalarda hem
güvenlik konusunda kafalarda soru iflaret- program mant›¤› sta-
leri oluflturabilmektedir. (Hat›rlayacaks›n›z tik içerikten mümkün
bu sebepten dolay› Alman Savunma Ba- oldu¤unca soyutlana-
kanl›¤› haberleflmede kullan›lan sistemle- bilmekte, hem de gör-
rinde Windows’tan Unix’e geçifl yapm›flt›!) sel içeri¤in kontrolü ve
Java’n›n yarat›c›s› Sun Microsystems’e ait güncellenebilmesi ba-
Chili!Soft yaz›l›m firmas› taraf›ndan farkl› sitli¤i koruyabilmekte-
sunucu ve platformlarda çal›flabilmesi dir.
amac›yla gelifltirilen Chili!Soft ASP, Micro- JSP’nin dezavantaj
soft ASP’nin bir türevi olup, farkl› sunucu- olarak görülebilecek
larda, Windows, Unix ve Linux gibi plat- yan› ise, JSP’yi tüm im-
formlarda çal›flabilen versiyonlara sahiptir. kanlar›yla kullanabil-
Sun ONE ASP olarak yeniden isimlendirilen mek için Java gibi ge-
Chili!Soft ASP ile Microsoft ASP birbirlerine liflmifl bir programla-
çok benzemelerine karfl›n birbirleriyle yüz- ma dili hakk›nda fikir
de 100 uyumlu de¤ildir. Buna karfl›n her iki sahibi olman›z›n ge- Jakarta Tomcat: Java bazl› programlar› destekleyen Apache
aplikasyon sunucusu Jakarta Tomcat.
versiyonun da destekledi¤i temel ifllevlere reklili¤idir. JSP ile bilgi-

9 • CHIP Workshop >>


>> Web Programc›l›¤›

Web tasar›m›’nda
alt›n kurallar
‹yi bir tasar›m, yeni ve özgün bir fikir, web sitenizin web’i dolduran vasat y›¤›nlar›n aras›ndan
s›yr›lmas›n› sa¤layabilir.


yi bir web sitesi oluflturmada, en az içe- sellik çözünürlük kullan›l›yorsa, ekran›n eni- ‹STAT‹ST‹K
rik kadar o içeri¤in nas›l sunulaca¤› da nin tümü 800 adet piksele bölünmüfl de-
önem tafl›r. Web tasar›mc› ve gelifltirici- mektir. Bu da ekrandaki bilginin az, web » En çok tercih edilen
ler olarak sitede yer alacak içeri¤in ne olaca- sayfas›n›n elemanlar›n›n görüntüsünün ise çözünürlük oranlar›
¤›n› belirlemek her zaman elinizde olmasa kocaman oldu¤u anlam›na gelir. Sonuç ola- ≥1024 x 768 % 41
da bu içeri¤in nas›l sunulaca¤›n› belirlemek rak e¤er tasar›m›n›z 800x600 pikselden da- 800 x 600 % 51
kendi elinizdedir. Dahas› tasar›m, siteyi ha büyükse kullan›c›n›z fiziksel olarak ne 640 x 480 % 3
oluflturanlar taraf›ndan at›lm›fl imzad›r. Zi- denli büyük bir ekran kullan›rsa kullans›n, Di¤er ya da bilinmeyen % 5
yaretçilere (ya da müflterilere) web konu- tasar›m›n›z ekran›na s›¤mayacakt›r. Peki çö-
sundaki bilgi, birikim ve anlay›fl›n›z›n en so- zünürlük konusunda bir standart var m›? caklar? Bu durumda sayfa tasar›m›n›z›n ne
mut yans›mas›d›r. Dolay›s›yla imajd›r, pres- Varsa ne? diye soracak olursan›z, cevab›m›z derece ölçeklenebilir oldu¤u önem kazan›r.
tijdir. Siteniz içerik ve teknik aç›dan çok iyi flu olacak. Çözünürlü¤ün bir standard› yok- Ölçeklenebilirlik sayfa içeri¤inizin, içinde
haz›rlanm›fl olsa da kötü bir tasar›m, ziya- tur, çünkü çözünürlük tamamen kiflisel bir görünece¤i taray›c› penceresinin boyutlar›-
retçiler üzerindeki prestijinizi yok edebilir. tercihtir. Yo¤un bir bilgisayar kullan›c›s›n›n na uyum sa¤layabilmesidir. Her tasar›m öl-
Bu bölümde web tasar›m›n›n temelleri üze- ekranda küçük olsa da mümkün oldu¤unca çeklenebilen esnek yap›ya sahip de¤ildir.
rinde duracak ve tasar›m konusunda çok çok bilgi görebilmek için tercih etti¤i çözü- Kompleks ve hassas yap›ya sahip tasar›mla-
önemli noktalara dikkat çekece¤iz. nürlük, internete merakl› olan anneannele- r›n boyutlar› çokça sabit k›l›n›rlar. Bu da
‹yi bir web tasar›m› yapabilmek veya iyi rimizin ekrandaki yaz›lar› ve flekilleri daha pencere boyutu ne olursa olsun tasar›m›n
bir web tasar›mc›s› olabilmek web’i tan›- kolay görebilmeleri için tercih edecekleri çö- boyutunun ayn› kalmas› anlam›na gelir.
makla mümkündür. Bu da belli bir seviyede zünürlükten farkl› olmas› sizi flafl›rtmazd› Sabit geniflli¤e sahip tasar›mlar›n
teknik bilgi gerektirir. Bir web tasar›mc›s›n› herhalde. O zaman web sayfalar›m›z› yapar- 800x600’den daha düflük ekranlarda görü-
nebilmesi için kayd›rma çubuklar›n›n kulla-
“Ölçeklenebilirlik sayfa içeri¤inizin, içinde görünece¤i taray›c› n›lmas› gerekecektir. Bu elbette kullan›c›n›n
penceresinin boyutlar›na uyum sa¤layabilmesidir.” kendi tercihi olup, tasar›mc›n›n bu boyutlar-
dan daha küçük bir alana uyabilecek iyi bir
masaüstü tasar›mc›lardan ay›ran en önemli ken kullanaca¤›m›z ve göz önünde bulun- tasar›m yapmas› beklenmemelidir. Zira içe-
özellik, bu yeni ortam›n imkan ve s›n›rlama- duraca¤›m›z çözünürlük nedir? Bunun ceva- ri¤in bu boyutlara s›¤abilece¤i, etkili bir ta-
lar›n›n bilincinde olabilmekte yatar. ‹flte size b›n› verebilmek için tek hareket noktam›z sar›m gerçeklefltirmek hiç de kolay bir ifl de-
iyi bir web tasar›m› yapabilmenin ard›nda istatistiklerdir. ¤ildir.
yatan baz› ipuçlar›... Günümüzde en çok kullan›lan oran (% 50 As›l göz önünde bulundurulmas› gere-
civarlar›nda) 800x600’dür. ‹nternet kullan›- ken konu, daha büyük çözünürlü¤ü kulla-
Çözünürlük, çözünürlük, çözünürlük c›lar›n›n bir o kadar› da (%40) 1024x768 ora- nan ekranlarda sitenin durumudur. Ölçekle-
Web tasar›m›n›n bir numaral› kural›, çal›fla- n›n› tercih etmektedirler. Taray›c› ekran›n- nebilir tasar›mlarda içerik bütün ekran› dol-
ca¤›n›z ve hedefledi¤iniz ortam›n çözünür- daki URL çubu¤u, kayd›rma çubu¤u gibi gra- duracakt›r. Maksimum geniflli¤i 776 piksel-
lük oran›n›n bilincinde olmakt›r. Çözünürlük fiksel pencere elemanlar›n› da hesaba kata- de sabitlenmifl tasar›mlarda ise ekranda
konusunda en ufak ihmal, yapaca¤›n›z çal›fl- cak olursak, tasar›m›n›z›n bütününün ek- boflluk olmas› kaç›n›lmaz bir durumdur. Bu
malar›n tamam›na yak›n›n›n çöpe gitmesi- randa görünebilmesi için ba¤l› kalman›z ge- durumda bu bofllu¤un, göze hofl gelen bir
ne ve tüm grafikleri yeniden oluflturmak zo- reken kutsal de¤er 776x431’dir. flekilde ekrana da¤›t›lmas› gerekir.
runda kalman›za yol açabilir.
Çözünürlük (resolution), temelde, kulla- Ölçeklenebilirlik (Scalability) Sayfan›z›n dosya a¤›rl›¤›
n›lan ekran›n piksel (nokta) cinsinden göste- Web sitenizi tasarlamadan önce kendinize ve okunabilirlik
rebilece¤i bilgi say›s›n› verir. Bu de¤er ekra- sorman›z gereken önemli sorulardan biri de Özene bezene yapt›¤›n›z grafiklerinizi site-
n›n fiziksel boyutu de¤ildir. Zaten web tasa- flu: E¤er tasar›m›m› 800x600’e göre yap›yor- nizin ana sayfas›na yerlefltirdiniz. Öyle ki bir
r›mc›lar› ve web gelifltiricilerini yak›ndan il- sam, di¤er çözünürlük varyasyonlar›n› kul- magazin kapa¤›n› aratmayacak derecede
gilendiren bilgi, ekran›n fiziksel boyutundan lanan ya da sayfam› daha küçük bir taray›c› (size göre) renkli ve çekici. Peki ama hiç say-
ziyade, ekranda gösterilebilecek nokta say›- penceresinde görmek isteyen ziyaretçiler, fan›z›n KB cinsinden dosya a¤›rl›¤›n› hesap-
s›d›r. Zira 19 inçlik bir ekranda 800x600 pik- ekranlar›nda nas›l bir manzara ile karfl›lafla- lad›n›z m›? Acaba sayfan›z› görmek isteyen

<< CHIP Workshop • 10


Web Programc›l›¤›
<<
ziyaretçiler, sayfan›n yüklenebilmesi için ne
kadar beklemek zorunda kalacaklar? Afla¤›-
daki tablo bu konuda size bir ipucu verebilir.
Bir araflt›rmaya göre bir ziyaretçinin (ya
da daha önemlisi bir müflterinin) bir sayfay›
bekleme konusundaki sabr›, 8 saniye ile s›-
n›rl›! Buradan ç›karabilece¤imiz sonuç flu:
Sitenizdeki içeri¤i mümkün mertebe farkl›
sayfalara da¤›t›n. Sitenizdeki en önemli say-
fa olan ana sayfan›z›n 60 KB’›, çok özgün ise
100 KB’› geçmemesine dikkat edin. Yapabili- Ölçeklenebilir bir web sitesi: Site içeri¤i ‹deal: Sabit genifllikteki içerik pencerede
yorsan›z sitenizin ilk sayfas›n›n boyutunu taray›c› ekran›n›n boyutlar›na uyum sa¤l›yor. ortalanarak, beyaz boflluk sayfan›n iki
Bu bak›mdan gereksiz boflluk kalm›yor. yan›na da¤›t›lm›fl.
küçük tutun.
Grafiksel resimlerden oluflan tekstlerin
yüksek çözünürlükte okunabildi¤inden l›klar›n›n belirlenmesi, ona uygun olarak ta- Kullan›fll›l›k prensipleri
emin olmal›s›n›z. 1024x768 çözünürlü¤ü sar›m›n gerçeklefltirilmesi önemlidir. ❿ Kontrol: Kontrolü mümkün mertebe zi-
kullanan 15 inçlik bir monitör, bu testi yap- Günlük hayatta karfl›lafl›labilecek küçük yaretçiye b›rak›n.
man›zda size yard›mc› olacakt›r. Ayn› font bir örnek: Müflteriniz sizden eski taray›c›lar› ❿ Dolays›z, direk bilgi: Ziyaretçinize site-
büyüklü¤ünün IE ve NS’te farkl›, PC’de ve kullanan müflterilere de ulaflabilmek için si- den ne bekleyebilece¤ini gösterin.
Macintosh’ta farkl› görünebilece¤ini akl›- tesinde CSS kullan›lmamas›n› istedi. CSS’in ❿ Tutarl›l›k: Her sayfada hem içerik hem de
n›zda bulundurun. kolayl›klar›ndan faydalanmadan binbir zah- sunumda tutarl›l›¤› elden b›rakmay›n.
metle siteyi haz›rlad›n›z. Belli bir zaman ❿ Affedicilik ve tolerans: Ziyaretçinizin iflle-
Hedefledi¤iniz kitleyi tan›y›n sonra müflteriniz ana sayfada bir katman mini gerçeklefltirirken yapaca¤› hatalar› dü-
Web herkes için olsa da, sitenizde hedefledi- üzerinde bulunmas› gereken bir Flash ban- zeltebilmesine imkan tan›y›n.
¤iniz kitle spesifik olabilir. Bu durumda site- ner’in konmas›n› istiyorsa, daha önce kat- ❿ Feedback: Ziyaretçileriniz ile etkileflim
nizde kullanaca¤›n›z içerik, tasar›m ve tek- land›¤›n›z zahmetlerin bofl yere oldu¤u söy- içinde olun ve mümkün mertebe fikrini al-
nik de¤iflkenlik gösterecektir. Bir tasar›m lenebilir. maya çal›fl›n.
bürosunun web sitesi, devlet kurumlar›n›n ❿ Estetik: Ziyaretçileriniz için göze hofl ge-
birine ait siteden farkl› olacakt›r. Tasar›m Web sitesinde Kullan›fll›l›k (Usability) lecek bir ortam haz›rlamaya çal›fl›n.
bürosu olarak vizyonunuzu gözler önüne se- Web sitelerinde tasar›m denince ilk akla ge- ❿ Basitlik: ‹çeri¤inizin ve tasar›m›n›z›n
rebilecek plug-in gerektiren güncel teknikle- len terimlerden biri de usability yani “kulla- mümkün oldu¤unca basit görünmesine
ri kullanmak durumunda olabilirken, SSK n›fll›l›k”t›r. özen gösterin. (Sitenizin tasar›m›, kulland›-
kurumunun sitesinin içeri¤inin mümkün ol- Web’te kullan›fll›l›k, web sitesinde ziya- ¤›n›z teknikler ve ifllevsellik basit olmayabi-
du¤unca çok say›da kifli için ulafl›labilir cins- retçinin ihtiyaç duydu¤u ifllemi (ki bu bir lir, ama bu sitenin basit görünebilmesine
ten olmas› beklenir. Sitenizde kullanaca¤›- bilgiye ulaflmak ya da bir ürünü sat›n al- engel de¤il. Oldukça sade görünen bir sayfa-
n›z teknik, tasar›m›n›zla yak›ndan ilgilidir. mak olabilir) ne derece etkin ve rahat bir n›n perde arkas›nda ola¤anüstü ifllevsellik-
Buna en çarp›c› örnek menülerdir. Flash, flekilde yapabildi¤ini ya da yapamad›¤›n› ler olabilir pekala.
DHTML ve Java applet’leriyle oluflturulabile- gösterir. Bir baflka deyiflle kullan›fll›l›k,
cek menüler internete ba¤l› her bilgisayar web sitenizin ne derece ziyaretçi dostu ol- 10 Tavsiye
taraf›ndan desteklenmeyebilir. du¤unu gösterir. 1) Sitenizin ilk sayfas› mümkün oldu¤unca
Web sitenizde kullanabilece¤iniz özgün Bir firma hakk›nda oldukça detayl› bilgiyi h›zl› yüklenebilsin.
olanaklarla, sitenizin ulafl›labilirli¤i ters bulabilece¤iniz bir web sitesinde, firmayla
orant›l›d›r. Bu nitelik-nicelik aras›ndaki kla- iletiflim kurabilece¤iniz bir e-mail adresine
sik iliflkinin bir sonucudur. Yani sadece stan- ya da firman›n adresine an›nda ulaflam›yor-
dart HTML kullan›larak haz›rlanm›fl bir site- san›z, o sitede kullan›fll›l›ktan pek de söz
nin ulafl›labilirli¤i maksimumken, sitenin edemeyiz. Web sitesinde kullan›fll›l›¤›n et-
teknik aç›dan olanaklar› s›n›rl›d›r. Hedefle- kin olmas› gereken k›s›mlar yap›land›r›lm›fl
nen ziyaretçi kitlesine göre en son istatistik- içerik, navigasyon, yani bir içerikten bir di-
ler de göz önüne al›narak, ulafl›labilirlik ve ¤erine ulaflabilme, yard›m, arama gibi ek ifl-
olanaklar aras›nda belli bir denge kurulabi- levsellikler ve en önemlisi ifllemlerin ak›fl
lir. Bu bak›mdan taray›c› ve platform fakl›- fleklidir.

SAN‹YE C‹NS‹NDEN YÜKLENME SÜRES‹


Dosya a¤›rl›¤› 14.4 Modem 28.8 Modem 56 Modem One ISDN B Two ISDN B Kablo
Channel Channel
25K 13.89 6.94 3.57 3.13 1.56 0.04
50K 27.78 13.89 7.14 6.25 3.13 0.08
100K 55.56 27.78 14.29 12.50 6.25 0.16 Orant›: Web sitenizde kullanabilece¤iniz
özgün olanaklarla, sitenizin ulafl›labilirli¤i
200K 111.11 55.56 28.57 25.00 12.50 0.31 ters orant›l›d›r.

11 • CHIP Workshop >>


>> Web Programc›l›¤›

mamaya özen gösterin. Anlam›n› bilmedi¤i-


niz teknik terimleri kullanmaktan kaç›n›n.
 De¤erli içeri¤inizi okumaya çal›flan ziya-
retçilerin dikkatini da¤›tan sinir bozucu ge-
reksiz reklamlara, animasyonlu GIF’lere yer
vermeyin. Sayfan›zda birbirinden ba¤›ms›z
hareket eden iki animasyon olmas›n.
 Bulunamayan bir resmin yerini ekranda
dolduran bofl kutucuk, sitenizin bütün sihri-
ni bir anda yok edebilir. Bütün grafiklerin
Çözüm: 800x600 çözünürlük oran›na göre Hata: Bu sitede bafll›¤› verilen haberlerin
haz›rlanm›fl sabit boyuttaki içerik, “Unutmay›n, kullan›fll›l›k, tümüne ulaflmak maalesef tek t›klama ile
frame’ler yard›m›yla her zaman
pencerenin tam ortas›nda yer al›yor. ‹lginç
kullan›c›ya ihtiyac› olan›, mümkün de¤il. Önce haberin bulundu¤u
bölüme gidip oradan ilgili haberi seçmeniz
çözümlerden biri. ihtiyac› oldu¤u anda vere- gerekiyor. Habire dönüp duran, hatta
bilmektir.” içeri¤in üzerini kaplayarak okunmas›n› en-
gelleyen animasyonlu reklam banner’lar›,
2) Tasar›m›n›z farkl› çözünürlüklere uyum yerinde oldu¤unu kontrol edin. site kullan›fll›l›¤› aç›s›ndan bir baflka eksi
sa¤layabilecek nitelikte olsun.  Sitenizde 3’ten fazla renk, 2’den fazla puan.
3) Kontrolü mümkün oldu¤unca browser’› font tipi kullanmay›n. Canl› renkli fon rengi
kullanan ziyaretçiye b›rak›n. üzerine, canl› renkli yaz›lar› kullanmay› akl›- Asla tek bir sayfada uzun yaz›lara yer ver-
4) Modern teknikleri kullanan ve ifllevsellik- n›zdan bile geçirmeyin. Bunun sadece site- meyin. Sayfan›z›n tamam›n› da içerikle dol-
leri göremeyecek olan ziyaretçiler için, stan- nizdeki tasar›m›n ne derece ucuz oldu¤u- durmay›n. Tasar›m›n›zda b›rakaca¤›n›z ye-
dart alternatiflerini oluflturun. nun kan›t› olaca¤›n› akl›n›zdan ç›karmay›n. terli beyaz boflluk, ziyaretçinize rahat nefes
5) Sitenizde k›r›k linklerin olup olmad›¤›n›  Ful ekran bir tasar›m›n her sayfas›nda, zi- ald›racakt›r.
düzenli kontrol edin. yaretçinin bu sayfadan ç›kabilmesine imkan Sitelerinizde ziyaretçilerinizin de fikrini
6) Sitenizde “güncel” isimli bölümlerin içeri- tan›y›n. alabilmek için feedback mekanizmas› ekle-
¤i “gerçekten” güncel olsun. meyi düflünmelisiniz. Sitenize ziyaretçi def-
7) Kullanaca¤›n›z ikonlara metinsel etiket- teri, forum, anket ya da en az›ndan bir e-
leri de ekleyin. mail adresi koymak size çok fley kazand›ra-
8) Flash ile oluflturaca¤›n›z içeriklerin seçi- cakt›r.
mini iyi yap›n. Flash’›n kullan›fll›l›k konusun- Tasar›m konusunda dikkate de¤er nok-
daki ciddi s›n›rlamalar›n› daima göz önünde talar bunlarla s›n›rl› de¤il elbette. Bir kitab›
bulundurun. doldurabilecek kadar çok fley yaz›labilecek
9) Üzerinde link olan grafiklere (IMG tak›s›- web tasar›m› konusunda bir kaç önemli
n›n ALT parametresiyle) alternatif tekst eti- noktaya, s›n›rl› say›daki sayfalar›m›zda e¤il-
ketlerini yaz›n. mek istedik. Önümüzdeki aydan itibaren
10) Sitenizdeki her sayfadan ana sayfan›za, StudioWeb+’da oldu¤u gibi uygulamal› ça-
e-mail ve adres bilgilerine ulafl›labilmesine ‹çerik sola dayal›: Yüksek çözünürlüklü l›flmalar›m›za bafll›yoruz. Gelecek say›daki
imkan tan›y›n. monitörlerde beyaz bofllu¤un tümü konumuz Cookie’ler.
ekran›n sa¤›nda. Numan Pekgöz
10 Yasak numanp@chip.com.tr
 Geçerli bir sebebiniz olmad›kça pop-up  S›rf bir intro olsun diye sitenizin bafl›na
pencerelerini kullanmay›n. Her ne sebeple intro yerlefltirmeyin. E¤er yerlefltiriyorsan›z
olursa olsun birden fazla pop-up kullanma- “intro’yu atla” ifllevini de mutlaka ekleyin.
y›n. Müzik! Evet evet, zevklerin en çok farkl›-
 ‹çeri¤inizde imla ve gramer hatas› yap- l›k gösterebilece¤i müzi¤i kullan›rken çok
dikkatli davran›n. Kimseye zorla bir fleyler
dinletmeye kalk›flmay›n. Müzi¤i kapatabile-
cek bir buton yerlefltirmeyi ihmal etmeyin.
Favori sitenize en sevmedi¤iniz tarzda mü-
zik eflli¤inde girdi¤inizi hayal ederseniz, ne
demek istedi¤imi anlayacaks›n›z.

PC’nizde Internet Explorer’da (IE) test et-
ti¤iniz sitenizin menüsü, Netscape (NS) ya
da di¤er taray›c›larda ya da Macintosh’ta
çal›fl›yor mu acaba? Tek bir taray›c› için say- Kötü Örnek: Web sitenizin buna benzer
olmas›na izin vermeyin! “Bir web sitesinin
Boyut: Home Site HTML editörü ile say-
fa haz›rl›yorsan›z, di¤erlerinin de uygun bir
tasar›m› nas›l olmamal›?” diye merak
fan›z›n KB cinsinden boyutunu bir dille durumu izah eden bir mesajla karfl›lafl- edenler www.losers.org’a göz atabilirler.
t›klamayla ö¤renebilirsiniz. mas›n› sa¤lay›n. Çok e¤lenceli.

<< CHIP Workshop • 12


Flash Serisi
<<
ActionScripts – Basic Actions
lash ile programlama için gelifltirilmifl Örnek: çeklefltirir. Yaln›z parametre alan›nda en alt-

F olan dil, Flash Action Script dili olarak


geçmektedir. Flash-5’in nesne yöne-
limli olarak gelifltirilmifl olan Action Script di-
❿ Çal›flma alan›nda araç çubuklar›ndan
ovali kullanarak bir daire çizin.
❿Bunun tamam›n› seçin. F8 ile (Insert/Con-
ta yer alan gotoAndPlay inaktif hale getirilir.

Play:
li ile site tasar›m›na daha çok etkileflim kat- vert to Symbol) Symbol Properties penceresi- Yaz›m biçimi: play();
mak, animasyonlarda kontrolü artt›rmak ve ni aç›n. Burada Name k›sm›na buton veya Zaman çizelgesinde göstergeyi hareket etti-
matematiksel fonksiyonlar ile animasyonla- herhangi bir isim yaz›n. Behavior k›sm›ndan rir, yani animasyonu oynatmaya bafllar.
r› gerçeklefltirmek ve tabii ki yine aksiyonla- Button seçene¤ini seçin ve OK butonunu t›k-
r›n elverdi¤i ölçüde oyun gelifltirmek art›k lay›n. Stop:
mümkün hale gelmifl bulunmaktad›r. ❿ fiimdi grafi¤imiz buton haline dönüfltü. Yaz›m biçimi: stop();
Öncelikle Action panelinin modunu nor- Buna farenin sa¤ tuflu ile t›klay›p Actions’› Zaman çizelgesindeki hareketi durdurur. Da-
(Window/Actions) seçin. Böylece Actions pa- ha çok movie clipleri kontrol etmekte karfl›-
nelini açm›fl oluyoruz. m›za ç›kacak bir komuttur.
❿Actions panelinden sol tarafta Basic Acti-
ons kategorisinden Go To aksiyonuna çift ToggleHighQuality:
t›klay›n. Yaz›m biçimi: toggleHighQuality();
❿ Normal modda iseniz, alt tarafta goto- Antialiasing özelli¤ini açar ve kapat›r. Grafik-
AndPlay için parametre alan› aç›lacakt›r. (Ka- lerin kalitesini düflürür ve yükseltir. Grafikle-
mal moda ayarl›yoruz. Normal modda Acti- pal› ise sa¤ alt taraftaki OK butonuna bas›p ri köfleli hale getirir. Bunun faydas›; grafi¤i
ons kategorisi alt› bafll›k halinde karfl›m›za aç›n.) yo¤un animasyonlarda grafik kalitesini dü-
ç›k›yor. Bunlar afla¤›daki resimde görülüyor: ❿Buradan Scene k›sm›nda hangi sahne ol- flürerek animasyonun, ifllem gücü düflük bil-
du¤unu, Type k›sm›ndan Frame Number'› se- gisayarlarda da ak›c› olmas›n› sa¤lamakt›r.
çin ve Frame bölümüne de 10 yaz›n.
❿Böylece butona action tan›mlam›fl olduk. StopAllSounds:
Filmi, Control/Test Movie (Ctrl+Enter) ile test Yaz›m biçimi: stopAllSounds();
edebilirsiniz. Filmdeki çalan tüm sesleri kapat›r. Zaman çi-
zelgesinde gösterge hareket etmeye devam
gotoAndStop eder. Ses özelli¤i stream olarak tan›mlanm›fl
Yaz›m biçimi: gotoAndStop(scene, frame) olsa bile sesi kapat›r ve filmdeki di¤er ani-
Belirlenen sahnenin belirlenen frame’ine, masyonlar devam eder.
karesine gidip ak›fl› durdurmak için kullan›l›r.
Bu say›m›zda Basic Actions kategorisinde Örnek: getURL:
yer alan komutlar› ele al›yoruz. Bu kategori, gotoAndPlay’deki gibi, ifllemler aynen ger- Yaz›m biçimi: getURL(“url”, “window”, “vari-
Flash içinde en çok kulland›¤›m›z Action ables”);
Script kodlar›n› içermektedir. fiimdi bu ko- getURL(“adres”, “pencere”, “de¤iflkenler”);
mutlar› s›rayla incelemeye bafllayal›m. Web sayfas›na veya kendi sayfan›z içindeki
baflka bir htm (html), zip, arj vb. dosyalara
Basic Actions link yani köprü eklemek için kullan›l›r. Para-
Basic Actions kategorisinde yer alan komut- metreleri url (adres), window (pencere) ve
lar ile animasyonun genel hareket kontrolle- variables’dan (de¤iflkenler) oluflmaktad›r.
rini, ses kontrolünü, vektörel çizimlerin kali- url k›sm›nda baflka bir web sitesine link
tesini, link (köprü) eklemeyi, d›flar›dan baflka verecekseniz bafl›na http:// koymay› unut-
bir swf dosyas› yükletmeyi, movie cliplerin mamal›s›n›z. E¤er sitenizin alt›ndaki bir dos-
kontrolünü, yükleme (preloading) olay›n› ve yaya link verecekseniz http:// k›sm›na gerek
mouse kontrolünü gerçeklefltirebiliyoruz. kalmadan dosya ismini yazabilirsiniz veya
Bu kategoride yer alan komutlar yandaki tam linkini vererek kullanabilirsiniz.
resimde görülüyor: window bölümünde linkin aç›l›ca¤› pen-
GoTo: gotoAndPlay cereyi belirliyoruz.
Yaz›m biçimi: gotoAndPlay (scene, frame); _self: Linki ayn› sayfada movie’nin bulun-
Belirlenen sahnenin belli bir frame nu- du¤u çerçevede açar.
maras›ndan bafllay›p oynat›r. E¤er kaç›nc› _blank: Yeni bir pencerede açar.
sahne oldu¤u belirtilmezse, bulundu¤u sah- _parent: Pencerenin ana sayfas›nda açar.
nedeki numaras› veya label ismi verilmifl Movie, bir frame'de çerçevede aç›k ise buto-
olan frame'den bafllay›p oynat›r. na t›klad›¤›m›zda linki ana frame'de açar.

3 • CHIP Workshop >>


>> Flash Serisi

_top: Sayfay› en üst seviyede tan›ml› olan yükletilen her swf dosyas› için 1’den baflla- çeklefltirebiliriz. Art›k movie clib’e verdi¤imiz
çerçevede açar. y›p s›rayla numara verilmektedir, ayn› nu- bu instance name ile eriflebiliriz. Movie clibin
variables bölümünde GET veya POST me- maraya yükletilen dosyalar birbirinin yerine içindeki animasyon için zaman çizelgesini
todlar›ndan birini kullanarak, filme de¤iflken geçecektir. baflka bir kareye yönlendirebilir, movie clibi
yükleyebilir veya de¤iflkenleri server’a veya target ile ana sahnede bulunan ve instan- bafllatabilir veya durdurabiliriz.
baflka bir linke gönderebiliriz. POST ile de¤ifl- ce name tan›mlanm›fl olan movie clip ile d›- Bu komut Flash’›n daha önceki versiyon-
kenler gönderirilirken HTTP bafll›¤›nda de- flar›dan yükletilen swf dosyas› yer de¤ifltire- lar›nda movie cliplere eriflebilmek için kulla-
¤iflkenleri ayr› ayr› görebilirsiniz. cektir, yani belirtilen adresten yükletilen swf n›lan tek Action Script komutuydu. Bu ko-
dosyas›, sahnemizde yer alan instance name mut ile movie cliplere eriflebilmek için bir yol
örnek: getURL tan›ml› movie clipin yerine yüklenecektir. belirlememiz gerekiyor ve bunu da instance
("http://www.chip.com.tr", "_blank"); variables; burada bulunan metotlar ile name ile gerçeklefltiriyoruz. Macromedia,
de¤iflkenlerin fimler aras› paylafl›m› sa¤lan›r. Flash 5 versiyonu ile bu komutun yerine al-
FSCommand: De¤iflkenlerin paylafl›m›nda kullan›lan me- ternatifler sunuyor ve Flash 5’in nesne yöne-
Yaz›m biçimi:fscommand ("komut", "para- todlar "GET" ve "POST" olmak üzere iki tane- limli olmas›ndan dolay› objeyi yönetmemiz-
metre"); dir. GET metodu ile de¤iflkenler yükletilecek de kolayl›k sa¤l›yor ve kod karmafl›kl›¤›ndan
fscommand JavaScript fonksiyonlar›n› ça¤›r- olan dosyan›n adresinin sonuna eklenerek kurtulmufl oluyoruz.
mam›z› sa¤lar. Ayr›ca, web safyas› d›fl›nda gönderilir. (http://www.site.com/ 2.swf?a
swf dosyalar› (veya exe'ye çevrilmifl dosyala- =5) fleklinde ve ço¤unlukla küçük say›lar için Örnek-1:
r›) yay›nlamada stand alone player için haz›r kullan›l›r. POST metodu, de¤iflkenleri ayr› ay- mc.gotoAndPlay(4); mc burada movie clip
komutlar› içermektedir. r› gönderir ve uzun karakter dizisi içeren de- için tan›mlanm›fl instance name’dir.
fullscreen: Filmin tüm ekran çal›fl›p çal›fl- ¤iflkenler için kullan›l›r. Örnek-2:
mamas›n› ayarlamada kullan›l›r. (true/false) tellTarget komutu ile;
allowscale:Pencereyi büyütüp küçült- Örnek-1: tellTarget(mc) {
mekle standart boyutun de¤iflip de¤iflme- Location: target gotoAndPlay(4);
mesini ayarlar. (true/false) loadMovie ("sezaliber.swf", "orta"); }
showmenu: Farenin sa¤ tuflu ile aç›lan
popup menünun aktif ve inaktif durumunu instance name olarak “orta” tan›ml› bir Yukar›daki iki örnek de ayn› ifllemi ger-
ayarlar. (true/false) movie clipin üzerine belirtilen konumdan çeklefltirmektedir. mc olarak belirlenmifl
exec: Sistemde bulunan programlar› ça- harici swf dosyas› yükletilmekte. movie clip nesnesinin 4. karesinden baflla-
l›flt›rmak için kullan›l›r. Burada “orta” olarak tan›ml› movie clip’in mak suretiyle çal›flmas›n› sa¤lamaktad›r.
Quit: Film penceresini kapat›r. sahne içerisinde bulundu¤u yere harici swf
Trapallkeys: Stand alone player için yön dosyas› yüklenecektir. Yani bu movie clip’i is- If Frame Is Loaded:
tufllar›n› inaktif etmek için kullan›l›r. tedi¤imiz _x, _y koordinatlar›na tafl›yarak Yaz›m biçimi:
(true/false) harici swf dosyas›n›n yerini belirlemifl oluyo- ifFrameLoaded(scene, frame) {
Dikkat: fullscreen, exec ve quit, sadece ruz. ifadeler;
stand alone player için geçerlidir. Yani web }
browser’da çal›flt›r›lamaz. Örnek-2: E¤er kare(çerçeve) yüklendiyse... Bu ac-
loadMovieNum ("sezaliber.swf", 1); tion komutu ile movie’nin içindeki karele-
Load Movie: haf›za bölgesi olarak 1. bölgeye harici swf rin, çerçevelerin yüklenmesini kontrol edi-
Yaz›m biçimi: loadMovie(“URL”,”Location”, dosyas› yükletilmekte. yoruz. Basit bir animasyon sunumunda
“Variables”); dosyan›n belirli bir k›sm› yüklendiyse, o k›s-
loadMovie(“adres”,”yer”, “de¤iflkenler”); Unload Movie: ma kadar bu komut ile yüklenen k›sm› oy-
Ana sahneye belirtilen adreste yer alan swf Yaz›m biçimi: unloadMovie(location); natabiliriz ve geri kalan k›sm›n yüklenme-
dosyalar›n› yükletebilmek için kullan›l›r. Ana loadMovie komutuyla ana sahneye yükle- sini bekletebiliriz. Bu sayede ekrana yükle-
sahnenin üzerine yükletilen swf dosyas› _le- mifl oldu¤umuz filmi haf›zadan atmak için niyor fleklinde küçük bir animasyon göste-
vel veya _target olarak belirledi¤imiz bölüm- kullan›l›r. rip, geriye kalan ve animasyonu veya site-
lere yükletilir. Yine ayn› loadMovie komutunda oldu¤u nin tamam›n› oluflturan bölümün yüklen-
url bölümüne yükletilen swf dosyas›n›n gibi, location olarak Level veya Target belir- mesini bekletebiliriz. Ve e¤er yüklendiyse...
tam adresi veya ana dosyam›z ile ayn› ser- lenmektedir. ifade olarak yüklendiyse animasyona bafl-
ver/disk/dizin üzerindeyse sadece ismini la... gotoAndPlay gibi bir komut ile yüklen-
uzant›s›yla birlikte yazmak yeterlidir. Tell Target: diyse animasyonu bafllatabiliriz.
location; swf dosyas›n›n yerini belirtir. Yaz›m biçimi: tellTarget(target) {
Burada iki seçenek vard›r. level ve target. ifadeler; On Mouse Event:
level, swf dosyas›n›n haf›zadaki s›ra nu- } Yaz›m biçimi:
maras›d›r. 0 de¤eri ana flash dosyas›n›n haf›- Bu komut ile ana sahnede yer alan movie on(mouseEvent) {
zada bulundu¤u bölümdür. level bölümüne clipleri kontrol ediyoruz. Bunun için movie ifadeler;
0 de¤eri verildi¤inde, ikinci swf dosyas› ana cliplere instance name tan›mlamam›z gere- }
dosyan›n üzerine yüklenmifl olacak ve ana kir. Instance name tan›mlamas›n› Win- Bu komutun bilgileri Eylül’02 say›s›nda .
sayfa haf›zadan at›lm›fl olacakt›r. Bunun için dow/Panels/Instance penceresinden ger- Ali YÜCEL aliyucel@chip.com.tr

<< CHIP Workshop • 4


Photoshop Serisi
<<
Gerçekçi Nesneler Yaratmak
fi›k görünen grafikler haz›rlamak için illa ki haz›r plug-in paketlerini kullanman›z gerekmez.
Do¤ru efektleri yerinde kullanarak siz de baflar›l› çal›flmalar yapabilirsiniz.

Compact Disk
Öncelikle 12x12 cm’lik kare fleklinde bir
çal›flma alan› oluflturun. Daha sonra
e¤er aç›k de¤ilse View menüsü alt›ndan
Show Rulers CTRL-R) seçene¤ini kullanarak
cetvelleri aktif hale getirin. Farenizi cetveller
üzerine t›klay›p çal›flma alan›na sürükleye-
rek, guide çizgilerini oluflturabilirsiniz. fiimdi
bu flekilde çal›flma alan›n›n tam orta nokta-
s›n› belirleyin.

Eliptik seçim arac› yard›m›yla alan›n


tam ortas›na t›klay›n ve ard›ndan s›ra-
s›yla ALT ve SHIFT tufllar›n› da kullanarak
tam ekran bir daire oluflturun. Daha sonra
yeni bir katman (Layer) oluflturun ve gökku-
fla¤› renkli konik degrade arac› ile seçimin içi-
ni ortadan kenara do¤ru doldurun. Seçimi
iptal etmeden yeni bir Layer daha oluflturup,
bu sefer de seçimi istedi¤iniz bir yeflil renk ile
boyay›n.

En son yeflil Layer’›n Opacity de¤erini %


70’e indirin. CD’nin yans›malar› yavafl
yavafl ortaya ç›kmaya bafllayacakt›r.Yeflil La-
yer seçili iken Merge Down komutu ile iki La-
yer’› birlefltirin. Daha sonra yine tam ortadan
eliptik seçim arac› ile daha küçük bir yuvar-
lak seçip, Delete tuflu ile seçimi silin. Seçimi
iptal etmeden yeni bir Layer daha oluflturup
bu sefer de beyaz renk ile boyay›n.

Beyaz Layer seçili iken tekrar daha kü-


çük bir yuvarlak seçim yaparak Delete
tuflu ile silin. Layer’a sa¤ tufl ile t›klay›p Blen-
ding Options’› seçin ve resimdeki de¤erleri
kullanarak Bevel efekti uygulay›n. Bu La-
yer’›n Opacity’sini % 6’e indirin ve 2 CD La-
yer’›n› birlefltirin. Son olarak bu Layer’a da
yandaki Bevel ve Drop Shadow efekti uygu-
layarak ifllemi tamamlayabilirsiniz.

4. ad›mdan sonra seçti¤iniz renge göre


gerçe¤ine çok yak›n bir CD elde ede-
bilirsiniz. ‹sterseniz CD’nin göbe¤indeki say-
dam plastik k›sma ek daireler çizip seri nu-
maralar› ekleyerek daha gerçekçi bir hale de
dönüfltürebilirsiniz. Bunlar› yaparken CD’nin
iç çeperindeki ince gri bölümü unutmay›n.

3 • CHIP Workshop >>


>> Photoshop Serisi

Daire Testere
Photoshop ile gerçekten korkunç görü-
nen ölümcül bir testere oluflturmak için
öncelikle yandaki flekle benzer, üst taraf›
t›rt›kl› bir dikdörtgen oluflturun. Oluflturdu-
¤unuz fleklin iki taraf›n›n da mutlaka çal›fl-
ma alan›n›n s›n›rlar›na de¤mesine özen
gösterin. Daha sonra Image menüsünden
Rotate Canvas/Flip Vertical seçeneklerini
kullanarak flekli tepetaklak çevirin.

fiimdi Filter menüsünden Distort/Polar


Coordinates seçenekleri seçin ve aç›la-
cak olan pencerede alt bölümden RECTAN-
GULAR TO POLAR seçene¤ini iflaretleyin. Bu
ifllemden sonra yandakine benzer bir flekil
elde etmifl olman›z gerekir. Son olarak fleklin
ortas›n› istedi¤iniz bir yöntemle beyaz renk
ile doldurdu¤unuzda, testerenin kaba hatla-
r› da ortaya ç›km›fl olacak.

Testereye metal görünümü katmak için


ilk olarak Magic wand seçim arac›n› kul-
lanarak flekli seçin ve daha sonra da siyah,
gri, siyah renk üçlüsünü kullanarak degrade
verin. Y›pranm›fl bir metal görünümü için
Fitler menüsünden Noise/Add Noise seçe-
neklerini kullanabilirsiniz. Bu pencerede
Monochromatic noise seçene¤ini iflaretleyin
ve de¤er olarak 5 verin.

Testeremize son fleklini vermek için son


olarak yine Filter menüsü alt›ndanFil-
ter/Blur/Radial Blur seçeneklerini kullan›n ve
de¤er olarak da 10 verin. Tam orta noktas›n-
dan eliptik seçim arac› ile ufak bir yuvarlak
seçin ve [SHIFT] – [F5] k›sayol tufllar›n› kulla-
narak seçimi siyah renk ile doldurun. Daha
etkili bir sonuç için testerenin belirli bölgele-
rine f›rça ile k›rm›z› renk sürebilirsiniz.
Mahmut Karsl›o¤lu
mkars@chip.com.tr

KISA KISA
» Sahte Interlaced Resimler
Önce üzerine efekt uygulamak fluna bas›l› tutarak, takip eden
istedi¤iniz resmi yükleyin. Ar- 2 sat›r› da seçin. Son olarak La-
d›ndan yeni bir Layer oluflturup yer 1 seçili iken Edit/Define Pat-
resmi en üst seviyeye kadar bü- tern seçene¤i ile seçimi bir doku
yütün ve sol üst köflesine gelin. olarak tan›mlay›n. Daha sonra
Yandaki resimde görüldü¤ü gi- seçimi iptal edin ve tekrar Edit-
bi seçim arac›na bas›l› tutup Fill seçene¤ini seçin.
aç›lan menüden tek sat›r seçim Bu sefer boyama yapmadan
arac›n› seçip, resmin en üst sa- önce ayarlar› yandaki flekildeki
t›r›na t›klay›n. gibi de¤ifltirin ve OK tufluna t›k-
Tek sat›r seçildikten sonra Edit- lay›n. ‹sterseniz Layer Opacity’si
Fill seçene¤i ile bu sat›r› siyah ile oynayarak daha yumuflak
renkle doldurun. fiimdi Shift tu- bir efekt elde edebilirsiniz.

<< CHIP Workshop • 4


Excel Serisi
<<

Excel ile D›flar›dan


Veri Alma Yöntemleri - 1
Excel’e verileri elbette ki kendiniz girebilirsiniz. Bu çok kolay. Peki, hiç baflka programlardan ya da
internetten veri almay› denediniz mi?

B u ayki konumuz Excel’e d›flar›dan


veri almak. Excel’in bir veri taban›
program› olmad›¤›n› biliyorsunuz-
kullan›c› Excel’i verilerini depolamak için,
yani bir veri taban› olarak kullan›yor. Asl›n-
da bunun nedeni çok basit. Excel, geliflmifl
sütunlar (column) “ALAN”, soldan sa¤a
do¤ru uzanan sat›rlar (row) “KAYIT” olarak
de¤erlendirilmektedir. fiekil-1’de Access
dur. Çünkü Excel, bir elektronik hesap tab- veri taban› programlar›n›n görüntüsü tafl›- program›na ait bir veritaban› tablosu görü-
losu program›d›r. Evet, böyle dedi¤imizde yor. Veritabanlar›nda afla¤› do¤ru uzanan lüyor.
de baz› okurlar›m›z, “iyi tamam da, bu Bir veritaban› program› bu flekilde sat›r
elektronik hesap tablosu ifadesinin ne ol-
du¤unu tam olarak anlam›fl de¤iliz” diye
düflünebilirler. Do¤rusu bu ifadenin pek
fazla tan›m› yap›lmam›flt›r. Konumuza gir-
meden evvel bu aç›klamalar› muhakkak
dikkatle okumal›s›n›z.

Excel elektronik hesap tablosu mu,


yoksa veri taban› m›? fiekil 1: Access program›na ait basit bir
Do¤rusu bu soruya ülkemizin flartlar›nda veri taban›nda Kay›t ve Alan’lar› fiekil 2: Excel program›n›n veri taban›
cevap vermek oldukça güç. Çünkü birçok görüyorsunuz. fleklinde tasavvur edilmesi.

5 • CHIP Workshop >>


>> Excel Serisi

fiekil 3: D›fl Veri Al menüsüne ait liste. fiekil 6: Ba¤lan›lan veri taban›ndan veri- ODC UZANTILI DOSYA HAKKINDA
Üstte bulunan Excel 97 altta bulunan Excel leri aktaraca¤›n›z yeri belirleyen mesaj
2002 içindir. penceresi. 1. Office Veri Ba¤lant›s› (veya .odc) dosya-
lar›, raporlar›n›z için d›fl veri almada öneri-
len yöntemdir. Tek bir veritaban› tablosun-
dan veya bir OLAP veritaban›ndan veri al›r-
ken bunlar› kullanabilirsiniz. Böylece, d›fl
veritaban›ndaki birden çok tablodan veri
birlefltirmeniz veya raporu oluflturmadan
önce belirli kay›tlar› seçmek için verileri
süzmeniz gerekmez.
2. Office Veri Ba¤lant› dosyalar›. D›fl veri-
taban›ndaki bir tablodan veri al›rken bir
.odc dosyas› kullanmak için, Excel'de .odc
ma kitab›n›zda saklamaya çal›fl›rsan›z, bir dosyas›n› aç›n. ‹ki seçene¤iniz var: Verileri
ve sütunlar›n kesiflti¤i hücrelerden olufltu- müddet sonra dosya boyutunuzun büyü- do¤rudan bir Özet Tablo raporuna alabilir-
¤u için Excel’i de ayn› tarzda düflünebilirsi- dü¤ünü ve nihayet belli bir zamandan son- siniz veya verileri bir çal›flma sayfas›na ala-
niz. (fiekil-2) ra da dosyan›n aç›lmad›¤›n› göreceksiniz. bilir ve raporunuzu çal›flma sayfas› aral›¤›-
‹flte fiekil-1 ve fiekil-2’deki benzerlik Ex- Daha sonra da yana yak›la dosyan›zdaki na dayand›rabilirsiniz.
cel’in de bir veritaban› olarak düflünülme- verileri kurtarabilecek birilerini ya da kur- 3. Çal›flma kitab›n›z› kaydetti¤inizde, ilgili
sorgu çal›flma kitab›ndan silinir. Ancak
sine neden oluyor. Asl›nda kullan›c›lar pek tarma programlar›n› arama durumunda
kaydedilmifl olan veritaban› sorgu dosya-
de haks›z say›lmaz. Çünkü 65536 sat›rdan kalacaks›n›z. Belki verilerinizi kurtarabile-
lar› (*.dqy veya *.odc dosyalar›) silinmez.
ve 256 sütundan oluflan ve yaklafl›k 255 ceksiniz, belki de kurtaramayacaks›n›z. Her Sorguyu, Sorgu Sihirbaz›'nda veya Micro-
adet bu tarz bir tablo alan› bulunduran Ex- halükarda, unutmay›n ki kendinizi riske at- soft Query'de oluflturdu¤unuzda kaydet-
cel, do¤al olarak verilerinizi saklayabilece- m›fl olacaks›n›z. tiyseniz, sorgu dosyas› bilgisayar›n›za kay-
dedilir ve d›fl verileri almak için bu dosyay›
yeniden kullanabilirsiniz.
4. Veri Ba¤lant› Sihirbaz›'yla veri al›rken,
varsay›lan olarak OLE DB sa¤lay›c›lar› üze-
fiekil 4: Veri Ta-
rinden ba¤lant› kurulur. Elde edilen .odc
ban›na ba¤lan›l-
(Office veri ba¤lant›s›) dosyalar›, Internet
mak istendi¤inde
Explorer'da görüntülenebilir ve bir OLAP
ilk olarak “Veri
Kaynaklar›m” veri kayna¤›n› göstermedi¤i sürece Ex-
klasörü aktif olur. cel'de, Not Defteri'nde ve di¤er Microsoft
Office uygulamalar›nda düzenlenebilir.
5. Excel, d›fl veri aral›¤›n› otomatik olarak
afla¤›daki gibi adland›r›r:
❿ Office Veri Ba¤lant›s› (ODC) dosyalar›n-
dan al›nan d›fl veri aral›klar› .odc dosya
¤iniz kay›t alan› oluflturmaktad›r. Fakat Hemen pani¤e kap›lmay›n. Excel’de çok
uzant›s›yla adland›r›l›r.
gerçekler böyle de¤il. Çünkü Excel bu depo- say›da veri tuttu¤unuzu biliyoruz. Bu he- ❿ Veri tabanlar›ndan al›nan d›fl veri ara-
lanan verileri SAKLAMAYA de¤il, ‹fiLEMEYE men dosyan›z çal›flmayacak anlam›na gel- l›klar›na, varsay›lan olarak sorgunun ad›n-
yarayan programd›r. Herhangi bir veri ta- mez. Bizimki sadece dostça bir uyar›. Uyar›- dan oluflturulan bir ad verilir. "x kayna¤›n-
ban›ndan Excel’e aktar›lan verileri h›zl›ca m›z› tekrarlayal›m: dan sorgula" biçimindeki bu adda x, sorgu-
düzene sokmak, süzmek, veriler aras›nda yu oluflturmak için kulland›¤›n›z veri kay-
güçlü hesaplar yapabilmek için kullan›l›r. “ÇOK BÜYÜK VER‹LER‹ VE ÇOK FAZLA na¤›n›n ad›d›r.
❿ Metin dosyalar›ndan gelen d›fl veri ara-
E¤er yüksek miktardaki verileri Excel çal›fl- B‹Ç‹MLEND‹RMELER‹ B‹R ÇALIfiMA K‹TABINA
l›klar› dosya ad› ile adland›r›l›r.
SI⁄DIRMAYA ÇALIfiMAYIN.”
❿ Web sorgular›ndan al›nan d›fl veri ara-
l›klar›, verilerin al›nd›¤› Web sayfas›n›n
Yukar›daki cümlelerden anlafl›ld›¤› gibi, ad›yla adland›r›l›r.
Excel veri depo alan› de¤il, verileri hesapla- 6. Bir Office veritaban› ba¤lant›s› dosyas›
maya yarayan güçlü bir tablolama progra- (.odc) veya veritaban› sorgusu dosyas›
(.dqy) açt›¤›n›zda sorgu çal›fl›r ve al›nan ve-
rileri içeren çal›flma sayfas› görüntülenir.
Bir .odc veya OLAP sorgu dosyas› (.oqy), si-
zi OLAP veritaban›na veya küpüne ba¤lar
ve OLAP verileri için bofl Özet Tablo raporu
içeren bir çal›flma sayfas› görüntüler. Bir
sorgu dosyas› açt›ktan sonra, al›nan d›fl ve-
rileri bir Excel çal›flma kitab› dosyas›na
kaydedebilirsiniz. Ancak, Excel Dosya me-
nüsünde Sakla komutunu .dqy veya .oqy
fiekil 5: Daha önce haz›rlanan veri fiekil 7: RefEdit nesnesini ister manuel sorgu dosyas› biçimlerinde kaydetmek için
taban›n› listede bulup çift t›klaman›z olarak, isterseniz fare ile seçerek adres kullanamazs›n›z.
faaliyete geçmesi için yeterli olacakt›r. girebilirsiniz.

<< CHIP Workshop • 6


Excel Serisi
<<
fiekil 10: vt1
Tablo1.odc
dosyas› Veri
Kaynaklar›’na
eklendi

fiekil 8: Bu uyar› resmidir. ‹kinci seçenek


ile aç›klamas› aras›ndaki uyuflmazl›k.
Bilince art›k önemsiz bir problem oluyor. komutunu t›klay›n. (fiekil-3) UYARI…
E¤er sizin de bilgisayar›n›zda bizim yu- “Veri Al” penceresinde bize göre yanl›fl
m›d›r. Yaz›m›z›n bafl›ndan itibaren ayn› kar›da belirtti¤imiz sürümler yüklü ise, ko- yaz›lm›fl bir cümle bulunuyor. Bu yanl›fl ikinci
cümleyi s›k s›k kullanmam›z›n sebebi, me- muta t›klad›¤›n›z anda fiekil-4’deki gibi seçenek olan “Yeni Çal›flma Kitab›”...
selenin net olarak anlafl›lmas› içindi. San›- “Veri Kayna¤› Seç” penceresi görüntülene- Bu seçene¤i seçti¤inizde, üzerinde yazan
yoruz mesele anlafl›ld›. O halde verilerimizi cektir. Bizdeki pencerede flu an iki veri sor- aç›klamaya göre yeni bir Çal›flma Kitab›
bir veri taban› program›nda tutaca¤›z ve gulamas› oldu¤una dikkat ediniz. “Veri aç›lacak ve veri taban›ndan veriler bu yeni
bu verileri h›zl›ca hesaplay›p, raporlamak Kayna¤› Seç” penceresinin görüntüledi¤i Çal›flma Kitab›’na aktar›lacak gibi görünüyor.
ve bu raporlar› grafik flekline dönüfltürmek klasörün tam olarak yolu “C:\Belgele- Ancak böyle olmayacak, yeni Çal›flma Kitab›
için de hiçbir program›n eline su dökeme- rim\Veri Kaynaklar›m” fleklindedir. Siz her- yerine yeni bir Çal›flma Sayfas› aç›lacakt›r.
yece¤i program olan Excel’de ifllemlerimizi hangi bir flekilde bir veri kayna¤›ndan tablo Asl›nda Microsoft da bunu bizim gibi
gerçeklefltirece¤iz. Bu yaz›m›zda göreceksi- sorgulad›¤›n›zda, yapm›fl oldu¤unuz sor- düflünüyor, çünkü bu seçenek için yard›m
niz ki anlatt›¤›m›z olay çok kolay yöntem- gulama bu klasörde görüntülenecektir. An- almak istedi¤imizde fiekil-8’deki görüntü ile
lerle halledilecektir. cak biz flimdilik “C:\Belgelerim\vt1.mdb” karfl›lafl›yoruz.
dosyas›n› seçelim.
D›flar›dan veri alan› 5) Belgelerim Klasöründen “vt1.mdb” dos- 7) “Tamam” dü¤mesine t›klad›¤›n›zda,
D›flar›dan veri alabilmek için, Excel bütün yas›n› seçin ve “Aç” dü¤mesine t›klay›n. “vt1.mdb” dosyas›ndaki verilerin Çal›flma
araçlar› gibi bu defada bizlere güçlü bir ko- (fiekil-5) Kitab›’n›zdaki 3. sayfada A1’den itibaren
mut sunuyor. Bu komut Araçlar menüsün- 6) Ekrana “Veri Al” mesaj penceresi gele- yazd›r›ld›¤›n› göreceksiniz. (fiekil-9)
de bulunan DIfi VER‹ AL komutudur. Bizim cektir. (fiekil-6) Veri al›nd›¤›nda dikkat ederseniz, Excel
anlataca¤›m›z Excel versiyonu her zaman “Veri Al” penceresinde bulunan “Verileri sütunlar›n›n da verilerin geniflli¤inde oto-
Excel 2002 Pro Türkçe sürümdür. (Anlatt›- nereye almak istiyorsunuz?” kutusuna bir matik olarak aç›ld›¤›n› göreceksiniz.
¤›m›z ifllemleri gerçeklefltirdi¤imiz Win- hücre adresi girmelisiniz. Biliyorsunuz ki bu ‹flte, verilerinizi Excel’e saniyesinde so-
dows sürümü Win98’dir.) Di¤er sürümler- tür nesnelere RefEdit nesnesi denir. Daha runsuz olarak aktard›n›z. Ne kadar çok
de hafif farkl›l›klar olsa da Excel 97 ve sonraki konular›m›zda bu tür nesnelerin olursa olsun, verilerinizin sizi asla s›kmaya-
2000’de de ayn› ifllemler rahatl›kla gerçek- kullan›m›n› detayl› olarak görece¤iz. Bu cak derecede h›zla aktar›ld›¤›n› göreceksi-
lefltirilebilir. nesneye yaz›lm›fl olan hücre adresi =$A$1 niz. Bu arada dikkat etmenizi istedi¤imiz
olabilece¤i gibi, baflka bir sayfa referans› bir nokta flu: “Veri Kayna¤› Seç” penceresi-
Basit bir örnekle ifllemimize bafllayal›m. verilerek de gerçeklefltirilebilir. =Say- nin durumu. Klasörün içerisine göz att›¤›-
1) fiekil-1’deki gibi basit bir Access (.mdb) fa3!$A$1 gibi. fiekil-7’de gördü¤ünüz gibi n›zda, yeni veri ald›¤›m›z vt1.mdb dosyas›-
veritaban› oluflturun. önce RefEdit nesnesinin sa¤ taraf›ndaki na ait .odc uzant›l› bir dosya görüyoruz.
2) Bu veri taban›na bir isim vererek (biz flekle t›klayarak “Veri Al” penceresini mini- (fiekil-10) Access veri taban› içerisinde tek
vt1.mdb ismini verdik) C:\Belgelerim kla- mize ettik. Daha sonra da fare ile önce Say- bir tablo olan Tablo1 ve verilerimizin de bu
sörüne kaydedin. fa3’e t›klad›k, hemen ard›ndan da A1 hüc-
3) Bofl bir Excel Çal›flma Kitab› aç›n. resine t›klad›k ve RefEdit nesnesinde =Say-
4) “Araçlar” menüsünden “D›fl Veri Al” alt fa3!$A$1 yazd›¤›n› gördük. Bunu sadece
menü komutunu, buradan da “Veri Al…” klavyeden de girerek gerçeklefltirebilirsiniz.

fiekil 9: “vt1.mdb” veri taban› dosyas›n›n fiekil 12: Verileri sürekli veri taban›ndan
aç›ld›¤›na flahit olmadan, verilerin Excel’e fiekil 11: Sa¤ tufl menüsüne yeni eklenen almak için “Veri Al” komutunu kullanma-
aktar›ld›¤›n› görüyorsunuz. komutlar ve D›fl Veri Al Araç Çubu¤u n›z yeterli olacakt›r.

7 • CHIP Workshop >>


>> Excel Serisi

fiekil 13: Veri


taban›na yeni
veri eklendi ve
tekrar
Excel’e
aktar›ld›.

fiekil 15: Veri alma süresini siz


belirleyebilirsiniz.

tablolarda olmas›ndan dolay› yeni olufltu- Hemen akl›n›za gelmese de daha ilerde- siniz. Excel belirli aral›klarla veri taban›na
rulan dosyan›n ad› “vt1 Tablo.odc” olarak ki zamanlarda akl›n›za tak›lan birkaç soru- ba¤lanarak verilerinizi al›r ve kendini gün-
eklenmifltir. ya cevap aramaya çal›flal›m. celler. Bunun için basit bir ayar yapman›z
‹fllemlerimiz tabi ki bu kadar de¤il. An- gerekiyor. Bu ayar› hem ifllem aflamas›nda
cak Excel’de aktif olan baz› komutlara Soru 1: Veri taban›na yeni veriler girdi¤i- yapabilirsiniz, hem de ifllemleriniz bittik-
mutlaka dikkat etmeliyiz. Fareniz ile Ex- mizde bu veriler de “Veri Al” dü¤mesine t›k- ten sonra. ‹fllem aflamas›nda iken yani fie-
cel’e aktard›¤›n›z verilerin üzerine gelin ve lad›¤›m›zda Excel’e aktar›lacak m›? kil-6’daki pencerede iken “Özellikler” dü¤-
sa¤ tufla t›klayarak sa¤ tufl menüsünü aç›n. mesine t›klayarak, ya da sa¤ tufl menüsün-
Son k›s›mda 4 adet yeni komutun eklendi- Cevap: Her ne kadar veri girilirse girilsin, den “Veri Aral›¤› Özellikleri” komutunu t›k-
¤ini göreceksiniz. Ayr›ca Veri menüsünde aradaki ba¤› koparmad›¤›n›z sürece, Excel layarak, aç›lan pencereden gerçeklefltirebi-
en son k›s›mda bulanan “Veri Yenile” ko- dosyan›zdaki D›fl veriler üzerine t›klay›p lirsiniz. Aç›lan “D›fl Veri Aral›¤› Özellikleri”
mutunun da aktif oldu¤unu göreceksiniz. “Veri Al” komutunu çal›flt›rd›¤›n›zda, veri- penceresinde bulunan “Yenileme Deneti-
leriniz yenilecektir. fiekli-13’deki görüntü- mi” bölümündeki “Her *** dakikada yenile”
❿Sorgu Düzenle yü, önce veritaban›n› açarak 2 adet veri gi- kutusunu aktif hale getirip, kutu içerisine
❿Veri Aral›¤› Özellikleri rip, ard›ndan Excel’e dönerek “Veri Yenile” istedi¤iniz süreyi yaz›p “Tamam” tufluna
❿Parametreler komutunu çal›flt›rarak ald›k. Ancak burada t›klaman›z yeterli olacakt›r. (fiekil-15)
❿Veri Yenile bir hat›rlatma yapmam›z yerinde olacakt›r.
E¤er, d›fl veri ba¤lant›n›z olan Excel dosya- Soru 3: Excel’e verilerimi aktard›ktan sonra
Zaman içerisinde yukar›da bulunan 4 n›z aç›ksa, o anda ba¤lant›l› oldu¤unuz ve- bir daha ne kendimin ne de bir baflkas›n›n
adet yeni komutu teferruat› ile inceleyece- ri taban› program›n› açarak veri girme iflle- Veri yenileme dü¤mesini aktif olarak gör-
¤iz. Çünkü her bir komut bafll› bafl›na bir mini gerçeklefltiremezsiniz. Çünkü Excel o mesini istemiyorum. Yani benden baflkas›
içeri¤e sahip olaylar› bar›nd›r›yor. Ancak ilk anda bu program› kullan›yor. Dolay›s›yla bu dosyan›n bir veri taban›na ba¤l› oldu¤u-
olarak “Veri Yenile” komutunu inceleyelim. kullan›lan veri taban›, dosyay› belki aça- nu bilmesin.
cakt›r, fakat dosya SALT okunur olarak aç›-
Veri yenile lacakt›r. Yani size yazma izni vermeyecek- Cevap: Bunu yapabilmeniz mümkün. Ve-
Herhangi bir veritaban›ndan Excel’e veri- tir. (fiekil-14) rileri bir kere al›p, bir daha al›nmas›n› iste-
lerinizi aktard›¤›n›z da siz de¤ifltirene ka- miyorsan›z, “D›fl Veri Aral›¤› Özellikleri”
dar, o veri taban› ile Excel aras›nda s›cak bir Soru 2: Veri taban›na verileri ald›ktan son- penceresinde bulunan “Sorgu tan›m›n›
ba¤ kurulmufltur. Bu ba¤ ile verileri tekrar ra, sürekli olarak “Veri Al” komutunu mu kaydet” onay kutusundaki onay› kald›rma-
tekrar ayn› yerden Excel’e aktarabilirsiniz. çal›flt›rmal›y›m? Belirli aral›klarla Excel ken- n›z yeterli olacakt›r. (fiekil-16)
Bundan dolay› da herhangi bir sorun yafla- disi bu verileri alamaz m›?
mazs›n›z. M. Temel Korkmaz
fiimdi farz edelim ki, Excel’e ald›¤›n›z Cevap:Evet, bunu otomati¤e ba¤layabilir- temelkorkmaz@excel.gen.tr
verilerle çal›flt›n›z ve verilerde baz› oyna-
malar yaparak orijinalli¤ini bozdunuz. An-
cak verilerin veri taban›ndaki hali size tek-
rar laz›m oldu. ‹flte bu noktada yapman›z
gereken tek fley, yeni aktif olan komutlar-
dan “Veri Al” dü¤mesine t›klamal›s›n›z. Bü-
tün verilerin eksiksiz olarak ayn› yerlerine
geldi¤ini göreceksiniz. fiekil-12’de üstteki
tabloda baz› verileri sildik. Alttaki tabloda
ise “Veri Yenile” komutuna t›klayarak tek- fiekil 14: D›fl veri alma ifllemi Excel’de
haz›rken, Veri taban› Salt okunur olarak fiekil 16: Sorgu tan›m›n› kald›rarak veri
rar eski verileri geri ald›k. alma ifllemini engelleyebilirsiniz.
aç›l›r.

<< CHIP Workshop • 8


Nas›l Çal›fl›r?
<<
‹flletim Sistemi Nas›l Çal›fl›r?

flletim sistemi, bilgisayar›m›zla yaflad›- ¤unu bilmeksizin, uygulamalar›n donan›m- bilimsel cihazlar› ve endüstriyel sistemleri
¤›m›z tecrübelere temel oluflturur. Bilgi- larla kararl› ve tutarl› bir flekilde çal›flmala- kontrol etmek için kullan›l›r. Bir RTOS tipik
sayar›m›z› açt›¤›m›zda karfl›m›za ç›kan r›n› sa¤lar. olarak çok az kullan›c›-arabirimi yetene¤ine
ilk yaz›l›mken, bilgisayar›m›z› kapatt›¤›m›z- Donan›m ve yaz›l›m kaynaklar›n› idare sahiptir ve son kullan›c›n›n faydalanabile-
daysa gördü¤ümüz son yaz›l›md›r. Di¤er etmek olarak tan›mlanan birinci görev çok ce¤i bir fley de¤ildir, ta ki “mühürlenmifl ku-
bütün programlar› kullanmam›za imkan önemlidir, çünkü çeflitli programlar ve girifl tu” olarak kullan›m için teslim edilinceye
veren yaz›l›md›r. ‹flletim sistemi, masan›z›n metotlar› kendi özel amaçlar› için merkezi kadar. RTOS’un en önemli parças›, bilgisa-
üstündeki ve elinizin alt›ndaki bütün dona- ifllemci biriminin (CPU/Central Processing yar›n kaynaklar›n› yönetmesidir, ki böylece
n›m›m›z› organize ve kontrol eder. Buna Unit) dikkatini çekmek için rekabet ederler- belirli bir ifllem her zaman oldu¤u gibi ayn›
ra¤men birçok kullan›c›n›n iflletim sistemi- ken, girifl/ç›k›fl (I/O) bant geniflli¤i, depola- zamanda kesinkes ayn› performans› göste-
nin ne oldu¤u hakk›nda hemen hemen hiç- ma ve bellek talep ederler. Bu kapasite için- rebilir. Karmafl›k bir makinede, bir ifllemi
bir bilgisi yoktur. de, iflletim sistemi iyi bir ebeveyn rolü oy- sistem kaynaklar› uygun oldu¤u için daha
Bu bölümde, bir yaz›l›m parças›n›n iflletim nar, hiçbir uygulamay› göz ard› etmeden, h›zl› devreye sokmak, sistem meflgul oldu-
sistemi olarak adland›r›lmas› için neler yap- her bir uygulaman›n gerekli kaynaklar› al›p ¤unda onu hiç hareket ettirmemek kadar
mas› gerekti¤ini okuyacak ve bir donan›m almad›¤›n› kontrol edip, çok daha faydal› vahim olabilir.
toplulu¤unu güçlü bir ifllem cihaz›na dö- bir flekilde sistemin s›n›rl› kapasitesini bü- ❿ Tek kullan›c›, tek görev: ‹sminin de ima
nüfltürmek için iflletim sisteminin nas›l ça- tün kullan›c› ve uygulamalara idareli bir fle- etti¤i gibi, bu iflletim sistemi, belirli bir an-
l›flt›¤›n› göreceksiniz. kilde kulland›r›r. da belirli bir görevin bir kullan›c› taraf›ndan
E¤er iflletim sistemini sadece belirli tip etkin bir flekilde yap›lmas›n› sa¤lamak üze-
Temel yap› bir bilgisayardan daha fazlas› kullanacaksa re bilgisayar› yönetmek için tasarlanm›flt›r.
Bütün bilgisayarlar›n iflletim sistemlerinin ya da e¤er de¤iflikliklere aç›k bilgisayara ye- Avuçiçi bilgisayarlardan Palm’in PalmOs’u
olmad›¤›n› bilmek önemli bir fleydir. Örne- ni donan›mlar ekleniyorsa, tutarl› bir uygu- modern tek kullan›c›l›, tek görevli iflletim
¤in, mutfa¤›n›zdaki mikrodalga f›r›n› kont- lama arabirimi (arayüzü) sa¤lamak olarak sistemlerinin en iyi örne¤idir.
rol eden bilgisayar, bir iflletim sistemine ih- ifade edilen ikinci görev, hayati bir önem ❿ Tek kullan›c›, çok görev: Bu, tam da bu-
tiyaç duymaz. Yapmas› gereken çok basit tafl›r. Tutarl› bir uygulama program› arayü- gün birçok insan›n kulland›¤› masaüstü ve
görevleri vard›r; çok basit girifl ve ç›k›fl me- zü (API/Application Program Interface), bir dizüstü bilgisayarlardaki iflletim sistemi tü-
totlar› (bir LCD ekran ve küçücük bir klavye) program gelifltiricinin bir bilgisayar üzerin- rüdür. Windows XP ve MacOS, her ikisi bir-
ve basit, kontrol gerektirmeyen asla de¤ifl- de çal›flan bir uygulama yazmas›na izin ve- den, tek kullan›c›n›n çok say›da program›
meyen bir donan›m. Hiçbir karmafl›k iflle- rirken, bu iki makinede haf›za ya da depola- ayn› anda çal›flt›rd›¤› iflletim sistemlerinin
min gerekmedi¤i böylesi bir bilgisayar için ma kapasitesi farkl› dahi olsa, ayn› tip bir en iyi örnekleridir. Örne¤in bir Windows
bir iflletim sistemi gereksiz bir yük olacakt›r. di¤er bilgisayarda bu uygulaman›n çal›fla- kullan›c›s› için, bir taraftan kelime ifllemci-
Mikrodalga f›r›n›n içindeki bilgisayarda, ge- ca¤›na tart›flmas›z bir flekilde güven verme- ye bir not yazarken bir taraftan da yaz›c›-
rekli tüm zamanlarda sadece tek bir prog- lidir. Eflsiz bir bilgisayar olsa dahi, o bilgisa- dan bir e-mail mesaj›n›n ç›kt›s›n› almak ve
ram çal›fl›r. yarda çal›flan iflletim sistemi donan›mda bunlar› yaparken bir taraftan da internet-
Mikrodalgay› aflan bir karmafl›kl›ktaki güncellemeler ve yenilenmeler oldu¤unda ten bir dosya indirmek kesinlikle mümkün-
bir bilgisayar sistemi için, maalesef, bir iflle- uygulamalar›n›n sorunsuz çal›flmas›n› ga- dür.
tim sistemi daha büyük çal›flmalar›n etkin ranti eder, çünkü bilgisayar›n kaynaklar›n› ❿ Çok kullan›c›: Bir çok kullan›c›l› iflletim
bir flekilde gerçekleflmesi ve kolay uygula- da¤›tan ve yöneten uygulamalar de¤il iflle- sistemi, çok say›da farkl› kullan›c›n›n efl za-
malar›n geliflimi için bir anahtard›r. Bütün tim sistemidir. Windows XP bir iflletim sis- manl› bir flekilde bilgisayar›n avantajlar›n-
masaüstü bilgisayar sistemlerinin iflletim teminin sa¤layabilece¤i esnekli¤e çok güzel dan yararlanmas›na izin verir. ‹flletim siste-
sistemleri vard›r. Bunlar aras›nda en çok bi- bir örnektir. Windows XP, binlerce sat›c›n›n mi kullan›c›lar›n tümünün ihtiyaçlar›n›n
lineni Windows, UNIX ve Macintosh iflletim donan›mlar› üzerinde çal›fl›r. Binlerce farkl› dengeli bir flekilde karfl›land›¤›ndan ve her-
sistemi aileleridir. Yukar›da sayd›klar›m›z›n yaz›c›, disk sürücü ve mümkün olan binler- hangi bir problemde bir kullan›c›n›n bütün
d›fl›nda, çok özel amaçlar için gelifltirilmifl ce çeflit kombinasyondaki özel yan dona- kullan›c›lar› etkilememesi için kullan›lan
yüzlerce farkl› iflletim sistemleri vard›r: Ör- n›mlar›n birlikte sorunsuz çal›flmas›n› sa¤- her bir program›n ayr›lm›fl kaynaklardan
ne¤in, özel bir amaç için gelifltirilmifl büyük lar. yeterli bir flekilde yararland›¤›ndan emin ol-
sistemler, robotlar, çeflitli üretim alanlar›, Destekledikleri uygulamalar›n çeflidi ve mal›d›r. Bu iflletim sisteminin örneklerini
gerçek zamanl› kontrol sistemleri gibi... kontrol ettikleri bilgisayarlar›n türünün te- Unix, VMS ve büyük bilgisayar iflletim sis-
Çok basit bir flekilde ifade edersek, bir ifl- meli üzerinde kategorize edilmifl iflletim temleri, örne¤in MVS olarak s›ralayabiliriz.
letim sistemi iki fley yapar: sistemlerinin genifl aileleri içinde dört çeflit Bir a¤› destekleyen çok kullan›c›l› iflletim
Bilgisayar sisteminin donan›m ve yaz›- vard›r: sistemleriyle tek kullan›c›l› iflletim sistem-
l›m kaynaklar›n› yönetir. Bu kaynaklar, ifl- ❿ Gerçek zamanl› iflletim sistemi lerini birbirlerinden ay›rmak çok önemlidir.
lemci, bellek, disk alan› gibi fleyleri içerir. (RTOS/Real-time Operating System): Ger- Windows 2000 ve Novell Netware, yüzlerce
Detayl› bir flekilde donan›m›n ne oldu- çek zamanl› iflletim sistemleri, makineleri, hatta binlerce a¤ flebekesi kullan›c›lar›n›

5 • CHIP Workshop >>


>> Nas›l Çal›fl›r?

destekleseler de, bu iflletim sistemlerinin ‹flletim sisteminin yukar›da s›ralanan bu kün olan en h›zl› zamanda bitmesi için kes-
kendileri gerçek çok kullan›c›l› iflletim sis- alt› görevden daha fazlas›n› yapt›¤›n› söyle- meleri baz› kaynaklara göstermemesi de-
temleri de¤illerdir. Sistem yöneticisi (admi- yenler olsa da ve baz› iflletim sistemi sat›c›- mektir. Bellekle ilgili problemler ya da hata
nistrator) Windows 2000 ya da Netware'in lar› çok daha yard›mc› ve faydal› ifllevi kendi durumlar›ndaki gibi baz› kesmeler, o kadar
tek "kullan›c›s›"d›r. A¤ deste¤i ve bütün iflletim sistemlerinde infla etseler de, bu te- önemlilerdir ki asla görmezlikten geline-
uzaktaki kullan›c›lar›n sisteme giriflleri iflle- mel 6 görev, bütün iflletim sistemlerinin mezler. Bu gizlenemez kesmelerle (non-
tim sistemi taraf›ndan yönlendirilen net- özünü tan›mlar. maskable/NMIs), di¤er görevlerin ne oldu-
work taraf›ndan yap›l›r. Sistem yöneticisi fiimdi de s›ra, tüm bu fonksiyonlar›n ifl- ¤una bakmaks›z›n, mümkün oldu¤unca en
iflletim sisteminin yetkili kullan›c›s›d›r. lemesinde kullan›lan, iflletim sisteminin h›zl› bir flekilde ilgilenilmelidir.
S›ra, bir iflletim sisteminin temel ifllevle- araçlar›na bakmaya geldi. Kesmeler, tek görevli sistemlerde ifllem-
rini incelemeye geldi. Yukar›da sayd›¤›m›z lerin yürütülmesinde baz› kar›fl›kl›klara yol
farkl› tip iflletim sistemlerini akl›m›zda tu- ‹fllemci yönetimi açsalar da, iflletim sisteminin ifli bir çok gö-
tarak, iflletim sistemlerinin temel ifllevlerini ‹fllemci yönetiminin özü iki ilgili konuya in- revli sistem içinde çok daha karmafl›k ola-
gözden geçirelim. dirgenebilir. cakt›r. fiimdi, iflletim sistemi uygulamalar›n
❿ Düzgün bir flekilde görevi yerine getir- çal›flmas›n› düzenlemelidir, öyle ki siz böy-
Uyand›rma ça¤r›s› mek için uygulama ve ifllemlerin yetti¤i ka- lece birkaç fleyin bir anda oldu¤una inan›r-
Bir bilgisayar çal›flmaya bafllad›¤›nda hare- dar ifllemci zaman› almas›n› sa¤lamak, s›n›z. Bu çok karmafl›kt›r, çünkü CPU belirli
kete geçen ilk program, sistem donan›mla- ❿ Gerçek ifl için mümkün olan say›da ifl- bir zamanda sadece tek bir fley yapar. Ayn›
r›n›n uygun bir flekilde çal›fl›p çal›flmad›¤›n› lemci döngüsünü kullanmak. zamanda birçok fleyin bir arada olabildi¤i
kontrol eden bilgisayar›n ROM’unda (Read ‹flletim sistemi taraf›ndan ifllemlerin s›- görüntüsünü vermek için, iflletim sistemi
Only Memory/Sadece Okunabilir Bellek) ralanmas› için uygulamaya konan temel bir saniyede binlerce kez birbirinden farkl›
muhafaza edilen komut setidir. Bu ilk aç›l›fl- yaz›l›m birimi ifllemci taraf›ndan çal›flt›r›l›r; ifllemler aras›nda bir de¤ifl tokufl yapmak
taki bilgisayar›n kendi kendini testi ‹flletim sisteminin yap›s›na göre ifllem ya da zorundad›r.
(POST/Power On Self Test) s›ras›nda, ifllem- izlek (thread) taraf›ndan. Bunun nas›l oldu¤unu afla¤›daki s›ral›
ci, bellek ve BIOS’ta (Basic Input Output Bir ifllemin bir uygulama gibi oldu¤unu aç›klamadan izleyebilirsiniz:
Systems, temel girifl ç›k›fl sistemleri) hatalar düflünmek çok caziptir, fakat bu ifllemcile- ❿ Bir ifllem RAM’in (Random Access Me-
olup olmad›¤› kontrol edilir ve sonuç özel rin donan›m ve iflletim sistemiyle nas›l ilifl- mory/Rasgele Eriflim Belle¤i) belirli bir k›s-
bir bellek alan›na kaydedilir. POST ifllemi kilendirilebilece¤ine dair tamamlanmam›fl m›n› iflgal eder. Ayn› zamanda, CPU ve iflle-
baflar›l› bir flekilde tamamland›¤›nda, bir resim verir. Sizin gördü¤ünüz uygulama tim sisteminin bellek alan› içinde kayd›n gi-
ROM’da yüklü olan yaz›l›m (bazen firmwa- (bir kelime ifllemci ya da grafik ya da bir riflini yapar, s›ralar ve bu kay›tlar› y›¤ar.
re de denir), bilgisayar›n disk sürücülerini oyun) asl›nda, bir ifllemdir, fakat bu uygula- ❿ ‹ki ifllem çok görevli oldu¤u zaman, iflle-
etkinlefltirmeye bafllayacakt›r. Ço¤u mo- ma cihazlar›n birbiriyle ya da bilgisayar›n tim sistemi belirli bir say›da CPU çal›flma
dern bilgisayarlarda, bilgisayar sabitdisk di¤er bilgisayarlarla iletiflim kurmas› gibi döngüsünü bir programda paylaflt›r›r.
sürücüsünü etkinlefltirdi¤inde, iflletim sis- çeflitli görevler için birçok di¤er ifllemin bafl- ❿ Bu döngülerin s›ralanmas›ndan sonra,
teminin ilk parças›n› bulur: Ön yükleyici lamas›na sebep olur. Ayr›ca, hep orada olup iflletim sistemi bütün kay›tlar›n kopyalar›n›
(bootstrap loader)... da size çal›flt›¤›na dair bir kan›t vermeye ge- ç›kar›r, ifllemler s›ras›nda kullan›lm›fl olan-
Tek bir ifllevi olan bu küçük programa ön rek duymadan çal›flan çok say›da ifllem var- lar› s›ralar ve y›¤ar ve bu yürütmenin içinde
yükleyici (bootstrap loader) denir: Ön yük- d›r. Bir ifllem, bir kullan›c› taraf›ndan, di¤er hangi ifllemlerin durdurulaca¤›n› not eder.
leyici bellek içine iflletim sistemini yükler ve uygulamalar taraf›ndan ya da iflletim siste- ❿ Ard›ndan ikinci ifllem taraf›ndan kullan›-
onun çal›flmaya bafllamas›na izin verir. En mi taraf›ndan kontrol edilebilen ve baz› ha- lan bütün kay›tlar› yükler, y›¤ar ve s›ralar ve
temel biçimde ön yükleyici, küçük sürücü reketlerin yap›lmas›n› sa¤layan yaz›l›md›r. belirli bir say›daki CPU döngüsüne izin ve-
programlar›n› arayüzleriyle birlikte kurar ve Bu, bir uygulamadan daha ziyade, iflle- rir.
bilgisayar›n çeflitli alt sistem donan›mlar›n› tim sisteminin merkezi ifllemci birimi (CPU) ❿ Bunlar tamamland›¤›nda, ikinci program
kontrol eder. ‹flletim sisteminin tuttu¤u vas›tas›yla uygulanmak üzere kontrol edip taraf›ndan kullan›lm›fl bütün kay›tlar›n
belle¤in bölümlerini, kullan›c› bilgilerini ve ve planlad›¤› bir ifllem ya da süreçtir. Tek kopyas›n› al›r, y›¤ar ve s›ralar ve birinci
uygulamalar› kurar. Bilgisayar›n uygulama- görevli sistemlerde, çizelge ya da planlama program› yükler.
lar› ve alt sistemleri aras›nda iletiflim trafi- dosdo¤ru gider ya da tek yönlüdür. ‹flletim Bu de¤iflimler s›ras›nda, bir ifllemin izle-
¤ini ayarlayan çok say›da sinyali, flag’leri ve sistemi, kullan›c› girifli ve kesilmelerde yü- rini muhafaza etmek için ihtiyaç duydu¤u
semaforlar› tutan veri altyap›lar›n› olufltu- rütmeyi belirli bir süre ask›ya almak d›fl›n- bütün bu bilginin içinde tutuldu¤u veri pa-
rur. Ard›ndan da, bilgisayar›n kontrolünü ifl- da, uygulamalar›n çal›flmaya bafllamas›na ketine, ifllem kontrol blo¤u (process control
letim sistemine b›rak›r. izin verir. Kesmeler (interrupt) donan›m ya block) denir. Bir ifllem kontrol blo¤u flunlar›
Genelde iflletim sisteminin görevleri, 6 da yaz›l›mlar taraf›ndan CPU’ya gönderilen kapsar.
kategoride ele al›n›r. özel sinyallerdir. Çok canl› bir toplant› s›ra- ❿ ‹fllemi tan›mlayan bir kimlik numaras›,
❿ ‹fllemci yönetimi s›nda, CPU’nun dikkatini çekmek üzere bil- ❿ Program içindeki yerleflimlerin ve iflle-
❿ Bellek yönetimi gisayar›n baz› parçalar›n›n birdenbire ayn› min en son görüldü¤ü yerin verilerinin gös-
❿ Cihaz yönetimi anda ellerini kald›rmalar›na benzetilebilir- tergeleri,
❿ Depolama yönetimi ler. Bazen iflletim sistemi ifllemlerin önceli- ❿ Kay›t içeri¤i,
❿ Uygulama arayüzü ¤ini planlayarak, kesmeleri saklar ya da tu- ❿ Çeflitli bayrak (flag) ve anahtarlar›n du-
❿ Kullan›c› arayüzü tar. Bu, iflletim sisteminin belirli iflin müm- rumu,

<< CHIP Workshop • 6


Nas›l Çal›fl›r?
<<
❿ ‹fllem için gereken belle¤in alt ve üst s›- mifl talep ile iflletim sisteminin kendisinin Birçok bilgisayarda, orijinal kapasitenin
n›rlar›n›n göstergeleri, çal›flmas›n›n devam etti¤i zamanlarda dahi üstüne yeni bellek eklemek mümkündür.
❿ ‹fllem taraf›ndan aç›lan dosyalar›n listesi, mevcut CPU’larla karfl› karfl›yad›r. Örne¤in, RAM’i 128’den 256 megabyte’a
❿ ‹fllemin önceli¤i, ‹flletim sistemi e¤er yürütme ihtiyac›n- yükseltebilirsiniz. Böyle bir fley yapmak ga-
❿ ‹fllem taraf›ndan ihtiyaç duyulan girifl-ç›- daki tek bir yaz›l›m olsa dahi, CPU planlama yet mant›kl›d›r, fakat göreceli olarak da
k›fl (I/O) cihazlar›n›n konumu... için tek bir kaynak de¤ildir. Bütün ifllemle- epey pahal›ya patlayabilir. Ayn› zamanda
‹fllemin statüsü de¤iflti¤inde, (örne¤in rin düzgün bir flekilde çal›flt›¤›ndan emin hesaplaman›n temel bir gerçe¤ini de gör-
aktif durumdan bekleme durumuna ya da olmak için gereken bundan sonraki en mezden gelir; bir uygulaman›n belle¤e kay-
ask›ya al›nm›fl konumdan çal›flmaya geçti- önemli ad›m bellek idaresidir. detti¤i bilgilerin ço¤u verili bir zamanda
¤inde) ifllem kontrol blo¤u içindeki bilgi, kullan›lmaz. Bir ifllemci bir zamanda sadece
herhangi baflka bir programda oldu¤u gibi, Bellek ve depolama yönetimi bir yerdeki bellek içeri¤ine eriflebilir, böyle-
iflletim sisteminin görev anahtarlama bölü- Bir iflletim sistemi bilgisayar›n belle¤ini yö- ce RAM’in büyük bir k›sm› herhangi bir an-
münün do¤rudan iflledi¤i veriler gibi kulla- netti¤i zaman, tamamlanmas› gereken iki da kullan›lmam›fl olur. RAM ile karfl›laflt›r›l-
n›lmal›d›r. büyük görev vard›r: d›¤›nda disk alan›n›n daha ucuz olmas›na
Do¤rudan kullan›c› müdahalesi olmak- ❿ Her ifllem yürütme içersinde yeterli bel- karfl›, bilginin RAM’den sabitdisk’e hareket
s›z›n bu ifllem de¤ifl tokuflu olur ve her bir le¤e sahip olmal›d›r ve bir baflka ifllemin edifli, RAM alan›n› masraf olmaks›z›n genifl-
ifllem, makul bir zaman içersinde görevini bellek alan›nda çal›flamayaca¤› gibi baflka letir. Bu teknik, sanal bellek yönetimi (virtu-
tamamlamak için yeterli CPU döngüsü al›r. bir ifllem taraf›ndan da çal›flt›r›lamaz. al memory management) olarak adland›r›-
E¤er kullan›c› ayn› zamanda birden fazla ifl- ❿ Her bir ifllemin en etkin bir flekilde çal›fl- l›r.
lemi bir arada çal›flt›rmak isterse, bafl›n› be- mas› için sistemdeki farkl› bellek tiplerinin Disk deposu, sadece iflletim sistemi tara-
laya sokabilir. ‹flletim sisteminin kendisi, uygun bir flekilde kullan›lmas› gerekir. f›ndan yönetilmek zorunda olan bir bellek
uygulama ifllemlerinin y›¤›n ve s›ralar› ol- ‹flletim sisteminin yapmas› gereken bi- tipi ve ayn› zamanda en yavafl oland›r. Bir
mak üzere bütün kay›tlar›n› muhafaza et- rinci görev, yaz›l›m biçimleri ve bireysel uy- bilgisayar sistemindeki bellek tiplerini h›za
mek veya de¤ifl tokufl yapmak için baz› CPU gulamalar için bellek s›n›rlar› (memory bo- göre s›ralarsak;
döngülerine ihtiyaç duyar. E¤er yeterli ifl- undaries) oluflturmakt›r. ❿ Yüksek h›zl› önbellek (cache): En h›zl›
lem bafllat›l›rsa ve e¤er iflletim sistemi dik- Bir örnek verirsek, 128 megabyte’l›k ba¤lant›larla CPU kullan›m›na sunulan, gö-
katli bir flekilde tasarlanmam›flsa, sistem, RAM’e sahip bir sistemimizin oldu¤unu receli olarak küçük ama en h›zl› bellektir.
çal›flmaya devam eden ifllemler yerine ifl- farz edelim. Bafllang›ç ifllemi s›ras›nda bi- Önbellek (cache) denetleyicileri (controller),
lemler aras›ndaki de¤ifl tokufl için CPU dön- zim hayal ürünü bilgisayar›m›z›n iflletim CPU verilerinin hangi parças›n›n bir sonra-
gülerinden kullan›lmaya haz›r olanlar›n bü- sistemi mümkün olan belle¤in en üstüne kine ihtiyaç duyaca¤›n› ve hangisinin ana
yük bir ço¤unlu¤unu kullanmaya bafllaya- gitmek ve ard›ndan iflletim sisteminin ken- bellekten bunu çekip sistem performans›n›
bilir. Böyle bir fley oldu¤u zaman bu durum disinin ihtiyaçlar›yla buluflmak üzere yeter- h›zland›rmak için yüksek h›zl› önbellek içi-
sistemin çökmesi (thrashing) olarak adlan- li bir flekilde geri dönmek için tasarlanm›fl- ne çekece¤ini önceden tahmin ederler.
d›r›l›r ve genellikle ifllemlerin durdurularak t›r. ‹flletim sisteminin çal›flmak için 64 MB’a ❿ Ana bellek (main memory): Bu RAM’dir.
düzeninin yeniden sa¤lamas› için kullan›c› ihtiyaç duydu¤unu farz edelim. fiimdi, iflle- Bir bilgisayar ald›¤›n›zda, RAM’in megaby-
müdahalesine ihtiyaç duyulur. tim sistemi RAM havuzunun en alt›na gider te’larla ölçüldü¤ünü görürsünüz.
‹flletim sistemi tasar›mc›lar› için çökme ve bilgisayar›n donan›m alt sistemlerini ❿ ‹kincil bellek (secondary memory): Ço-
ihtimallerini azaltman›n yolu, çok çeflitli kontrol etmek için gereken çeflitli sürücü ¤unlukla kullan›ma uygun veri ve uygula-
görevlerin sergilenmesi için yeni ifllemlere yaz›l›mlar› infla etmeye bafllar. Bizim hayal malar› muhafaza eden manyetik depola-
olan ihtiyac› azaltmakt›r. Baz› iflletim sis- ürünü bilgisayar›m›zda, sürücüler sadece man›n dönüflümünün bir çeflididir ve iflle-
temleri izlek (thread) ad› verilen modüller 30 MB’› alabilirler. ‹flletim sisteminin tama- tim sisteminin kontrolü alt›ndaki sanal
kullan›rlar. Bu modüller normal ifllemlerin men yüklenmesinin ard›ndan da, geriye uy- RAM gibi hizmet verir.
gerektirdi¤i bütün CPU yo¤unluklu ifllerle gulamalar›n çal›flmas› için 34 MB kal›yor. ‹flletim sistemi çeflitli ifllemlerin ihtiyaç-
u¤rafl›r, ama çeflitli girifl/ç›k›fl ifllemleriyle Uygulamalar belle¤e yüklenmeye bafl- lar›yla farkl› bellek tiplerinin uygunlu¤unu
u¤raflmaz... Bir ifllem birçok izlek ya da fark- land›¤› zaman, iflletim sistemi taraf›ndan dengelemeli, ifllem s›ras›n›n gerektirdi¤i bir
l› ifllemlerle bafllayabilir, fakat bir izlek bir belirlenmifl bir blok boyutuna yüklenir. E¤er flekilde verileri mevcut bellekler aras›nda
ifllemle bafllamaz. blok boyutu 2 kilobyte ise, yüklenmifl her blok blok (yani sayfalar halinde) tafl›mal›d›r.
fiimdiye kadar tart›flt›¤›m›z planlamala- bir ifllem, boyutu 2 kilobyte’›n kat› olan bir
r›n hepsi sadece bir CPU ile ilgiliydi. ‹ki ya da bellek parças› oluflturur. 8 ya da 4 byte’l›k Cihaz yönetimi
daha fazla CPU olan bir sistemde, iflletim kelimelerden oluflmufl s›n›rlar üzerindeki Bütün sanal donan›mlar (yani bilgisayar›n
sistemi ifl yükünü CPU’lar aras›nda bölüfl- bloklar›n bafllang›ç ve bitifliyle birlikte, uy- anakart› üzerinde olmayanlar) ile iflletim
türmeli, gerekli ifllemlerin taleplerini farkl› gulamalar bu sabitlenmifl blok boyutuna sistemi aras›ndaki yolu, sürücü ad› verilen
CPU’lar üzerindeki mümkün olan döngüler- yüklenir. Bu bloklar ve s›n›rlar uygulamala- özel programlar kurar. Bir sürücünün üst-
le dengelemeye çal›flmal›. Simetrik olma- r›n yetersiz hesaplanmas›ndan dolay› bafl- lendi¤i ifllevlerin büyük bir bölümü, dona-
yan iflletim sistemleri kendi ihtiyaçlar› için kas›n›n alan›na yüklenmemesini sa¤lama- n›m altsistemlerinin elektrik sinyalleri ile
bir CPU kullan›r, uygulama ifllemlerini ise ya yard›m eder. Burada en önemli soru, uygulama programlar› ve iflletim sistemi-
geri kalan CPU’lar aras›nda bölüfltürür. Si- tüm bu garanti yöntemlerine ra¤men, 34 nin üst düzey programlama dilleri aras›nda
metrik iflletim sistemleri kendilerini çeflitli MB’l›k uygulama alan› doldu¤unda ne yap›- çevirmenlik yapmakt›r. Sürücüler, iflletim
CPU’lar aras›nda bölüfltürürler, dengelen- laca¤›d›r. sisteminin dosya olarak tan›mlad›¤› verileri

7 • CHIP Workshop >>


>> Nas›l Çal›fl›r?

al›r ve onlar› depolama cihazlar›n›n üzerin- sistemlerinin var olma sebebinin asli parça- r›yla u¤raflmas› gerekmez. Çeflitli donan›-
deki özel yerlerde bulunan bit ak›fl›na ya da s›d›r. m›n altsistemlerini kontrol etmek için sürü-
yaz›c›da bir lazer darbecikleri dizisine çevirir. cülere ba¤l› olan iflletim sistemi, bir dona-
Çünkü, sürücülerin kontrol etti¤i dona- Uygulama Arayüzü n›mdan öbürüne farkl›l›k gösteren ayr›nt›-
n›mlar aras›nda ve sürücü programlar›n›n Nas›l ki sürücüler uygulamalara donan›m›n larla u¤rafl›r. Programc›n›n API için kod yaz-
ifllevlerini yerine getirme biçimleri aras›nda iflleyiflinin bütün ayr›nt›lar›yla bilmeksizin mas› yeter, gerisini iflletim sistemi hallede-
çok büyük farklar vard›r, fakat bunlar›n ço- donan›m altsistemlerinden yararlanma im- cektir. API’ler yak›n zamanlarda bilgisayar
¤u ilgili cihaza gerek duyuldu¤unda çal›flt›- kan› veriyorsa, uygulama program arayüzle- sektörünün en hararetli rekabet alanlar›
r›l›r; sürücü programlar› da baflka herhangi ri (APIs/application program interfaces) uy- aras›na girdi.
bir ifllem gibi ifllev üstlenir. ‹flletim sistemi gulama programc›lar›na, do¤rudan do¤ruya
sürücülere s›k s›k yüksek öncelikli bloklar CPU iflleyiflinin bütün ayr›nt›lar›n›n izini sür- Kullan›c› arayüzü
verir ve böylece donan›m kaynaklar› ser- meksizin, bilgisayar›n ve iflletim sisteminin Nas›l ki API, uygulamalara bilgisayar sistemi-
best kalabilir ve olabildi¤ince h›zl› bir flekil- ifllevlerini kullanmalar›na izin verir. Bunun nin kaynaklar›n› kullanmalar› için tutarl› bir
de yeniden kullan›lmaya haz›r hale getirilir. neden bu kadar önemli oldu¤unu anlamak yol sa¤l›yorsa, bir kullan›c› arayüzü (UI/User
Sürücülerin iflletim sisteminden ayr› ol- için, verileri tutacak bir sabitdisk dosyas›n›n Interface) kullan›c› ile bilgisayar aras›ndaki
mas›n›n baflka bir sebebi de, iflletim siste- oluflturulmas› örne¤ine bakal›m. etkileflimi yap›land›r›r. Son on y›l içinde, kul-
minin kendisini yenilemek, yeniden derle- Bir bilimsel araçtan veri kaydetmek için lan›c› arayüzündeki geliflmelerin neredeyse
mek ve çeflitli görevlerle donatmak gere¤i bir uygulama yazan bir programc›, bilim hepsi, grafik kullan›c› arayüzü (GUI/graphi-
duyulmaks›z›n sürücülerin –ve dolay›s›yla adam›na yarat›lan dosyaya bir isim vermek cal user interface) alan›nda görüldü. Bunun
donan›m altsistemlerinin– yeni ifllevler üst- imkan› tan›mak isteyebilir. ‹flletim sistemi, da iki model üzerinde yo¤unlaflt›¤›n› izledik:
lenmelerine imkân vermektir. Yeni dona- dosya yaratmak için MakeFile adl› bir API ifl- Apple’›n Macintosh’u ve Microsoft’un Win-
n›m cihaz sürücülerinin geliflmesiyle birlik- levi sa¤layabilecektir. Program› yazarken, dows’u... Baflka iflletim sistemlerinde baflka
te, (ki bu geliflme iflletim sistemini üreten programc› araya afla¤›daki gibi bir sat›r gi- kullan›c› arayüzleri de var.
firmalardan çok altsistem üreticileri tara- recektir. Sözgelimi, Unix, “shell” (kabuk) olarak
f›ndan sa¤lan›r ya da bunun maliyeti yine adland›r›lan bir kullan›c› arabirimi sunuyor.
altsistem üreticileri taraf›ndan karfl›lan›r) MakeFile [1, %Name, 2] Bu kabuklar standart iflletim sisteminin
bütün sistemin girifl/ç›k›fl yetenekleri bir metin tabanl› arayüzünden çok daha esnek
hayli art›r›l›yor. Bu örnekte, komut, iflletim sistemine ve güçlü. Korn Shell ve C Shell gibi program-
Girifl ve ç›k›fl› yönetmek asl›nda büyük kendi verilerinin rasgele girifline izin vere- lar metin tabanl› arayüzlerdir, önemli ya-
ölçüde ifllemlerin s›ralanmas›n›, tampon cek (1), kullan›c›n›n girdi¤i bir ismi alacak rarl› araçlar sunanlar, fakat as›l amaçlar› ifl-
bellekleri, bir cihazdan (diyelim ki bir klavye (%Name) bir dosya yaratmas›n› ve bu dos- letim sisteminin fonksiyonlar›n› yürürlü¤e
ya da bir seri porttan) bit ak›fl›n› alan, bu yan›n, içine depolanm›fl verilerin büyüklü- koymak ve kullan›c›lara kolayl›k sa¤lamak-
bitleri tutan ve bunlar› CPU’ya iflleyebilece- ¤üne göre de¤iflen bir ölçü almas›n› (2) söy- t›r. Baflka grafik kullan›c› arayüzleri de var-
¤i bir h›zda gönderen özel depolama araçla- ler. fiimdi de, iflletim sisteminin bu komutu d›r. Gnome ya da X-Windows gibi... Bunlar
r›n› yönetmektir. Bu ifllev özellikle çok say›- eyleme geçirmek için ne yapt›¤›na bakal›m. kullan›c›lar›n görüfl aç›lar›ndan Unix ve Li-
da ifllem yap›ld›¤›nda ve ifllemcinin bafl›n› ‹flletim sistemi disk sürücüsüne, mevcut nux gibi iflletim sistemlerini Macintosh ve
kald›rmaya vakit bulamad›¤› zamanlarda ilk serbest depolama konumunun yerini so- Windows’lara benzetir.
çok önemli bir hal al›r. ‹flletim sistemi, bir rar. Bu örneklerin hepsinde kullan›c› arayü-
tampon belle¤e, bir cihazdan giriflleri alma- Bu bilgiyle birlikte iflletim sistemi, dosya zünün iflletim sisteminin üstünde bir kat-
ya devam etmesi, fakat girifl ifllemi ask›ya sisteminde dosyan›n bafllang›ç ve bitifl ko- man gibi yer alan bir program ya da bir
al›nd›¤›nda CPU’ya veri göndermeyi dur- numlar›n›, dosyan›n ad›n›, dosyan›n tipini, programlar setinden olufltu¤unu unutma-
durmas› için komut verecektir. Ard›ndan, dosyan›n bir arfliv dosyas› olup olmad›¤›n› makta fayda vard›r. Farkl› mekanizmalara
girifle ihtiyaç duyan ifllem yeniden aktif ha- (yani hangi kullan›c›n›n dosyaya bakma ya sahip olsalar da, Windows ve Macintosh ifl-
le getirildi¤inde, iflletim sistemi tampon da onu biçimlendirme izninin oldu¤unu), letim sistemleri için de do¤rudur bu. ‹flle-
belle¤e verileri göndermesi için komut ve- dosyan›n ne zaman yarat›ld›¤›n› gösteren tim-sistemi fonksiyonlar›n›n özü, yani bilgi-
recektir. Bu ifllem, bir klavyeyle ya da bir bir girifl izni yarat›r. sayar sisteminin yönetilmesi iflletim siste-
modemin harici kullan›c›larla ya da bilgisa- ‹flletim sistemi dosyan›n bafllang›c›na minin çekirde¤inde yatar. Altta yatan çekir-
yarlarla büyük bir h›zla bafla ç›kmas›n› sa¤- dosyay› tan›mlayan, olas› eriflim tipini belir- de¤e s›k› s›k›ya ba¤l› olsa bile ekran yöneti-
lar; hatta CPU’nun bu kaynaklardan gelen leyen ve dosyay› uygulamaya ba¤layan di- cisi (display manager) ayr›d›r. ‹flletim siste-
giriflleri kullanamad›¤› zamanlarda bile... ¤er bilgileri içeren bilgileri yazar. minin çekirde¤i ile kullan›c› arayüzü, yararl›
Bilgisayar sisteminin bütün kaynaklar›n› Bu bilgilerin tümü, disk sürücüsü ile dos- araçlar (utilities) ve baflka yaz›l›mlar aras›n-
idare etmek, iflletim sisteminin en önemli yan›n bafllang›ç ve bitifl noktalar›n›n adres- daki ba¤, bugünün iflletim sistemlerindeki
ifllevleri aras›ndad›r ve gerçek zamanl› iflle- leriyle ilgili sorgular, büyük ölçüde disk sü- farkl›l›klar› belirler ve gelecekte de belirle-
tim sistemleri söz konusu oldu¤unda gere- rücüsünün modeli ile üreticisinin belirledi¤i meye devam edecektir.
ken ifllevlerin neredeyse tamam› bundan formatlardad›r.
ibarettir. Di¤er iflletim sistemlerine gelin- Programc› disk depolamada API kullana- Curt Franklin
ce... Uygulamalar ve insanlar için kullan›la- cak program›n› yazd›¤›ndan, komut kodla- Çeviren: Sevda K›l›ç
cak görece basit ve tutarl› bir yol bulma im- r›yla, veri tipleriyle ve olabilecek her tür sa- sevda@chip.com.tr
kan› varsa da donan›m›n gücü bu iflletim bitdisk ve bant sürücüsüne response kodla- Copyright 2000 HowStuffWorks.com

<< CHIP Workshop • 8

You might also like