31 Mayıs 2017 Çarşamba
19 Mayıs 2017 Cuma
Kayan Pencerelerle Akış Kontrolü

Kayan Pencerelerle Akış Kontrolü
Birden çok çerçevenin aynı anda iletimini sağlar.
Alıcı, W adet çerçeve alacak kadar bir tampon bölge ayırır.
Gönderici, ACK cevabı beklemeden W adet çerçeve gönderir.
ACK mesajı bir sonra alıncak çerçevenin numarasını içerir.
Sıra numarası k bitle
Çerçeveler Modulo 2k ile numaralandırılır.
Pencerenin maksimum büyüklüğü 2k – 1 olacaktır.
Alıcı, akışı durdurmak için Alıcı Hazır Değil (Receive Not Ready – RNR) mesajı göndererek önceki çerçeveleri onaylayıp sonraki çerçeveleri engeller.
İletimi tekrar başlatmak için tkrar ACK mesajı gönderir.
Full-duplex iletişimde herbir veri çerçevesi hem gönderilen çerçevenin numarasını hem de onaylanan çerçeve numarasını içerir.

3 bitlik sıralama numarası kullanılır (0’dan 7’ye kadar)
Sonraki çerçeveler de tekrardan 0’dan 7’ye kadar numaralandırılır.
Gölgelendirilmiş çerçeveler gönderilebilecek çerçeveleri gösterir.
Örnekte gönderici 0 ile başlayan 5 adet çerçeve gönderebilir.
Her bir gönderim sonrası pencere daralır.
ACK mesajı alınca pencere tekrardan genişler.
Dikey çizgi ile gölgeli pencere arasındaki çerçeveler gönderilip henüz onaylanmayanları kapsar.Bu çerçeveler hata ihtimaline karşı onaylanana kadar saklanmalıdır.
Dur ve bekle yöntemine göre daha verimli hat kullanımı söz konusudur.
Kayan Pencere Örnek :

3 Bitlik sıralama numarası ve maksimum 7 çerçevelik pencere genişliği kabul edilmiştir.
Başlangıçta A ve B, F0 ile başlayan 7 çerçeve iletimi olacağını belirlemektedir.
3 Adet çerçeve (F0, F1, F2) iletildikten sonra A pencereyi 4 adet çerçeveye daraltır ve gönderilen 3 adet çerçeveyi de onay alana kadar saklar.
Pencere 3 ile başlayan 4 adet çerçevenin iletilebileceğini ifade eder.
B, (RR 3) ile 2 dahil olmak üzere gönderilen çerçeveleri aldığını ve 3’den itibaren çerçeveleri beklediğini bildirir.
A mesajı alınca 3 ile başlayan 7 çerçeveyi gönderilebilir hale çeker ve onay gelen çerçeveleri atar.
A daha sonra 3-6 çerçevelerini gönderir.
B bu arada RR4 ile en son 3 nolu çerçeveyi aldığını onaylar ve F4’den F2’ye kadar çerçeveleri alabileceğini ifade eder.
A’ya RR ulaştığında A halihazırda F4, F5 ve F6 yı gönderdiğinden penceresi F7 ile başlayan 4 adet çerçeveyi içerir.
Kaynak : kucukakarsu.net
9 Mayıs 2017 Salı
Rıfat Yazıcı - Mikroişlemciler Ders Kitabı ve Konu Anlatımı

Kitabın İçeriği
1. SAYI SİSTEMLERİ
2. MERKEZİ İŞLEM BİRİMİ (CPU)
3. YARI İLETKEN BELLEKLER
4. BELLEK ADRESLEME VE EMİR TÜRLERİ
5. PARALEL GİRİŞ / ÇIKIŞ
6. SERİ GİRİŞ/ÇIKIŞ
7. CRT DENETLEYİCİLER
8. İKİNCİL S AKLAYICI CİHAZLAR
9. 8088 CPU’ya GENEL BAKIŞ
Kitabı PDF formatında indirmek için TIKLAYINIZ
Sinyaller Ve Sistemler - Ders Notları 2

Sinyaller ve Sistemler dersinin gayet güzel bir şekilde yazılmış ders notları sizlerle :)
Sinyaller Ve Sistemler - Ders Notları 1

Sinyaller ve Sistemler dersinin gayet güzel bir şekilde yazılmış ders notları sizlerle :) ...
Sinyaller Ve Sistemler - Soruları Ve Çözümleri

Sinyal ve sistemler Vize-Final ve Büt Soruları ve Çözümleri sizlerle..
C Programlama - Örnek Sorular ve Çözümleri 4

myLinkedList() fonksiyonu, "param1" 'in işaret ettiği m1 üyesinde 1 değerini, "param2" 'in işaret ettiği m1 üyesinde 2 değerini ve "param3" 'ün işaret ettiği m1 üyesinde 3 değerini sakladıktan sonra bu yapılar arasında bir dairesel bağlı liste (circular linked list) oluşturur ("param1" 'in işaret ettiği yapı, "param2" 'nin işaret ettiği yapıyı; "param2" 'in işaret ettiği yapı, "param3" 'ün işaret ettiği yapıyı; "param3" 'ün işaret ettiği yapı ise "param1" 'in işaret ettiği yapıyı işaret eder).
Sınav Sorularını PDF formatında indirmek için TIKLAYINIZ
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
:::::::::::::: ÖRNEK :::::::::::::::::::::
---------main4.c DOSYASININ İÇERİĞİ:-----------
#include <stdio.h>
struct listEntry {
int m1;
struct listEntry *m2;
};
void myCircularLinkedList(struct listEntry *param1, struct listEntry *param2, struct listEntry *param3);
int main ()
{
struct listEntry var1, var2, var3;
myCircularLinkedList(&var1, &var2, &var3);
printf("%d\t%d\t%d\t%d", var1.m1, (var1.m2)->m1, ((var1.m2)->m2)->m1, (((var1.m2)->m2)->m2)->m1);
return 0;
}
--------DOĞRU ÇIKTI:-----
1 2 3 1
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\
:::::::::::::: ÖRNEK :::::::::::::::::::::
---------main4.c DOSYASININ İÇERİĞİ:-----------
#include <stdio.h>
struct listEntry {
int m1;
struct listEntry *m2;
};
void myCircularLinkedList(struct listEntry *param1, struct listEntry *param2, struct listEntry *param3);
int main ()
{
struct listEntry var1, var2, var3;
myCircularLinkedList(&var1, &var2, &var3);
printf("%d\t%d\t%d\t%d", var1.m1, (var1.m2)->m1, ((var1.m2)->m2)->m1, (((var1.m2)->m2)->m2)->m1);
return 0;
}
--------DOĞRU ÇIKTI:-----
1 2 3 1
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\
Videolu Çözüm ;