WEBVTT

1
00:07.310 --> 00:12.730
Arkadaşlar, bir önceki ders videosunda,
somut bir şekilde uygulamaya
çalıştıklarında,

2
00:12.740 --> 00:18.080
kendi dünyalarını tamamlamak için maksimum
süreyi alma eğiliminde olduklarını gördük.

3
00:18.620 --> 00:22.400
O halde sorulması gereken soru, neden hala
eşzamanlılığa

4
00:22.730 --> 00:28.790
sahip olduğumuzdur? Konu performans
olduğunda eşzamanlılık bu kadar

5
00:28.790 --> 00:29.960
zayıfken modern bilgisayar sistemleri
neden hala eşzamanlılıkla çalışıyor?

6
00:30.440 --> 00:33.230
Bu noktayı anlamak için bir senaryo ele
alalım.

7
00:33.710 --> 00:38.390
Diyelim ki sisteminizde herhangi bir anda
100 iş parçacığı çalışıyor.

8
00:38.630 --> 00:39.020
Değil mi? Bu yüzlerce konu bizim kullanıcı

9
00:39.440 --> 00:43.220
konularımız ve bazı sistem konuları
olabilir.

10
00:43.730 --> 00:50.150
Kullanıcı tipleri kullanıcı alanında
çalışan herhangi bir uygulama iken, sistem
iş

11
00:50.150 --> 00:52.940
parçacıkları işletim sistemimizin bir
parçası olarak çalışan herhangi bir
hizmettir.

12
00:53.300 --> 00:59.750
Örneğin, işletim sistemi zamanlayıcınız,
bellek yöneticiniz ve çeşitli aygıt
sürücüleriniz vb.

13
01:00.020 --> 01:00.380
Doğru.

14
01:00.920 --> 01:06.710
Ama her neyse, günün sonunda bunlar iş
parçacıklarıdır ve

15
01:06.710 --> 01:07.400
diyelim ki sistemde çalışan 100 iş
parçacığı var.

16
01:08.910 --> 01:16.140
Şimdi, sistemden en iyi performansı almak
için, tüm bu tehditleri

17
01:16.140 --> 01:17.550
paralel olarak yürütmeniz gerekir, değil
mi? Ve tüm bu

18
01:17.910 --> 01:23.940
tehditleri paralel olarak yürütmek için
100 CPU'ya ihtiyacınız olacak,

19
01:24.300 --> 01:27.060
değil mi? Bu da mümkün olmayan bir şey,
değil

20
01:27.360 --> 01:30.990
mi? Teknik olarak mümkün ama ekonomik
olarak mümkün değil.

21
01:31.200 --> 01:34.410
CPU pahalı bir donanım parçası, değil mi?
Dizüstü bilgisayarınız

22
01:35.250 --> 01:42.240
veya bilgisayarınız olan tipik bir
bilgisayar sistemi, bugünlerde

23
01:42.240 --> 01:42.660
tipik olarak CPU'sunun iki adet 16
CPU'suna sahiptir.

24
01:43.020 --> 01:43.440
Doğru.

25
01:43.890 --> 01:47.010
Sistemin 16'dan fazla CPU'ya sahip
olduğunu nadiren gördüm.

26
01:47.310 --> 01:52.380
Aslında, genel amaçlı bilgisayar
sistemleri 16'dan fazla CPU'ya sahip
değildir.

27
01:53.220 --> 01:59.280
Dolayısıyla, iş parçacıkları gibi tüm
canlı iş parçacıkları, sistemde canlı olan
100

28
01:59.280 --> 02:01.080
iş parçacığının tamamının, yürütülmeleri
için kullanılan CPU'yu paylaşması
gerektiği anlamına gelir.

29
02:01.320 --> 02:01.710
Doğru.

30
02:02.580 --> 02:06.180
Diyelim ki bilgisayar sistemimizde 16 CPU
var.

31
02:06.450 --> 02:13.840
Bu, tüm iş parçacıklarının herhangi bir
zamanda bu 16 CPU'yu paylaşması gerektiği
anlamına gelir.

32
02:14.130 --> 02:19.740
Bu yüz tehditten 16 iş parçacığı bu 16 CPU
üzerinde paralel

33
02:20.190 --> 02:24.240
çalışıyor, değil mi? Yani 16 CPU üzerinde
bir paralellik mevcut, değil

34
02:24.960 --> 02:28.740
mi? Ancak geri kalan 84 iş parçacığı
aslında boşta durmuyor.

35
02:29.130 --> 02:36.780
Bu 84 iş parçacığı da eşzamanlı bir
şekilde bu 16 Sep kullanımı arasında
CPU'lardan birine tahsis edilir.

36
02:37.230 --> 02:37.620
Doğru.

37
02:37.950 --> 02:43.680
Yani basitçe, tipik bir bilgisayar
sisteminde paralellik ve eşzamanlılığın
bir arada var olduğu anlamına gelir.

38
02:44.340 --> 02:49.500
Bu diyagramda görebileceğiniz gibi,
sistemde üç iş parçacığı olduğunu
varsayalım ve bu

39
02:49.500 --> 02:52.890
üç tehdidi her biri on iş parçacığından
oluşan bir kovaya bölelim.

40
02:53.190 --> 02:56.790
Yani G1, G2 ve G3 olmak üzere üç kova var,
değil mi?

41
02:57.660 --> 03:03.360
Aynı kovada bulunan tüm iş parçacıkları
aynı CPU'yu paylaşıyor ve belirli

42
03:03.360 --> 03:08.490
bir CPU üzerinde çalışıyorlar ve CPU'ları
üzerinde eşzamanlı bir şekilde
çalışıyorlar.

43
03:08.790 --> 03:09.210
Doğru.

44
03:09.660 --> 03:16.200
Yani tüm bu 10 iş parçacığı doğası gereği
eşzamanlıdır

45
03:16.410 --> 03:17.520
çünkü aynı donanım kaynağı olan CPU
üzerinde çalışmak zorundadırlar.

46
03:18.270 --> 03:21.600
Aynı durum G2 kovasındaki tüm iplikler
için de geçerlidir.

47
03:22.020 --> 03:25.560
Aynı durum G3 kovasındaki tüm iplikler
için de geçerlidir.

48
03:25.770 --> 03:32.220
Aynı gruba ait doğru bitkiler eş zamanlı
olarak çalışırken,

49
03:32.220 --> 03:33.750
farklı gruplara ait iş parçacıkları
paralel olarak çalışır.

50
03:34.140 --> 03:39.630
Dolayısıyla, G1 grubuna ait bir T1 iş
parçacığı varsa, CPU'da yürütülür.

51
03:40.290 --> 03:40.710
Doğru.

52
03:41.100 --> 03:48.450
Ve G2 grubuna ait bir p11 iş parçacığı
kümesi varsa, CPU üzerinde de
çalışacaktır.

53
03:49.050 --> 03:49.380
Doğru.

54
03:49.740 --> 03:53.520
Yani 31 ve T11 paralel olarak çalışır.

55
03:55.370 --> 03:59.750
Ancak 31'in CPU'yu 382 A. 3 ile paylaşması
gerekiyor.

56
04:00.050 --> 04:06.020
Bu nedenle, Steve 182 ve T3 tehdidi
arasında bir bağlam geçişi vardır

57
04:06.020 --> 04:09.140
çünkü aynı gruba ait tüm bu tehditler aynı
CPU'yu paylaşmak zorundadır.

58
04:10.070 --> 04:14.090
Yani bilgisayar sistemimiz eşzamanlılık ve
paralelliğin bir karışımıdır.

59
04:16.300 --> 04:22.840
Sadece paralellik uygulasaydık ve
eşzamanlılık olmasaydı çok kötü bir fikir
olurdu,

60
04:22.840 --> 04:30.670
eğer sadece paralellik olsaydı, bu 30 iş
parçacığından üç iş parçacığı

61
04:30.670 --> 04:35.920
üç farklı CPU'da çalışırken diğer 27 iş
parçacığı boşta dururdu.

62
04:36.250 --> 04:43.450
Tam orada, iş parçacığı CPU üzerindeki
işini tamamlayana ve CPU'yu serbest
bırakana kadar beklemek zorunda
kalacaktır.

63
04:43.720 --> 04:44.080
Değil mi? Yani tek başına terörizm kötü
bir

64
04:45.440 --> 04:51.140
fikirdir, tek başına eşzamanlılık da kötü
bir fikirdir.

65
04:51.350 --> 04:58.340
Bugün modern bilgisayarlarda tipik bir
bilgisayar sisteminde eşzamanlılık ve
paralelliğin bir karışımına sahip

66
04:58.340 --> 05:04.550
olmak mükemmel bir fikirdir, bu bize çoklu
iş parçacığından en iyi performansı verir.


