1. Trang chủ
  2. » Luận Văn - Báo Cáo

VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN

26 368 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong giới hạn của tiểu luận kết thúc môn học này, với vấn đề chính “Vai trò của việc đồng bộ hoá các tiến trình trong việc cung cấp tài nguyên trong... CHƯƠNG 1 VẤN ĐỀ ĐỒNG BỘ HÓATại sa

Trang 1

B GIÁO D C & ÀO T O Ộ Ụ Đ Ạ

Giáo viên h ướ ng d n ẫ : PGS.TS Lê V n S n ă ơ

H c viên th c hi n: Lê Thanh Duy ọ ự ệ

Trang 2

à N ng tháng 07 n m 2014

LỜI MỞ ĐẦU

Cùng với sự bùng nổ của các mạng cục bộ và các mạng diện rộng đặc biệt

là mạng Internet nhu cầu trao đổi thông tin trong mọi hoạt động trên mọi lĩnh vực

vì thế Hệ Tin Học Phân Tán ra đời nhằm phát triển nhu cầu của Công NghệThông Tin phát huy tính ưu việc của các mạng trên nhất là Internet

Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System)

là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các

vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông dưới

sự điều khiển thống nhất của một hệ điều hành

Để đảm bảo tính gắn bó của hệ, yêu cầu đặt ra trước hết là đồng bộ hóa cáctiến trình Trình tự và đồng bộ các tiến trình trong hệ phân tán chỉ ra cho ta cácvấn đề đồng bộ có thể sẽ dẫn đến phải thiết chế một trật tự tổng quát của các sựkiện diễn ra trong hệ Cần phải xác định mối liên hệ trao đổi thông qua cácthông điệp với thời gian truyền khác nhau, những thông tin tạm thời trao đổikhông có giá trị tuyệt đối và trình tự tổng quát cần phải được thể hiện bằngphương tiện giải thuật đảm bảo hoạt động nhịp nhàn giữa các tiến trình có liênquan với nhau

Trong giới hạn của tiểu luận kết thúc môn học này, với vấn đề chính “Vai

trò của việc đồng bộ hoá các tiến trình trong việc cung cấp tài nguyên trong

Trang 3

pháp đồng bộ hoá và rút ra vai trò đồng bộ hoá tài nguyên trong hệ tin học phântán

Để hoàn thành tiểu luận này Em xin chân thành cám ơn sự chỉ bảo tậntình của Thầy: PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp Tuy nhiênchắc hẳn vẫn còn nhiều thiếu sót, kính mong sự góp ý của Thầy và các bạn

Trang 4

CHƯƠNG 1 VẤN ĐỀ ĐỒNG BỘ HÓA

Tại sao phải đồng bộ hóa các tiến trình trong việc cung cấp tài nguyên trong hệ phântán ?

Một trong những hướng nghiên cứu quan trọng trong hệ thống phân tán đó làvấn đề đồng bộ hóa các tiến trình sử dụng tài nguyên dùng chung Để đạt được điều

đó thì chúng ta phải đảm bảo được trật tự như nhau các thông điệp yêu cầu tàinguyên ở tất cả các máy trạm/máy chủ có trong hệ để nghiên cứu vấn đề đồng bộhóa các tiến trình với hệ thống thời gian vector (Vector time) Giải pháp này có thểđảm bảo được trật tự nhân quả chặt chẽ của các sự kiện diễn ra trong hệ thống phântán, đảm bảo các tiến trình trong bài toán hoạt động hoàn toàn ăn khớp với nhau vàđạt được trạng thái gắn bó tài nguyên thông tin dùng chung

1 Yêu cầu động bộ (Synchronization)

– Tốc độ thực hiện của các tiến trình là không thể biết trước được

– Các tiến trình cần hợp tác để hoàn thành tác vụ, cần đồng bộ hoá

Tại sao phải đồng bộ hóa các tiến trình?

- Truy xuất đồng thời vào vùng dữ liệu dùng chung có thể gây ra sự mâuthuẫn ( tương tranh) dữ liệu

- Quản lý sự toàn vẹn dữ liệu yêu cầu các cơ chế để đảm bảo việc phối hợp của các tiến trình một cách có thứ tự

Vd : Rút tiền trong ngân hàng như sau:

taikhoan: biến dùng chung

P1, P2: 2 tiến trình thực hiện công việc kế toán

taikhoan = 800P1 muốn rút 500P2 muốn rút 400

if (taikhoan – tierut >=0)

taikhoan= taikhoan – tienrut;

else

error(“khong the rut tien”);

-Trong tất cả các hệ thống tin học ta cần phải nghiên cứu các công cụ đủ mạnh và

Trang 5

2.Nguyên do

Nguyên do thứ nhất: ( tương tranh)

Các tiến trình kể cả các tiến tiến trình xuất phát từ các ứng dụng độclập muốn truy cập vào các tài nguyên với số lượng vốn rất hạn chế hay truy cập vàocác thông tin dùng chung cùng một lúc Trường hợp này gọi là truy cập tương tranh

Vì vậy tương tranh là nguyên nhân chính của các xung đột giữa các tiến trình muốntruy cập vào tài nguyên dùng chung

Nguyên do thứ hai: (hợp lực )

Các tiến trình của cùng một hệ ứng dụng hoạt động hoạt động theokiểu hợp lực để giải quyết các bài toán đặt ra và cho kết quả nhanh chóng nhất Điềunày cho phép tăng hiệu năng sử dụng thiết bị và hoạt động của chương trình Vì vậyhợp lực là nguyên nhân chính của sự tác động tương hổ được lập trình giữa các tiếntrình nhằm cho phép chúng tham gia vào các hành động chung

Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi có sự thông tin qua lạivới nhau Trong hệ tin học phân tán, các thông tin cần trao đổi thông qua các kênhthuộc hệ thống viễn thông

3.Trật tự từng phần :

Trong hệ phân tán việc đồng bộ hoá chỉ đặt ra duy nhất các vấn đềthiết lập một trật tự giữa các sự kiện các trạm khác nhau trật tự đó chỉ thể hiệnthông qua trao đổi các thông điệp với nhau

Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tánnhờ vào qua hệ ký hiệu là  và gọi là “có trước” hay “ở ngay trước” Quan hệ nàytối thiểu thoả mãn được các ràng buộc thể hiện trong bảng sau đây:

C1: Nếu A và B là hai sự kiện cùng một trạm và nếu A được thực hiện trước

B thì theo trật tự của trạm ta có A  B

C2 : Nếu A là phát thông điệp bởi một trạm nào đó và nếu B là thu thông điệpthì ta có A  B

Trang 6

t

Trang 7

CHƯƠNG 2CÁC PHƯƠNG PHÁP ĐỒNG BỘ HÓA

Trang 8

Trong hệ thống tin học phân tán, người ta có thể vận dụng hợp lực này theo kiểunhư sau:

+ Trên trạm P một biến NP Thể hiện số lượng chính xác sản xuất đã có.+ Trên trạm C một biến NC thể hiện số lượng chính xác tiêu thụ đã thực hiện.+ Trên trạm P một biến NC’ ảnh của NC mà P gia tăng mỗi một lần nó nhậnđược thông điệp từ C báo cho nó biết là tiêu thụ mới đã diễn ra

+ Trên trạm C một biến NP’ ảnh của NP mà C gia tăng mỗi một lần nó nhậnthông điệp từ P báo cho nó biết một sản xuất mới đã diễn ra

Ta sẽ chứng minh rằng một sự đồng bộ hóa chính xác được đảm bảo bằngviệc xác nhận trên mỗi trạm các điều kiện sau đây:

1/ Trên trạm sản xuất:

NP’ – NC > 02/ Trên trạm tiêu thụ:

NP – NC’ < N

Ta có thể viết:

NP = NP’ + np, với np ≥ 0Trong đó, np số lượng thông tin đã sản xuất bởi P mà C không biết

NC = NC’ + nc, với nc ≥ 0Trong đó, nc số lượng thông tin đã tiêu thụ bởi C mà P không biết

Ta có thể khái quát hóa phương pháp này cho điều kiện đồng bộ hóa bằngcông thức:

3/ ∑CiXi > K (theo i)Trong đó, Ci và K là các hằng số Ta hoàn toàn có khả năng và điều kiệnmạnh hơn bằng cách thay thế tất cả các Xi mà hệ số của nó là đại lượng dương bằngcác ảnh của nó X’i , nếu và chỉ nếu các Xi là các biến không lùi

Vì nguyên nhân xa cách giữa người sản xuất và người tiêu thụ mà trật tựtổng quát này không cần thiết và chỉ cần sử dụng để đồng bộ hóa các bản sao cácbiến trạng thái gần đúng là đủ

Trong hệ thống người sản xuất - người tiêu thụ, nếu N=1, thì có sự liên kếtchặt chẽ giữa hai tiến trình cho phép xác định một trật tự chặt chẽ giữa các sự kiện

Cơ chế đồng bộ ở đây là dùng Các công tơ sự kiện phù hợp với từng vấn đề

đặt ra Mỗi một công tơ biến thiên không lùi, được kết hợp với một nhóm đặc biệtcác sự kiện

Trên một công tơ sự kiện nào đó có phối hợp với nhóm E nào đó, được xácđịnh bởi ba hàm nguyên thủy:

Trang 9

+ Tang_len(E): Tăng nội dung công tơ lên 1 đơn vị Cũng có nghĩa là một sựkiện nhóm E đến.

+ Truy_van(E): Cung cấp giá trị hiện hành của công tơ phối hợp với E

+ Cho(E,n): Treo tiến trình gọi chừng nào giá trị công tơ còn nhỏ hơn n.Mỗi công tơ được khởi động ngay khi thành lập nó Việc triển khai các công

tơ sự kiện có thể được thực hiện bằng cách giao cho bộ xử lý duy nhất đảm tráchviệc điều khiển toàn bộ công việc này

2/ Đồng bộ hóa bằng phương pháp trao đổi thông điệp.

Đây là một trong những phương pháp quan trong trong việc đồng bộ hoá cáctiến trình trong việc cung cấp tài nguyên trong hệ phân tán Phương pháp này dựatrên cơ sở trao đổi thông điệp với hai Primitive Send và Receive để thực hiện sựđồng bộ hóa:

+ Send(destination, message): gởi một thông điệp đến một tiến trình hay

gởi vào hộp thư

+ Receive(source, message): nhận một thông điệp từ một tiến trình hay từ

bất kỳ một tiến trình nào, tiến trình gọi sẽ chờ nếu không có thông điệp nào để nhận

Có nhiều cách thức để thực hiện việc truy xuất độc quyền bằng cơ chế traođổi thông điệp Đây là một mô hình đơn giản: một tiến trình kiểm soát việc sử dụngtài nguyên và nhiều tiến trình khác yêu cầu tài nguyên này Tiến trình có yêu cầu tàinguyên sẽ gởi một thông điệp đến tiến trình kiểm soát và sau đó chuyển sang trạngthái blocked cho đến khi nhận được một thông điệp chấp nhận cho truy xuất từ tiếntrình kiểm soát tài nguyên Khi sử dụng xong tài nguyên, tiến trình gởi một thôngđiệp khác đến tiến trình kiểm soát để báo kết thúc truy xuất Về phần tiến trình kiểmsoát, khi nhận được thông điệp yêu cầu tài nguyên, nó sẽ chờ đến khi tài nguyên sẵnsàng để cấp phát thì gởi một thông điệp đến tiến trình đang bị khóa trên tài nguyên

đó để đánh thức tiến trình này

while (TRUE) {

Send(process controler, request message);

Receive(process controler, accept message);

critical-section ();

Send(process controler, end message);

Noncritical-section ();}

Trang 10

Trong những hệ thống phân tán mà mỗi bộ xử lý sỡ hữu một bộ nhớ riêng biệt vàliên lạc thông qua mạng, cơ chế trao đổi thông điệp tỏ ra hữu hiệu và được dùngnhiều để giải quyết bài toán đồng bộ hóa

3 Đồng bộ hóa bằng phương pháp trật tự tổng quát chặt chẽ.

Phương pháp này được áp dụng trong một số trường hợp cần phải sắp xếptoàn bộ theo kiểu chặt chẽ các sự kiện của hệ

Nguyên lý của phương pháp này được khái quát như sau:

Một tiến trình nào đó gửi thông điệp để yêu cầu sử dụng tài nguyên, một tiếntrình sử dụng xong tài nguyên nào đó truyền một thông tin giải phóng khi nó ngừngchiếm dụng

Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiếntrình đề nghị lại ở trên các trạm khác, các yêu cầu giải phóng được truyền cho cácchương trình cung cấp thông qua hình thức thông điệp, chuyển theo các kênh của hệthống viễn thông Chính vì vậy nhu cầu sắp xếp các yêu cầu này theo một trật tựnhất định nào đó luôn luôn được đặt ra

Nếu chỉ có một thông điệp đến chương trình cung cấp thì trật tự đến thể hiệnmột trật tự chặt chẽ Ngược lại nếu có nhiều thông điệp đến cùng một lúc thì việcsắp xếp chúng phải theo kiểu loại trừ tương hỗ trong hàng đợi cục bộ của trạm cóchứa chương trình cung cấp Điều đó cũng cho phép ta có được một trật tự chặt chẽ

Trật tự có được tại trạm cung cấp có thể không giống như trật tự phát, nếuthời gian truyền không được cố định Trường hợp này khá phổ biến trong mạng máytính Nhưng nếu ta muốn xử lý các thông điệp theo trình tự không tính tới thời giantruyền, thì cần phải tính đến một trật tự tổng quát của các lần truyền thông điệp từcác trạm khác nhau Những cơ chế thể hiện chức năng này được mô tả sau đây:

Giải thuật được trình bày ở đây là giải thuật Lamport nhằm cho phép ghi lạicác sự kiện của hệ tin học phân tán

Mỗi trạm s đều có trang bị công tơ với các giá trị nguyên gọi là Hs Đó chính

là đồng hồ logic tăng lên giữa hai sự kiện kế tiếp Trạm e phát thông điệp ghi dấu Ecủa mình dựa trên giá trị hiện hành của He Khi nhận được thông điệp, trạm nhận rcập nhật đồng hồ Hr riêng của mình bằng giải thuật sau đây:

Nếu Hr thì

Hr := E+1Kết thúc nếu

Trang 11

Sự kiện “nhận thông điệp” lúc này được ghi nhận bằng giá trị của Hr Thuậttoán này đảm bảo rằng thời gian nhận thông điệp là sau thời gian phát nó đi Thờigian này cho phép xác định một quan hệ trật tự toàn bộ mà ta đã ký hiệu  và chophép kiểm tra được các điều kiện trong C1 và C2.

Một sự kiện a sinh ra trong trạm i và được đánh dấu bởi đồng hồ cục bộ gọi

là Hi(a) Nếu a và b đều là hai sự kiện trên hai trạm i và j, ta luôn luôn có quan hệxác định như sau:

a  b ⇔ Hi(a) < Hi(b)

Đó là trật tự không chặt chẽ do hai sự kiện trên hai trạm khác nhau có thể đếncùng một thời điểm giống nhau Ta có thể mở rộng quan hệ  thành quan hệ trật tựchặt chẽ bằng cách kết hợp một số khác cố định cho mỗi trạm và bằng cách đánhdấu thời gian cho mỗi sự kiện a của trạm i bằng cặp (Hi(a),i) Theo định nghĩa ta có:

a ⇒ b ⇒ (Hi(a) < Hi(b))

hay(Hi(a) = Hi(b) và i<j)

CHƯƠNG 3 CHIẾN LƯỢC CUNG CẤP TÀI NGUYÊN

Vấn đề cung cấp tài nguyên trong hệ tin học phân tán là một trong những lĩnhrất quan trọng vì nó vận dụng thường xuyên trong quá trình triển khai nghiên cứu,khảo sát, phân tích, thiết kế và xây dựng các hệ điều hành nói chung, hệ tin họcphân tán nói riêng

Vấn đề cung cấp tài nguyên và các giải pháp hữu hiệu nhằm vào hệ tập trung với

bộ nhớ chung đã có rất nhiều tài liệu đề cập đến Trong chương này sẽ tập trungnghiên cứu vấn đề về tài nguyên và các chiến lược cung cấp tài nguyên cho hệ phântán

I/ Một số khái niệm

3.1 Tài nguyên

Tài nguyên là một đối tượng mà trong đó các quy tắc sử dụng và chia sẻ đượckết hợp với nhau Nói chính xác, đó là những vấn đề quyền truy cập loại trừ haytruy cập chia sẻ, có hạn chế người sử dụng hay không

Trang 12

Tài nguyên truy cập theo kiểu loại trừ chỉ cung cấp cho một giao dịch và tàinguyên truy cập theo kiểu chia sẻ được cung cấp cho một tập hợp bất kỳ các giaodịch.

Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp, nhưng cơ bảnnhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đến cácloại tài nguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùngchung

Việc định nghĩa các tài nguyên của hệ như là tài nguyên dùng chung sẽ mangđến cho người sử dụng những tiện ích và đem lại cho hệ những hiệu năng tốt trongkhai thác ứng dụng

Năm ưu điểm căn bản của việc sử dụng chung tài nguyên được phản ánh trongbảng sau:

1 Tăng tốc độ trong tính toán- xử lý

2 Cải thiện tình trạng luôn luôn sẵn sàng của các loại tài nguyên

3 Tăng an toàn cho dữ liệu

4 Đảm bảo tính toàn vẹn thông tin

5 Đa dạng hoá các loại hình dịch vụ tin học

Chia sẻ tài nguyên có thể là chia sẻ Database( dữ liệu) , chia sẻ máy in, đốitượng nào đó,…

3.2 Giao dịch

Giao dịch là phép toán hợp thành một lô gích hoàn chỉnh mà việc triển khai nó

có thể dẫn đến thực hiện một tiến trình duy nhất hay nhiều tiến trình được định vịtrên các trạm khác nhau Trường hợp dẫn đến thực hiện nhiều tiến trình trên cáctrạm ở xa là đối tượng mà ta cần quan tâm nghiên cứu

Thông điệp yêu cầu và bộ cung cấp

Một tiến trình nào đó cần sử dụng tài nguyên để phát triển công việc của mìnhphải yêu cầu cung cấp tài nguyên bằng cách gửi thông điệp yêu cầu Như thế mộttiến trình có nhu cầu cần tài nguyên sẽ bị treo chừng nào tài nguyên đó còn chưađược giải phóng hay chưa được cung cấp cho nó

Bộ cung cấp có thể áp dụng nhiều kiểu cung cấp khác nhau như tiến trình duy

Trang 13

Một yêu cầu được thoả mãn bởi bộ cung cấp tài nguyên cho tiến trình đề nghịvới điều kiện là yêu cầu đó phải tuân theo các quy tắc nhất định.

Có 2 điều kiện làm cho tiến trình mất khả năng sử dụng tài nguyên đã được cungcấp trước đó Đó là:

1 Giải phóng Tiến trình phát tín hiệu ngừng sử dụng tài nguyên

2 Thu hồi Sự lấy lại tài nguyên đã được cung cấp cho tiến trình

Bộ cung cấp tài nguyên sẽ tiến hành công việc này

Trong hệ phân tán, hoạt động của một tập hợp các tiến trình trên một tập hợpcác tài nguyên dùng chung được cho là tốt nhất , nếu không xảy ra bế tắc hay thiếuthốn tài nguyên

Bế tắc

Bế tắc hay còn gọi là khoá tương hỗ là sự kẹt chéo lẫn nhau có tính chất sốngcòn của các tiến trình Bế tắc diễn ra khi hai tiến trình đang sử dụng tài nguyên lạiphát yêu cầu về nhu cầu sử dụng tài nguyên mà tiến trình kia còn đang sử dụng

Ví dụ như hình vẽ sau đây:

T4 T3

Hình 3 - Đồ thị cung cấp tài nguyên bị bế tắc

Hình 3 cho phép chúng ta hình dung vấn đề một cách rõ ràng hơn Theo hình vẽnày, ta có 4 tài nguyên T1,T2, T3, T4 và có ba tiến trình nhu cầu tài nguyên là Tr1, Tr2,

Ngày đăng: 23/03/2015, 17:34

HÌNH ẢNH LIÊN QUAN

Hình sau: - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Hình sau (Trang 7)
Hình 3 cho phép chúng ta hình dung vấn đề một cách rõ ràng hơn. Theo hình vẽ này, ta có 4 tài nguyên T 1 ,T 2 , T 3 , T 4  và có ba tiến trình nhu cầu tài nguyên là Tr 1,  Tr 2, - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Hình 3 cho phép chúng ta hình dung vấn đề một cách rõ ràng hơn. Theo hình vẽ này, ta có 4 tài nguyên T 1 ,T 2 , T 3 , T 4 và có ba tiến trình nhu cầu tài nguyên là Tr 1, Tr 2, (Trang 13)
Hình 4- Đồ thị truy cập vào tài nguyên bằng server duy nhất - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Hình 4 Đồ thị truy cập vào tài nguyên bằng server duy nhất (Trang 15)
Hình 5- Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Hình 5 Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất (Trang 16)
Hình 6 - Truy cập trực tiếp vào các server - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Hình 6 Truy cập trực tiếp vào các server (Trang 16)
Hình 8 Sự nhầm lẫn của các tín hiệu và đồ thị biểu diễn - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Hình 8 Sự nhầm lẫn của các tín hiệu và đồ thị biểu diễn (Trang 23)
Đồ thị có 2 nhân  Đồ thị không có nhân Hình 10. Đồ thị và có nhân và đồ thị không có nhân - VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN
th ị có 2 nhân Đồ thị không có nhân Hình 10. Đồ thị và có nhân và đồ thị không có nhân (Trang 24)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w