1
1

00:00:00,030  -->  00:00:05,400
chào mừng trở lại để anh ấy làm việc trước
2

2

00:00:02,610  -->  00:00:09,059
chia một mảng thành các khối nhỏ hơn
3

3

00:00:05,400  -->  00:00:12,150
như trước khi mảng là tĩnh
4

4

00:00:09,059  -->  00:00:14,969
khai báo theo thứ nguyên bởi totes cấu hình hoặc
5

5

00:00:12,150  -->  00:00:17,940
kích thước heap trong tay cấu hình nghệ sĩ miễn phí
6

6

00:00:14,969  -->  00:00:21,150
dot H tập tin nó để sử dụng phù hợp đầu tiên
7

7

00:00:17,940  -->  00:00:23,670
thuật toán phân bổ bộ nhớ nếu cho
8

8

00:00:21,150  -->  00:00:26,670
kết hợp các khối bộ nhớ miễn phí liền kề
9

9

00:00:23,670  -->  00:00:28,890
thành một khối lớn hơn
10

10

00:00:26,670  -->  00:00:31,830
giảm thiểu rủi ro của bộ nhớ
11

11

00:00:28,890  -->  00:00:34,980
phân mảnh thuật toán phù hợp đầu tiên
12

12

00:00:31,830  -->  00:00:37,320
đảm bảo malloc cổng pv sử dụng đầu tiên
13

13

00:00:34,980  -->  00:00:39,510
khối bộ nhớ trống lớn
14

14

00:00:37,320  -->  00:00:43,890
đủ để giữ số byte
15

15

00:00:39,510  -->  00:00:45,629
yêu cầu ví dụ, hãy nói
16

16

00:00:43,890  -->  00:00:48,120
heap chứa ba khối bộ nhớ
17

17

00:00:45,629  -->  00:00:52,800
xuất hiện theo thứ tự năm
18

18

00:00:48,120  -->  00:00:55,620
200 byte 100 byte trừ khi có cổng PV
19

19

00:00:52,800  -->  00:00:58,710
malach được gọi để yêu cầu 20 byte
20

20

00:00:55,620  -->  00:01:00,780
ram khối ram miễn phí đầu tiên vào
21

21

00:00:58,710  -->  00:01:04,140
số byte được yêu cầu sẽ
22

22

00:01:00,780  -->  00:01:08,010
phù hợp là khối 200 byte nên PT mahlock
23

23

00:01:04,140  -->  00:01:11,189
chia 200 cắn thành một khối 20 byte
24

24

00:01:08,010  -->  00:01:13,740
và một khối 180 vết cắn khác trước đó
25

25

00:01:11,189  -->  00:01:16,880
trả về một con trỏ tới khối 20 byte
26

26

00:01:13,740  -->  00:01:20,490
khối 180 ID mới vẫn có sẵn
27

27

00:01:16,880  -->  00:01:23,070
các cuộc gọi trong tương lai của PV port malloc
28

28

00:01:20,490  -->  00:01:25,650
bởi vì trước đây anh ta kết hợp liền kề miễn phí
29

29

00:01:23,070  -->  00:01:27,869
khối thành một khối lớn hơn
30

30

00:01:25,650  -->  00:01:30,240
phù hợp hơn cho các ứng dụng
31

31

00:01:27,869  -->  00:01:32,490
nhiều lần phân bổ và miễn phí khác nhau
32

32

00:01:30,240  -->  00:01:34,650
các khối ROM có kích thước hãy xem
33

33

00:01:32,490  -->  00:01:39,000
thuật toán đầu tiên của nó hoạt động như bộ nhớ
34

34

00:01:34,650  -->  00:01:40,950
được phân bổ và giải phóng đây là những gì
35

35

00:01:39,000  -->  00:01:43,740
mảng bộ nhớ trông giống như sau ba
36

36

00:01:40,950  -->  00:01:46,009
nhiệm vụ đã được tạo ra một miễn phí lớn
37

37

00:01:43,740  -->  00:01:49,290
khối vẫn ở đầu mảng
38

38

00:01:46,009  -->  00:01:52,350
sau khi một tác vụ đã bị xóa
39

39

00:01:49,290  -->  00:01:54,450
mảng trông như thế này miễn phí lớn
40

40

00:01:52,350  -->  00:01:56,640
khối ở đầu mảng vẫn còn
41

41

00:01:54,450  -->  00:01:59,009
đó cũng là một khối miễn phí
42

42

00:01:56,640  -->  00:02:01,259
khối điều khiển tác vụ và một ngăn xếp của
43

43

00:01:59,009  -->  00:02:05,009
nhiệm vụ đã bị xóa là
44

44

00:02:01,259  -->  00:02:07,799
trước đây nằm khi hàng đợi
45

45

00:02:05,009  -->  00:02:10,500
tạo ra nó được trang bị ở giữa
46

46

00:02:07,799  -->  00:02:13,680
chúng ta sẽ nói nhiều hơn về hàng đợi khi chúng ta
47

47

00:02:10,500  -->  00:02:17,250
đến phần trên hàng đợi vì anh
48

48

00:02:13,680  -->  00:02:19,560
sử dụng cổng PV thuật toán phù hợp đầu tiên của tôi
49

49

00:02:17,250  -->  00:02:22,079
Nhật ký sẽ phân bổ xung quanh từ đầu tiên
50

50

00:02:19,560  -->  00:02:24,510
khối tròn miễn phí đủ lớn để
51

51

00:02:22,079  -->  00:02:26,849
đi đến Q mà Q không tiêu thụ hết
52

52

00:02:24,510  -->  00:02:29,340
RAM trong khối miễn phí nên khối
53

53

00:02:26,849  -->  00:02:33,629
được chia thành hai và phần không sử dụng
54

54

00:02:29,340  -->  00:02:36,540
vẫn có sẵn cho sự nghiệp tương lai của PV
55

55

00:02:33,629  -->  00:02:38,819
cổng malloc nếu P thì cổng malloc là
56

56

00:02:36,540  -->  00:02:41,250
bắt trực tiếp từ mã ứng dụng
57

57

00:02:38,819  -->  00:02:44,280
thay vì gián tiếp gọi miễn phí
58

58

00:02:41,250  -->  00:02:47,370
nghệ sĩ API hoạt động những gì xảy ra
59

59

00:02:44,280  -->  00:02:49,739
nếu khối người dùng được phân bổ nhỏ
60

60

00:02:47,370  -->  00:02:52,470
đủ để phù hợp với khối miễn phí đầu tiên
61

61

00:02:49,739  -->  00:02:56,280
trong trường hợp này là khối
62

62

00:02:52,470  -->  00:02:59,579
giữa TCP và Q người dùng được phân bổ
63

63

00:02:56,280  -->  00:03:02,489
khối sẽ được đặt ở đó khi Q
64

64

00:02:59,579  -->  00:03:04,319
đã xóa cuộc chiến này xảy ra đó là những gì
65

65

00:03:02,489  -->  00:03:07,620
bộ nhớ trông giống như mảng bộ nhớ
66

66

00:03:04,319  -->  00:03:10,549
trở thành cái này bây giờ có bộ nhớ miễn phí trên
67

67

00:03:07,620  -->  00:03:13,889
kích thước của khối người dùng được phân bổ
68

68

00:03:10,549  -->  00:03:15,930
khi khối phân bổ người dùng bị xóa
69

69

00:03:13,889  -->  00:03:18,599
đây là những gì bộ nhớ trở thành
70

70

00:03:15,930  -->  00:03:21,569
bộ nhớ đã được sử dụng bởi
71

71

00:03:18,599  -->  00:03:23,879
khối phân bổ người dùng đã được kết hợp
72

72

00:03:21,569  -->  00:03:27,060
với bộ nhớ trống ở hai bên
73

73

00:03:23,879  -->  00:03:29,819
tạo một khối miễn phí duy nhất lớn hơn anh
74

74

00:03:27,060  -->  00:03:32,090
trước đây không mang tính quyết định nhưng nó là
75

75

00:03:29,819  -->  00:03:35,040
nhanh hơn hầu hết các thư viện tiêu chuẩn
76

76

00:03:32,090  -->  00:03:37,949
triển khai malloc và miễn phí
77

77

00:03:35,040  -->  00:03:40,290
thứ tự này là bây giờ cho heap cho và
78

78

00:03:37,949  -->  00:03:41,940
Tôi sẽ gặp bạn trong bài học tiếp theo tôi
79

79

00:03:40,290  -->  00:03:45,229
khuyến khích bạn gửi cho tôi câu hỏi của bạn
80

80

00:03:41,940  -->  00:03:45,229
hoặc để chúng bên dưới
