WEBVTT

1
00:05.090 --> 00:12.060
Bildiğimiz gibi, bir sistem mantıksal
olarak kullanıcı uzayı ve çekirdek uzayı
olmak üzere iki bölüme ayrılabilir.

2
00:12.080 --> 00:17.210
Yani kullanıcı alanı, tüm
uygulamalarımızın gerçekte çalıştığı
alandır.

3
00:17.840 --> 00:23.360
Yani işletim sistemi üzerinde
çalıştırdığınız tüm uygulamalar aslında
kullanıcı alanında çalışır.

4
00:23.390 --> 00:29.000
Dolayısıyla, gönderen süreç olan A süreci
ve alıcı süreç

5
00:29.000 --> 00:31.400
olan B süreci aslında kullanıcı alanında
çalışan süreçlerdir.

6
00:31.610 --> 00:36.760
Çekirdek alanı, aslında sistem veya
çekirdek hizmetlerinin çalıştığı alandır.

7
00:36.770 --> 00:44.900
Örneğin, işletim sisteminiz,
zamanlayıcınız, bellek yöneticiniz, aygıt
sürücünüz ve

8
00:44.900 --> 00:47.960
işletim sisteminin daha birçok hizmeti
aslında çekirdek alanında çalışır.

9
00:49.670 --> 00:56.360
Dolayısıyla, kullanıcı alanı işlemlerinden
biri tarafından oluşturulan mesaj kuyruğu
aslında

10
00:56.360 --> 00:58.640
bir çekirdek kaynağıdır ve bir çekirdek
alanı içinde oluşturulur.

11
00:58.940 --> 01:04.100
A sürecinin bir mesaj kuyruğunun
yaratıcısı olduğunu varsayalım.

12
01:04.130 --> 01:08.220
Böylece A süreci çekirdek alanı içinde bir
mesaj kuyruğu oluşturacaktır.

13
01:08.250 --> 01:11.760
a süreci bir mesaj kuyruğu kimliği
sağlamalıdır.

14
01:11.910 --> 01:17.060
Bu durumda mesaj kuyruğu kimliğini bir
dize olan x, y, z olarak aldık.

15
01:17.070 --> 01:24.000
Yani A süreci mesaj kuyruğu olan bir
çekirdek kaynağı yaratmıştır

16
01:24.000 --> 01:25.440
ve bu mesaj kuyruğu bir çekirdek alanı
içinde bulunmaktadır.

17
01:25.470 --> 01:28.680
Artık bu mesaj kuyruğu gönderici işlem
tarafından kullanılabilir.

18
01:28.680 --> 01:34.320
Bu, süreçler arası iletişimi
gerçekleştirmek için B sürecinin yanı sıra
a sürecidir.

19
01:34.800 --> 01:40.710
Böylece A süreci mesajı mesaj kuyruğuna
atabilir

20
01:40.710 --> 01:41.850
ve B süreci mesajı mesaj kuyruğundan
alabilir.

21
01:41.880 --> 01:48.930
Bu diyagramda, A süreci tarafından B
sürecine bir mesaj kuyruğu aracılığıyla
gönderilen

22
01:48.930 --> 01:52.710
herhangi bir mesajın aslında ilk olarak
süreç tarafından mesaj kuyruğuna
kaydedildiğini görebilirsiniz.

23
01:52.710 --> 01:53.010
A.

24
01:53.130 --> 01:59.760
Yani A süreci tarafından üretilen mesaj
aslında

25
01:59.760 --> 02:00.990
kullanıcı alanından burada bulunan
çekirdek alanına gider.

26
02:00.990 --> 02:06.690
Daha sonra mesaj işletim sistemi
tarafından mesaj kuyruğuna alınır.

27
02:08.020 --> 02:08.590
Doğru.

28
02:08.590 --> 02:15.280
Ve sonra işletim sistemi alıcı sürece
gönderici tarafından

29
02:15.280 --> 02:21.670
mesaj kuyruğuna bir mesaj
yerleştirildiğini ve bu nedenle

30
02:21.670 --> 02:22.210
B sürecinin mesajı mesaj kuyruğundan
çıkarması gerektiğini bildirir.

31
02:22.390 --> 02:28.420
Böylece B süreci, B sürecinin mesajı mesaj
kuyruğundan alabildiğini görebilirsiniz.

32
02:28.600 --> 02:34.660
Yani burada mesaj kuyruğunun A süreci ile
B süreci

33
02:34.660 --> 02:43.150
arasında bir iletişim köprüsü görevi
gördüğünü ve bu iletişim

34
02:43.150 --> 02:43.870
köprüsünün yani mesaj kuyruğunun aslında
çekirdek uzayında bulunduğunu
görebilirsiniz.

35
02:46.200 --> 02:51.090
Mesajın çekirdek kaynaklarından sadece
biri olmasının nedeni budur.

36
02:53.310 --> 02:59.640
Ve kullanıcı alanı süreçleri aslında
IPC'yi yürüten

37
02:59.640 --> 03:00.720
bu çekirdek kaynağını kendi yararı için
kullanıyor.

38
03:01.320 --> 03:06.840
Bu diyagramda sadece bir mesaj kuyruğu
gösterdim, ancak sistemde

39
03:06.840 --> 03:08.830
birkaç süreç tarafından oluşturulan birden
fazla mesaj kuyruğu olabilir.

40
03:08.850 --> 03:14.920
Her mesaj kuyruğu, mesaj kuyruğu kimliği
adı verilen ve genellikle bir dize olan
benzersiz bir adla tanımlanır.

41
03:14.940 --> 03:21.330
Şimdi de, kullanıcı alanı süreçleri
tarafından mesaj kuyruğu oluşturmak ve

42
03:21.330 --> 03:23.370
bu kuyruğu manipüle etmek için kullanılan
bazı API'lerden bahsedelim.


