WEBVTT

1
00:06.820 --> 00:08.620
Evet çocuklar, şimdi ileriye doğru
gidiyoruz.

2
00:09.100 --> 00:15.220
Sonuç olarak eşzamanlılığa ihtiyacımız var
çünkü paralelliği uygulamak için

3
00:15.220 --> 00:19.150
gerçekten çok sayıda CPU'ya sahip
olamayız, CPU'ların paylaşılması gerekir.

4
00:19.360 --> 00:19.750
Doğru.

5
00:20.050 --> 00:25.150
Çünkü sisteminizde çalışan yüzlerce işlem
olabilir, ancak bu işlemlerin her

6
00:25.150 --> 00:29.980
birini farklı bir CPU'da çalıştırabilmeniz
için yüzlerce CPU'ya sahip olamazsınız.

7
00:30.460 --> 00:33.410
Aynı zamanda ilerlemeyi de sağlamanız
gerekir.

8
00:33.640 --> 00:34.030
Değil mi? İşte bizi bilgisayar
sistemimizde

9
00:34.600 --> 00:40.390
eşzamanlılığa zorlayan iki neden
bunlardır.

10
00:40.900 --> 00:48.520
İşini veya hedefini gerçekleştirmek için
birden fazla iş

11
00:48.520 --> 00:49.930
parçacığına ihtiyaç duyan tipik bir süreci
ele alalım.

12
00:50.260 --> 00:50.650
Değil mi? Şimdi böyle

13
00:51.220 --> 00:53.380
bir örneği ele alalım.

14
00:54.250 --> 01:01.270
Dolayısıyla, bir girdi çıktısını beklemeye
ihtiyaç duyulduğunda çok iş parçacıklı

15
01:01.630 --> 01:08.140
bir süreç olarak bir sürece ihtiyacımız
olacak, aynı zamanda süreç

16
01:08.440 --> 01:08.830
aynı anda dünyayı tamamlamak için
çalışmaya devam etmelidir? Doğru.

17
01:09.250 --> 01:15.160
Yani, sürecin bazı girdi çıktılarını
beklemesi ve aynı zamanda sürecin

18
01:15.160 --> 01:18.760
aynı anda tahsis edilen bir miktar işi
yürütmesi gerekir.

19
01:19.150 --> 01:23.650
Yani bu açıkça sürecinizin çok iş
parçacıklı olması gerektiğini ima

20
01:23.950 --> 01:26.530
ediyor, değil mi? Şimdi bunu bir örnek
yardımıyla tartışalım.

21
01:26.980 --> 01:31.840
Bir iş parçacığında ağ paketlerimizi
bekleyen bir süreciniz olduğunu
varsayalım.

22
01:32.320 --> 01:32.740
Doğru mu? Sadece bir ağ uygulamasını
temsil

23
01:33.430 --> 01:39.100
eden bir işleminiz var ve tipik bir

24
01:39.100 --> 01:45.460
ağ uygulamasının çok temel bir
gereksinimi, ağ

25
01:45.460 --> 01:45.970
uygulamasının bir ağ paketinin gelmesini
beklemesi gerektiğidir.

26
01:46.280 --> 01:46.660
Doğru.

27
01:47.230 --> 01:47.620
Ben değilim.

28
01:47.620 --> 01:49.540
Bir paket herhangi bir zamanda gelebilir.

29
01:50.800 --> 01:56.380
Diyelim ki bir ağ paketini bekleyen bir
sürecimiz var ve bu süreç iş
parçacıklarından

30
01:56.380 --> 02:04.450
biriyken aynı süreç diğer iş parçacığında
sürekli olarak bazı periyodik ağ paketleri
gönderiyor.

31
02:04.900 --> 02:05.320
Doğru.

32
02:06.130 --> 02:11.020
Üçüncü gereklilik ise aynı sürecin
kullanıcı girdisini beklemesi
gerektiğidir.

33
02:11.290 --> 02:11.680
Doğru.

34
02:12.010 --> 02:18.250
Dolayısıyla, bir numaralı iş parçacığına,
iki numaralı iş parçacığına ve üç numaralı
iş parçacığına ihtiyaç

35
02:18.640 --> 02:23.650
olduğunu ve tüm bu iş parçacıklarının
kendi görevlerini aynı anda yerine
getirmeleri gerektiğini görebilirsiniz.

36
02:24.310 --> 02:30.250
Süreç bir numaralı iş parçacığında ağ
paketimizi beklerken, bir

37
02:30.250 --> 02:34.090
uygulamanın kullanıcı girdisini kabul
edememesi söz konusu olmamalıdır.

38
02:34.360 --> 02:34.780
Doğru.

39
02:35.170 --> 02:41.560
Ve uygulama kullanıcı girdisini alırken,
uygulamanın veya sürecin bir

40
02:41.560 --> 02:44.560
hakkı olan ağ paketini kabul edememesi söz
konusu olmamalıdır.

41
02:44.890 --> 02:45.250
Doğru.

42
02:45.610 --> 02:50.530
Dolayısıyla bu üç görevin de bu tipik
süreç tarafından aynı anda yapılması
gerekir.

43
02:50.950 --> 02:54.130
Bu da basitçe bu sürecin çok iş parçacıklı
olması gerektiği anlamına gelir.

44
02:54.910 --> 02:58.240
Şimdi bu süreci bir diyagram yardımıyla
görselleştirmeye çalışalım.

45
02:58.540 --> 03:01.630
Bunun ana iş parçacığımız olduğunu
varsayalım, değil mi?

46
03:01.960 --> 03:06.580
Ve bu işlem başlatıldığında üç tane
çekiyor.

47
03:06.580 --> 03:10.720
Ve diyelim ki bu F1 olan dört noktalı

48
03:11.590 --> 03:17.320
def, değil mi? Yani bu, ağ paketlerinin
gelmesini

49
03:17.320 --> 03:17.950
ve ağ paketinin gelmesini bekleyen D3 iş
parçacığıdır.

50
03:19.440 --> 03:23.610
Süreç, 383 içinde ağ paketinin olduğu bir
süreçtir.

51
03:23.910 --> 03:24.330
Tamam mı? Ve sonra tekrar

52
03:24.570 --> 03:27.720
bir sonraki ağ paketini bekler.

53
03:28.590 --> 03:35.250
Benzer şekilde, bu sürecin ikinci
gerekliliği de şu anda periyodik

54
03:35.430 --> 03:43.950
paketlerin gönderilmesiydi, periyodik
paketimizi sürekli bir süreç olarak
gönderdik

55
03:43.950 --> 03:44.830
ve şu ana kadar sürecimiz 382 tane daha
başlattı.

56
03:45.210 --> 03:45.630
Doğru.

57
03:46.200 --> 03:52.350
Ve 382'nin amacı basitçe bazı ağ
paketlerini hazırlamak ve ağda periyodik
olarak göndermektir.

58
03:52.680 --> 03:53.040
Doğru.

59
03:53.520 --> 03:57.240
Yani süreç, stratejisinde başka bir iş
daha yapıyor.

60
03:59.940 --> 04:07.470
Diyelim ki bu nokta ve şimdi sürecin
üçüncü gereksinimi,

61
04:07.470 --> 04:12.390
kullanıcı girdiyi sağladığında kullanıcı
girdisini de kabul etmesi gerektiğidir.

62
04:12.690 --> 04:13.050
Doğru.

63
04:13.500 --> 04:17.190
Bunun için sürecimizin başka bir şehir iş
parçacığı başlatması gerekir.

64
04:17.520 --> 04:17.910
Doğru.

65
04:18.180 --> 04:20.600
Diyelim ki mesele bu.

66
04:21.630 --> 04:22.050
Doğru.

67
04:22.830 --> 04:26.760
Yani 381'in amacı sadece kullanıcı
girdisini beklemektir.

68
04:27.030 --> 04:27.420
Doğru mu? Ve kullanıcı girdisi alınır

69
04:27.690 --> 04:32.700
alınmaz, 381 bu girdiyi işleyecektir.

70
04:35.440 --> 04:41.890
Gördüğünüz gibi bu, sürecimizin çok iş
parçacıklı

71
04:41.890 --> 04:42.490
bir süreç olmasının gerekli olduğu
örneklerden biridir.

72
04:43.450 --> 04:50.800
Uygulamanın işlem yapabilmesi için paketin
gelmesini beklemek tipik bir

73
04:50.800 --> 04:56.470
ağ uygulamasının çok temel bir
gereksinimidir ve ağ uygulamasının

74
04:56.470 --> 04:58.240
da periyodik paketler göndermek gibi tipik
bir rolü vardır.

75
04:58.690 --> 04:59.080
Doğru.

76
05:00.330 --> 05:08.190
Yani herhangi bir tipik ağ uygulamasında
33 ve 32'yi,

77
05:08.370 --> 05:08.730
en azından 33 A. ikisini göreceksiniz,
değil mi?


