Uploaded by bugra ayan

Bilişim Sistemleri

advertisement
Bilgisayar Organizasyonu Ve Mimarisi Doktora Yeterlik Soruları
400 MHz'lik bir işlemcide 2 milyon talimatın yürütülmesiyle sonuçlanan bir programın yürütülmesini
düşünün. Program dört ana talimat türünden oluşmaktadır. Bir program izleme deneyinin sonucuna
dayalı olarak, her komut türü için komut karışımı ve CPI aşağıdaki tabloda verilmiştir. Buna göre
Komut Tipi
CPI
Aritmetik ve Mantık
Önbellek darbesi(vuruşu ile)
yükle/sakla
Dal
Önbellek eksikliği olan bellek
referansı(Memory reference
with cache miss)
1
2
Instruction Mix (Komut
Karışımı (%)
60
18
4
8
12
10
a)CPI
b) MIPS oranları nelerdir?
MIPS rate = Ic /(T * 106) = f /(CPI * 106 )
SORU 2. )Bilgisayar Bileşenleri ve birbirlerine bağlantılarını
a) Bilgisayar Bileşenleri (Companents)
b) Bilgisayar İşlev Komutu Kesmeleri Getirme ve Yürütme (Computer Function Instruction Fetch and
Execute Interrupts I/O Function )
c) Arabağlantı (Interconnection Structures) yapılarını
d) Bus Interconnection
e) Noktadan Noktaya (Point-to-Point Interconnect)
QPI Physical Layer
QPI Link Layer
QPI Routing yapılarını
QPI Protocol Layer
g) PCI Express PCI Physical and Logical Architecture PCIe Physical Layer PCIe Transaction Layer PCIe
Data Link Layer
ile açıklayınız.
Bilişim Sistemleri Analizi ve Tasarımı
Soru 1.
Sistem Analizi ve Tasarımı nedir? Hangi aşamalardan oluşur? Detaylı olarak açıklayınız.
Soru 2.
Bilgisayara dayalı bilgi sistem tipleri nelerdir? Örnekle açıklayınız.
İLETİŞİM AĞLARI
SORU 1
TCP/IP başvuru modelindeki tüm katmanlarda yapılan işleri aşağıdan yukarıya doğru sırasıyla
detaylı açıklayınız.
SORU 2
Paket anahtarlamalı ağlarda uçtan uca gecikmeyi detaylı açıklayarak anlatınız.
1
1. Soyutlama (abstraction) ve Arayüz(Interface) kavramları tanımlayınız. Soyut Sınıf
(Abstract Class) ve Arayüz Arasındaki Farkları bir örnek ile açıklayınız.
Farklı tip elemanlar olduğu için karşılaştırılması yersiz gibi düşünülse de iki kavram da birer
soyutlama tekniği olduğundan ve birbirlerinin yerine kullanılması mümkün olduğundan dolayı
böyle bir karşılaştırma yapılmalıdır. Soyutlama (Abstraction): Seçilen temel özelliklerin
karmaşıklıklarının ve fonksiyonelliklerin arka planlarının göz ardı edilerek sunulmasıdır. Seçilen
seviyedeki ele alış biçimi aynı ama o seviyenin altında arka planında kalan özellik veya
işlevselliklerin farklı olduğu hiyerarşide kök olur. Yazılımın tasarımındaki ve entegrasyonundaki
karmaşıklığın azalmasını sağlar.
Arayüz (Interface): Arayüz de soyutlamanın bir parçasıdır. Soyutlaştırılmış işlevselliğin veya
sadeleştirilmiş bilginin sunum şeklidir. Hiyerarşinin köküne soyutlama dediysek, o kökün dışa
bakan ucuna veya uçlarından birine de arayüz diyebiliriz. Abstract Class vs Interface
Abstract class; statik metotlar içerebilir. Interface; override edilebilir statik metot içeremez.
Abstract class’da metotların gövdeleri (yani implementasyonları) olabilir. Interface’de metotların
ancak imzaları bulunabilir.
Abstract class; kurucu (constructor) ve yıkıcı (destructor) içerebilir. Interface; kurucu
(constructor) veya yıkıcı (destructor) içeremez. Ancak imzalarını içerebilir.
Abstract class’ın her access modifier’a (private, protected, public gibi) sahip metodu bulunabilir.
Interface’in metot imzaları ancak ‘public’ access modifier’ına sahip olabilir.
Abstract class -genel olarak- ancak bir sınıftan inheritance alabilir. Veya bir sınıf -genel olarakancak bir abstract sınıftan inheritance alabilir. Interface birden fazla interface’den inheritance
alabilir.
Abstract class, sınıfın neyden türediğini ifade edebilir (… is a …). Interface, sınıfın hangi
yeteneklere sahip olduğunu ifade edebilir (… can do …). Ortak sınıf davranışı kazandırma için
abstract class kullanılmalıdır. Ortak yetenek metodu kazandırma için interface kullanılmalıdır.
Abstract class, nesnenin ne yapması gerektiğini belirlemek ile beraber nasıl yapması gerektiğini
de belirleyebilir. Interface, nesnenin ne yapması gerektiğini belirler ama nasıl yapması gerektiğini
belirlemez.
2. Kalıtım (Inheritance) nedir, her alt sınıf üst sınıfın yarısı kadar anlık değişken içerecek
şekilde 3 katmanlı kalıtım ilişkisini bildiğiniz bir nesne tabanlı dilde kodlayınız
En basit tanımıyla atadan oğula bırakılan mirastır. Nesne Tabanlı Programlama açısından bir
sınıfın başka bir sınıftan özellikleri miras almasıdır. Java dilinde bir oğulun yalnızca bir ata sınıfı
olabilir. Kalıtım ile mümkün olan miras alma sınırı birdir. Kalıtım, sınıfların birbirinden miras
alarak ortak metot ve özellikleri kullanmasını sağlamak için kullanılır. Aşağıdaki şemadan
görüldüğü üzere Araç sınıfının özelliklerinden 3 farklı sınıf faydalanabilmiştir. Bu sayede kod
yükü azalmış ve tekrar tekrar aynı şeyleri yazmaya gerek kalmamıştır.
SORU 1.
public class A
{
public string Alan1;
protected string Alan2;
private string Alan3;
string Alan4;
}
public class B : A
{
public void Test()
{
}
}
Yukarıdaki aynı namespace içerisindeki C# kod bloğunda, B sınıfı içerisindeki Test metodundan, A
sınıfındaki hangi alanlara erişilebilir, açıklayınız.
CEVAP :
Alan1, Alan2
Açıklama : public ve protected erişim belirleyicileri (access modifiers) bir sınıfın alt sınıflarından (subclass)
erişilmesine izin verirken private alana erişilemez. Bir C# sınıfında bir erişim belirleyicisi belirlememişse o
sınıftaki en sınırlı özellik verilir ve bu durumda erişilemez.
Kaynak : Craig, I. D. (2007). Object-Oriented Programming Languages: Interpretation. Springer London. s.
8, 204
SORU 2.
Abstract Class ve Interface arasındaki fark/farkları açıklayınız.
CEVAP:




Bir sınıf birden fazla interface’i kalıtım yoluyla alabilir ama bir sınıfa bir tane abstract class kalıtım
yoluyla alınabilir.
Interface içerisinde boş metodlar tanımlanabilir ama abstract class’larda hem boş metodlar
tanımlanabilir hem de içi dolu metodlar tanımlanabilir.
Interface içerisindeki tüm nesnelerin “public” olması gerekirken Abstract classlarda tüm öğelerin
“public” olması zorunlu değildir.
Interface yapıcı metodlar(constructor) içermez. Abstract class yapıcı metodlar içerebilir.
Kaynak: Deitel, P. J., & Deitel, H. (2017). Java How to Program, Early Objects, Student Value Edition.
Pearson. s. 466, 484, 485
SORU 1.
public class A
{
public string Alan1;
protected string Alan2;
private string Alan3;
string Alan4;
}
public class B : A
{
public void Test()
{
}
}
Yukarıdaki aynı namespace içerisindeki C# kod bloğunda, B sınıfı içerisindeki Test metodundan, A
sınıfındaki hangi alanlara erişilebilir, açıklayınız.
SORU 2.
Abstract Class ve Interface arasındaki fark/farkları açıklayınız.
Gazi Üniversitesi Doktora Yeterlilik Veri Yapıları Sınav Soruları
1) a ) İkili bir arama ağacına veri ekleme için kullanılabilecek bir fonksiyon tasarlayıp sözdekod
veya C kodu olarak yazınız. Fonksiyondaki koşulları kısaca açıklayınız.
b) Bu fonksiyonun algoritmik karmaşıklığı(algorithmic complexity) nedir, neden?
2)
a) Bir diziyi “insertion sort” (araya kaydrımalı) sıralama algoritması ile sıralayan fonksiyonu
tasarlayıp sözdekod veya C kodu olarak yazınız. Fonksiyondaki koşulları kısaca açıklayınız.
b) Bu fonksiyonun algoritmik karmaşıklığı(algorithmic complexity) nedir, neden?
Download