Bilgisayar Donanım Notları

Bilgisayar Donanım Notları

Günümüzde en çok kullanılan bilgisayar çeşitleri Personel Computer adı verilen PC’ ler dir. Görünüm olarak PC adı verilen bilgisayar; monitör, kasa, klavye ve mouse’ tan oluşur. Bunun yanında Laptop adı verilen diz üstü, Palmtop adı verilen avuç içi bilgisayarlar da vardır. Bilgisayar donanım ve yazılım olarak ikiye ayırmak mümkün. Donanım (Hardware), bilgisayarın fiziksel boyutunu oluşturur. Tüm bu işlerin yapıldığı, bilgisayarların elle tutulabilen elektronik aygıtların tümüne Donanım (Hardware) adı verilir.

Donanım içerisinde temel olarak ;
1. İşlemci (Cpu),
2. Ram (Random access memory),
3. Disket sürücü (Floppy disk),
4. Sabit disk (Harddisk),
5. Ekran (grafik) kartı,
6. MultiMedia özelliği
a ) CD – ROM veya DvD
b ) Ses kartı (sound card),
7. Fax/Modem (external and internal),
8. TV/Tuner veya Radio kartı,
9. Yazıcı (Printer),
10. Tarayıcı (Scanner),
11. Çizici (Plotter),
12. Monitör,
13. Anakart (mainboard),
14. BIOS,
15. Kasa

Bunlardan Disk/Disket, Monitör, Printer, Klavye ve Mouse Çevre birimleri olarak yada temel girdi / çıktı birimleri olarak kabul edilir. Bunları günümüze uyarlayıp biraz açıklayalım. Daha önceleri multimedia’ sı bulunan bilgisayarlar ayrıcalıklı kabul edilirken bugün multimedia olmayan bilgisayar kalmamıştır.

1. CPU (Centeral Processing Unit):
Günümüzde Cpu’ lar yakın bir geçmişten günümüze ..., 286, 386, 486 ve grekçe de beş anlamına gelen Penta’ dan türetilen Pentium adı verilen bilgisayarlar üretildi. Bunlarda daha sonra Pentium, Pentium MMX, Pentium Celeron, Pentium II ve yeni çıkan Pentium III‘ ler üretildi. Mikro işlemcilerin ölçü birimi MegaHertz yani MHz olarak belirtilir. Örneğin; Pentium 50, 75, 100, ve 133 Mhz gibi. MMX’ lerin normal Pentiumlara göre farkı MultiMedia uygulamalarda daha güçlü olmasıydı. Bunlarda 166 Mhz den sonra 200 ve 233 olarak devam etti. Üretilen 266 işlemcilerde Pentium II olarak adlandırıldı. Sırası ile 300, 333, 366, 400, 433 ve 450 Mhz olarak adlandırıldı. Bu arada Pentium II’ lerin ortaya çıkmasıyla Celeron adı verilen Cpu’ u devride başlamış oldu. Celeron tipi Cpu’ ların diğerlerinden farkı cache belleklerinin (ön yada tampon bellek) olmamasıydı. Daha sonra çıkartılan Celeron A adı verilen işlemcilere 128 KB cache bellek eklendi. Bu normal Pentium II Cpu’ larda 256 veya 512 KB’ tır. Cache belleklerin önemi Cpu’ nun denetimi altında yüksek erişim gerektiren komutlar, veriler vb. işlevlerin saklanmasıydır. Diğer bir deyişle Ana bellek ile işletim sistemi arasında sığası küçük fakat erişim hızı yüksek olan bir tür bellek çeşididir de denebilir. Bu bellek normal Pentium Cpu ile Celeron Cpu arasında aynı Mhz’ de olsalar bile hız farkına ve fiyat farkına sebep olur. Pentium III’ lerinde Pentium II’ den farkı; 500, 550 Mhz büyüklüğünde olmalarından dolayı olan hız farkı ve mimari farklarıdır. Şu anda Piyasadaki işlemci çeşitlerine Intel, AMD, Cyrix gibi işlemcileri örnek olarak verebiliriz. Bunlar arasında en çok bilineni Intel işlemcilerdir.

2. RAM (Random Access Memory):
Rastgele erişimli bellek. Bu ismi taşımasının sebebi Okuma / Yazma işlemlerini diğer bellek bölgelerinden bağımsız gerçekleştirdiği içindir. Günümüzde Windows 95 işletim sistemi için en az 4 MB (tavsiye edilen 8MB ve yukarısı), Windows 98 işletim sistemi için en az 8 MB (tavsiye edilen 16 MB ve yukarısı) önerilir. Ram’ ler çeşitleri bakımından sayısı çok fazladır. Örnek olarak Pariteli, Paritesiz veya EDO, SDRAM gibi. Pariteli, Paritesiz veya EDO RAM’ ler 72 pin, SDRAM’ ler ise 168 pin’ lik tirler. Ram’ ler de Pin sayısı arttıkça bilgisayar hızlarına etkileri o ölçüde artar. SDRAM’ ler de kendi aralarında 100 Mhz olup olmaması bakımından ikiye ayrılır. Fakat, 100 Mhz Ram’ lar yanlızca BX anakartlar da çalışmaktadır.

3. DİSKET SÜRÜCÜ (Floppy Disk):
Disket sürücüler RAM üzerinde bulunan verilerin kayıt edildi alanlardan biridir. Kapasite bakımından biraz az yere sahiptir. Fakat rahatlıkla bir veya daha fazla dosyayı başka makinelere aktarmak için tercih edilir. Disket sürücülerde 5.25” ve 3.5” disketler olarak ikiye ayrılır. Günümüzde artık 5.25” lik disketler kullanılmamaktadır. 3.5” disket sürücüler kendi aralarında üçe ayrılır. DD olarak bilinen 720 KB kapasiteli olanlar. HD olarak bilinen 1,44 MB kapasiteli olanlar ve 2,88 MB olan disket sürücüler. Fakat 2,88 MB olan disketler pek tutulmadıkları için piyasada bulmak da zordur. Günümüzde 1,44 MB’ lık disket sürücüler kullanılmaktadır. Bu sürücüler de 720 KB’ lık disketlerde çalışabilmektedir. Bilgisayarlar otomatik olarak disket sürücülere alfabetik isimlendirme yaparlar. Tek bir disket sürücü varsa A: sürücüsü olarak görünür. İki tane olması durumunda A: ve B: sürücüsü olarak görünür.

3) SABİT DİSK (Harddisk):
Disket sürücülerin kapasiteleri düşük fakat istenen dosyaları başka makinelere aktarma işlemini kolaylıkla yapabilir. Harddisk’ ler de verilerimizi depoladığımız birim olarak tanımlanır. Disket sürücülere göre avantajı kapasitelerinin yüksek olmasıdır. Dezavantajı ise disketlerdeki gibi harddiskleri cebimize koyamayız. Bunlar kasanın içerisine vidalar vasıtasıyla monte edilir. Bu yüzden sabit disk adı verilmiştir. Kapasitesinin büyük olması daha fazla dosyanın bulunması anlamına gelir. Yani işletim sistemleri, uygulama programları, Ofis ürünleri, oyunlar gibi yüklediğimiz programlar burada bulunur. Günümüzde kapasiteleri 2.1, 3.2, 4.3, 6.4, 10 GB büyüklükte harddisk’ ler vardır. Sabit diskler arasında günümüz piyasasında en çok kullanılanları QUANTUM, WESTERN DIGITAL, SEAGATE ve MATROX gösterilebilir.

4) EKRAN KARTI (Graphics Card):
Ekran kartlarına, grafik veya VGA kart adı da verilir. Ekran Kartlarının görevi yapılan işlemleri monitöre aktarmaktır. Ekran Kartları üzerinde de daha hızlı verileri monitöre aktarması için ayrıca RAM bellek modülleri bulmaktadır. 1, 2, 4, 8, 16, 32 MB’ a kadar olanları bulunmaktadır. Günümüzde 3 Boyutlu görüntülerin bilhassa oyunların artmasıyla Ekran kartlarında 3D FX adı verilen özelliklerde bulunur. FX, 3D veya Voodoo isimleri ekran kartı üzerinde bulunan chiplere verilen isimlerdir. Özelliği de bu 3 boyutlu görüntülerin hızlı çalışmasını sağlar. Günümüzde ekran kartları oyunlara endeksli üretilmektedir.


6. MultiMedia Özelliği
Bu özellik bünyesinde iki farklı aygıtı barındırır. Biri CD-ROM veya DvD Rom diğeri ise Ses Kartı
A -) CD – ROM: CD – ROM orijinal programlar, oyunlar, müzik dinlemede, film seyretmede vb. alanlarda kullanırlar. CD – ROM’ lar ile DvD’ ler arasında kapasite farkı vardır. CD – ROM’ lar en fazla 650 MB iken DVD’ ler 6 GB veya daha fazla büyüklüklerde bulunurlar. CD – ROM’ lar ile CD-Writter’ lar arasındaki fark ise CD – ROM’ ların yalnızca ROM (Read Only Memory) sadece okunabilir bellek olması, CD-Writter’ lerin ise hem yazıp, hem okuyabilmesidir. CD – ROM’ lar 32x, 40x, 48x, 50x şeklinde ifade edilir. Buralardaki sayılar CD – ROM’ un saniyede aktarılan byte sayısını belirtir. 1x hızında bir CD – ROM 9600 pbs hızına eş değerdir.
B -) Ses Kartı: Bilgisayardan müzik CD’ leri, oyunlardan çıkan sesler veya filmlerden gelen sesleri duymak için ses kartı kullanılır. Ses kartları 16, 32, 64 Bit olarak çeşitlere ayrılır. Buradaki sayılar aynı anda çıkan enstrüman seslerini belirtir.

7) FAX/MODEM:
Internet bağlantısı düşünülürse bilgisayarda muhakkak Modem olması gerekir. Modemler dahili (internal) ve harici (external) olmak üzere ikiye ayrılır. Dahili modemler bilgisayarın içine uygun bir slota yerleştirilir. Harici modemler bilgisayarın dışından bir kablo bağlantısı ile bağlanan modemlerdir. Modemler 28.800, 33.600 ve 56K bps hızındadır. Bu aygıt üzerinde iki farklı özellik vardır. Modem özelliği ile dosyalar bir makineden diğerine aktarılır. Fax özelliği ile de fax makinelerine fax gönderme veya fax alma işlemi yapılır.

8. TV TUNER veya Radio Kartları:
Bilgisayarda televizyon seyredilmek istenirse TV TUNER kartı, Radio dinlenmek istenirse Radio kartı kullanılır.

9. Yazıcı (Printer):
Ekran üzerinde görünen yazıları kağıtlara yazdırmak için kullanılır. Genel olarak A4’ lere çıktı verirler fakat bazı modeller A3’ lere de yazdırabilmektedir. Yazıcılar üçe ayrılır.
A -) Nokta vuruşlu (Dot-Matrix) yazıcılar : Baskı kalitesinin en kötü olan yazıcı türüdür. Çünkü kağıt üzerine yazıcı kafasında bulunan iğneler vasıtasıyla yazılır. Bu yüzden nokta vuruşlu yazıcılar adı verilir. A4 veya Sürekli form kullanılırlar. Genelde muhasebe bürolarında kullanılır. Genellikle siyah çıktı verirler. Renkli çıktı veren modelleri de vardır.
B -) Laser (LaserJet) yazıcılar : Baskı kalitesinin en iyi olduğu yazıcılardır. Çünkü kağıt yazıcı içerisinde bulunan silindir üzerinden geçerken laser teknolojisi ile yakılarak harfler kağıda dökülür. Hız olarak da diğer modellere göre daha hızlı çalışmaktadır. Dakikada 8 sayfa çıkaran modeller vardır. Genellikle siyah çıktı verirler. Renkli çıktı veren modelleri de vardır.
C -) Mürekkep püskürtmeli (DeskJet) yazıcılar : Baskı kalitesi ne kötü nede çok iyidir. Çünkü kağıt üzerine mürekkep püskürtülerek yazılır. Ev kullanıcıları için üretilmiştir. Hem renkli hem de siyah çıktı verirler. Hızları nokta vuruşlu yazıcıdan daha iyidir. Dakikada 4 sayfa yazabilirler.

10. Tarayıcı (Scanner):
Herhangi bir kağıt üzerindeki resim, yazı veya şekli bilgisayara aktarmak istenirse tarayıcılar kullanılır. Ölçü birim dpi kullanılır. Tarayıcıların dpi sayıları ne kadar fazla olursa bilgisayara aktarılmak istenen görüntüler o kadar net görüntülenir. 600, 1200, 9600, dpi gibi.

11. Çiziciler (Plotter):
Yazıcı gibi fakat A4 yerine daha büyük olan A0 benzeri kağıt veya asetatlara çıktı verirler. Daha çok reklamcılar, mühendisler tarafından kullanılır. Boyutları yazıcıya göre bir hayli büyüktür.

12. Monitör:
Bilgisayar üzerinde yapılan bütün işlemleri ekran kartından gelen komutlara göre bize görüntüler. Boyut olarak 14”, 15”, 17”, 21” inç ve daha büyükleri bulunmaktadır. Büyük ekranlı monitörler genelde mühendisler tarafından kullanılır. 1” = 2,54 cm’ e karşılık gelir. Ekranın köşegen uzunluğu boyutunu belirler.
Buradaki uzaklık inç olarak belirtilir



13. Anakart (Mainboard):
Anakartlar ekran kartı, ses kartı, modem, ram, bios, gibi birimlerinin direkt, sabit disk, CD – ROM, disket sürücülerinin de güç ve veri kabloları ile üzerine yerleştirilmiş temel donanım birimidir. MMX cpu’ larda VX, TX, Pentium II’ lerde LX, BX, Pentium II Celeron’ larda EX adları verilen anakartlar vardır. Bunlar chiplere verilen isimlerdir. Pentium III ‘ler de şu anda BX chip seti bulunmaktadır.

14. BIOS (Basic Input Output System):
Temel giriş / çıkış sistemi adı verilir. Bilgisayarlara bağlı çevre birimleri denetleyen modül olarak adlandırılır. Bilgisayar için Tarih/Saat ayarlarının tutulduğu yerdir. Award, Phoneix, Ami bios çeşitlerinden bir kaçıdır. Bios’ lar Anakart üzerine yerleştirilmiş olarak bulunmaktadır.

15. Kasa:
Anakart da dahil olmak üzere bütün kartların derli toplu bulunduğu kutuya kasa adı verilir. Kullanılış biçimlerine göre isimler verilir. Monitörün altında olanlara Slim Case, bilgisayarın yanında dik olarak duranlara Tower Case adı verilir. Tower’ lar da büyüklüklerine göre Mini, Midi ve Big Tower olarak isimlendirilir.

5 yorum Bu kayda verilen bağlantılar  

Perl'de Sabit ve Değişkenler

SABİT VE DEĞİŞKENLER

1.Sabitler

A)Sayısal Sabitler:

Sayısal sabitler,programın çalışması esnasında gereken sayısal sabit değerlerdir. Perl 8 ve 16 tabanlı

sayısal değerlerin kullanımını da sağlar.

1245

100.45

.000034

043

0x23 ...gibi





B)String Sabitler:



String sabitler,programın çalışması esnasında gereken alfasayısal sabit değerlerdir. Alfabetik ve

Alfabetik/sayısal/özelkarakter karışımı olabilirler. Tırnak içindeki ifadelerdir.

Perl stringlerde; Tek, çift, geri tırnak kullanır. Bunlar birlikte de kullanılabilirler.

Kurallarını göreceğiz.



Örnek:

'Ertan Türkmen'

"Ertan Türkmen"

"Dedi ki, \"O Ankara'dan geldi.\""

'Ahmet Trabzon\'ludur'

...gibi



stringlerde EscapeSequence denilen özel işlevli karakterlerde kullanılır.



Escape SequeNCe karakterlerinden bazıları ve anlamları:



\a Alarm

\b Backspace -geri-

\e Escape -çıkış-

\f Form Feed -form besleme -

\n Newline -yeni satır-

\r Carriage return -satır sonu-

\t Tab - x karakter atla -

\v Vertical Tab - dikey atla -



ilerleyen derslerde konuyla ilgili örnekler görecek ve daha iyi anlayacağız.



2.Değişkenler



a)Skalar değişkenler : İçersinde değişebilen değerler bulunduran birimlerdir. İlk karakteri $ işaretidir.Bu karakterden sonra en az 1

alfabetik karakter bulunmalıdır. Değişken adında kural olarak bu karakterlerden hemen sonra alfabetik, sayısal karakterler ve _

karakteri kullanılabilir. Değişken uzunluğu serbesttir.



Örneğin;



$ad, $ad_soyad, $a1 gibi değişken adlari geçerli olup aşağıdakiler geçersizdir.





ad # $ karakteri olmadığından

$ # $ dan sonra en az 1 alfabetik karakter gerektiğinden

$47x # 2.karakter sayısal olamaz

$_ad # 2.karakter alfabetik olmalı

$ad! # ! karakteri kullanılamaz



Not : Küçük ve büyük harf kullanımı önemlidir ve farklı değişkenleri temsil ederler. Bu demektir ki; $AD ile $Ad ve $ad farklı

değişkenlerdir.



Değişkenlere değer atama:

Eşitliğin bize göre sağındaki değer (sayısal/alfabetik/karışık olabilir) solundaki değişkenin içine konur. Aşağıdaki ifadeyi inceleyiniz.



$ADI_SOYADI = "Ertan TURKMEN";

$ADI_SOYADI değişkeni içindeki değer "Ertan TURKMEN" dir.

benzer şekilde,

$MAAS = 125000;

$MAAS değişkeni içeriği 125000 dir.



Not : Değişkenin içinde önceden bir değer varsa,önceki değer silinir, son atanan değer geçerli olur.



Aritmetik Operatörler:



Perl de kullanılan TEMEL aritmetik operatörler;

Toplama +

Çıkartma -

Çarpma *

Bölme / dir.



Örnek program : Verilen değerin Km ve Mil cinsinden çevirimini yapar.

Adı milkm.pl olsun.



#!/usr/local/bin/perl

print ("Mesafeyi giriniz: \n");

$mesafe = ;

chop ($mesafe);



# chop fonksiyonu giriş sonundaki karakteri atar

# programımızda son karakter Enter tuşuna bastığımız için

# yeni satır (\n) karakteri

# olduğundan onu atar(siler).



$mil = $mesafe * 0.6214;

$km = $mesafe * 1.609;

print ($mesafe, " km = ", $mil, " mil\n");

print ($mesafe, " mil = ", $km, " km\n");



Not : Program satırlarında kullanılan "\n" göstergesi alt satıra geçişi sağlayan yeni satır karakteridir.



Çalışması:

>milkm

>Mesafeyi giriniz:

>10

>10 km = 6.2139999999999995 mil

>10 mil = 16.09 km

>





a.1)Tamsayi (integer) Skalar değişkenler:



İçerisinde tamsayı sabit ve literal bulundurabilirler. integerlar kayar noktalı (floating-point--birazdan inceleyeceğiz--)değerler gibi

işlem görürler.



Örnek program: adı prg.pl olsun...



#!/usr/local/bin/perl

$deger = 1234567890;

print ("1.değer: ", $deger, "\n");

$deger = 1234567890123456;

print ("2.değer: ", $deger, "\n");

$deger = 12345678901234567890;

print ("3.değer: ", $deger, "\n");



Çalışması :

> prg

>1.değer: 1234567890

>2.değer: 1234567890123456

>3.değer: 12345678901234567168



çıktısı verir. Görüldüğü gibi ilk 2 değerde sorun yoktur.3.değer yanlış sonuç üretir. Çünkü tamsayı için fazla değer içermektedir.



a.1)Kayar Noktalı (floating-point) Skalar değişkenler:



En fazla 16 rakam kabul edebilirler. Bu değişkenler tamsayı, ondalıklı, exponent(e üzeri) ve -/+ işaretli değerleri saklayabilirler.



Örneğin, aşağıdaki değerlerle işlem yapabilirler.



11.4 , -275 , -0.3 , .3 , 3. , 5.47e+03 , ...v.b.



Örnek program : Adı prgsk1.pl olsun,



#!/usr/local/bin/perl

$deger = 34.0;

print ("1. deger ", $deger, "\n");

$deger = 114.6e-01;

print ("2. deger ", $deger, "\n");

$deger = 178.263e+19;

print ("3. deger ", $deger, "\n");

$deger = 123456789000000000000000000000;

print ("4. deger ", $deger, "\n");

$deger = 1.23e+999;

print ("5. deger ", $deger, "\n");

$deger = 1.23e-999;

print ("6. deger ", $deger, "\n");





Programın Çalışması :

> prgsk1.pl

> 1. deger 34

> 2. deger 11.460000000000001

> 3. deger 1.7826300000000001e+21

> 4. deger 1.2345678899999999e+29

> 5. deger Infinity

> 6. deger 0

>



b)String değişkenler:



String (karakter/karakterler içeren dizi) içerirler. Bu değerler alfabetik ve sayısal sabit veya değişken olabilirler.



Ör1: $AD_SOYAD = "Ertan TURKMEN";

komutuyla "Ertan TURKMEN" stringi $AD_SOYAD string değişkenine atanır.



Ör2: $number = 11;

$text = "Bu text sayı içerir.İçerdiği sayı $number.";



komutlarının icrası sonucu $number'a 11 sayısı atanır. $text değişkenine ise "Bu text sayı içerir. İçerdiği sayı $number." Stringi atanır.

Sonuçta $text'in içeriği şudur.



"Bu text sayı içerir.İçerdiği sayı 11."



Stringlerde de Escape Sequence karakterler kullanılır.



Bunlar aşağıdadır :



\a Zil sesi

\b Backspace

\cn Ctrl+n karakteri

\e Escape

\E \L, \U or \Q etkisini sonlandır

\f Form feed

\l Sonraki harfi küçüğe çevirir

\L Sonraki tüm harfleri küçüğe çevirir

\n newline - Yeni Satır

\r Carriage return

\Q Özel örnek karakterleri arama

\t Tab

\u Sonraki harfi büyüğe çevir

\U Sonraki tüm harfleri büyüğe çevir

\v vertical tab





Tek ve Çift tırnaklı string farkı:

Bunu örnekle inceleyelim.



Ör1:

$string = "Bir stringdir";

$text = "Bu $string";

# $text'in içeriği "Bu Bir stringdir"



Ör2:

$text = 'Bu bir $string';

#$text'in içeriği 'Bu bir $string'



İki örnek arasında fark açıkça görülmektedir. Tek tırnak içindeki string aynen saklanır. Değişken ve hatta \n gibi karakterlerde kendi

özelliklerini icra eder şekilde kullanılamaz. (sadece \ ve ' karakterleri hariç)



Ör3:

$text = 'Bu string.\n';

$text içeriği:

Bu string .\n şeklindedir.



Ör4:

$text = 'Burada \', tek tırnak karakteri var';

$text içeriği: Burada ', tek tırnak karakteri var



Ör5:

$text = 'Stringin son karakteri backslash \\';

$text içeriği:

Stringin son karakteri backslash \ şeklindedir.





String ve Sayısal değerlerde değiştirilebilirlik:



Örnekle inceleyelim.

$string = "43";

$Sayı = 28;

$result = $string + $Sayı;

$result içeriği 71 dir.



Bir de şu örneği inceleyelim:

$number = ; #klavyeden giriş bekler 22 girdik diyelim

# $number içeriği 22\n dir (\n enter tusu)

chop ($number); # $number içeriği su anda 22

$result = $number + 1; #$result içeriği 23



Şöyle bir atama sonucunda ise :

$result = "hello" * 5;

$result içeriği 0 dır.

çünkü hello sayısal olmadığı için sayısal değeri 0 dır



Eğer string ifadede sayısal ve alfabetik değer varsa, $result = "12o34"; gibi.. Bu durumda ortadaki o

harfi öncesi geçerlidir. $result içeriği 12’dir.



ALTERNATİF STRİNG AYRAÇLARI



Aşağıdaki örneğe bakalım;



$say = 5;

print ("$say\n"); # 5 basar

print ('$say\n'); # $var\n basar



örnekte ' ve " ayraçlarını görüyoruz. Perl başka ayraç elemanları da sunar.

Bu işlev için, q kullanıp sonraki ayraç elemanını belirleyebiliriz.



q!merhaba $kim! gibi...

bu ifade ile aşağıdaki ifade aynıdır.

'merhaba $kim'



String sınırlayıcı olarak qq kullanırız.



qq/This string contains $var./



Burada / karakteri stringi ayırır(sınırlar).



Stringi kelimelere ayırma-kesme- işlevini qw ile yaparız.



Aşağıdaki iki satır aynıdır.



@kelimeler = qw/Bu bir cümledir/;

@kelimeler = split(' ', q/Bu bir cümledir/);



her iki durumda da @kelimeler ' e şu liste atanır;



("Bu ", " bir ", " cümledir")



<< KULLANARAK STRİNG TANIMLAMA



<< işareti ile string başı tanımlanır. Bu string boş satır görene kadar devam eder.



Örnek:



$A = <<

here is the string

bu ikinci satır } $A içeriği yandaki ilk iki satırdır.



üçüncü satır

dördüncü satır

<< sonra konacak string, string sonunu belirler.



Örnek:



$str = <
bu birinci satır

bu ikinci satır

END (string sonu)





Şu da doğrudur.



$end = "END";

$str = <<"$end"

bu ilk satır

bu ikinci satır

END



Şu kullanıma bakın;





print <
Merhaba!

Iyi calışmalar!

END

çıktısı

Merhaba!

Iyi calışmalar!







print <
Merhaba!

END

Çıktısı

Merhaba!

Merhaba!







$satır = <
birinci kısım

END1

ikinci kısım

END2

$satır içeriği:

Birinci kısım

İkinci kısım



Not: \n dahildir.

Not2: << aralarında boşluk olmamalıdır.

0 yorum Bu kayda verilen bağlantılar  

Perl Komutları Nasıl Yazılır?

Perl Komutları Nasıl Yazılır?

Beğendiğiniz bir editörle yazabilirsiniz. İlk satırda perl'un icra edilebilir dosyasının sistemdeki tam yolu

verilir. Satırın başına( #! ) özel karakterleri mutlaka yazılmalıdır.


Örnek : #!/usr/bin/perl gibi...


Kodlama bittikten sonra editörden çıkılır ve Unix ve benzeri sistemlerde o dosyaya icra hakkı vermeniz

gerekir. Varsayalım ki program adı deneme.pl olsun;



chmod +x deneme.pl komutu bu işlemi yerine getirir.



Program Nasıl Çalışır?



Komut satırından program adını girip Enter tuşuna basınız.



Örnek : deneme.pl



Örnek program : #!/usr/local/bin/perl

$girilensatir = ;

print($girilensatir);



Bu programın ilk satırında programın icrası için gereken dosyanın yeri belirtilmiştir. İkinci satırda

klavyeden girilen değer $girilensatir değişkenine aktarılır. (Burada klavyeden merhaba yazalım).

Üçüncü satırda ise bu değer ekrana yazdırılır.



Ekrandaki görüntü şu şekildedir:



> deneme.pl

> merhaba

> merhaba



Açıklama satırları nasıl belirtilir. Açıklama yapmak amacıyla kullanacağımız satırların başına # işareti

koyarız.



Örnek : # bu bir açıklama satırıdır

# perl tarafından dikkate alınmaz



Bu durumda önceki programımızı şu şekilde kodlayalım;



#!/usr/local/bin/perl

#Bu program klavyeden girileni

#ekrana yazar.

$girilensatir = ;

print($girilensatir);



Programın çalışması bir önceki ile tamamen aynıdır. # ile başlayan satırlar sadece bizi aydınlatmak,

not tutmak içindir. Perl bu satırları değerlendirmeden geçer.



Şimdi şu satırı ele alalım;

$girilensatir = ;



Bu satir bir perl ifadesidir(statement) her bir parçasına($girilensatir,=,,;) ise gösterge

(token) denir. $girilensatir bir skalar değişkeni belirtir. $ isareti değişkenin skalar olduğunu

girilensatir ise değişkenin adını belirler. = göstergesi kendisinin (bize göre) sağındaki ifadeyi

solundakine ata anlamı taşır. standart giriş elemanını yani klavyeden girişi ifade eder.

Son olarak ; göstergesi ise ifadenin bitişini gösterir ve ifade sonlarında mutlaka bulunmalıdır aksi

takdirde hata mesajı alırsınız.



Yukarıdaki açıklamalar tüm perl benzer ifadelerinde geçerlidir. Yazım sırasında istisnai durumlar

dışında karakter aralarında boşluk, tab v.b whitespaces karakterleri kullanılabilir.Aralardaki boşluk

sayısı önemli değildir.





Gelelim yazdırmaya;

Standart çıktı(ekran)ya yazdırma görevini print yapar. print($girilensatir); ifadesiyle $girilensatir

skalar değiskeninin içeriği ekrana yazdırılır. Aslında print fonksiyon olarak çalışır. $girilensatir 'ı ise

arguman olarak kullanır. Arguman 1 den fazlada olabilir. Print ($girilensatir, $girilensatir);

ifadesinde 2 arguman kullanılmıştır. Her ikisi de klavye girişini alan $girilensatir değişkenidir.

Bu durumda busatırın çalışması anında $girilensatir değeri, ekrana 2 defa yazdırılır.

0 yorum Bu kayda verilen bağlantılar  

ASP Nedir?

ASP Nedir

ASP
ASP, Microsoft'un NT Server üzerinde çalışan IIS (Internet Information Server) için hazırladığı bir standart. Bir programlama dili demiyoruz çünkü ASP kendine özgü bir dil değil, bir Web programlama tarzı. ASP'de JavaScript veya Visual Basic Script kullanılabiliyor. İleride hem kullanımının kolay olmasından hem de daha fazla kişinin bilmesinden dolayı genellikle Visual Basic Script kullanacağız. Tabi gerektiği kadar VB Script te anlatılacak. Ama ASP yazım tekniğini öğrendikten sonra kendi bildiğiniz dille yazmak hiç sorun olmayacaktır.

ASP'NİN MANTIĞI
ASP bir Server Side Script olduğu için Web sayfası kullanıcının ekranında görüntülenmeden işlenir, gerekli işlemler yapıldıktan sonra html kodları oluşturulur ve kullanıcının bilgisayarına gönderilir. Yani eğer sayfada hepsi varsa önce server side scriptler(ASP,cgi gibi) sonra client side scriptler ve en son bunların işlenmesinden oluşan HTML kodları üretildikten sonra sizin yazdığınız diğer HTML kodları ile birlikte işlenir.

BİR WEB SAYFASINA ASP EKLEMEK
ASP komutları normal HTML komutlarından <%...%> taglari ile ayrılır. ASP'nin default dili VBScript'tir. Eğer JavaScript ile yazmak istiyorsanız sayfanın başına
<% LANGUAGE=JSCRIPT %>yazmanız gereklidir. Bundan sonra sayfada ASP kullanacağınız yerlere <%...%> yazmanız yeterlidir.

Form Kullanarak ASP'de Veri İşlemek

Kullanıcıdan verileri girmesini istediğiniz bir formunuz var ve siz bu verileri bir ASP dosyasında işlemek istiyorsunuz. Bunun için form verilerini ASP sayfasına göndermeniz gerekli. Formu tanımladığınız tag içinde göndereceğiniz ASP sayfasını ve gönderme metodunu belirtmeniz gereklidir. Bunun için formumuzu

şeklinde tanımlıyoruz. Burada bahsedilen metodlar iki tür olabilir.

GET: Bu metodda bir form kullanmak zorunlu değildir. Veriler ASP sayfasına adres barında yazılarak iletilir. Bu yüzden güvenlik açısından çok uygun değildir.

POST: Bu metod, form verilerini göndermek için en iyi yoldur.

Şimdi bir form oluşturalım. Kullanıcı bu forma yaşını girsin biz de oy kullanıp kullanamayacağını gösterelim.



Yaşınız:






Şimdi oy.asp dosyasında bu veriyi alıp işleyelim

<%

age=request.form("yas")

if age>=18 then

response.write("Oy kullanabilirsiniz")

else

response.write("Oy kullanamazsınız. ")

age=18-age

response.write("Ancak "&age&" yıl sonra oy kullanabilirsiniz")

end if

%>

Girilen yaş 18 veya daha büyükse "Oy kullanabilirsiniz" yazısı çıkacak eğer 18'den küçükse örneğin 13 girilmişse "Oy kullanamazsınız. Ancak 5 yıl sonra oy kullanabilirsiniz" yazısı çıkacaktır.
Dowload oy

Get metoduyla veri almak içinse yaş değerini gönderirken OY şeklinde bir link hazırladığımızda oy.asp dosyasına yas değeri olarak 20 gönderilir.

Değeri almak içinse <% yas=request.querystring("yas") %> komutunu kullanırız.

Serdar Kalaycı skalayci@programlama.com

0 yorum Bu kayda verilen bağlantılar  

Paralel Port'tan DOS ortamında iki PC'nin veri alişverişi yapabilmesi

Paralel Port'tan DOS ortamında iki PC'nin veri alişverişi yapabilmesi

Özellikle Dizüstü Bilgisayarınızda bir problem oluşmuşsa ve makinanızı formatlayarak tekrardan kurmanız gerekiyorsa, üstüne üstlük dizüstü bilgisayarınızın bir CD-Rom sürücüsü de yoksa geriye pek fazla seçeneğiniz kalmıyor demektir. Yukarıda saydığımız durumlar ender karşılaşılabilecekmiş olaylar gibi görünsede gerçekte bu olaylarla sıkça karşılaşabiliriz. Çünkü günümüzde çoğu dizüstü Bilgisayar kullanıcısı Dizüstü bilgisayarını CD-Rom gibi öğelerden arındırarak hafifletme yoluna gitmektedir. Üzerlerinde Microsoft gibi bir işletim sistemi oluncada bazı istenmeyen durumlarla sıkça karşı karşıya kalmaktayız. Bu durumlarda Paralel Port üzerinden çalışan Laplink kablosu imdadımıza yetişmektedir. Her iki ucu 25 pinli olan bu kablo çoğu zaman kurtarıcımız olmakta, ama bağlantıyı sağlamak için gene de bir software e ihtiyaç duymaktayız. Laplink kablosu ile çalışan çesitli software olmasına rağmen en çok ihtiyaç duyduğunuz anda elinizin altında bir tanesi bulunmayabilir. Her zaman rahatça bulabileceğiniz DOS disketleriniz imdadınıza koşacaktır. DOS ta bu işlemi gerçekleştirmek aşağıdaki adımları izleyince oldukça basit olduğunu göreceksiniz. Bunun için dosya transferini gerçekleştireceğimiz her iki makinayıda DOS tan açmamız ve INTERLNK.EXE ve INTERSVR.EXE programlarini kullanmamız gerekmektedir. Bu iki programda DOS ile beraber gelmektedir. Ayrıca bir adet LAPLINK kablosuna ihtiyacımız olacaktır. Makinaların Paralel Printer Portlarına LAPLINK kablolarını taktıktan sonra makinalardan birinde DOS Prompta INTERSVR.EXE programını çalıştıralım. Diğer makinanın Config.sys dosyasında da şu değişikliği yapıp makinayı yeniden başlatalım.

DEVICE=C:\DOS\INTERLNK.EXE /LPT

otomatik olarak boot edilen makinada diğer makinanın Sürücüleri D: E: şeklinde map edilecektir daha sonra istediğimiz DOS komutunu çalıştırabiliriz. Ayrıca üzerinde INTERSVR.EXE progaramını çalıştırdığımız makina da CD-ROM sürücüsü var ise bunu da F: gibi bir sürücü olarak görebilir ve istenirse oradan direkt olarak gerekli dosyalarıda diger makinamıza alabiliriz.

0 yorum Bu kayda verilen bağlantılar  

PL/I Ekodinamik Bir Alet.

PL/I EKODİNAMİK BİR ALET

Bazı programlama dillerinin sadece bilimsel, bazılarının ise sadece yaygın günlük problemlere yönelik olması, neden tüm sorunların çözümleyebilcek bir programlama dili yok sorusunu akıllara getirmiştir.
PL/I, herhangi bir uygulama alanında kullanılabilcek bir şekilde geliştirilerek bu soruna çözüm getirilmeye çalışılmıştır.
1960'ların ortasında IBM Corporation, bir komite toplayarak çok amaçlı bir dilin tasarımını yapmak istediğini bildirdi. İlk başta amaç, FORTRAN'ı veri yapıları ve çalışma ortamı yönünden çeşitlendirip geliştirmekti. Ancak komite bu binanın üzerine yapılacak yapının istenilen amaçları sağlayamayacağını görüp yeni bir dil tasarlamaya karar verdi.
PL/I, bu aşamadan sonra o yillardaki birçok programlama dilinin en önemli özelliklerini taşiyacak biçimde tasarlandi. Bunlar :
. FORTRAN'ın parametre geçirme mekanizması, kendi başına derlenir altprogramları, formatlı giriş-çıkış ve ortak blokları
. ALGOL'ün blok yapısı ve yapısal deyimleri
. COBOL'un tutanak tabanlı giriş cıkışı, PICTURE türü tanımları, çok türlü dizileri
PL/I, tüm bu noktaların ele alınıp daha gelişmiş noktalara götürülmüş şeklidir denilebilir. Günümüzde de özellikle IBM'in orta ve büyük boy sistemlerinde yaygın bir kullanım alanı vardır.
Bazı programlama dilleri sadece özel alanlara yöneliktir, LISP ve SNOBOL gibi. Böyle bir yaklaşımın eksik yönleri şunlardır :
. birçok dil bilmesi beklenen personelin eğitilmesi ya da daha çok sayıda personel bulundurulması,
. her alana yönelik parçalar taşiyan projelerin ele alinmasi için uygun programlama dili olmasi.
PL/I'ın felsefesi, sadece tek dilin bilinmesiyle çoğu problemlere çözüm bulmakla özetlenebilir.
Bir PL/I programı bağımsız olarak derlenebilir bölümlerden oluşur. Bu bölümler, içiçe bloklar olarak tanımlanabilir. Her blok kend, tanımlarını ve işletilebilir deyimlerini taşır.
PL/I çok geniş bir temel veri türü yapisi yelpazesine sahiptir. Karakter ve bit dizgileri, göstergeler ve etiketlerin yanisira tek türlü ve çok türlü diziler bunlarin içindedir. Tüm bu türler, programci tarafindan tanimlanacak veri türleri için çok kullanişlidir. Dil, ayrica kütüklerin özellikleriyle tanimlanmasina izin verir.
Dil, içinde çok sayıda ilkel işlemleri bulundurur. Bunların önemli bir bölümü aritmetik ve sayısal işlemler ile giriş-çıkış üzerinde yoğunlaşır. Otomaik tür uyumluluğunu sağlar. Bazı temel karakter dizgileri üzerine işlemler tanımlanmıştır.
PL/I ifadelerinin akış denetimi çok güçlü bir şekilde sağlanmıştır. Altprogram akış denetiminde koşul işlem yürütme, kesilmeli işlem yapmanın yanısıra özyineli altprogram çağrıları da desteklenmiştir.
Altprogram, FORTRAN'da olduğu gibi bağımsız olarak derlenebilir. Altprogramlara parametreler yer ile geçirilir. İstenirse altprogramın çağırıldığı yerdeki olarak geçirilen veriler ile altprogram parametrelerinin tür olarak uygunlaştırılması sağlanır.
Birçok özelliği içinde barındırmasından dolayı çok büyük bir standarta sahiptir. PL/I ile programlama yapan kişiler PL/I'in çoğu özelliğini zaman içinde kullanmama durumuna düşebilirler.
Programlama dilinin sözdizimi çok karmaşik ve programlarin okunup yazilmasi kolay degildir.
PL/I programlarının derleyicisi, dilin karmaşık yapısı ve etkin işletebilir kod elde edilmesinin amaç olması yüzünden çok emek ister.
PL/I programlarında bellek yönetiminden programcı sorumludur. Gösterge kullanımındaki denetim eksiklikleri nedeniyle belleğin şişmesi programcının kötü kodlamasından dolayı olasıdır.

0 yorum Bu kayda verilen bağlantılar  

Bilgisayar Korsanlığının Tarihi

Bilgisayar sistemlerine izinsiz olarak giren ve bu sistemleri ellerine geçiren kimselere "hacker", bu tür olaylarada "hack" denir.
Hacker, bilgisayarlar hakkında üst düzey seviyede bilgisi olan ve bilgisayar programlarının açıklarını bulan, bu açıkları kendi emelleri doğrultusunda kullanan kişidir. Hackerlar genelde bilgisayar programcısı, sistem yöneticisi gibi bilgisayarlar ve bilgisayarlara erişimin konuları hakkında ileri düzey bilgdisi olan kişilerdir. Bu kişiler bilgisayar programlama dillerini bilir ve unix gibi işletim sistemleri üzerinde çalışırlar.
Hack ise, hackerların bilgisayar sistemlerini izinsiz olarak kontrolleri altına alıp, dosya çalma, silme gibi yaptıkları eylemedenir. Hackerlar, sebepsiz olarak bir bilgisayara girer ve gerekli bilgileri aldıkdan sonra ya sistemi kendi haline bırakır ya da sistemi silerler. Hack eylemleri günüzmde daha çok internet üzerinde gerçekleşiyor; hackerlar kişilerin veya kurumların internet sayfalarına girerek bu sayfaları değiştiriyorlar. Hackerlar internet üzerinde yaptıkları hack eylemlerinde bilgileri çalmakdan ziyade silmeyi veya sayfalar üzerinde değişiklikler yapmayı tercih ediyorlar. Örneğin ünlü birinin veya birilerinin "Spice Girl" internet sayfalarına girerek sayfanın içeriğini değiştiriyorlar "prono resimler koyuyor, küfürler yazıyorlar".
Bir çok insan (öğrenci) hacker olmak istiyor ve bunun için çaba gösteriyor. Bazılar hack i bir oyun olarak görürken bazıları da hack e profösyönel gözle bakıyor. Örneğin; günümüzde internet bağlantısı olan bir çok insan (14-21 yaş arası) hacker olmak için uğraşıyor. IRC serverlarda hack ile ilgili kanallar açıp bilgi alışverişi yapıyor, hackerların internet sayfalarından hack ile ilgili dökümanları alıp okuyor, haber gruplarında hack ile ilgili konularda mesajlaşıyor ve hackerların yeniliklerini takip ediyor. Hacker olmak için öncelikle programlama dili bilmek gerekir bunun başında C++ ve assemby gelir. Bu programlama dilleri sayesinde bilgisayarınıza istediğinizi yaptırabilirsiniz. Ayrıca unix veya uyumlu bir işletim sisteminde çalışmalı ve bu sistemi çok iyi kullanmalısınız. Bütün bunlar her ne kadar kolay gibi gözüksede büyük emekler isteyen işlerdir. Eğer hacker olucaksanız sistemi kullanmak yeterli değildir, sistemin açıklarını ve püf noktalarını bilmeniz lazım; bunun içinde sistemin çekirdek yapsını öğrenmelisiniz. Dosya sistemleri, dosya erişimleri, sistem erişimi hakkında üst düzey bilginiz olmalıdır. Bütün bunlar içinde edinilmesi uzun yıllar süren bir birikim gerekmekdedir.
Herşey ilk telefon şirketinin, (Bell-Telephone) kurulmasiyla başladi. O zamanlar acemi hacker'lar vardi. Tabi 1878'de daha onlara hacker denilmiyordu. Daha çok yerel santrallerde çalişmalari için tutulmuş muzip gençlerdi bunlar. Telefonlari yanliş yönlendirmek, sevmedikleri müşterilere inanilmaz faturalar saglamak gibi engel olamadiklari bir dürtüleri vardi (Santral, bu benim kuzenim Corc degil, beni kime bagladiniz,... Alooo aloo!). Santral operatörlügüne neden genç kizlarin konuldugu sorusu böylece cevaplanmiş oluyor... Ilk gerçek bilgisayar korsanlarinin zamanina hizli ileri alalim. Sene 1960'lar. MIT (Massachussets Institute of Technology) ögrencilerinin herşeyin nasil çaliştigina dair inanilmaz meraklari var. O zamanlarin milyon dolarlik bilgisayarlari sogutulmuş odalarda sakli kocaman dolaplardan oluşuyordu. Ve datalar da kartonlara delikler delerek saklaniyordu. Programcilarin dinazorlara erişimleri epey sinirliydi ve akilli olanlari "hack" denilen program kisayollari oluşturdular. Tek amaçlari yapilmasi gereken işi daha hizli yapmakti. "Hack" (dogramak) kelimesinin bilgisayarlarla alakali ilk kullanilişi bu tarihlere rastliyor. Belki de bütün zamanlarin en iyi Hack'i, 1969'da iki Bell Labs çalişani Dennis Ritchie ve Ken Thompson, tarafından bilgisayarı işletmek için önü açık bir kurallar kümesi şeklinde yaratıldı. İsmi UNIX'ti ve bir güzellik abidesiydi.
70'lerde sibertopraklar daha keşfedilme aşamasindaydi. Hacking kurcalamak ve kablolu dünyanin nasil çaliştigini çözmeye çalişmaktan ibaretti. 1971'de john Draper isimli bir Vietnam gazisi Cap'n Crunch mısır gevreği kutularından çıkan düdüğün tam 2600 mHz'lik bir ses çıkardığını keşfetti. Düdüğü telefon almacına öttürüp bedava konuşabiliyordunuz.
Karşi-kültür gurusu Abbie Hoffman, vietnam gazisinin keşfini "The Youth International Party Line" dergisiyle bütün ABD'ye yaydi. O zamanlar Phraking (beleş telefon etme) işlemi zararsiz olarak görülüyordu. Çünkü telefon şirketinden başka kimse zarar görmüyordu ve şirketin zarari da kardan zarardi. Hoffman'in ortagi Al Bell, derginin ismini TAP'a çevirdi (Technical Assistance Program) Dergiye kalpten baglanan koca bir güruh karişik teknik makalelerle yirmi yil boyunca ihya oldular.
Hacking piyasasında artık tek eksik iyi hacker'ların buluşup sosyal güdülerini doyurabilecekleri sanal bir kulüp ortamıydı. 1978'de Chicago'lu iki çocuk, Randy Seuss ve Ward Christiansen, kişisel bilgisayar üzerinde çalışan ilk BBS sistemini yarattılar. Bu BBS şu an hala çalışmakta.
1981'de IBM tamamen kişisel ilk bilgisayari piyasaya çikartti. Ismi PC kondu. Bu klasiklerle herşeyi yapabiliyordunuz. Ama gençler yavaş yavaş Commodor 64, Spectrum gibi mali yükü daha az makinalara kayiyorlardi.
1983'de "War Games" isimli film çıktı. Film bütün dünyayı korsanlığın gizli yüzüyle tanıştırıyor, ve hacker'ların her bilgisayara girebilecekleri konusunda uyarıyordu. Hacker'lar ise filmden bambaşka sonuçlar çıkarmışlardı: Hacking sayesinde kendinize bir sevgili bulabilirdiniz... hem de güzel bir sevgili.
Mekan yavaş yavaş degişiyordu. Online dünyanin, git gide daha çok sakini oluyor ARPANET yavaş yavaş Internet'e dönüşüyordu. BBS'lerin popülaritesi patlama noktasindaydi. Milwaukee'de kendilerine 414'ler (alan kodlari) diyen bir gurup hacker Los Alamos Labratuarlarindan Manhatten Kanser Enstitüsüne kadar bir çok resmi dairenin bilgisayarini kirdi. Sonra polis onlari yakaladi.
Hacker Savaşinin başi 1984'lere dayaniyor. Kendine Lex Luthor diyen bir korsan Legion of Doom grubunu kuruyor. Grup çok başarili ve her alanin en iyisini kendine çekmekle ünlü. Bir süre sonra Phiber Optik isimli genç gözdelerden biri eski LOD üyesi Erik Bloodaxe ile takışıyor ve gruptan atılıyor. Phiber ve arkadaşları Masters of Deception isimli bir karşı grup kurup savaşı başlatıyorlar. 1990'dan itibaren iki yıl boyunca LOD ve MOD grupları, telefon hatlarını karıştırma yüksek faturalar ödetme, telefon dinleme, birbirlerinin bilgisayarlarına girme, BBS çökertme gibi saldırılarla birbirlerini eritmeye çalışıyorlar. Korsanlık felsefesinin "gizli bilgiye ulaşma"dan "karşı tarafa zarar verme"ye dönmesi bu tarihlere rastlıyor. Ve hala kullanımda olan kötülük yapma repertuarı gitgide artıyor. 92'de FBI Phiber ve arkadaşlarını yakalıyor ve hapse tıkıyor. Ve bir dönem sona eriyor.
Hükümetin onlline olmasıyla eğlence sona erdi. Ciddi olduklarını göstermek için çıkardıkları Bilgisayarla dolandırıcılık ve kötüye kullanma kanunu caydırıcı unsur olarak kullanılacaktı. 1988'de Robert Morris ve Net Solucanı ortaya çıktı. Net' bağlı 6000 bilgisayarı aynı anda çökertmesi Morris'e yukardaki kanunun ilk kurbanı olma ayrıcalığını tattırdı. 10.000 dolar ve saatlerce sosyal hizmet cezasıyla kurtuldu. Tutuklamaların arkası çorap söküğü gibi geldi. Kevin Mitnick , Digital'in bilgisayarlarına girmekten yakalandı ve bir sene hapse ve bir daha bilgisayarlara dokunmama cezası aldı. Daha sonra Kevin#2 -Kevin Poulsen - telefon modifiye etmekle suçlandı ve hakkında tutuklama kararı çıkarıldı. Ama Kevin#2 kaçtı ve kurtuldu.
Hükümetin 90'daki hacker yakalama harekatının adı Operation SunDevil'di. Özellikle Legion of Doom üyelerinin üzerine fena halde gidildi ama başarısız oldular. tahminen LOD üyelerinden alınan tüyolarla 4 MOD üyesi yakalandı. Phiber Optik hapiste bir sene geçirdi.
1994 yazında Rus matematikçi Vladimir Levin tarafından yönetilen bir hacker grubu Citibank'ı 12 Milyon Dolar zarara uğrattı. Paranın hepsini çekemeden Vladimir Londra Heathrow havaalanında Interpol tarafından yakalandı. Citibank 400.000 doları hariç kaybettiği bütün parayı geri aldı. Ancak neler yapılabileceğinin öğrenilmesi Net'te bir korku dalgası yarattı ve caydırıcı olması için cezalar korkunç derecede arttı.
Bazıları hatalarından hiç ders almıyorlardı. Kevin Mitnick 1995 Şubat'ında 20.000 kredikartı numarası çalmaktan tekrar tutuklandı. Mahkemesi sürerken hapiste bir sene daha geçirdi ve sonunda suçlu bulundu. Şu anda hapiste.
Mitnick'in zincirler içinde hapse götürülmesini seyretmek halkın Hacker'lara bakış açısını iyice ekşitti. Net kullanıcılarını bir hacker fobisi sardı. Buna anarşinin sonu, amerikanın ikinci uyanışı (birincisi Jasse James gibi popüler kanun kaçakları yakalandığında olmuştu) gibi isimler takanlar oldu. Sonuçta hacker'lar artık romantik kanun kaçaklığı statüsünden sorunlu asalak başbelası konumuna indiler. Bunda kendine hacker diyen ve herkezin kullanabileceği programlar kullanarak sadece kötülük yapan şahısların çoğalmasının payı da büyük oldu (bkz. Nuke olayı) İş dünyasının da Net'e kayması Net'in ekstra güvenli bir ortam olmasını gerektiriyordu. Ve halkın bakış açısı da buna göre ustaca yontuldu.
Peki ya şimdi,.. Şu anda scene'de kimler var,.? Hacker'larin pek temkinli davranmalari üzerine söylemek zor... eskisi gibi efsaneleşmiş isimler çikmiyor, ama yine de hala hergün hummali çalişmalar sürüyor ve birileri illegal yollardan hayatlarini kazanmaya devam ediyorlar. Bilgisayar yeralti dünyasinda bir söz vardir: Iyi bir hacker'san herkez ismini bilir. Çok iyi bir hacker'san varligindan haberleri bile olmaz...
Dennis Ritchie and Ken Thompson. The driving creative force behind Bell Labs' legendary computer science operating group, Ritchie and Thompson created UNIX in 1969. An elegant, open operating system for minicomputers, UNIX helped users with general computing, word processing and networking, and soon became a standard language. Plan 9, the next-generation operating system created as the natural descendant of UNIX by Thompson and Bell Labs colleague Rob Pike. Although Ritchie is the author of the popular C programming language, his favorite language is Alef. Thompson, an amateur pilot, once traveled to Moscow to fly a MiG-29.
Richard Stallman, a hacker of the old school, Stallman walked in off the street and got a job at MIT's Artificial Intelligence Lab in 1971. He was an undergraduate at Harvard at the time. Disturbed that software was viewed as private property, Stallman later founded the Free Software Foundation. In 1969, at the IBM New York Scientific Center. He was 16 years old. In the 1980s Stallman left MIT's payroll but continued to work from an office at MIT. Here he created a new operating system called GNU -- short for GNU's Not Unix. Recipient of a $240,000 MacArthur Foundation genius grant
John Draper, Figured out how to make free phone calls using a plastic prize whistle he found in a cereal box. Cap'n Crunch introduced generations of hackers to the glorious concept of phone "phreaking." As a teenager, trying to convince pay phones to return his coin and put through his calls. The toy whistle from boxes of Cap'n Crunch cereal. The whistle reproduced the 2600 hertz tone necessary to authorize a call. Used in conjunction with a bluebox, it allowed users to make free phone calls. (Oscar Meyer weiner whistles also briefly gained a following among phone phreakers.) Honorably discharged from the U.S. Air Force in 1968 after a stint in Vietnam.
Mark Abene, as a founding member of the Masters of Deception, Phiber Optik inspired thousands of teenagers around the country to "study" the internal workings of our nation's phone system. A federal judge attempted to "send a message" to other hackers by sentencing Phiber to a year in federal prison, but the message got garbled: Hundreds of well-wishers attended a welcome-home party in Abene's honor at an elite Manhattan Club. Soon after, New York magazine dubbed him one of the city's 100 smartest people. Hanging out in the electronics department of the A&S department store in Queens, N.Y., where his mother worked. There he was introduced to the Apple II, the Timex Sinclair and the Commodore 64. The first computer he owned was a Radio Shack TRS-80 (Trash-80). Experimented by dialing patterns on a phone receiver. Abene used the receiver so frequently that it had to be bandaged with black electrical tape to keep its guts from falling out. Phiber Optik's favorite food: mashed potatoes from Kentucky Fried Chicken. Not real mashed potatoes. Real ones have lumps in them.
Robert Morris, the son of the chief scientist at the National Computer Security Center -- part of the National Security Agency (NSA) -- this Cornell University graduate student introduced the word "hacker" into the vernacular when he accidentally unleashed an Internet worm in 1988. Thousands of computers were infected and subsequently crashed. At home. Morris' father once brought home one of the original Enigma cryptographic machines from the NSA. It became a household conversation piece. As a teenager Morris had an account on the Bell Labs' computer network, where early hacking forays gave him super-user status. When the Secret Service raided the home of Legion of Doom member Erik Bloodaxe in 1990, they found a copy of the source code for Morris' Internet worm.
Kevin Mitnick, The first hacker to have his face immortalized on an FBI "Most Wanted" poster. His status as a repeat offender -- a teenage hacker who couldn't grow up -- earned Mitnick the nickname The Lost Boy of Cyberspace. As a teenager. Mitnick couldn't afford a computer, so he hung out in a Radio Shack store. He used the store's demo models and modem to dial other computers. During the three years he was on the lam, Mitnick used Internet Relay Chat (IRC) as a message drop and to communicate with his friends. Sentenced to a year in a residential treatment center, Mitnick enrolled in a 12-step program to rid himself of what a judge agreed was his "computer addiction." Hey, it's California
Kevin Poulsen, In 1990 Poulsen took over all telephone lines going into Los Angeles area radio station KIIS-FM, assuring that he would be the 102nd caller. Poulsen won a Porsche 944 S2 for his efforts. When his parents bought him a TRS-80 (better known as a "Trash-80"). A set of locksmith tools he used to break into phone company trailers. He was caught after a friend commemorated the break-ins with snapshots of Poulsen picking locks. Pleaded guilty to breaking into computers to get the names of undercover businesses operated by the FBI.
Johan Helsingius Operated the world's most popular anonymous remailer, called penet.fi, until he closed up shop in September 1996. Helsingius' troubles started when he was raided in 1995 by the Finnish police after the Church of Scientology complained that a penet.fi customer was posting the "church's" secrets on the Net. Helsingius mothballed the remailer after a Finnish court ruled he must reveal the customer's real e-mail address. Ran the world's busiest remailer on a run-of-the mill 486 with a 200-megabyte harddrive. Never felt the need himself to post anonymously.
Vladimir Levin, a graduate of St. Petersburg Tekhnologichesky University, this mathematician allegedly masterminded the Russian hacker gang that tricked Citibank's computers into spitting out $10 million. Arrested by Interpol at Heathrow Airport in 1995. Unknown. Accused of using his office computer at AO Saturn, a St. Petersburg, Russia, computer firm, to break into Citibank. Along with a computer, computer games and disks, Russian police confiscated a camcorder, music speakers and a TV set from Levin's apartment. Levin claimed that one of the lawyers assigned to defend him was actually an FBI agent.
Türkiye de hack, son günlerde gitdikçe ilgi görmeye başladi. Arasira haber programlarinda bile hack olaylarina yerveriliyor. Bunun üzerine bir çok yeni hacker çikdi ve bu hackerlar gruplaşarak hacker gruplarini oluşturdu. Bu yeni hackerlar eski hackerlara nazaran daha az bilgiye sahipler ve daha az eylem yapabiliyorlar. Çogu belli bir zaman sonra sikilip, hack i birakiyor. Bunun dişinda Türkiye de dünya çapinda ün salmiş bir çok hacker var.
Mr^Cha0s, Türk hackerlar arasında en iyi olan Mr^Cha0s 1990 dan beri hack ile uğraşıyor ve hacki "zevk için" yaptığını söylüyor. Mr^Cha0s ilk zamanlar bilgisayarla yeni tanışdığında programcılık yapmaya başlamış bir süre sonra kendini hack dünyasının içinde bulmuş. İlk zamanlar BBS ler üzerinde eylemler yapan Mr^Cha0s sonra bir kaç yıldır eylemlerini internet üzerine taşımış ve bir çok yerli sayfayı hack etmiş. Bunlar arasında devlet sayfaları, bakanlıklar ve üniversiteler ağırlıklı. Ayrıca Mr^Cha0s altı tane Yunanlılara ait sayfayı hack ederek Yunanlılara karşı bir savaş başlatmış; Mr^Cha0s yanında ki hacker arkadaşları ile yaklaşık altı ay kadar bir süre Yunanlı hack grupları ile çatışmalar girmiş. Bu sırada bir çok Yunanlı ve Türklere ait internet sayfası hack edilmiş.
AAAAAAAAnti, yine Türkiyedeki en iyi hackerlardan biri olarak bilinir. Anti bu işe yeni başlamiş bir hacker olmasina ragmen bir çok hack olayina imza atmiş. Anti nin gerkçekleştirdigi en büyük hack olaylarindan biri Turnet 'i(Türkiye Internet Servisi Saglayan Kuluş) hack ederek 24 saat süreyle Türkiyenin internet çikişini engellemek. Bu olay ile Anti kendini kanitlamiş ve iyi hackerlar arasinda yerini almiş.
Sonuç olarak, hackerlar ve hack eylemleri gün geçtikçe önem hazanıyor ve hackerlar her geçen gün daha çok tehlike işgal ediyorlar. Her ne kadar eylemleri zarasız gözüksede, eylemler insanlara gitdikçe daha çok zarar vermeye başlıyor. Benim düşüncem, hükümetin hack ile ilgili yasalarda daha katı yaptırımlar uygulaması ve bu tür eylemlerin önüne geçilmesi.

0 yorum Bu kayda verilen bağlantılar  

COBOL, Programlama Dillerinde Bir Klasik

COBOL, Programlama Dillerinde Bir Klasik

Cobol en eski programlama dillerinden biri olmasına rağmen hala kullanılan bir dildir. COBOL, özellikle, ticari amaçlı veri işleme uygulamalarında kullanılır.
Cobol dili -Common Business Oriented Language- ilk kez 1959 yılında, çok miktarda veri ile daha verimli çalışmak amacıyla tasarlanmış üst düzeyli bir dildir. Bilgisatar donanımının ilk üretilmeye başlandığı yıllarda yaratılmış ve özellikle bilgisayarın verimli kullanımı amaçlanarak düzenlenmiştir.
Cobol dilinin geliştirilmesi ve devamliliginin saglanmasi gönüllü bir organizasyonun sorumlulugu altindadir (Conference On Data Systems Languages (CODASYL). Ilk Cobol standart tanimlamasi (COBOL 68) 1966 yilinda Amerikan Standartlar Enstirüsü tarafindan yapilmiştir. Bu, 1965 tarihli CODASYL yayinlarina dayanmaktaydi ama 1968'e kadar geçerliligini koruyabildi.
Günümüzün Cobol programcıları, bu dilin modern bilgisayarlara uyumlu yeni versiyonlarıyla geliştirilmiş ilave kolaylılara sahiptirler. Cobol dilinin en kullanışlı uygulamaları, ANSI-74 standartlarına yada gittikçe yaygınlaşan ANSI-85 Cobol'a bağlıdır. Bu standartlar daha önce çeşitli standart taslakları olmasına rağmen, sırasıyla 1974 ve 1985 yıllarında oluşturulmuştur.
Bir bilgisayar dilinin Cobol gibi geliştigi durumlarda, dilin yeni versiyonlari kaçinilmaz şekilde uzlaşmaya varirlar. Yeni versiyon üzerinde çalişan gruplar, pek çok sorunla karşi karşiya kalirlar. Geliştirdikleri versiyonlari, donanim özelliklerine ve degişikliklerine, ayni zamanda yeni problem çözme tekniklerine göre tasarlamalari gerekti. Diger yandan, eger bu yeni versiyon, bir öncekinin bir üst versiyonu ise, daha önceki versiyonda çalişan programlarin, yenisinde de çaliştirildigini garantilemeleri gerekir.
Yukarıda bahsettiğimiz, bir üst versiyonun, öncekiyle uyumu, yeni veriyonun yaygın olarak kabul edilmesi açısından çok önemlidir. Çünkü, bir derleyicinin yeni versiyonlarının fiyatı, bu derleyicilerin kullanılmasıyla yazılan programlara göre çok düşüktür. Bazı kullanıcılar, ek kolaylıklar sağlayan yeni versiyonları tercih ederken bazıları da yeniden programlama yapmak zorunda kalmamak için eski versiyonlarda çalışmayı tercih ederler. Bu durumda önemli olan maliyetin düşük tutulmasıdır. Bu da yeni gelişmelerin sağlanmasını zorlaştırmaktadır. Dolayısıyla bu işle uğraşanların köklü değişiklikler yapması engellenmektedir.
"Cobolu kim kullanır ?" sorusunun yanıtı 1970'lerin sonlarında sorulmuş olsaydı, yanıtı çok basitti. Çünkü, o yıllarda, veri işleme alanında Cobol henüz gerçek bir rakibe sahip değildi. Herhangi bir oragnizasyonda büyük ölçülerde veri işleme aktivitelerinde Cobol dili seçilirdi. Pek çok büyük firmanın veri işleme bölümlerinde, yeni uygulamalar ve yazılımlar geliştirmek için Cobol programcılarından olşan bir grup bulunurdu.
Bu durum, günümüzde daha farklı bir boyut kazanmıştır. Daya iyi değerlendirebilmek üç farklı firma grubuna ayrı ayrı göz atalım.
1. Geçmişte Cobol'u kullanmiş olanlar:
1960'larda ve 1970'lerde veri işleme alanina girmiş pekçok büyük firma vardir. Bu kullanicilar için, Cobol'un özellikleri, bu dili kullanmaya devam etmeleri için yeterliydi. Bu durum, daha önce de bahsettigimiz gibi yeni yazilimlarin ve yeni çalişma metodlarinin oluşturulmasina önemli bir bir engel oluşturmaktadir. Ayni zamanda Cobol'un rakipleriyle olan yarişini da kötü yönde etkilemektedir.
Günümüzde, veri işleme yöntemleriyle ugraşan firmalarin hepsi artik böyle düşünmüyor. Büyük firmalardan bazilari Cobol yerine alternatif dillerden biriyle çalişmayi tercih ediyorlar. Bazilari C'yi tercih etmiş, bazilarida geleneksel yöntemlerden uzaklaşmiş durumda. DBase ve SQL (Structured Query Language) gibi modern veri işleme uygulamalari için geliştirilmiş paket programlara adapte olmuşlar.
2. Veri işleme alanina yeni girenler:
Bu firmalar, veri işleme alanina girmekte geç kalan yada çalişmalarini Cobol'un kullanilmadigi küçük bilgisayarlara yogunlaştiran küçük firmalardir. Bu biraz Cobol'un büyük bir bilgisayar dili olmasindan, biraz da küçük bilgisayar kullanicilari için iyi bir alternarif olmamasindan kaynaklanmaktadir. Çünlü Cobol ya küçük bilgisayarlara uygulanamamakta, yada sinirli şekillerde uygulanabilmektedir. Sonuç olarak veri işleme yöntemlerini kullanan küçük firmalar, geçmişte diger programlama dilleriyle çalişan firmalardir.
Bu nedenle, bu grubun içinde, veri işleme için uygun olmayan Basic gibi dilleri kullanima önemli bir egilim vardir. Yada bu konuda daha başarili olan diger dilleri tercih etmektedirler.
3. Paket program kullanıcıları:
Veri işlemek için bilgisayar kullanmaya başlayan kişiler, günümüzde, problemlerini çözmek için daha önce yazlimiş ve test edilmiş programlari kullaniyorlar. Bu, bilgisayar firmalarinda yazilim sürekliligi ve geliştirilmesi için programcilardan oluşan çalişma gruplarinin kurulmasini engellemektedir.
Yukarıda belirttiğimiz gibi veri işleme piyasasında Cobol'un oluşturduğu baskı azalmıştır ama Cobol hala önemli bir dildir. Çünkü Cobol'a bağlı olan kullanıcıların varlığı, derleyicilere, kitaplıklara ve deneyimli Cobol programcılarına olan talepleri yazılım piyasasını hala etkilemektedir.
Cobol'u kim kullanır sorusunu yanıtlamaya çalışırken, ilk olarak bir veri işleme bölümü kurulduğunda Cobol'un yada alternatif başka bir dil mi düşüncesiyle birlikte daha güç sorularla karşı karşıya kalırız. Cobol'un programcıya sağladığı kolaylıklar özellikle veri işleme uygulamaları düşünüldüğünde, C ve Modula-2 gibi dillere kıyasla, Cobol programlama dili hala geçerliliğini korukmaktadır. Diğer yandan, programların modern bir yolla yazılması, programcının değişik anlarda çalışabilme esnekliği açısından daha genel amaçlı modern dillerin seçilmesi yararlı olacaktır. Aynı zamanda bu dillerle de veri işleme uygulamalarında çalışılabilir.

0 yorum Bu kayda verilen bağlantılar  

Programlama Nedir?

PROGRAMLAMA NEDİR?

Bilgisayarlar, kendilerine verilen komutlara uyarlar. Komutlar, hem komutu veren kişinin, hemde komutu uygulayacak olan bilgisayarin anlayabilmesi için özel bir şekilde verilmelidir. Komut setleri ve komutlarin uygulanmalari sirasinda esas alinacak kurallar birlikte bir programlama dilinin temelini oluştururlar.
İlk bilgisayarlar ikilik tabanda programlanıyorlardı. Diğer bir deyişle, her komut birler ve sıfırlar dizisi şeklinde veriliyordu ve kesin bir anlamı vardı. Örneğin :
00010000100
dizisi bilgisayara, yeni bir hesaplamaya hazırlanması için hesaplamaların yapıldığı çalışma alanını temizlemesi anlamına gelebilir.

Bir bilgisayar programı, bilgisayara verilen ve belli bir görevin gerçekleştirilmesi için verildiği sırayla uygulanan komutlar dizisidir. İlk bilgisayarlar için bir program, ikilik tabanda verilmiş komut dizilerinden oluşmaktaydı.
Açıkça görüldüğü gibi, bilgisayara ikilik tabanda komutları girmek son derece özel bir işti. Verilebilen komutlar, iki sayıyı toplamak veya sayıları bir yerden bir yere taşımak gibi basit görevleri yapabiliyorlardı ve akılda kalıcı değillerdi. Bilgisayar programı yazmak, bir bilgisayar uzmanı için bile uzun bir işti ki, bunun sebebi de, komutların yapacakları görevin gözle görülür şekilde belli olmamasından dolayı programdaki bir hatayı bulmanın saatleri almasıydı.

Bu sorunlara çözüm olarak, assembly dili olarak bilinen, geliştirilmiş program yazim sistemi ortaya çikarildi. Assembly dili, programciya, daha önce ikilik kodlarla yaptigi işlemleri, daha akilda kalici makine koduyla yapma olanagini sunuyordu. Bu durumda, A ve B olan iki sayiyi toplamak için gereken;
TOPLA A, B
komutu oluyordu. Bununla birlikte, assembly dili ile programlamada bir sorun vardı. Assembly dilinde hazırlanmış bir programı insanların yazması, anlaması ve düzeltmesi daha kolaysada, ne yazık ki bilgisayar bunu anlamıyordu. O halde, bilgisayarın anlayamadığı bir dilde program yazmanın ne anlamı vardı ?
Assembly dili ile birlikte, assembler ortaya atılmıştı. assembler, makine dilinde yazılmış ve assembly komutlarının her birini makine dilindeki eşleniklerine çeviren bir programdır. Her bir assembly dili komutu, bir makine dili komutunun hemen hemen eşdeğeridir. Assembler programı, genelde assembly dili programının okunması ve buna karşılık gelen makine kodu komutlarının üretilmesinden oluşur.
1950'lerde assembly dilinin ortaya sürülmesindeki asıl amaç, bilgisayar programlamayı insanlar için daha kolay hale getirmekti. Fakat assembly dili, makine dilinde zaten varolan olanaklardan biraz fazlasını sağladığı için kısıtlıydı. Assembly dili programcısı, makine dili komutları ve makroları kullanabiliyordu. Bir makro ile birden çok makine dili komutu ve çok kullanılan değerleri tek bir komuta verebilir. Programcı için daha geniş olanaklar sağlayan bir dille çalışmak daha kolaydır. Bu komutların her birinin makine diline çevrilmesinin gerekli olması ilk "üst düzey" bilgisayar dillerinin doğmasına yol açmıştır.
Üst-düzey dil terimi, insanların öğrenip kullanmalarının kolay olması için tasarlanmış bir bilgisayar dili anlamındadır. Bazen bu dillere "insana yönelik diller" de denir. Karşıtı olarak "alt-düzey" bir programlama dili de, makine diline yakın, dolayısıyla kullanımı insanlar için genelde daha zor olan dilleri belirtir. Tipik olarak assembly ve makine dillerini "alt-düzey", veya makineye yönelik diller, ele alacağımız diğer dilleri de "üst-düzey" diller olarak inceleyeceğiz.
Bazı dilleri diğerlerinden "daha üst-düzey" olarak belirtmemiz doğaldır. Bunlar programlamayı insanlar için daha kolay hale getirmek amacıyla özel hazırlanmış program sistemleridir. Örneğin görsel diller bu "daha üst-düzey" diller gubuna girer.
Makine kodu dışında tüm diller, bilgisayarın işlemcisi tarafından uygulanmadan önce çevrilmek zorundadır. Assembly dili, yukarıda anlatıldığı gibi assembler ile çevrilir. Üst-düzey programlama dilleri bir "derleyici" veya "yorumlayıcı" ile çevrilir.
Buraya kadar programlama dillerini, bilgisayarın işlemcisine komut gönermenin bir yolu olarak tanımladık, ancak programlama dillerinin tek işlevi bu değildir. Bir ikinci ve çok önemli bir işlevleri de, dilin belleği işleyebilme ve programlar için kullanabilme yeteneğidir.
Yine, makine dili kullanan programcının yapması gerekenleri düşünürsek olanları daha iyi anlayabiliriz. Bilgisayar belleği, her birinin belli bir adresi olan kutular şeklinde düşünülebilir. Makine kodu kullanan programcının, her kutunun yapacağı işi kesin olarak belirlemesi ve belirtmesi gereklidir. Programcı, hangi kutulara komutların, hangi kutulara verilerin depolanacağına karar vermelidir. Hafızadaki her depolama birimi, önceden belirlenmiş uzunlukta bir ikil sayı tutabilir. Bu ikilik sayıların her biri program komutu veya veri olabilir. Makine dilinde program yazan programcı, verinin komutla aynı yerde olmasına dikkat etmek zorundadır. Bunun sebebi, işlemcinin herhangi bir bellek birimindeki ikilik sayıyı tipine bakmaksızın işlemesidir. Hafıza birimlerinin bu çift amaçlı kullanımının avantajı, aynı bellek alanının daha çok fazla veri isteyen küçük bir program veya çok az veri isteyen büyük bir program için kullanılabilmesidir. Bu düşünceye "Von Neuman'ın Depolanmış Program Kavramı" adı verilir.
Assembly dili programcıya, belli bir programın ve bu programa ait verilerin belleğin neresinden itibaren başladığını (yani kullanılan ilk bellek biriminin adresini) belirtme olanağı tanır. Bundan sora verilen her komut ve verinin belleğe yerleştirilmesi ile assembler ilgilenir. Programcı herhangi bir veri veya komutu, assembler tarafından gerçek adrese çeviren bir sembol ile verebilir. Bu, programcıyı, bellek üzerinde sürekli sıkı bir kontrol yapma zorluğundan kurtarır.
Üst düzey diller genelde programcıyı, bellekdeki veri ve komutların yerlerini takip etme zahmetinden kurtarır. Değişken isimlerinin kullanılması belirli verilere çabuk ulaşabilmeyi sağlar. Etiketler, isimli işlem dizileri, alt dögüler ve satır numaraları programın istenen kısımlarına erişimi kolaylaştırır. Erişim istemi derleyici veya yorumlayıcı tarafından veri veya komutun tutulduğu bellek adreslerine çevrilir. Üst düzey programlama dilleri ile daha karmaşık veri tipleri de kullanılabilir. Örneğin, benzer tipte verilerin liste veya dizilerini, veya yüksek hassasiyet gerektiren sayıları depolayabilir.
Programlama dilinin üçüncü fonksiyonu, programcıla bilgisayar sisteminin bir parçası olan donanım birimlerine erişim olanağı sağlamasıdır. Bir makine dili programcısı, belirli donanım birimlerini çalıştırabilmek için bu birimleri makine düzeyinde adreslemek zorundadır. Bu durumda, örneğin, ekrana bir mesaj yazdırmak için programcı, hangi bellek biriminin hangi ekran konumuna karşılık geldiğini bilmek zorunda kalacak ve bu konumlara gereken kodları girecekti. Benzer şekilde, yazıcıya çıktı göndermek için programcı, yazıcıyı donanım düzeyinde nasıl adresleyeceğini bilmek zornda kalacaktı. Bu işlem genelde "işletim sistemi" tarafından yazıcının bağlı olduğu kapıya veri göndermek ten ibarettir.
Üst düzey dil programcısı için, pek çok programlama dili yazıcı ve ekrana bilgi gönderme ve hatta bir kapıdan veri almak için özel komutlar sağladıklarından, bu konular pek tanıdık değildir. Bununla birlikte, dillerle birlikte gelen komutların bazıları yeterince esnek olmamakla ve alt düzey komutlarını doğrudan uygulamanın yolunu bulma işi yine programcıya kalmaktadır. Bazı programlar, programcıya bu alt düzey olanaklarını kullanma fırsatı sağlamaktadır. Bazı üst düzey diller ise kullanıcılarını bu zor alanlardan korumaktadırlar.

0 yorum Bu kayda verilen bağlantılar  

Programcıların Çalışma Ortamı

Programcıların Çalışma Ortamı

Bu yazı seri olarak ilerleyecektir bu yazının birincisi genel olarak ortama bakıyor. İleriki serilerde ortamı dahada genişleticem.

Programcı, programların sisteme girilmesini, kaydedilmesini, yüklemesini, çevrilmesini ve uygulanmasını sağlayan komutları içeren bir çalışma ortamında çalışmak zorundadır. Bu çalışma ortamının tam şekli bilgisayara göre değişir.

En eski sistemlerde programcı işletim sistemi düzeyinde çalışırdı. İşletim sisteminden, programın girilmesini sağlayan ve daha çok bir kelime işlem programına benzeyen "editör" ü ve ardından kodu çeviren yorumlayıcı veya derleyiciyi çağırırdı. Eğer bir derleyici kullanılıyorsa, programcının çevrilmiş programı çalıştırmak için ayrıca bir komut vermesi gerekiyordu; yorumlayıcı kullanılması halinde ise bu işlem otomatik olarak yapılıyordu.

Bu eski sistemlerde yeni bir program yaratmak için izlenecek adımlar kabaca şöyleydi;
1) Porgramı yazmak üzere editörü çalıştırın
2) Editörden programı bir dosya olarak kaydedin ve çıkın
3) Çeviri programını çalıştırın ve belirtilen hataları not alın
4) Editörü programla birlikte yükleyin ve hataları giderecek düzeltmeleri yapın
5) Tüm hatalar giderilip çeviri işlemi başarili olana dek 3. ve 4. adimlari tekrarlayin
6) Çevrilmiş programi uygun bir şekilde çaliştirin

Bazı diller, özellikle BASIC, ilk uyarlamalarından beri programcıları sürekli editör - derleyici arasında gidip gelmekten kurtarmak amacı ile daha dostça bir geliştirme ortamı sağlamaya çalışmışlardır. Bu, genelikle işletim sistemi komutları, editör ve yorumlayıcının birlikte paket olarak sunulmasıyla sağlanmıştır.
Bazı üst düzey dil üreticileri, kullanıcılardan gelen hem daha kolay kullanılır, hem de editör ve derleyici arasında geçişi daha hızlı olan programlama dili isteklerine son zamanlarda cevap vermişlerdir. Bu tümleşik geliştirme ortamları giderek popüler olmaktadır ve mikrobilgisayar kullanıcıları bunları kolayca temin edebilirler. Bu tip sistemlerin tek sorunu editör ve derleyiciyi aynı anda bellekte yer tuttukları için yazılacak olan programın kaynak ve nesne kodlarına ayrılan alanın sınırlanmasıdır (kaynak kodu programın çevrilmeden önceki, nesne kodu ise derleyicinin ürettiği, çeviri işleminden çıkmış kütüktür. İyi programcılar, bindirmeli kütükler yardımıyla sistemin belli parçalarını bellek ile disk arasında aktararak bu bellek sınırlamasının üstesinden gelebilmektedirler.

0 yorum Bu kayda verilen bağlantılar  

BASIC'in YAPISI ve TARİHİ

BASIC'in YAPISI ve TARİHİ

BASIC (Beginners' All purpose Symbolic Instruction Code) (Yeni Başlayanlar Için Çok Amaçli Sembolik Komut Kodu) programlama dili, 1964'de Hanover, New Hampshire, ABD'de Dartmouth Koleji'inde geliştirilmiştir. Hazirlanmasindaki amaç, FORTRAN'dan daha kolay kullanilan ve ayni zamanda ögrencileri daha sonra FORTRAN kullanimini ögrenmeye hazirlayacak bir dil istegiydi.

BASIC'in ilk kullanılışı eğitim amacıyla oldu. Fakat, insanlar BASIC'in yalnızca başka bir dili öğrenmeye hazırlamak için değil, aynı zamanda uygulama programları yazmak için kullanılabildiğini farkedince kullanım alanları hızla genişledi. BASIC kısa zamanda programcılara basit programların yazımında FORTRAN'ın sağladığı olanakları, daha kolay program geliştirme avantajı ve daha kullanıcı dostu bir ortamla birlikte sağlayan bir dil olarak görüldü. Aslında BASIC, FORTRAN'ın karşısında yalnızca FORTAN'ın daha gelişmiş özellerine ihtiyaç duyulduğu durumlarda zayıf kalır. Matematikçiler ve bazı bilim adamları için pek çok uygulama programı bu gelişmiş özelliklere ihtiyaç duyar. Fakat pek çok kullanıcı için, BASIC yeterlidir.

Piyasaya sürüldüğü ilk dönemlerde pek kullanılmadığı, ancak son zamanlarda yaygın olarak kullanılmaya başlandığı için BASIC'in tarihçesi ilginçtir. 1960 ve 1970'li yılların 'ciddi' uygulama programları BASIC ile yazılmamıştır. Yazılım üreticileri, o andaki uygulama için daha uygun olan daha büyük ve gelişmiş dilleri tercih etmişlerdir. Sonuç olarak, BASIC kullanıcılarının sayısı uzun bir süre için diğer dilleri kullananların sayısından daha az olmuştur.
Bilgisayarın yaygınlaşması, küçük sistem üreticilerinin yeni başlayanların kullanabilecekleri ve küçük sistemlere uyarlanması kolay olacak bir dil istemeleri, BASIC'in tercih edilmesine sebep olmuştur. Mikrobilgisayarların kullanımının artması genelde bilgisayar dillerinin, ve genellikle bilgisayarla birlikte kullanıcıya verildiği için, özellikle BASIC'in kullanımı artmıştır.

Bu noktada "Donanımları için üst düzey bir dil arayan üreticilere niçin BASIC çekici bir seçim olarak geldi ?" sorusunu sormak ilginç olacaktır.

1. BASIC yorumlamalı bir dildir.
BASIC dilinin hemen tüm sürümleri derleyici yerine bir yorumlayıcı kullaırlar. Dil öyle bir şekilde hazırlanmıştır ki, özellikle belleğin sınırlı olduğu ve derleyici yerine yorumlayıcı kullanımın uygun olacağı küçük bilgisayar sistemlerine uygun şekildedir.
Bunun sebebi gayet açıktır. Derlemeli bir dil kullanıldığında, tüm kaynak kod alınır ve çalışabilir nesne kodu haline geldikden sonra çalıştırılır. Diğer yanda ise, yorumlamalı bir dilde bir seferde kaynak kodun yalnızca bir satırı çevrilir ve bu yüzden yalnızca bir satırın kaynak ve çevrisini bellekde tutmak gerekir. Bu şekilde, bellekden tasarruf edilmektedir.

2. BASIC (TEMEL), pek çok kişiyi bilgisayar almaya sevkedebilecek, çekici bir isimdir.
Bilgisayar üreticilerinin elinde, gerekli olduğunda bir yorumlayıcı ile piyasaya sürebilecekleri çeşitli diller vardır. Fakat bilgisayar dilinin yeni başlayanlar için yazılmış olması ve basit oluşu, bilgisayarı için büyük pazarlar bulmayı amaçlayan üreticilere her zaman çekici gelmiştir.

3. BASIC yalnızca bir dil değil, aynı zamanda bir sistemdir.
Program yazmak isteyen bilgisayar kullanıcısı iki komut setini öğrenme zorundadır. Bilgisayarın işletim sistemi, donanım ile iletşim olanağı sağlar. Bir dosyayı belleğe yükleme, bellekdekileri diske kaydetme ve editörü çalıştırma işlemlerinin tümü işletim sistemi komutlarıdır. Bu işlemler, bilgisayara program çalışırken yapması gerekenleri bildiren dil komutlarından ayrıdır.
Pek çok bilgisayar dili kullanıcı için, sistemin komut satırından girilmesi gereken sistem komutları ile programlama dili komutları arasında kesin bir ayrım vardır. Bu yeni başlayanlar için oldukça sorun yaratır. Değişik zamanlarda değişik komut tipleri gerekir. Program yazarken işletim sistemi komutları kullanılamaz ve aynı şekilde programlama dili komutları da işletim sistemine verilemez.
BASIC dilini tasarlayanlar, BASIC ortamını yalnızca bir dil ortamı olarak değil aynı zamanda bir sistem olarak tasarlayarak bu sorunun üstesinden gelmeye çalışmışlardır. BASIC sistemi kendi editörüne ve işletim sistemi komutlarına sahiptir. Bu komutlar dilin bir parçasıdır ve istenirse programlarda kullanılabilirler. Bunun tersi olarak programlama dili komutlarıda program dışında hemen uygulanmak üzere verilebilir.
Bu yaklaşimin sonucu olarak BASIC programcisi işine BASIC ortamina girerek başlar (ki bu işlem özellikle küçük mikrobilgisayarlarda otomatik olabilir) ve BASIC işletim sistemi komutlari da dahil olmak üzere BASIC komutlarini vererek işini sürdürür
Küçük mikrobilgisayar tasarımcıları için BASIC'in kullanımı işletim sistemi komutlarını dil komutları ile aynı ortama yerleştirme kolaylığı sağlar. Bu tür sistemlerde ayrı ayrı işletim sistemi, editör ve çalışma ortamları gereksizdir. Bunlar birleştirilerek çalışma alanında tasarruf sağlanır ve pek çok durumda hem işletim sistemi hem de dil komutların tek bir ROM yongası ile kontrolu mümkün olur.


4. BASIC Esnektir.
a. Donanım Esnekliği
Bazı açılardan, "BASIC esnektir" ifadesi, BASIC standart dışıdır ifadesinin olumlu yönüdür. Donanımdaki değişikliklerden etkilenmeden uzun süre kullanılabilirliğini sürdüren eski bir dil olan BASIC'in en eski şeklinden bazı izler taşıdığını görmek şaşırtıcı olmaz. Ne yazık ki, benzer değişimlere maruz kalan diğer dillere göre, BASIC 'in kontrolsuz değişimine izin verilmiştir. Bu yüzden değişik BASIC sürümleri araında büyük farklılıklar vardır. Hemen tüm BASIC sürümlerinde ortak görülen bazı özellikler varsa da bunlar çok azdır.
BASIC'in standart olmayışının olumlu yönleri yanında olumsuz yönleri de vardır. Katı bir standart konulduğunda, yeni durumlara uyum sağlaması için standardın gözden geçirilmesi gereklidir ve bu da zaman alır. Üreticiler, BASIC kullanılırsa bu gibi standart eskimelerinden etkilenmezler ve bazı komutlar ekleyerek dili rahatlıkla duruma uydururlar. Doğal olarak, BASIC'in değişik sürümleriyle yazılmış programların (ve bunları kullanan programcıların!) bilgisayarlar arasındaki taşınırlığı bu standart eksikliği yüzünden tehlikededir. Fakat, BASIC'in değişik sürümleri arasında işletim sistemi komutlarının göreli standartlaşması durumunda biraz da olsa çözüm getirmektedir.
BASIC dilinin standartlaşmasi konusunda bazi girişimlerde bulunulmuş fakat pek çogu, tüm BASIC'lerin içermesi gereken komutlar listesi ile yetinmişlerdir. Bu durumda, taşinabilir bir program yazmak isteyen programcilar, bu sinirli sayida komutu kullanarak programlarini yazmalidirlar.
b. Yazılım Esnekliği
BASIC genel amaçlı bir dildir ve bu yüzden oldukça geniş bir uygulama alanı yelpazesi için program üretimine uygundur. Bir üreticinin, bir bilgisayar için belli bir dili uygun görebilmesi için, dilin kullanıcılar tarafından istenilen tüm uygulamaların geliştirilebilmesi için yeterince esnek olduğuna ikna olması gerekmektedir. Bu durumda, BASIC, esnek olduğu ve genelde uygulamalarda makine dili işlemlerine erişmeye hazır bir şekilde tasarlandığı için genelde iyi bir seçimdir.
Tüm bu avantajlarına rağmen, BASIC endüstride iyi bir dil olarak tanınmaz. Endüstriye girenlerin çoğu tarafından ilk dil olarak kullanılan BASIC'in içine düştüğü bu durumun sebeplerini araştırmak öğretici olabilir.

1. BASIC standart dışıdır.
Bu kişinin BASIC programlama üzerine bilgisi tamdir ifadesi anlamsizdir. BASIC uygulamalarinin sagladiklari olanaklar arasindaki fark birbirlerine göre birkaç kati buldugu için, tam bilgi ifadesi ile neyin kastedildigini anlamak imkansizdir.

2. BASIC genelde yapısal değildir.
BASIC, yapısal programlamanın kabul edilen yöntem olmasından çok önce tasarlanmıştır. Sonuç olarak, bazı yeni sürümler REPEAT... UNTIL veya WHILE gibi yapılara izin verseler de bu tüm sürümler için geçerli değildir. Dilin öğretilmesinde kullanılan pek çok kitap eski kötü yapılı yaklaşımı kullanmakta ve kullanıcıya, bugünkü piyasada başarılı olmasını engelleyen kötü alışkanlıklar kazandırmaktadır.

3. BASIC kendine özgüdür.
Bugün kullanılan dillerin hemen hemen tamamı bir derleyici kullanmaktadır.Bu yüzden bu dilleri kullananlar, bilgisayarın işletim sistemi komutlarına ve kaynak kod hazırlamak üzere editör komutlarına alışmaktadırlar. Diğer bir dile geçmek için gerekli adımlar, yeni dilin yazım kurallarını öğrenmekten başlamaktadır. Ne yazık ki bu noktadan bakıldığında, BASIC programcısı daha önce editör, derleyici ve işletim sistemi komutları ile ayrı ayrı uğraşmak zorunda kalmadığı için, derlemeli bir dil kullanmaya başladığında tamamen yeni teknikler öğrenmek zorunda kalacaktır. Aynı zamanda pek çok BASIC programcısının karşılaştığı bir diğer sorun, işletim sistemi ve dil komutları arasındaki farkı kavrayamamalarıdır. Yeni bir dil öğrenirken bu durum sorunlara yol açabilir.
Bir zorluk da çözülecek problemin büyüklüğüdür. Küçük problemler için BASIC kolay ve tatminkar bir çözüm yoludur. Fakat büyük ölçekde problemler BASIC ile kolay çözülemez. Bu yüzden, orta düzey programcılar için BASIC iyi bir seçim olmakla birlikte, ciddi programcılar için pek iyi bir seçim olmayabilir.
Bazı akademisyenler, Pascal gibi bir dilin programcılğa girişte BASIC'den daha iyi olduğunu bununla birlikte BASIC ile olduğu kadar Pascal ile de kötü program yazılabileceği görüşünde birleşmektedirler. Bunun tersi olarak, iyi yazılmış BASIC programları, pek çok Pascal programı ile karşılaştırılabilir. Asıl sorun, kullanılan olanaklardan çok, olanakların kullanılma şeklidir. BASIC programlarının büyük çoğunluğunun Pascal programlarından daha kötü yazıldığı doğrudur. Fakat doğru yöntem seçimi ve BASIC'in yeni, iyi yapılandırılmış bir uyarlaması kullanılarak iyi BASIC programları yazılabilir.








BASIC ile çalışan değişik programcı tipleri vardır.

1. Hobi Olarak Program Yazanlar
Şimdiye dek BASIC kullanan en büyük programci grubu, aldigi bilgisayarla birlikte bedava bir BASIC sistemi alan hobi programcilari oluşturur. Bu kullanicilar bazen diger dillerin varliginin fakinda degillerdir ya da BASIC ile işlerini rahatça görebildikleri için başka bir dil kullanmak için sebep görmezler.
Bu tip kullanıcılar tarafından ele alınan program projelerinin çeşitleri, kullanıcıların ilgi alanları kadar çeşitlidir ve bir dizi soru ile kullanıcıyla ilişki kuran basit programlardan büyük veritabanı paketlerine, ağırlıklı olarak grafiklerikullanan oyun programlarına kadar uzanabilmektedir. Piyasaya sürülen BASIC sürümlerinin çeşitliliği, bu kullanıcılar için dilin başarısının ölçüsüdür. Bu kullanıcılar değişik diller kullanmayı düşünmezler, çünkü kullandıkları BASIC ihtiyaç duydukları tüm işlem gücünü onlara sağlamaktadır. Makine diline kolay ulaşım da doğabilecek boşlukları kapatmaktadır.
Hobi olarak program yazan kullanıcıları çeken ve rakip dillerin çoğunun zayıf kaldığı bir özellik de grafiktir. Pek çok hobi programcısı güzel görünümlü programlar ve özellikle oyun programları yazmak ister. Daha sonra inceleyeceğimiz Pascal ve C gibi diller, kaçınılmaz bir şekilde makineye bağımlı olan grafik sistemlerini dikkate almayan bir standarda uymaya çalışırlar. Bu sebeple bu dillerin üreticileri için hem dil standartlarına uymak, hem de iyi grafik sağlamak zordur. BASIC uyarlayıcıları genelde piyasada yaygın olan grafik sistemlerinin tüm olanaklarını kullanır ve deneyimsiz programcılar için oyun yazmayı kolaylaştırırlar. Modern mikrobilgisayarlar, özellikle 16 bitlik makineler gelişmiş müzik yeteneklerine sahiptirler. Bu da aynı şekilde makineye bağlıdır ve BASIC bu tür
uygulamalar için son derece uygundur.

2. Ara Sıra Bilgisayar Kullananlar
Yalnızca arada sırada bilgisayar kullanan ve çok amaçlı bir dilin esnekliğini isteyenler için, BASIC ideal bir seçimdir. Dili öğrenmek için harcanan çaba rakiplerine göre çok daha azdır ve uygulama çok fazla işlem gücü gerektirmiyorsa yorumlayıcı kullanımdan doğan yavaşıl farkedilmez.

3. Ticari Amaçlı Kullanıcılar
BASIC'i ticari amaçla kullananların sayısı insanı şaşırtacak kadar çoktur. Bu kişiler, bir şekilde BASIC ile yaratılmış programları kullanmaya devam etmek amacıyla ve BASIC'de deneyimli programcı sayısının fazlalığına güvenerek bu şekilde davranmışlardır. BASIC aynı zamanda programların hızla geliştirilebilmesine ve, özellikle yeni uyarlamalarında oldukça hızlı program işletimine olanak sağlar. Bu faktörler, BASIC programcıları çalıştırmanın maliyetini, karşılaştırılabilir alanlarda diğer dilleri kullanan programcıları çalıştırma maliyetinden daha düşük tutmaktadır. Bununla birlikte, daha önce saydığımız nedenlerden dolayı BASIC programcıları işlerine, diğer dilleri kullanan programcılardan daha yavaş uyum sağlayabilir ve daha kötü yalışmış programlar yazabilirler.

4. Eğitim Amacı ile Kullananlar
Okullarda ilk kullanılan bilgisayarların çoğu en iyi şekilde BASIC kullanılarak programlanabiliyordu. Bu yüzden 1980'lerde geliştirilen eğitim yazılımlarının çoğu, ya tamamen BASIC ile ya da BASIC ile makine dili birlikte kullanılarak yazılmıştır. Yeni bilgisayarların belki başka bir dil kullanarak programlanması daha doğru olacaktır, fakat hem bbilgisayar programlama konusunda ders veren öğretmenler, hem de eğitim programları yazan kişiler arasında çok fazla BASIC programcısı vardır.
Daha öncede belirtdiğimiz gibi BASIC'in asıl kısıtlamaları piyasaya erken sürülmesinden, genel amaçlı yapısından ve yorumlamalı bir dil olmasından kaynaklanmaktadır.

1. Piyasaya Erken Sürülmesi
BASIC, GOTO komutu ile programın uygulanmasının program içinde satır numarası belli herhangi bir ifadeye aktarılabilmesini sağlar. Bazı durumlarda, bu, programcıların spagetti programlar yazmasına yol açmıştır. Bir spagetti program, uygulanışı belli bir yapıya sahip olmayan fakat sürekli dalgalanmalarla işleyen bir programdır. Bu durumda programın izlediği yol bir tabak spagettiye benzer.
BASIC'in yeni uyarlamaları, işlemler, fonksiyon tanımlamaları ve REPEAT... UNTIL veya WHILE gibi daha gelişmiş döngü yapıları içermekle bu kötü şöhretten kurtulmaya çalışmaktadırlar.

2. Genel Amaçlılık
Genel amaçlı dillerden, genelde belli uygulamalar için, özel amaçlı dillerden daha az uygun oldukları konusunda şikayetler vardır. BASIC'te veri işleme uygulamalarının yazılması COBOL gibi iş amaçlı dilde olduğundan daha zordur ve bu durumdan hem programcı hem de kullanıcı etkilenir. Diğer yandan tek bir programlama dili ile değişik uygulamalar yaratabilmeyi isteyen programcı kesinlikle genel amaçlı bir dil seçmelidir. Bu durumda BASIC bir seçenek olarak görülebilir. Fakat yazılan programların çalışma hızının önemli bir faktör olduğu durumlarda diğer genel amaçlı diller seçilebilir.


3. Yorumlayıcı Kullanımı
Yorumlamalı bir dilin kullanıldığı durumlarda özellikle geniş çapta döngü tekrarı yapılan programların çalışma hızı önemli ölçüde düşer. Bunun sebebi kodun her uygulanışta tekrar çevrilmei gereğidir ve döngü içinde aynı kodun tekrar tekrar çevrilmesi işlemi son derece anlamsızdır.

0 yorum Bu kayda verilen bağlantılar  

Unix

UNIX TARİHİ

İşletim sistemi, bilgisayarın ana ve yan belleklerinin en verimli biçimde kullanılması, çevre donanımla bilgisayar arasındaki iletişimin sağlanması, işlemlerin ve iş akışının yönetilmesi, dosya sistemlerinin oluşturulması ve yönetilmesi, çeşitli hizmet ve uygulama programlarının çalıştırılmasını sağlayan bir programlar topluluğu olarak tanımlanabilir.
Her işletim sisteminin dogal olarak bir tarihçesi var. Fakat hiçbiri UNIX işletim sistemininki kadar ilgi toplamamiştir. Çünkü diger işletim sistemleri, büyük çogunlukla tek bir model bilgisayar sistemine bagimli olarak geliştirilmiştir. Donanim ömrünü tamamladiginda dogal olarak işletim işletim sistemi de devreden çikiyordu. Bazi firmalarin farkli modelleri arasinda yani işletim sisteminin devam ettigi görülmesine karşilik, farkli firmalarin donanimlarinda, kişisel bilgisayarlar hariç, ayni işletim sisteminin kullanildigina rastlanmamiştir. UNIX işletim sisteminin bu denli tercih edilmesinin temel nedeni olarak, donanima bagli kalmamasi ve bilgisayarlar arasinda taşinabilir özelliklere sahip olmasi gösterilebilir.
UNIX işletim sistemi, başlangiçta bir grup araştirmacinin sadece belirli bir amaci içim geliştirilmeye başlanmiştir. Bu amaç, yazilim geliştirilmesi için daha uygun ve daha iyi çevre koşullarinin saglanmasi idi. Aranilan işletim sistemi, özellikle çok karmaşik yapili yazilimlarda, programcinin gereksinimlerine yanit verebilecek tüm özellikleri kapsamaliydi.
UNIX'in tarihçesi 1960'lı yılların sonunda Bell laboratuvarı programcılarından Ken Thompson'un çalışmalarıyla başlamıştır. Thompson ve arkadaşları işletim sistemi Multics olan GE645 bilgisayarlarını kullanıyorlardı. UNIX işletim sisteminin ilk tasarımı 1961 yılında Ken Thompson, Dennis Ritchie ve R.H. Canaday tarafından geliştirilmeye başlandı. Thompson daha çok kütük sistemi, Ritchie ise aygıt kütükleri ile uğraştı. Bu aşamada işletim sistemi bir kaç kez denendi. Fakat kullanılmakta olan GE645 bilgisayarının laboratuvarda ömrünün tükenmesi üzerine çalışmalara son verildi.
1969' da Thompson uzay yolculuğu isimli bir proje geliştirdi. Projeyi önce Multics'de yazdı daha sonra GECOS işletim sistemi için fortran diline çevirdi. Bu program güneş sisteminin hareketi, gezegenler ve ayın görüntüsünün elde edilmesi gibi birçok işlemi yapabiliyordu.
Buna rağmen, donanımın yeterince uygun olmaması ve yüksek maliyetler nedeniyle programın GECOS modeli başarısız olmuştur. Bunun üzerine Thompson, o günün koşullarında görüntüleme işlemlerinin kusursuz sayıldığı PDP-7 bilgisayarını kullanmaya başladı. Üzerinde çalışılan bilgisayar sistemi uzay yolculuğu programı için ugun bir donanım olmasına karşılık, gelişmiş programları destekleyebilcek güçte bir işletim sistemine sahip değildi. Thompson bu eksikliği gidermek üzere PDP-7 assemblerinde bir işletim sistemi yazmaya koyuldu. Ortaya çıkan işletim sistemi çoklu değildi ve bu nedenle de 1970 yılında Brian Kernighan tarafıbdab UNIX olarak adlandırıldı.
PDP-7'nin UNIX işletim sisteminin günümüzdekilerden en önemli farki, tanimlarinin olmamasi ve çalişan dizin'e göre basit isimlerle her kütük isminin sisteme degişlen olarak tanitilmasidir. Buna ragmen yapisal olarak günümüz UNIX'inde oldukça yakin oldugu söylenebilir.
UNIX işletim sistemi bu kez 1971'de Ritchie tarafindan PDP-11 model bilgisayari üzerinde geliştirildi. UNIX'in bu modeli, öncesine oronla daha kullanişli idi.
UNIX'in başarisi, C programlama dilinin gelişimi ile oldukça yakin ilişkilidir. UNIX'in sonraki modelleri hep bu programlama dili ile yazilmiştir. UNIX işletim sistemi başlangiçta assembler ile yazilmasina karşilik, daha sonra Thompson'un B (imla hatasi yok :) ) dilinde ve 1973'de Ritchie tarafindan C dilinde yeniden yazilmiştir.
Bu işletim sisteminin assebler dili dişinda C ile yazilmasi, kuşkusuz UNIX'e ana karakteristigini oluşturan bazi özellikler kazandirmiştir. C programlama dili herhangi bir donanima bagli olmadigina göre, C ile yazilan UNIX işletim sisteminin de donanima bagli olmayacagi olgusu ortaya çikti. O halde UNIX sistemden sisteme taşinabilirdi.
1977'de PDP-11'e donanım olarak hiç benzemeyen Interdata 8/32 bilgisayar sistemlerinde UNIX denendi ve başarılı sonuçlar elde edildi.
UNIX 1977 yılına dek öncelikle üniversiteler ve araştırma kurumlarında kullanıldı. Ticari çevrelerde ise bir boşluk sözkonusuydu. Bu dönemlerde Bell laboratuvarlarına sahip AT&T firmasının lisans kullanımı konusundaki tutumu ticari gelişmeleri engellemiştir. AT&T 1981 yılından itibaren yeni lisans koşullarını duyurduktan sonra UNIX, ticari alana da girmeye başladı. UNIX'in bir ticari işletim sistemi olarak kabul edilmesi ancak 1983 yılından sonra olmuştur.

0 yorum Bu kayda verilen bağlantılar  

Mikroişlemciler

Mikroişlemciler

Bir mikroişlemci programlari çaliştiran herhangi bir yongadir. Mikroişlemciler ayrica aritmetik işlemleri, karşilaştirma işlemlerini ve veri transferi gibi işlemleri de gerçekleştirirler.
Mikroişlemcilerin tarihi entegre devrelerle başlar.
İlk entegre devre (Integrated Circuit) 1960'lı yılların başında geliştirilmiştir. Baskılı devre teknolojisinin ilerlemesiyle kısa zamaniçinde çok sayıda devre elemanlarının tekbir yonga üzerinde yeralması sağlanmış ve 1970'li yılların başında 8008 mikroişlemci geliştirilmiştir. Mikroişlemcilerin (microprocessor) geliştirdiği bu teknolojiye büyük çapta tümleşme (VLSI-Very Large Scale Integration) denir.
Mikroişlemcilerin ardindan ROM ve RAM bellek devrelerinin de tekbir yonga üzerinde üretilmeleri mikrobilgisayarlarin diger bir degişle kişisel bilgisayarlarin geliştirilmesine yol açmiştir.
1974 yılında ise daha gelişmiş 8080 mikroişlemci geliştirilmiştir. Bu arada genişleyen pazara Z-80 mikroişlemcisi de girmiş ve mikrobilgisayarların geliştirilmesi için rekabeti de olan bir ortam hazırlamıştır.
Daha sonraki yıllarda; 1978 yılında 8086 mikroişlemci geliştirilmiştir. Ardında yeni değişikliklerle 8088 ortaya çıkmıştır. 8088 mikroişlemcisi 1980'li yıllarda bir çok kişisel bilgisayar üreticisi tarafından kullanılmış çok yaygın kabul görmüştür. 8088 mikroişlemcisine yardımcı olarak 8087 yardımcı işlemci geliştirilmiş böylece ana işlemcinin yanısıra yardımcı işlemci ile özel uygulamalarda daha başarılı olunmuştur.
Intel firmasının geliştirdiği bu mikroişlemciler 80 serili mikroişlemciler ailesini oluşturmuştur. Aile böyle kalmamış, 1984 yılında daha gelişmiş bir işlemci olan 80286 mikroişlemci geliştirilmiştir. 80286 mikroişlemci 8086 ve 8888 mikroişlemcilerle uyumlu olmakla birlikte bellek koruma, birçok işin yönetimi ve sanal bellek kullanımı gibi yeni olanaklara da sahiptir.
Kişisel Bilgisayar Modeli Mikroişlemci
PC 8088
PC/XT 8088
PC/AT 80286
Daha sonra 80386 ve 80486 mikroişlemcileri geliştirilmiştir. Şuanda en son 80586 Pentium işlemciler geliştirilmiştir.
Mikroişlemciler yalnizca belli aritmetik/mantik ve denetim işlemlerini yaparlar. Bilgisayarin karmaşik olarak gerçekleştirdigi bütün uygulamalar aslinda bu temel işlemlerle yapilir. Mikroişlemci ayni zamanda sinyaller göndererek ana bellegi de kontrol eder. Mikroişlemci ana bellek ile diger elemanlar arasinda taşitlar araciligiyla veri alişverişi yapar. Bir mikroişlemcinin temel özelliklerinden birisi de onun sözcük uzunlugu ve hizidir. Kişisel bilgisayarlarda kullanilan 8086 ya da 8088, 80286, 80386 ya da 80486 mikroişlemcilerin degişik sözcük uzunluklari ve hizlari vardir.
8088 ve 80286 mikroişlemcileri 16bit uzunlugunda sözcükler halinde verileri işlerken 80386 ve 80486 mikroişlemciler 32bit uzunlugunda sözcük işler. Bu nedenle 80386 ve 80486 mikroişlemcileri digerlerine göre çok daha hizlidirlar. Bunun dişinda 80286 ve gelişmiş diger mikroişlemciler sanal bellek alanlarini kullanimini olanakli kilarlar. Ayrica korumali mod (protected mod) denilen olanakla da çok-kullanicili ya da çok-iş düzeni olan işletim sistemlerinin ana bellekte bir çok işi ayni anda yapmalarini olanakli kilinmaktadir. Bu ifadelerin işigi altinda mikroişlemci gereksiniminin biraz da işletim sistemi ve uygulama alanina göre uyumlu yapilmasi gerektigini söyleyebiliriz.
Bir mikroişlemci herhangi bir işlemi yaparken onu kendi dilinde ve kendi komut setinde yeralan komutlarla belli sayida adimla yapar. Bu temel komutlar makine dili komutlari denirlir. Bu komutlar ayni zamanda Assembly dilininin komutlarina da eşdegerdir.
Bir mikroişlemcinin belli bir hizi vardir. Bu hiz Mhz olarak ölçülür. 8088 mikroişlemcinin 1 saniyede yaptigi işlemleri söyle sayabiliriz.
. 1 milyon kez iki sayıyı birbiriyle toplayabilir.
. Ortalama yarım milyon sayıda motu yürütür.
Aşagidaki tabloda adi geçen mikroişlemcilerin hiz, sözcük uzunlugu ve adresleyebildikleri ana bellek kapasiteleri yeralmaktadir:
80xxx Mikroişlemci Ailesi:
Özellik 8086/8088 80286 80386 80486
Hız (Mhz) 4.77 - 12 8 - 16 16 - 33 25 - 50
Yazmaç (bit) 16 16 32 32
Kullanabildiği 1 MB 16 MB 4 GB 4 GB
bellek
Mikroişlemciler işlemlerinde geçici bellek alani olarak ya da ara toplam alanlari olarak üzerlerinde yeralan yazmaçlari (register) kullanirlar.
Mikroişlemciler belli sayisal formattaki verilerle işlem yaparlar. Işaretli sayilari işleyebilir ve verileri bellekte yanyana yerleştirebilirler.
Aşagidaki tabloda 8080 ile 809386 işlemci ile işlenen veri formatlari yeralmaktadir :
Bit İşaret Onlu Onaltılı
8 Yok 0 - 255 OHH - FFH
8 Var -128 - +128 80H - 7FH
16 Yok 0 - 65,535 0000H - FFFFH
16 Var -32,768 - +32,767 8000H - 7FFFH
32 Yok 0 - 4,294,967,295 00000000H - FFFFFFFFH
32 Var -1147483468 +2147483647 00000000H - 7FFFFFFFH
80286 mikroişlemci PC/AT, PS/2 serisi ve diger uyumlu kişisel bilgisayarlarda yaygin olarak kullanilan 16-bitlik bir işlemcidir. 80286 mikroişlemcisi 8088 göre çok hizlidir.
80286 mikroişlemcisinin en önemli özelligi çok görevli (multi-tasking) olmasidir. Bu özellik 80286'nin ayni anda birçok işi yerine getirebilcegi ve çok kullanicili olarak kullanilabilecegi anlamina gelir. 80286 mikroişlemcisinin bu özelliginin kişisel bilgisayara yükleme işletim sistemi ile de ilgisi vardir. Örnegin MS-DOS işletim sistemi tek kullanicili bir bir işletim sistemidir. Dolayisiyla programcilar 80286'nin çok-görevlilik özelliginden yararlanarak uygulama geliştirmezler. Ancak UNIX ve XENIX gibi, kişisel bilgisayarlarda 80286 işlemci ile çalişan çok -kullanicili (mult-user) işletim sistemi vardir.
80286 mikroişlemci çok-kullanicili işletim sistemlerine de uyum saglayan üstün özelliklere sahip bir mikroişlemcidir. 80286 mikroişlemci özünden bellek-koruma (mermory-protection) özelligine sahiptir; işletim sistemi, işleri ve verileri bellekte korur. 8088 mikroişlemci de çok görevliligi başarabilir ancak bu çok karmaşik programlarla yerine getirilebilir.
80286 mikroişlemcinin iki tür çalişma biçimi vardir:
1. Gerçek mod (real mod)
2. Korumalı mod (protected mod)
Gerçek modda çalışan 80286, 8088 gibi 1 Megabyte bellek alanına aynı şekilde ulaşır. Korumalı modda ise 80286 ana belleğin belli kısımlarını çalışmakta olan program için ayırır (atar). Böylece programlar ana bellekte kendileri için ayrılmış ve korunmuş ana bellek alanlarında birbirine karışmadan çalışır.
80286 mikroişlemci 10Mhz. hizinda çalişir. Bu hiz 5Mhz. hizinda çalişan 8086 mikroişlemcisinin 6 kat daha hizli anlamindadir. 80286 mikroişlemci, 8086 ve 8088 işlemcilerle çalişan bütün programlari çaliştirir.
80386 mikroişlemci 80286 ve 8088N e göre daha güçlü bir mikroişlemcidir. 8088'in özelliklerini ve 80286'nin koruma özelliklerinin tümünü içerir.
80386, 32-bitlik bir mikroişlemcidir. 32-bit uzunlugunda yazmaçlara sahiptir. 80386 mikroişlemci 80286 ve 8088'e göre daha geniş bir ana bellek alanini adresler.
80486 Mikroişlemci kendinden önce gelen 80386 ve 80286 mikroişlemcilerinden oldukça farklidir. 80286'dan sonra geliştirilen 80386 mikroişlemci 80286'nin yani kendinden önce gelenin gelişmişi olarak ortaya çikdi. Oysa 80486 mikroişlemci 80386'nin gelişmiş hali degildir.
80486 mikroişlemci 32-bitlik bir sözcük uzunluguna ve 32-bitlik iç ve diş veri yollarina sahiptir. 80486 mikroişlemci üzerinde 1.2 milyon transistör taşir. 80486 mikroişlemcinin en önemli özelliklerinden birisi aritmetik işlemci ya da yardimci işlemci olarak (coprocessor) adlandirilan ek işlevleri olan bu işlemciyi de içermesidir. Yani 80486 için bir 80487 yoktur.
80486 mikroişlemcinin sundugu diger bir özellik ilse 8 Kilobayt'lik önbellek (cache memory) dir. Bu ön bellek sayesinde 80486 ana bellek ile olan veri alişverişini daha hizli yapar. 80386 mikroişlemcide oldugu gibi 80486 da 80486 SX modeline sahiptir. 80486 SX hizi daha yavaş ve yardimci işlemcisi içinde bulunmayan bir 80486 dir. Gerçek 80486 bu işlemci 80486 DX olarak adlandirilir.
Matematik işlemci ya da aritmetik işlemci olarak adlandirilirlar. Adil mikroişlemciye bagli olarak çalişan bu işlemcilere yardimci işlemci (coprocessor) de denir. Asil işlemcinin 100 komut ile gerçekleştirdigini yardimci işlemciler 1 komutta gerçekleştirebilir.
8088, 80286 ve 80386 mikroişlemciler tamsayilarla (integers) işlem yaparlar. Bu işlemcilere sahip bilgisayarlarda bazi programlar kendi kayan-noktali (floating-point) işlemlerini bir dizi tamsayi ile işlem yaparak yerine getirirler. Dolayisiyla bu işlem zaman alir.
Yardımcı işlemciler kayan-noktalı aritmetik işlemleri hızlandırmak için bir çözümdür.
Yardımcı işlemciler kayan-noktalı sayıların kullanımı ile trigonometri, logaritma ve üslü aritmetik gibi matematiksel işlemleri daha az işlemle yapılmasını sağlar. Bu olanakları ile yardımcı işlemciler çalışma tablolarında, veri tabanlarında, grafik uygulamalarında, çizimlerde ve CAD uygulamalarında, masaüstü yayıncılık uygulamalarında çeşitli gereksinimlerinde kullanılır.

0 yorum Bu kayda verilen bağlantılar  

Mikroişlemci Tasarımı

Mikroişlemci Tasarimi

Bir mikroişlemci temel bileşenlerden oluşur. 8088 için bunlari şöyle siralayabiliriz:
- Yazmaçlar
- Program kontrolü elemanları
- Giriş/çikiş ara birimleri
- Veri yolları (taşıt)
- Bayrak yazmacı
Yazmaçlar (registers) komut (işlem), işlenen ya da komut gibi ögelerin geçici olarak saklandigi bellek alanlaridir. Program kontrolü ise mikroişlemcinin işlemlerini kontrol edilmesidir. Program sayaci (program counter) komutlarinin işlenişini kontrol eder. Ve bellegi adresler. Giriş/çikiş arabirimleri de yazmaçlarla bellek adresleri ve diger çikişlarla olan bilgi alişverişini belirtir. Bilgilerin taşindigi bu yollara veri yollari denir.
Veri yolları (taşıtlar) devreler arasında veri iletişimini sağlarlar. Mikroişlemci ile kontrol yongaları ve belleğin herbir bayt alanı taşıtlar aracılığıyla birbirine bağlıdır.
Bunun dışında bir mikroişlemciyi mantıksal olarak iki bölümde düşünebiliriz. Bunlardan birincisi işletim birimi, ikincisi ise veri arabirimidir. İşletim birimi komutları işletir. Bu bölümde aritmetik ve mantık işlemlerini yapan altbirim ve çeşitli işlevleri olan yazmaçlar bulunur. Veri arabirimi ise işlem bölümüne komut ve veri gönderir.
Mikroişlemcilerin tasariminda önemli bir konuda zamanlama ve hizdir. Mikroişlemciler belli bir hizda çalişirlar. Bununla birlikte yapilan işlemlerin zamanuyumlu ve zamanuyumsuz olmasida kontrol altindadir.
Mikroişlemci yazilimi mikroişlemcinin temel komut setini saglayan program ya da programlardir. Bu programi işlevi belli komutlarin yürütümünü saglamaktir:
- Bilgi taşima komutlari
- Bilgi işleme komutlari
- Program işleme komutlari
- Giriş/çikiş komutlari
Bilgi taşima komutlari mikroişlemci içindeki veri yollari üzerinden yazmaçlar arasinda, bellek yerleri arasinda ya da bellek yerleri ile yazmaçlar arasinda veri taşirlar.
- Yazmaçtan bellekte bir yere
- Bellekteki yerden yazmaca
- Yazmaçtan yazmaca
-Bellekten belleğe
Giriş/çikiş komutlari ise bilgisayarin belli giriş/çikiş uçlarina (kapilarina) veri taşirlar ya da bu kapilardan veri alirlar. Bilgi işleme komutlari ise belirttigimiz gibi aritmetik, mantik ve diger bazi özel işlemlerin yerine getirilmesini saglarlar.
Program işleme komutlari ise programin işleyişini dogrudan etkileyen komutlardir. Program sayacinin temel veri olarak kullanildigi program kontrolünde koşullu ya da koşulsuz atlamalar, döngüler ve altprogramlarin çagrilmasi işlemleri yapilir.
Bunun dışında diğer bir konuda kesme (interrupt) lerdir. Kesmeler, kesinti ya da kesilme olarak da adlandırılırlar. Kesmeler mikroişlemcinin doğrudan yerine getirdiği komutlar gibi düşünülebilir. Kesmeler çokluk ekran, yazıcı, disk, disket vb. gibi bilgisayarın çevre birimlerinin kullanımı ya da kontrolü için kullanılır. Örneğin 21 numaralı kesme ile ekranın silinmesi sağlanır.
Mikroişlemci tasarimi belli bir işlevi olan bir programin tasarimi gibi degişik aşamalrdan oluşur. Aşagida çok basit olarak bir mikroişlemcinin tasarimi ele alinmiştir.
1. Gereksinimler saptanır. Bu aşama oldukça önemlidir. Mikro işlemcinin gelecekteki başarısı bu aşamada yapılan açık tanımlamalara dayanır.
2. Donanım olarak mikroişlemci şematik şekilde ortaya konur.
3. Temel işlemler için yordamlar (programlar) hazirlanir.
4. Mikroişlemcinin giriş/çikiş kapilari ve bu kapilarin zaman uyumlulugu tasarlanir.
5. Mikroişlemcinin temel verisi olan sözcük uzunlugu tasarlanir. 8 bit, 16 bit ya da 32 bit vb. gibi bu uzunluk saptanir.
6. RAM ve ROM yongaları saptanır. Güç kaynağı vb. gibi bileşenler saptanır.
7. Mikroişlemci için büyük çapta tümleşme (Large Scale Integration) teknigine uygun tümleşik devre seçilir. Ve dökümantasyonu yapilir.
8. Bu aşamada mikroişlemci zamanlama birimi, veri taşitlari ve adres kodlama devreleri olarak hazirlanir.
9. RAM, ROM, EPROM vb. bellek devreleri ve giriş/çikiş devreleri saptanir.
10. Mikroişlemciyi denetleyici programlar hazirlanir. Bunlar denenir.
11. Yazılan programlar ilgili belleklere yüklenir. Sistem tümüyle sınanır. Sistem tümüyle belgelenir.

0 yorum Bu kayda verilen bağlantılar  

Lisp Programlama

LISP
Programlama dillerinin çeşitlemesinde önceleri işlemsel dillere agirlik verilmiştir. Işlemsel dillerde programlama, ayrintili olarak komut tabaninda gerçekleştirilir. Bu yaklaşimli dillerin her alanda kullanilmasinin zorlugunu görenler yeni ufuklara açilan programlama dillerinin yaratilmasi üzerinde çalişmaya başlamişlardir. LISP, bunlardan ilkidir ve programlama dillerinin siniflandirilmasinda uygulamali dil olarak kendine yer bulmuştur.
LISP, MIT'de (Massachuesetts Institute of Technology) John McCarthy başkanligindaki bir grup tarafindan 1960 yilinda tasarlanip gerçekleştirilmiştir.
LISP'in özelliklerinden dolayı özellikle oyunlar, teorem kanıtlama, robotlar ve doğal dil anlama gibi alanlar üzerine araştırmalarda kullanılması 60'ların ortalarından sonra hız kazanmıştır.
Önemli bir bellek yönetimi tekniği olan garbage collection ilkkez LISP'de kullanılmıştır. LISP, her seferinde kendisine yenilikler ekleyen değişikliklere uğramıştır.
LISP (List Processing - Liste İşleme) dili çoğu yönüyle diğer dillerden farklıdır :
. LISP'de program ve veri eşdeger biçimlerde tutulur. Veri yapilari, program olarak çaliştirilabilir; programlarin üzerinde, veriye uygulanircasina degişiklikler yapilabilir.
. LISP, döngüler yerine özyineleme ile denetim yapısını kurar
. Temel veri yapısı olarak liste kullanılır. Dil, listeler üzerindeki genel işlemlerin tamamını destekler.
Bir LISP programında ardışık işlev altprogram tanımları ile bu işlevlerin uygun parametreler ile çağrıldığı çağrı bölümü vardır. Her işlev altprogramı bağımsız tanımlanır. LISP'de blok yapısı yoktur. İşlevler arasındaki iletişim, işletim sırasındaki çağrılarla sağlanır.
LISP işlevleri ifadeler olarak tanimlanir. Her işleç deger döndüren bir işlevdir.
LISP'in veri türlerine atomlar ve sayılar girer. Bağlı listeler temel veri yapısıdır. LISP, bağlı listeler üzerine yaratma, silme, değişiklik yapma gibi bir çok ilkel işleci bulundurur. Temel aritmetik işlevleri de sağlanmıştır. İşletim zamanında programı yorumlama ve işletme LISP'de bulunur. Böylece devingen olarak programlar oluşturulup çalıştırılabilir.
Denetim yapıları yönünden LISP basitlik gösterir. Cambridge Polish biçimi denilen bir şekilde ifadeler yazılır.
Altprogram parametreleri, değer ya da ad ile geçirilebilir. LISP genellikle yorumlayıcıyla kullanılan bir dildir. Çoğu uygulamada bir de LISP derleyicisi vardır. Bu derleyici istenilen altprogram tanımlarını makine koduna çevirir. Ancak LISP, yapısından dolayı derlemeye uygun değildir çünkü çoğu zaman bağlamalar işletim zamanında yapılır.
LISP'in en önemli sorunlarından biri parantezlerdir. LISP programı yazarken yanlış yere konulacak bir parantezin yol açtığı hata kolay kolay bulunamaz.
LISP programları kolay okunur programlar değildir. Bu yönleriyle programcı gruplarının LISP ile çalışırken sıkca yazım standartlarına uymaları gerekmektedir.
LISP'de sadece sıradan kütüklerin işlenmesi desteklenmiştir. Daha gelişmiş kütük yapıları için belli standartlar oluşturulmamıştır.
Bir yorumlayıcıyla çalışan LISP programları için en öenmli kısıtlamlardan biri hızdır. Bu engel, derlenmiş işlevlerle aşılmaya çalışılmaktadır.

0 yorum Bu kayda verilen bağlantılar  

ASCII KOD SİSTEMİ

ASCII kodlama sistemi American Standard Code for Information Interchange sözcüklerinin kısaltmasıdır. ASCII kodlama sistemi bilgisayar alanında verilerin temsili için kullanılan yaygın kodlama sistemidir.
ASCII tablosuna göre her bir karakter 8 bit ile temsil edilir. Buna göre veriler tüm bitler sıfır olan 00000000 (=0) değerden tüm bitleri 11111111 (=256) olan değere kadar olan bir kalıplarıyla temsil edilirler. Sekiz bitten oluşan bir bayt veriyle temsil edilebilecek en büyük sayı 256 dır.
7 6 5 4 3 2 1 0
0 1 0 0 0 0 0 1
01000001 değeri onlu olarak 65 sayısını ifade etmekte ve ASCII kodu olarak değeri ise A harfidir.

0 yorum Bu kayda verilen bağlantılar  

1999 Yılı İtibariyle Üniversite Rektörleri

1999 Yılı İtibariyle Üniversite Rektörleri

DEVLET ÜNİVERSİTELERİ

DEVLET ÜNİVERSİTELERİ ÜNİVERSİTE REKTÖR KOD TELEFON FAX
ABANT İZZET BAYSAL Prof.Dr. HasanNihat BİLGEN 374 253 45 11 253 45 06
ADNAN MENDERES Prof.Dr. Cezmi ÖNCÜER 256 214 66 89 225 32 40
AFYON KOCATEPE Prof.Dr. Şan ÖZ-ALP 272 214 19 02 214 12 11
AKDENİZ Prof.Dr. Yaşar UÇAR 242 227 52 66 227 55 40
ANADOLU Prof.Dr.Engin ATAÇ 222 335 05 81 335 36 16
ANKARA Prof.Dr. Günal AKBAY 312 212 60 40 223 63 70
ATATÜRK Prof.Dr. Erol ORAL 442 218 41 20 218 71 40
BALIKESİR Prof.Dr. Necdet HACIOĞLU 266 245 96 59 245 96 63
BOĞAZİÇİ Prof.Dr. Üstün ERGÜDER 212 263 15 00 265 63 57
CELAL BAYAR Prof.Dr. Tuna TANER 236 237 28 86 237 24 42
CUMHURİYET Prof.Dr. M.Ferit KOÇOĞLU 346 226 15 27 226 15 13
ÇANAKKALE ONSEKİZ MART Prof.Dr. Ramazan AYDIN 286 212 88 20 212 88 15
ÇUKUROVA Prof.Dr. Can ÖZŞAHİNOĞLU 322 338 60 84 338 69 45
DİCLE Prof.Dr. Mehmet ÖZAYDIN 412 248 80 01 248 82 16
DOKUZ EYLÜL Prof.Dr. Fethi İDİMAN 232 421 55 90 422 09 78
DUMLUPINAR Prof.Dr. İsmail Hakkı DÜĞER 274 224 42 89 224 42 88
EGE Prof.Dr. Refet SAYGILI 232 388 01 10 339 90 90
ERCİYES Prof.Dr. Mehmet ŞAHİN 352 437 49 37 437 47 31
FIRAT Prof.Dr.Eyüp Günay İSPİR 424 218 88 26 212 27 17
GALATASARAY Prof.Dr. Yıldızhan YAYLA 212 258 73 73 259 29 21
GAZİ Prof.Dr. Enver HASANOĞLU 312 215 24 00 221 32 00
GAZİANTEP Prof.Dr. İ.Hüseyin FİLİZ 342 360 12 00 360 10 13
GAZİOSMAN PAŞA Prof.Dr. M.Turgut TOPBAŞ 356 212 17 46 214 14 86
GEBZE YÜKSEK TEKNOLOJİ Prof.Dr. Ahmet AYHAN 262 653 84 97 653 84 90
HACETTEPE Prof.Dr. Tuncalp ÖZGEN 312 235 25 00 310 55 52
HARRAN Prof.Dr. Uğur BÜYÜKBURÇ 414 312 84 56 312 81 44
İNÖNÜ Prof.Dr. Ömer ŞARLAK 422 341 00 10 341 00 34
İSTANBUL Prof.Dr.K.Yalçın ALEMDAROĞLU 212 514 03 03 520 54 73
İSTANBUL TEKNİK Prof.Dr. Gülsün SAĞLAMER 212 285 30 30 285 29 10
İZMİR YÜKSEK TEKNOLOJİ Prof.Dr. Semra ÜLKÜ 232 441 97 00 441 95 96
K.MARAŞ SÜTÇÜ İMAM Prof.Dr. Osman TEKİNEL 344 223 76 66 223 74 09
KAFKAS Prof.Dr. Necati KAYA 474 212 23 82 223 38 99
KARADENİZ TEKNİK Prof.Dr. Türkay TÜDEŞ 462 325 32 23 325 32 05
KIRIKKALE Prof.Dr. Tahsin Nuri DURLU 318 224 55 76 224 46 83
KOCAELİ Prof.Dr. Baki KOMSUOĞLU 262 321 52 26 321 59 68
MARMARA Prof.Dr. K.Turay YARDIMCI 212 518 16 00 518 16 15
MERSİN Prof.Dr. Uğur ORAL 324 336 80 05 336 80 15
MİMAR SİNAN Prof.Dr. Tamer BAŞOĞLU 212 252 16 00 244 03 98
MUĞLA Prof.Dr. Ethem Ruhi FIĞLALI 252 212 40 02 212 40 05
MUSTAFA KEMAL Prof.Dr. Haluk İPEK 326 221 33 17 221 33 00
NİĞDE Prof.Dr. Ramazan TAŞDURMAZ 388 232 10 00 232 24 23
ONDOKUZ MAYIS Prof.Dr. Osman ÇAKIR 362 457 60 00 457 60 91
ORTA DOĞU TEKNİK Prof.Dr. Süha SEVÜK 312 210 20 00 210 11 05
OSMANGAZİ Prof.Dr. Necat Akdeniz AKGÜN 222 239 37 50 239 54 00
PAMUKKALE Prof.Dr. Hasan KAZDAĞLI 258 212 55 55 263 08 27
SAKARYA Prof.Dr. İsmail ÇALLI 264 343 12 90 343 12 75
SELÇUK Prof.Dr. Abdurrahman KUTLU 332 350 70 05 352 09 98
SÜLEYMAN DEMİREL Prof.Dr. M.Lütfü ÇAKMAKÇI 246 237 04 28 237 04 31
TRAKYA Prof.Dr. Osman İNCİ 284 235 77 06 235 72 74
ULUDAĞ Prof.Dr. Ayhan KIZIL 224 442 80 06 442 80 12
YILDIZ TEKNİK Prof.Dr. Ayhan ALKIŞ 212 259 70 70 261 42 84
YÜZÜNCÜ YIL Prof.Dr. Yücel AŞKIN 432 225 10 81 225 10 09
Z.KARAELMAS Prof.Dr. Ramazan ÖZEN 372 257 40 10 257 21 40
VAKIF ÜNİVERSİTELERİ ÜNİVERSİTE REKTÖR KOD TELEFON FAX
ATILIM Prof.Dr.Ayhan TAN 312 499 12 76 419 12 78
BAHÇEŞEHİR Prof.Dr.Halil GÜVEN 212 669 65 23 669 43 98
BAŞKENT Prof.Dr. Mehmet HABERAL 312 212 68 68 244 72 00
BEYKENT Prof.Dr. H.Fehmi DURUKANOĞLU 212 872 64 37 872 11 09
BİLKENT Prof.Dr. Ali DOĞRAMACI 312 266 40 00 266 41 61
ÇAĞ Prof.Dr. İlhan YÜCEL 324 651 48 00 651 20 55
ÇANKAYA Prof.Dr. Kemal GÜÇLÜOL 312 284 45 00 286 85 94
DOĞUŞ Prof.Dr. Cudi Tuncer GÜRSOY 216 327 11 04 326 67 49
FATİH Prof.Dr. Mustafa KUMRU (VEK.) 212 872 61 40 872 61 20
HALİÇ Prof.Dr. Ahmet YÜKSEL
IŞIK Prof.Dr. Sıddık YARMAN 212 286 29 60 286 28 75
İSTANBUL BİLGİ Prof.Dr. İlter TURAN 212 216 22 22 216 22 00
İSTANBUL KÜLTÜR Prof.Dr. Önder ÖZTUNALI 212 639 30 24 551 93 06
KADİR HAS Prof.Dr. Ergür TÜTÜNCÜOĞLU 212 275 26 36
KOÇ Prof.Dr. Seha M.TİNİÇ 212 229 30 06 229 36 02
MALTEPE Prof.Dr. Oral PEKTAŞ 216 399 00 60 352 39 36
SABANCI Prof. Dr Ahmet Tosun TERZİOĞLU 212 283 33 63 281 40 70
YEDİTEPE Prof.Dr. Ahmet SERPİL 216 387 91 00 387 91 08

0 yorum Bu kayda verilen bağlantılar  

118'in kapisinda beklemeyin 177'yi deneyin (-eski belge-)

Bilinmeyen numaralari bulmak icin 118'in kapisinda beklemeyin 177'yi deneyin..

1)Once Windows 95 veya 98'inizde Hyper Terminal yuklumu degilmi kontrol edin. Eger yuklu ise Start *Programs* Accessories* Communications bölümünde goruyor olmaniz lazim. Eger gormuyorsaniz Start menusunden Settings *Control Panel* Add Remove Programs komutunu calistirin. Ekrana gelecek olan diyalog kutusunun Windows Setup bolumune gelin. Buradaki listeden Communications secenegini aktif hale getirin ve Details dugmesine basin. Ekrana gelecek diyalog kutusundan Hyper Terminal secenegini aktif hale getirin ve OK dugmesine basin. Program sisteminize eklenecektir.

2)Start Menusunden Programs* Accessories* Communications* Hyper Terminal yapin. Bir klasor acilacak. Burada HYPERTRM.EXE uzerine cift tiklayin. Yeni bir hyperterminal baglantisi yaratmaniza yardimci olacak bir diyalog kutusu acilacaktir.

3)Bu diyalog kutusunda Name bolumune "bilinmeyen numaralar" yazin ve Enter tusuna basin. Baglantinizin telefon numarasini vs.... ayarliyabileceginiz bir diyalog kutusu ekrana gelecek. Buradan Area Code bolumunu bos birakin. Phone Number yerine 117 yazin ve enter tusuna basin.

4)Aynen Internet baglantisinda oldugu gibi bir baslanti diyalog kutusu ekrana gelecek. Burada uzerinde Dial yazan dugmeye basin. Program Numarayi cevirecektir. Burada dikkat edilmesi gereken bir sey var. Telefon idaresinin elinde sinirli sayida modem var ve bunlarin pekde iyi durumda oldugunu soylenemez. Bu yuzden ilk seferde baglanmaniz birazda muzcize olacaktir. Yinede yilmayin, baglanti saglanmassa tekrar tekrar deneyin.

5)Baglanti Saglandiktan sonra ekrana "Turk Tekekom 177 Bilinmeyen Numaralara Hosgeldiniz" yazan bir ekran gelecektir. Burasi 177 servisinin giris ekranidir.

6)Burada Font Turkce olmadigi icin bazi hatalar gorulur. Bu hatalari duzeltmek icin View menusunden Font komutunu calistirin. Buradan yazi tipini 10 punto Courier Regular ve Script'ide Turkce yapin.

7)Simdi isimiz tamam, artik 177 konsol ekranini uygun sekilde kullanabilirsiniz. Kullanim tarzi eski Dos programlarina cok benzer aslinda karsinizda duran bir UNIX terminalidir.

8)Bu sistemi kullanabilmek icin arama yaparken kullanacaginiz anahtarlari bilmelisiniz. Bu konuda yardim almak icin 177 komut satirina y:1 yazip Enter tusuna basin. Ekranda bir yardim metni gorunecektir. Bu metin 4 sayfadir. Komut satirinda ss: yazip Enter tusuna basarak bir sonraki sayfayi, ös: yazip Enter tusuna basarakbir onceki sayfayi goruntuleyebilirsiniz. Hyper Terminal penceresinde goruntulenen ekranlari aklinda tutar. dugmesini kullanarak da once goruntulenen metinleri ekrana getirebilirsiniz.

9)Ornek bir arama yapalim. Ornegin bildiginiz bir telefon numarasinin kime ait oldugunu ogrenmek istiyorsunuz. Bunun icin komut satirinda yazacaginiz metin t:{tel_no} seklinde olacaktir. Burada telefon numarasini 0 kullanmadan alan kodu ile beraber yazmalisiniz. Ornegin t:2126245210 gibi.Eger bu noyu yazip enter'a basarsaniz ekrana gelen bilgiler Medya Ofset hakkindadir. Bir kere tusuna basarak bilgilerin ekrandan tasan kisminida goruntuleyebilirsiniz. Bu arada unutmamaniz gereken bir sey var. Bu servis zaman zaman kesintiye ugruyor ve sonuclari ekrana getirmiyor. Olsun, siz tekrar tekrar deneyin, nasil olsa sonunda bulacaktir.

10)Bir onceki adimin tersine, abone adi, soyadi ve sehir uzerinede arama yapabilirsiniz. Burada kullanacaginiz format m:{sehir} a:{isim} s:{soyadi} seklinde olacaktir.Metinleri yazarken Turkce karakter kullanabilirsiniz ben problem yasamadim..

0 yorum Bu kayda verilen bağlantılar  

Pascal - Basit Şifreleme Teknikleri

BASİT ŞİFRELEME TEKNİKLERİ
Burada antıcağım olayları daha once yazdığım programlardaki isim, açıklama vs bilgileri
değiştiren kaşarlı lamerları atlatmak için kullanmıştım.Böyle bir sorunu olan arkadaşlar burada
anlattıklarımı kullanarak bu dertten kurtulabilirler.
Burada basit ama oldukça etkili 3 şifreleme olayından bahsedicem.Dediğim gibi olaylar oldukça
basit.Ama bunları geliştirerek (mesela birbiri üzerine farklı şifreleme yöntemleri kullanılarak)
karmaşık şifreleme rutinleri yazılabilir. 1. XOR OLAYI Oldukça sık kullanılan basit bir
şifreleme olayıdır.Buradaki olay aslında tamamen bir baytı başka bir bayt ile XOR işlemine tabi
tutmaktan ibaret.Şifrelenmiş yazıyı çözmek de çok basit; işlemi tekrarlamak yeterli (Tabi doğru
anahtar biliniyorsa :-) Eğer anahtar bilinmiyorsa, şifreyi kırmak çok zordur.Örnek bir Pascal
kodunu da aşağıya koydum. Const
TrScene:String='Turkish Scene is cool !';
Var
i:Byte;
Begin
Write(TrScene, ' yazısının şifrelenmiş şekli:');
For i:=1 To Length(TrScene) do TrScene[i]:=Chr(Ord(TrScene[i]) Xor $55);
WriteLn(TrScene);
Write('Şifre çözüldükten sonra: ');
For i:=1 To Length(TrScene) do TrScene[i]:=Chr(Ord(TrScene[i]) Xor $55);
WriteLn(TrScene);
End.
XOR olayı tabiki bu kadar değil.Bir kodun/stringin vs tek bir bayt ile XORlanması ile yeterli
oranda bir şifreleme elde edilemez.Bu yüzden, bir anahtar sözcük ile XOR'lama yapmak çok daha
iyidir.Mesela; 'SIFRELEME RUTINI' ni 'password' sözcüğünü kullanarak XORla şifrelersek; Kaynak
Anahtar Sonuç
S
I
F
R
E
L
E
M
E

T
E
K
N
I
K
L
E
R
I p
a
s
s
w
o
r
d
p
a
s
s
w
o
r
d
p
a
s
s #
(
5
!
2
#
7
)
5
A
'
6
<
!
;
/
<
$
!
:
sonucunu elde etmiş oluruz.Sonuçta elde ettiğimiz karakterleri şifreleme sözcüğü ile bir kez daha
xorlayarak şifreyi kaldırabiliriz.Bu işi halleden kodu da aşağıya ekledim. Const
ST:String='SIFRELEME TEKNIKLERI';
AN:String='password';
Var
i,j:Byte;
Begin
WriteLn('Orjinal String : ',ST);
j:=1;
For i:=1 to Length(ST) do
Begin
ST[i]:=Chr(Ord(ST[i]) Xor Ord(AN[j]));
Inc(j);
If j>Length(AN) Then j:=1;
End;
WriteLn('XOR Sonrası : ',ST);
End.
2. SAYI EKLEME/ÇIKARMA Bu olayın aslı şifrelenecek olan yazının/kodun vs. her baytına belli
bir baytın eklenmesi veya çıkarılması sonucu yazının değiştirilmesidir.Aşağıda bu yönteme örnek
olarak bir pascal kodu koydum. Const
TrScene:String='Turkish Scene is cool !';
Var
i:Byte;
Begin
Write(TrScene, ' yazısının şifrelenmiş şekli:');
For i:=1 To Length(TrScene) do TrScene[i]:=Chr(Ord(TrScene[i]) + $55);
WriteLn(TrScene);
Write('Şifre çözüldükten sonra: ');
For i:=1 To Length(TrScene) do TrScene[i]:=Chr(Ord(TrScene[i]) - $55);
WriteLn(TrScene);
End.
Bu olayda da XOR gibi bir kelime ile işleme sokarak şifrelemek mümkün. Ben bu olayı kullanıcağım
zaman ilk once bir sayı eklemeyi ardındaki bayttan sayı çıkarmayı tercih ederim. 3. BIT KAYDIRMA
Bit kaydırma olayında da mantık çok basit.Bir baytı binary sayı sisteminde düşünürsek bir baytın
en soldaki bitini tutup en sağa yerleştirirsek bayt değişecektir.Mesela; 10011011 sayısının en
soldaki bitini en sağa kaydırırsak sayı 00110111 sayısını elde ederiz. Buna göre;
10011011 -> 1.kez -> 00110111
00110111 -> 2.kez -> 01101110
01101110 -> 3.kez -> 11011100
11011100 -> 4.kez -> 10111001
10111001 -> 5.kez -> 01110011
01110011 -> 6.kez -> 11100110
11100110 -> 7.kez -> 11001101
11001101 -> 8.kez -> 10011011
sonuçlarını elde elmiş oluruz.Gördüğünüz gibi (yaptığımız işlemin bir sonucu olarak) 8.ci kez
bit kaydırma sonunda eski sayımızı elde etmiş oluyoruz.
Şimdi bu işlemin nasıl yapılacağını anlatayım.Assembly ile oldukça kolay. İşleme koyacağımız
baytı 1-4 arası istediğimiz kez ROR veya ROL işlemine tabi tuttuğuzda bu iş bitmiş olur.Şifreyi
çözmek için; Eğer ROR işlemi yaptıysak 8-işlem sayısı kadar daha ROR işlemi yapmalı veya ROR
yaptığımız kadar ROL işlemi yapmamız gerekli.Örnek assembly kodu aşağıda.Bunu derlerseniz 77
bayt uzunluğunda bir COM dosya elde edeceksiniz. .Model Tiny
.Code
.286
;ROR.ASM
;Derlemek için
;TASM ROR.ASM
;TLINK /T ROR.OBJ
Org 100h
Main Proc Near
Lea Dx,Basla
Push Dx
EkranaYaz:
Lea Si,Yazi
Mov Cx,(Offset Sifre_Sonu-Offset Yazi)
Char_Al:
Mov Dl,Byte Ptr [Si]
Mov Ah,2
Int 21h
Inc Si
Loop Char_Al
Yazma_Bitti:
Mov Ah,09
Lea Dx,SatirBasi
Int 21h
Ret
Basla:
Lea Si,Yazi
Mov Cx,(Offset Sifre_Sonu-Offset Yazi)
RORla:
Ror Byte Ptr [Si],3 ;=Rol Byte Ptr [Si],5
Inc Si
Loop RORla
Jmp Sifre_Sonu
SatirBasi Db 10,13,"$"
Yazi Db 'ABCDEFGHIJKLMNOQRSTUVWXYZ'
Sifre_Sonu:
Call EkranaYaz
Mov Ah,4ch
Int 21h
Main Endp
End Main
Bu anlattığım 3 olayı değişik şekillerde birleştirerek oldukça farklı şeyler yapılabilir.
Mesela programın ilk başında sadece bit kaydırma, ileriki bazı bölümünde xor olayı daha sonra
sayı çıkarma vs gibi rutinler bile bazen programı debug eden kişi için bunaltıcı olabilir. Bir
text kütüğü XOR ile şifreleyen bir program kodu aşağıda.Bu programın derlenmiş şeklini download
etmek için buraya tıklayın. Program Sifre;
Var
f :File;
Pass :String;
FileName :String;
i :Byte;
Bayt :Byte;
Begin
WriteLn('TEXT Dosyası şifreleyici/çözücü');
WriteLn('Coded by DarkApocalypse/TurkishScene, 1999');
WriteLn;
Write('İşlem yapılacak dosya: ');ReadLn(Filename);
Assign(f,Filename);
{$I-} Reset(f,1); {$I+}
If IOResult<>0 Then
Begin
WriteLn('Dosyayı açarken hata oluştu.');
Halt;
End;
Write('Şifre: ');ReadLn(Pass);
i:=1;
Repeat
BlockRead(f,Bayt,1);
Bayt:=Bayt Xor Ord(Pass[i]);
Seek(f,FilePos(f)-1);
BlockWrite(f,Bayt,1);
Inc(i);
If i>Length(Pass) Then i:=1;
Until FilePos(f)=FileSize(f);
Close(f);
WriteLn('Tamamdır');
End.

Şimdi de bu gördüklerimizi programımız içinde nasıl kullanacağımıza bakalım.
Const Mesaj:String='3.)&;*1!;aFunction SifreCoz(Msg,Sifre:String):String;
Var i,j:Byte;
Begin
j:=1;
For i:=1 to Length(Msg) do
Begin
Msg[i]:=Chr(Ord(Msg[i]) XOR Ord(Sifre[j]));
Inc(j);
If j>Length(Sifre) Then j:=1;
End;
SifreCoz:=Msg;
End;
Begin
WriteLn(SifreCoz(Mesaj,'PASSWORD'));
WriteLn;
End.
Buraya kadar hep bayt bazında şifreleme yaptık.Burada sürekli bayt şifrelemek yerine word,
doubleword (long/longint vs) kullarak da şifreleme işlemi yapabiliriz.

0 yorum Bu kayda verilen bağlantılar  

Qbasic Komutları

***************************DIM KOMUTU*******************************************************
AÇIKLAMA:İSTENİLEN TABLO,VEYA DEĞİŞKENİN KAÇAR ELEMANDAN OLUŞACAĞINI
BELİRTMEK İÇİN KULLANILAN BİR KOMUTTUR.
KULLANIMI: DIM A(15)
***************************INKEY KOMUTU****************************************************
AÇIKLAMA:KLAVYEDEN GİRİLEN KARAKTERİ İNCELER
NOT: KONTROL TUŞLARI DAHİL TÜM TUŞLAR BU FONKSİYONLA KONTROL EDİLEBİLİR.
KULLANIMI INKEY A$.
***************************LOCATE KOMUTU***************************************************
AÇIKLAMA:EKRANDAKİ YERİMİZİ GÖSTEREN BİR KOMUTTUR.
KULLANIMI
LOCATE 12,14 CURSOR 12. SATIR VE 14. SÜTUNA GELİR
LOCATE,14 BULUNULAN SATIRIN 14. SÜTÜNÜNA GELİR
LOCATE,,0 SATIR VE SÜTUNU AYNI TUTARAK CURSOR'U KAYBEDER
LOCATE,,,0,7 CURSOR'U BÜYÜK YAPAR
LOCATE,,,7,0 CURSOR'U KÜÇÜK YAPAR
***************************SWAP KOMUTU*****************************************************
AÇIKLAMA: YERİNİ DEĞİŞTİRMEK YANİ 2 DEĞİŞKENİN İÇERİĞİNİ DEĞİŞTİRMEK İÇİN KULLANILIR
NOT:HER İKİ DEĞİŞKENİN AYNI CİNSTE OLMASI ZORUNLUDUR BİRİ SAYISAL DİĞERİ KARAKTER OLAMAZ
KULLANIMI SWAP A$;B$
*************************** LEN KOMUTU******************************************************
AÇIKLAMA:X$ GİBİ BİR DEĞİŞKENİN İÇERDİĞİ KARAKTER MİKTARINI VERİR.BUNA BOŞLUKLAR DAHİL
KULLANIMI(X$,LEN(Y$))
***************************CHR KOMUTU******************************************************
AÇIKLAMA:ASCII(AMERİCAN STANDART CODE FOR INFORMATION INTERCLANGE) KODU X OLAN BİR KARAKTERİ
ELDE ETMEK İÇİN KULLANILIR
KULLANIMI CHR$(X)
***************************VAL KOMUTU*******************************************************
AÇIKLAMA:KARAKTER CİNSİNDEN DEPOLANMIŞ RAKAMLARI SAYISAL TÜRÜNE ÇEVİRİR
KULLANIMI VAL(X$)
***************************STR$ KOMUTU******************************************************
AÇIKLAMA:X$ DEĞERİNİ KARAKTER CİNSİNDEN VERİR X$ NEGATİVSE BOŞLUK BIRAKIR
KULLANIMI (STR$(X$))
***************************RIGHT$ KOMUTU****************************************************
AÇIKLAMA: SAĞ
KULLANIMI W$ = RIGHT$("BIR", 1)
ÇIKTI: W$="R"
****************************LEFT KOMUTU*****************************************************
AÇIKLAMA: SAĞ
KULLANIMI W$ = LEFT$("BIR", 1)
ÇIKTI: W$= "B"
***************************MID$ KOMUTU******************************************************
AÇIKLAMA: ORTA
KULLANIMI W$ = MID$("BIR", 1)
ÇIKTI: W$="I"
***************************FOR....NEXT KOMUTU***********************************************
AÇIKLAMA: FOR VE OAN EN YAKIN OLAN NEXT ARASINDAKİ KOMUTLARI VERİLEN DÖNGÜ SAYISINA BAĞLI OLARAK
ÇEVİRİR
KULLANIMI: FOR T=1 TO 20
PROGRAM
PROGRAM
....
NEXT
***************************İF...THEN KOMUTU**************************************************
AÇIKLAMA:BU BİR ŞART KOMUTUDUR.EĞER ŞARTTA BELİRTİLEN OLAY GERÇEKLEŞİRSE "THEN" DEN SONRAKİ
ALAN GERÇEKLEŞİR.BUNUN EĞER ŞART GERÇEKLEŞMESE YAP KISMI ATAMAK İÇİN "ELSE" ATMAMIZ YETERLİDİR
KULLANIM:
İF A$GOTO BASLA

0 yorum Bu kayda verilen bağlantılar  

OKEY KOMUTLARI

OKEY KOMUTLARI
Normal Oyuncu Komutları


Komut Açıklama
/ch masa_no masa_no ile belirtilen masaya OYUNCU olarak geçmenizi sağlar. Salon için /ch 0 yazabilirsiniz.
/sch masa_no masa_no ile belirtilen masaya SEYİRCİ olarak geçmenizi sağlar, tabi geçmek istediğiniz masanın açık veya masaya davet edilmiş olmanız şartıylşa.
/msg rumuz mesaj Rumuzun sahibine sadece onun görebileceği özel mesaj gönderir
/whois rumuz Rumuz hakkında bilgi verir
/whowas rumuz Rumuzun en son okey bağlantısı hakkında bilgi verir
/who -b Boş masaları listeler
/who -t Tüm okeydeki masaları ve rumuzları listeler
/who -o Oyun oynanan masaları listeler
/who -k Kapalı masaları listeler
/who -a Açık masaları listeler
/opmsg mesaj Oyundaki genel operatörlerin hepsine mesaj atmak için kullanılır. Genel operatörler okey sitesinin düzenini sağlamakla görevli kişilerdir. Tüm şikayetlerinizi bu kişilere iletebilirsiniz. (Not: Masa Operatörleri genel operatör değildir)
/listop Oyuna bağlı bulunan genel operatörleri listeler
/dinleop op_rumuz Bir kişiden şikayetçi olduğunuzda, genel operatörün şikayetinizin doğruluğunu anlayabilmesi için, size gelen tüm mesajların ilgili operatör tarafından görülebilmesini sağlar. Rahatsızlık veren kişileri mümkün olduğunca çabuk bu komut ile Genel Operatörlere dinletiniz. Örnek:
Mesajlarınızı Genel Operatörlerden Banazlı ya dinletmek için
/dinleop Banazli
/dinlekes /dinleop komutuyla mesajlarınızı bir operatöre dinletiyorsanız, dinlenmeyi iptal eder.
/nick rumuz Oyuna guest?? rumuzlarıyla bağlanan kişilerin, rumuzlarını değiştirir.
/puan masa_no Masadaki puan durumunu gösterir
/ping rumuz Rumuz ile aranızdaki iletişim hızını ölçmek için kullanılır. Cevap gelmiyorsa bağlantısında bir sorun vardır. Ping'e cevap vermeyenler belli bir süre sonra oyundan atılacaklardır
/ignore rumuz Herhangi birisinden mesaj almak istemiyorsanız, bu komutla o kişinin size mesaj göndermesini engelleyebilirsiniz.
/unignore rumuz Ignore ettiğiniz bir kişiden tekrar mesaj alabilmenizi sağlar.
Masa Operatörü Komutları
Komut Açıklama
/maxseyirci Sayi Masadaki maksimum seyirci sayısını ayarlar. Masaya hiç seyirci istenmiyorsa sayi 0 (sıfır) olmalıdır.
/kick rumuz Rumuzu masadan dışarı atar. (Salona)
/invite rumuz Rumuzu masaya davet eder. Bu davet ile masa kapalı olsa bile rumuzun sahibi masaya gelebilir
/kapat Masayı genel erişime kapatır
/ac Masayı genel erişime açar
/abort Oynanılan oyuna son verir
/cagri Bulunduğunuz masada oyuncu ihtiyacı olduğunda, salondakilere masanıza oyuncu arandığını bildirir. Komutu kullanabilmek için masanın genel erişime açık olması gerekir
/esli 4 kişilik oyunda eşli oyun oynanılmasını sağlar.
/essiz 4 kişilik oyunda eşsiz oyun oynanılmasını sağlar.
/sec rumuz 4 kişilik oyunda eş seçmek için kullanılır. Belirtilen rumuz masa operatörünün eşini olur. Diger 2 kişi otomatik olarak eş olurlar
/dus sayı Oyunun hangi sayıdan başlıyacağını belirler
/devam Sadece tek bir kişinin ayrılmasından doğan oyun kesilmelerinde, o kişinin yerine başkasının alınarak oyuna devam edilebilmesini sağlar.
/ayar rumuz puan sayı Rumuzun oyundaki puanını ayarlar
Özel masalarda kullanılabilen Komutlar
Okey aboneleri kendi masalarında aşağıdaki komutları kullanabilirler. Abone olmak için http://www.okey.gen.tr/sartlar.html adresine bakabilirsiniz.
Komut Açıklama
/gizle Size ait bir masanız var ise, bu masanın diğer oyuncular tarafından görülmesini engeller
/gizleme Gizle özelliğini kaldırır
/masaisim isim Size ait bir masanız var ise, masaya bir isim vermenizi sağlar.

0 yorum Bu kayda verilen bağlantılar  

PİSAGOR (PYTHORAS - PITAGOR )

( İ.Ö. 596- 500)

Samos lu Pisagor. İsa dan önce 596 yıllarında doğduğu tahmin ediliyor. Doğumu gibi ölümü tarihide kesin değildir. Bugünkü adıyla bilinen Sisam Adası'nda 596 veya 582 yılında doğmuştur. Hayatı hakkında çok az bilgiler vardır. Bu bilgilerin birçoğu da kulaktan kulağa söylentiler biçiminde gelmiştir.Fakat. önceleri doğduğu yer olan Sisam Adası'nda okuduğu, daha sonraları Mısır ve Babil'e giderek oralarda bilgilerini ilerlettiği ve ülkesine geri dönerek dersler verdiği söylenir. kendisinden önceki bilgilerin tümünü öğrenmiş ve derlemiştir. Kendisi bir Yunan filozofu ve matematikçisidir. Ülkesinde hüküm süren politik baskılardan kaçarak, İtalya' nın güneyindeki Kroton şehrine gelmiş ve ünlü okulunu burada
açarak şöhrete kavuşmuştur.
Yarı söylentilere göre felsefe okulunun kurucusudur. Bu okul aynı zamanda dini bir topluluk ve o zamanın politikasına oldukça egemendir. Yine söylentilere göre, Pisagor'un matematik, fizik, astronomi, felsefe ve müzikte getirmek istediği yenilik, buluşlar ve ışıkları hazmedemeyen bir takım siyaset ve din yobazları halkı Pisagor a karşı ayaklandırarak okulunu ateşe vermişler, Pisagor ve öğrencileri bu okulun içinde alevler arasında İ.Ö. 500 yıllarında ölmüşlerdir. Bu nedenle Pisagor ve yaptıkları hakkında az bilgiler bize kadar gelmişler. Pisagor'un ve öğrencilerinin yaptıklarının birçoğu bu alevler arasında yok olup gitmiştir.
Pisagor, İ.Ö. altıncı yüzyılda, dünyanın güneş etrafında hareket ettiğini ileri sürdüğü zaman oldukça sert olan bir hareketle karşılaşmıştır.O tarihlerde kağıt olmadığı için, bu buluşların nasıl elde edildiği, yine bu devirlerdeki bilgilerin hangisinin Pisagor a ait olduğu kesin olarak bilinmemektedir. Hatta okuldaki öğretim araçlarının masa üzerindeki ıslak kum olduğu söylenir. Bu koşullar altındaki ilmi gerçeklerin tümü o zaman yazıya geçmediği için , birçoğu da zamanla kaybolup gitmiştir. Bu nedenle, Pisagor'un okulu ve öğrencileri ile birlikte yanmalarından, eser bırakıp bırakmadığı da kesin olarak belli değildir. Geometride, aksiyomlar ve postülatlardan yararlanılarak elde edilmelidir düşüncesini ilk bulan ve ilk uygulayan matematikçi Pisagor'dur. Matematiğe aksiyomatik düşünceyi ve ispat fikrini getiren yine Pisagor'dur. Matematiğe aksiyomatik düşünceyi ve ispat fikrini getiren yine Pisagor'dur. Çarpma cetvelinin bulunuşu ve geometriye uygulanması, yine Pisagor tarafından yapıldığı söylenir. En önemli buluşlarından biri de, doğadaki her şeyin matematiksel olarak açıklanması ve yorumlanması düşüncesidir. Yaşayış ve inanışı, ilimle açıklama ve yorumlamayı o getirmiştir. Müzik üzerine de çalışmalarıda vardır. Müzik tonlarıın, telin uzunluğunun oranlarına bağlı olduğunu keşfetmiş ve bunun tüm sayılara yorumlamasını düşünmüştür. Bu da, bugünkü kullandığımız gerçel eksenin sayı sisteminde kullanılmasından başka bir şey değildir. Fakat, eski Yunan matematikçileri gerçel sayıları bilmiyorlardı. O zamanlar, rasyonel sayıları uzunlukları ölçmek için kullanıyorlardı. Bunun için belli bir birim alıyorlar ve bu birime oranlayarak iki nokta arasındaki uzunluğu ölçüyorlardı. Rasyonel sayılarla ölçülemeyen uzunluğun keşfi İ.Ö. 600 yıl önce Yunan matematikçileri tarafından olmuştur. Bu sonuçta, halen değerini koruyan ve koruyacak olan ünlü Pisagor teoremine dayanır. Pisagor teoremi, matematikteki en büyük buluşlardan biridir. Hele zamanımızdan 2.600 yıl önce bulunduğu gözönüne alınırsa bundan daha büyük bir buluş düşünülemez. Pisagor'un adını 2.600 yıldır andıran onu ünlü yapan ve insanlığın varolduğu sürece de sonsuza kadar da andıracak meşhur teoremi şudur: Bir dil üçgende, dik kenarlar üzerine kurulan karelerin alanlarının toplamı, hipotenüs üzerine kurulan karenin alanına eşittir.
Pisagor teoremi, rasyonel sayılarla ölçülemeyen uzunluğun da varolduğunu gösterir. Örneğin, yukarıdaki şekilde olduğu gibi, dik kenarları birer birim olan dik üçgeni gözönüne alalım. Geometrik olarak, bu özel hal için, pisagor teoremi gerçeklenir. Yani, büyük karenin alanı, dik kenarlar üzerine kurulan karelerin alanları toplamıdır. Diğer bir deyimle, X²=2 olur. Bu denklemin kökü de rasyonel olmayan x= 2 uzunluğudur.
Rasyonel sayılarla ölçülemeyen uzunlukların bulunuşu ile ilgili bir efsane de vardır. Güya tanrılar, evrenin gizli sırrını açıklayan Pisagor'u yakarak cezalandırmıştır.
Yunan matematikçileri gerçel sayıları bilmiyorlardı. Üstün zekalı Eudoxos tarafından bulunan oranlama yöntemini kullanıyorlardı. Aslında, gerçel sayıların oluşumu kavramı bir ya da birçok insanın buluşu değildir. Rasyonel sayıların günlük hayatta kullanılması sırasında kendi kendine gelişmiştir. On tabanına göre sayıların sayılması ve yazılması, büyük bir olasılıkla iki eldeki parmakların sayılmasından doğmuştur. Şu sırada bile ilkel yaşam sürdüren bazı kabilelerde buna benzer sayma yöntemi vardır. On tabanına göre sayıların yazılması ve okunması, Avrupa'ya Crusades'ten sonra Arap dünyasından gelmiştir. Bunu Araplar Hintlilerden, Hintliler de Helen medeniyetinden aldılar. Yunan'lı astronomlar bu sayı sistemini, İ.Ö. 1500 yıllarından beri kullanan Babil'lilerden almışlardır.
"Evrenin hakimi sayıdır. Sayılar evreni yönetiyor" sözleri de Pisagor'a aittir.
Matematik tarihi hakkında eser vermek oldukça zordur. Birinci güçlük, çok eskilere ait bilgilerin olmayışı gelir. Şüphesiz, medeniyetin olduğu her toplumda mutlaka bir matematik kavramı vardır. İlkel bir toplumun matematiği de bağıl olarak ona göre değerlendirecektir. Örneğin, Orta Asya'da yaşayan Türklerin tekerleği kullandığı ve sabanı buldukları gözönüne alınırsa, buna bağlı olarak kullandığı bir matematiğin olduğu kaçınılmazdır. Fakat, bunlar hakkında bilgi edinilememiştir. Bunun gibi dünyanın diğer ilkel toplumlarından da matematik bilgisi iletilememiştir. Matematik tarihi bakımından bilinen ve zamanımıza kadar gelen bilgiler çok yakın sayılabilecek kadar kısa bir zaman sürecidir. İnsanlığın varoluşu iki milyon yıllık bir süre olduğu düşünülürse, bizim burada başlattığımız tarih çok kısadır.
Mağaralarda yaşayan insanların bile saynayı bildikleri kanıtlanmıştır. Koyunlarını otlatan çobanın akşam koyunları ağıla koyarken koyun sayısı kadar taşları bir yere yığdığı bilinen bir gerçektir. Yine mağaraların duvarlarına çizilen çizgiler ve işaretler varolan insanın matematik kullandığının delilidir.
Bugün, Güney Amerika, Afrika ve Avusturalya'nın bazı adalarında yaşayan ve medeniyetin çok az girdiği ilkel yaşayış döneminde olan kabileler üzerinde yapılan araştırmalarda, onların bile matematik bildiği doğrulanmıştır. Örneğin, ellerinde parmakları saymaları, onu ilerletmeleri gibi kuralları vardır. İnsanların oluşundan bugüne bağıl olarak matematik olmuştur ve bundan sonra da değişik bir biçimde matematik gelişerek yaşamını sürdürecektir.
Matematik tarihin bakımından ikinci güçlükte, yazacak kimsenin kültür düzeyi, tarafsız olma ve doğru yazabilme yeteneğidir. Üçüncü güçlükte, matematikçilerin hayatları ve yaptıklarını anlatma bakımından karşılılaşılan teknik yöndür. Bu alanda yalnız Cantor Matematik Tarihi adı altında üç ciltlik bir eser vermiştir. Daha sonra, çalışma arkadaşları bu esere dördüncü cildi eklemişlerdir. Sık yazılarla yazılmış olan bu tarihi eser, 3.600 sayfayı bulmuştur. Cantor'un bu eseri, 1800 yılına kadar olan matematiği derinliğine girilmeden, tarih ve biraz da teknik bir dille yazılmıştır. Cantor'un yazdığı hız ve açıklamalarla bu esere devam edilseydi. 1930 yıllarına doğru yirmi cilte ve 1985 yılına kadar bu yazmalar sürseydi belki yüz cilte ulaşırdı. Bu da yaklaşık 100.000 sayfanın çok üstüne çıkardı.
Pisagor, Archimedes'ten oldukça farklıdır. Pisagor hem mistik ve hem de matematikçidir. Mistik tarafları çoktur. Bunlar, efsaneleşmiş bir biçimde destan olarak anlatılmış, evren hakkında bu günkü gerçeklere uymayan düşünceler de ileri sürmüştür. Bunları bir tarafa bırakırsak, yine yaşadığı çağa göre matematikçi yönü çok ağır basar. Pisagor, Mısır'da ve Babil'de çok gezdi. Rahiplerden ilim öğrendi. Çok tanrılı olan o zamanın dini inançlarını benimsedi. Yaşadığı çağı ve aldığı rahip eğitimi gözönüne alınırsa, bunda yadırganacak pek bir şey de yoktur. Oldukça doğaldır. Matematiğe ispat fikrini getiren Pisagor için, sosyal ve şahsi yaşantısı bu kadar eleştiriye değmez. Yalnız, Pisagor ve bazı Yunan filozofları, örneğin, Euclides, Eflatun ve Aristo gibi alimleri, yaşadığı devirlerde, bugün için bilinen ilmi gerçeklerde hataya düşmüşlerdir. Bu filozofların felsefeleri, modern matematiğin kurucusu Descartes (1596-1650) ve Newton (1564 - 1642) kadar, modern fiziğin kurucusu Galile (1564-1642) ve modern kimyanın kurucusu olan Lavoisier (1743- 1794) zamanına kadar iki bin yıllık bir gecikmeye neden olmuşlardır. Eğer Yunan'lılar Euclides, Eflatun ve Aristo yerine Archimedes 'i izlemiş olsalardı., Descartes, Newton, Galile ve Lavoisier'in kurdukları modern ilme iki bin yıl önce ulaşır ve bugün içinde bulunduğumuz medeniyete iki bin yıl önce varılırdı. Yani, Archimedes'le Newton, Galile ve Lavoisier arasında tam iki bin yıllık ilmi boşluk vardır. Bu boşlukta kolay kolay doldurulamaz. Bu nedenle, Yunan'lıların medeniyetin ilerlemesine iki bin yıllık bir gecikmeye sebep oldukları bir gerçektir.
Pisagor'dan önce; geometride, şekillerin aralarındaki bağlılıklra gösterilmeksizin elde edilenler, görenek ve tecrübeye dayanan bir takım kurallardı. Bu nedenle, daha önce gelen bir yetkili ne demişse o sürüp gidiyordu. Pisagor'un matematiğe ispat fikrini sokması bu yüzden çok önemlidir. O çağlarda çok tanrılı din vardı. Pisagor daha da ileri gidiyor ve "tanrı sayıdır" diyordu. Bu sayılar, 1,2,3, ... şeklinde bugün bildiğimiz doğal sayılardı. Daha sonra, kendi kendine bir çelişkiye düştüğünü, tamsayıların hatta rasyonel sayıların bile matematiğe yetmediğini, kendi adıyla anılan Pisagor teoremiyle gördü. Buna bir süre karşı da çıktı. Fakat, sonunda bu yenilgiyi kabul etmesini de bilmiştir.
Pisagor, bu kuramlarla, sayılar aracılığıyla ve kendi yöntemleriyle evrenin doğal dengesini ve evrendeki cisimlerin ilişkilerini açıklamaya çalışmıştır. Şüphesiz, bu görüş ve düşünüşlerin birçoğu bugün geçerli değildir. Yine de, modern matematiğin temelini Pisagor atmıştır. Halbuki, İ.Ö. 500-428 yıllarında Pisagor devrinde yaşamış olan Anaksgoras, Güneşi, Dünya'dan kat kat daha büyük kızgın bir demir kütlesi olarak tanımlamıştır. Ay ışığının Güneşten gelen ışınların bir yansıması olduğunu da öne süren kişi olduğu da sanılmaktadır. Bu nedenle, Pisagor mistik olduğu kadar üstün zekalı bir matematikçidir sıfatları yerinde kullanılmıştır.

4 yorum Bu kayda verilen bağlantılar