1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nguyên lý hệ điều hành: Chương 1 - Phạm Quang Dũng

11 82 0

Đ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 11
Dung lượng 908,06 KB

Nội dung

Bài giảng chương 1 trình bày các nội dung chính như: Hệ điều hành (Operating System) làm việc gì? Tổ chức của hệ thống máy tính, cấu trúc của hệ điều hành, hoạt động của hệ điều hành, sự quản lý tiến trình, sự quản lý bộ nhớ chính,... Mời các bạn cùng tham khảo.

Nội dung chương BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH „ Hệ điều hành (Operating System) làm việc gì? „ Tổ chức hệ thống máy tính „ Cấu trúc HĐH Chương 1: Giới thiệu chung „ Hoạt động HĐH „ Sự quản lý tiến trình „ Sự quản lý nhớ Phạm Quang Dũng Bộ mơn Khoa học máy tính Khoa Cơng nghệ thơng tin Trường ĐH Nông nghiệp Hà Nội Website: fita.hua.edu.vn/pqdung „ Sự quản lý nhớ lưu trữ „ Protection Security „ Các mơi trường sử dụng máy tính Bài giảng Nguyên lý Hệ điều hành Mục tiêu 1.2 Phạm Quang Dũng ©2008 1.1 Hệ điều hành làm việc „ Cung cấp chuyến du ngoạn lớn qua thành phần hệ điều hành „ Cung cấp tổng quát tổ chức hệ thống máy tính „ Hệ điều hành (Operating System): Là chương trình hoạt động lớp trung gian người sử dụng máy tính phần cứng máy tính „ Các mục đích HĐH: z Thực chương trình người sử dụng giúp việc giải toán người sử dụng dễ dàng z Giúp cho việc sử dụng hệ thống máy tính thuận tiện z Sử dụng phần cứng máy tính theo cách hiệu Bài giảng Nguyên lý Hệ điều hành 1.3 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.4 Phạm Quang Dũng ©2008 Cấu trúc hệ thống máy tính Bốn thành phần hệ thống máy tính Phần cứng (Hardware) – cung cấp tài ngun tính tốn (CPU, memory, I/O devices) Hệ điều hành (Operating system) – điều khiển xếp việc sử dụng phần cứng chương trình ứng dụng khác người sử dụng khác Các chương trình ứng dụng (Applications programs) – định cách sử dụng tài nguyên hệ thống để giải toán người sử dụng (word processors, compilers, database systems, video games) Users (people, machines, other computers) Bài giảng Nguyên lý Hệ điều hành 1.5 Phạm Quang Dũng ©2008 Các cách nhìn hệ điều hành „ Là trình phân phối tài nguyên (Resource allocator) – quản lý định phân phối tài nguyên (CPU, không gian nhớ, thiết bị vào/ra ) cho yêu cầu nhằm đạt hiệu cơng „ Là chương trình điều khiển (Control program) – điều khiển thực chương trình người sử dụng hoạt động thiết bị vào/ra để ngăn lỗi sử dụng sai ¾ Khơng có định nghĩa hồn tốn HĐH Bài giảng Ngun lý Hệ điều hành 1.6 Phạm Quang Dũng ©2008 Những dễ nhầm với hệ điều hành? „ Các lệnh/ứng dụng truy vấn trạng thái hệ thống: ls (UNIX), Task Manager (Windows) Đó cơng cụ khơng chạy liên tục „ Các trình điều khiển thiết bị ngoại vi (drivers): khiến cho HĐH sử dụng phần cứng mới, chúng OS extensions thân OS Cũng giống browser plugin browser „ Các phần mềm đơn phương truy nhập phần cứng: z VMWare virtual PC (khơng phải hardware) Có thể cài Windows “trên” z Java VM virtual machine (không phải hardware), API „ Kernel (nhân) – chương trình chạy liên tục khơng ngừng máy tính (tất chương trình khác chương (application program interface) HĐH suy rộng (Careful: JavaOS project riêng) trình hệ thống chương trình ứng dụng) Bài giảng Nguyên lý Hệ điều hành 1.7 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.8 Phạm Quang Dũng ©2008 Tại phải nghiên cứu HĐH? Sự khởi động máy tính „ Thiết kế HĐH nghiên cứu riêng (case study) „ bootstrap program (chương trình mồi) nạp tốt thiết kế kỹ nghệ phần mềm bật máy khởi động lại „ The better you know the OS, the better apps you write, the better you understand its bugs and work around them „ HĐH sử dụng thuật giải phức tạp, nhiều sử dụng lại phần mềm khác, vd: phát bế tắc (deadlock detection) z Thường chứa ROM EPROM, thường gọi firmware z Khởi tạo tất khía cạnh hệ thống z Nạp nhân (kernel) HĐH bắt đầu thực „ HĐH cần có phát triển nhanh phần cứng Bài giảng Nguyên lý Hệ điều hành 1.9 Phạm Quang Dũng ©2008 1.2 Tổ chức hệ thống máy tính „ Một nhiều CPU, device controler kết nối với bus chung cho phép truy nhập nhớ chia sẻ „ Sự thực đồng thời CPU thiết bị cạnh tranh chu kỳ nhớ Bài giảng Nguyên lý Hệ điều hành 1.10 Phạm Quang Dũng ©2008 Hoạt động hệ thống máy tính „ Các thiết bị vào-ra CPU thực đồng thời „ Mỗi mạch điều khiển thiết bị (device controller) phụ trách loại thiết bị riêng có nhớ đệm riêng (local buffer) „ CPU chuyển liệu từ/đến nhớ đến/từ buffer „ Vào-ra từ thiết bị đến local buffer mạch điều khiển „ Mạch điều khiển thiết bị thơng báo cho CPU biết hồn tất cơng việc cách gây ngắt (interrupt) Bài giảng Nguyên lý Hệ điều hành 1.11 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.12 Phạm Quang Dũng ©2008 Các chức ngắt Xử lý ngắt „ HĐH điều khiển ngắt (interrupt driven), nghĩa m㠄 HĐH trì trạng thái CPU cách lưu giữ nội dung lệnh gọi đến ngắt xuất „ Thông thường ngắt chuyển điều khiển cho thường trình dịch vụ ngắt thơng qua vector ngắt (interrupt vector), có chứa địa tất thường trình dịch vụ ngắt (interrupt service routine) „ Kiến trúc ngắt (Interrupt architecture) phải lưu địa lệnh bị ngắt ghi, đếm chương trình (program counter - PC) địa lệnh bị ngắt „ HĐH xác định loại ngắt xuất có hành động thực tương ứng: z polling z vectored „ Các ngắt đến bị vô hiệu (disabled) ngắt thực để tránh bị ngắt (lost interrupt) „ Thường trình dịch vụ ngắt (interrupt service routine) chịu trách nhiệm thực ngắt, CPU dành cho xử lý ngắt „ Một bẫy (trap) phần mềm tạo ngắt gây lỗi yêu „ Sau phục vụ ngắt, HĐH khôi phục lại ngữ cảnh trước ngắt cầu người sử dụng Bài giảng Nguyên lý Hệ điều hành 1.13 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Interrupt Timeline 1.14 Phạm Quang Dũng ©2008 Cấu trúc vào-ra „ Synchronous I/O: Sau bắt đầu vào-ra, quyền kiểm soát quay lại chương trình người sử dụng vào-ra kết thúc z Chờ lệnh làm rỗi CPU có lệnh ngắt z Chờ theo vòng lặp kiểm tra CPU rỗi → tranh chấp truy nhập nhớ z Tại thời điểm, có yêu cầu vào-ra thực hiện, khơng có xử lý I/O đồng thời „ Asynchronous I/O: Sau I/O bắt đầu, quyền kiểm sốt quay lại chương trình người sử dụng mà không cần chờ I/O kết thúc z System call – gửi yêu cầu tới HĐH cho phép người sử dụng đợi I/O kết thúc (nếu muốn) z Bảng trạng thái thiết bị (Device-status table) chứa thông tin (entry) thiết bị I/O cho biết trạng thái, địa loại thiết bị z HĐH tra cứu vào bảng I/O device để xác định trạng thái thiết bị sửa đổi thông tin để thêm thông tin ngắt Bài giảng Nguyên lý Hệ điều hành 1.15 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.16 Phạm Quang Dũng ©2008 Mơ tả phương pháp vào-ra Đồng - Synchronous Bài giảng Nguyên lý Hệ điều hành Bảng trạng thái thiết bị Không đồng - Asynchronous 1.17 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.18 Phạm Quang Dũng ©2008 Cấu trúc DMA (Direct Memory Access) Cấu trúc hệ thống nhớ „ Được sử dụng cho thiết bị tốc độ cao (disk, communications „ Bộ nhớ (Main memory: RAM) – phương tiện lưu trữ lớn network) để tăng tốc độ trao đổi thông tin gần tới tốc độ nhớ mà CPU truy nhập trực tiếp z Quá nhỏ để lưu trữ ổn định tất chương trình liệu cần thiết „ Mạch điều khiển thiết bị chuyển toàn khối liệu (block of data) từ nhớ buffer trực tiếp tới nhớ khơng qua z Có tính khơng ổn định ⇒ liệu tắt nguồn „ Bộ nhớ thứ cấp (Secondary storage) – mở rộng nhớ chính, để cung cấp dung lượng nhớ lớn ổn định can thiệp CPU „ Chỉ có 01 ngắt sinh block, tối ưu ngắt 01 byte (hoặc word) thiết bị tốc độ chậm Vd: Đĩa từ (Magnetic disks: đĩa cứng, đĩa mềm) z Cấu tạo kim loại cứng miếng kính bao bọc vật liệu nhiễm từ z Bề mặt đĩa chia (vật lý) thành tracks, track chia thành sectors z Mạch điều khiển đĩa (disk controller) xác định tương tác vật lý thiết bị máy tính Bài giảng Nguyên lý Hệ điều hành 1.19 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.20 Phạm Quang Dũng ©2008 Cơ cấu đĩa có đầu từ chuyển động Sơ đồ phân cấp hệ thống nhớ „ Hệ thống lưu trữ tổ chức dạng sơ đồ phân cấp dựa vào: z Tốc độ z Giá thành z Tính khơng ổn định Bài giảng Nguyên lý Hệ điều hành 1.21 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Sơ đồ phân cấp thiết bị nhớ 1.22 Phạm Quang Dũng ©2008 Caching „ Caching – nguyên lý quan trọng, thực nhiều mức máy tính (trong phần cứng, HĐH, phần mềm) „ Là kỹ thuật làm tăng tốc độ xử lý hệ thống cách: z thực copy thông tin sử dụng tới thiết bị nhớ nhanh để tăng tốc độ xử lý hệ thống z Giữ lại liệu truy nhập thiết bị tốc độ cao Dung lượng tăng Tốc độ tăng „ Bộ nhớ nhanh (cache) kiểm tra trước tiên xem thơng tin có khơng: z Nếu có, thơng tin sử dụng trực tiếp từ cache (nhanh) z Nếu không, liệu copy vào cache sử dụng „ Yêu cầu: liệu phải lưu trữ đồng nhiều mức hệ thống nhớ để đảm bảo tính qn (consistent) „ Vì dung lượng cache có hạn, yêu cầu có quản lý cache (cache management) để tăng hiệu Bài giảng Nguyên lý Hệ điều hành 1.23 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.24 Phạm Quang Dũng ©2008 Sự thực thi nhiều mức nhớ Sự di trú trú số số nguyên A từ từ đĩ đĩa tớ tới ghi „ Sự di chuyển mức phân cấp nhớ rõ ràng „ Các môi trường đa nhiệm phải cẩn thận để sử dụng giá trị nhất, dù chứa đâu phân cấp nhớ không „ Môi trường đa vi xử lý phải cung cấp tính gắn kết cache phần cứng để tất CPU có giá trị cache „ Mơi trường phân tán cịn phức tạp z Có thể tồn nhiều copy liệu Bài giảng Nguyên lý Hệ điều hành 1.25 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.26 Phạm Quang Dũng ©2008 1.3 Cấu trúc hệ điều hành Cấu trúc hệ điều hành (tiếp) „ Multiprogramming (kỹ thuật đa chương trình) cần có „ Timesharing (multitasking) (kỹ thuật chia sẻ thời gian, đa để đạt hiệu z User đơn giữ CPU thiết bị vào-ra hoạt động thời điểm z Multiprogramming tổ chức công việc (job, gồm code nhiệm) mở rộng logic mà CPU chuyển cơng việc thường xuyên để user tương tác với cơng việc chạy, tạo thành tính tốn tương tác z Thời gian đáp ứng (Response time) nên < giây z Mỗi user có chương trình thực nhớ data) để CPU ln có việc để thực z Một tập tất công việc hệ thống giữ nhớ > process (tiến trình) z Nếu số cơng việc sẵn sàng chạy thời điểm > CPU scheduling (lập lịch CPU) z Một công việc chọn chạy thơng qua job scheduling z Khi phải đợi (vd đợi vào-ra), HĐH chuyển sang công việc khác z Nếu tiến trình khơng chứa vừa nhớ, swapping (hoán đổi) chuyển chúng vào để chạy z Virtual memory (bộ nhớ ảo) cho phép thực tiến trình khơng hồn tồn nhớ Bài giảng Nguyên lý Hệ điều hành 1.27 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.28 Phạm Quang Dũng ©2008 Bố trí nhớ HĐH đa chương trình 1.4 Hoạt động hệ điều hành „ Ngắt phần cứng „ Lỗi phần mềm yêu cầu tạo exception hay trap z Chia cho 0, yêu cầu dịch vụ HĐH „ Các vấn đề tiến trình khác gồm: lặp vơ hạn, tiến trình thay đổi lẫn thay đổi HĐH „ Hoạt động chế độ kép (Dual-mode) cho phép HĐH bảo vệ thành phần hệ thống khác z User mode kernel mode z Mode bit cung cấp phần cứng  Cung cấp khả phân biệt hệ thống chạy user code hay kernel code  Một số lệnh thiết kế đặc quyền (privileged), thực kernel mode  System call thay đổi chế độ thành kernel mode, return from call thiết lập thành user mode Bài giảng Nguyên lý Hệ điều hành 1.29 Phạm Quang Dũng ©2008 Chuyển từ User sang Kernel Mode „ Định thời để ngăn lặp vô hạn / tiến trình lấy tài nguyên z Thiết lập ngắt sau khoảng thời gian xác định z HĐH giảm đếm Bài giảng Nguyên lý Hệ điều hành 1.30 Phạm Quang Dũng ©2008 1.5 Sự quản lý tiến trình „ Tiến trình (process) chương trình thực Nó đơn vị cơng việc hệ thống Chương trình thực thể bị động, tiến trình thực thể chủ động „ Tiến trình cần tài ngun để hồn tất cơng việc: z Khi đếm sinh ngắt z CPU, nhớ, thiết bị vào-ra, tệp (files) z Thiết lập tiến trình lập lịch trước để giành lại điều khiển chấm dứt chương trình vượt thời gian cấp z Dữ liệu khởi tạo „ Sự chấm dứt tiến trình địi hỏi giành lại tài nguyên tái sử dụng „ Tiến trình đơn luồng (thread) có program counter xác định vị trí lệnh để thực z Tiến trình thực lệnh tuần tự, thời điểm lệnh kết thúc „ Tiến trình đa luồng: luồng có program counter „ Hệ thống thơng thường có nhiều tiến trình, số user, số HĐH chạy đồng thời hay nhiều CPU z Đồng thời đa nhiệm CPU tiến trình / luồng Bài giảng Nguyên lý Hệ điều hành 1.31 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.32 Phạm Quang Dũng ©2008 Các hoạt động quản lý tiến trình HĐH chịu trách nhiệm hoạt động sau quản lý tiến trình z Tạo xố tiến trình user hệ thống 1.6 Sự quản lý nhớ (chính) „ Tất liệu nhớ trước sau xử lý „ Tất lệnh nhớ để thực „ Sự quản lý nhớ xác định nhớ z Tối ưu hóa sử dụng CPU đáp ứng máy tính với z Tạm ngừng tiếp tục lại tiến trình user z Cung cấp chế cho: „ Các hoạt động quản lý nhớ sự đồng hoá tiến trình z Lưu lại dấu vết phần nhớ sử dụng sự giao tiếp tiến trình đuợc sử dụng tiến trình sự xử lý bế tắc (deadlock) z Quyết định xem tiến trình (hoặc phần chúng) liệu đưa vào đưa khỏi nhớ z Phân phối thu hồi nhớ cần đến Bài giảng Nguyên lý Hệ điều hành 1.33 Phạm Quang Dũng ©2008 1.7 Sự quản lý nhớ lưu trữ „ HĐH cung cấp nhìn logic, giống lưu trữ thơng tin z Trừu tượng hóa thuộc tính vật lý thành đơn vị lưu trữ logic - file z Mỗi phương tiện điều khiển thiết bị (nghĩa là: disk drive, tape drive) Bài giảng Nguyên lý Hệ điều hành 1.34 Phạm Quang Dũng ©2008 Sự quản lý nhớ lưu trữ (tiếp) B) Sự quản lý nhớ lưu trữ lớn „ Thường sử dụng đĩa để chứa liệu không chứa vừa nhớ liệu cần giữ lâu dài „ Quản lý cách đóng vai trị quan trọng trung tâm  Các thuộc tính khác gồm: tốc độ truy nhập, dung lượng, tốc độ truyền liệu, phương pháp truy nhập (tuần tự ngẫu nhiên) „ A) Sự quản lý Hệ thống file z Các file thường tổ chức thư mục z Kiểm soát truy nhập hầu hết hệ thống để xác định truy nhập z Các hoạt động HĐH gồm:  Tạo xóa file thư mục  Hỗ trợ từ gốc (primitive) việc thao tác với file thư mục (read/write)  Ánh xạ file vào nhớ thứ cấp „ Toàn tốc độ thực máy tính xoay quanh hệ thống đĩa giải thuật „ Các hoạt động HĐH z Quản lý vùng nhớ tự z Phân phối nhớ z Lập lịch đĩa (Disk scheduling) „ Một số nhớ lưu trữ (storage) không cần phải nhanh z Bộ nhớ cấp ba gồm: nhớ quang, băng từ z Vẫn cần quản lý z Khác WORM (write-once, read-many-times) RW (read-write)  Sao dự phòng (Backup) file phương tiện lưu trữ ổn định Bài giảng Nguyên lý Hệ điều hành 1.35 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.36 Phạm Quang Dũng ©2008 C) Hệ thống vào-ra (I/O Subsystem) 1.8 Protection Security „ Một mục đích HĐH ẩn tính chất khác „ Protection – chế để kiểm soát truy nhập tiến trình thường thiết bị phần cứng khơng cho user thấy Chức hệ thống vào-ra đảm nhận bên z Rất nhiều dạng, bao gồm denial-of-service, worms, viruses, identity theft, „ Hệ thống vào-ra chịu trách nhiệm đối với: theft of service z Quản lý nhớ vào-ra gồm:  buffering (chứa liệu tạm thời truyền)  caching (chứa phần liệu nhớ nhanh để tăng hiệu năng)  spooling (gối chồng output công việc với input công việc khác) „ Các hệ thống thường phân biệt user để xác định làm z User identifiers (user IDs, security IDs) gồm tên số kèm theo, user số z User ID sau liên kết với tất file, tiến trình user để xác định kiểm soát truy nhập z Giao diện device-driver chung z Group identifier (group ID) cho phép tập user để xác định z Các driver cho thiết bị phần cứng riêng biệt kiểm sốt quản lý, sau liên kết với tiến trình, file „ Chỉ device driver biết tính chất đặc biệt thiết bị mà điều khiển Bài giảng Nguyên lý Hệ điều hành user tới tài nguyên xác định HĐH „ Security – bảo vệ hệ thống chống lại công từ bên z Privilege escalation (sự leo thang đặc quyền) cho phép user thay đổi thành ID có nhiều quyền 1.37 Phạm Quang Dũng ©2008 1.9 Các mơi trường sử dụng máy tính Bài giảng Nguyên lý Hệ điều hành 1.38 Phạm Quang Dũng ©2008 Các mơi trường sử dụng máy tính (tiếp) „ B) Client-Server Computing A) Máy tính truyền thống z Đang mờ nhạt dần theo thời gian z Môi trường văn phòng  Các PC nối vào mạng, máy đầu cuối (terminal) gắn vào mainframe minicomputers cung cấp xử lý theo lô chia sẻ thời gian  Ngày cổng cho phép nối mạng hệ thống từ xa z Các máy đầu cuối câm thay PC thông minh z Giờ nhiều hệ thống server, đáp ứng yêu cầu từ client  Compute-server cung cấp giao diện cho client yêu cầu dịch vụ (nghĩa database)  File-server cung cấp giao diện cho client lưu trữ lấy file truy nhập tới tài nguyên z Các mạng gia đình  Đã thường hệ thống đơn, sử dụng modem  Ngày nối mạng, bảo vệ firewall Bài giảng Nguyên lý Hệ điều hành 1.39 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.40 Phạm Quang Dũng ©2008 10 Các mơi trường sử dụng máy tính (tiếp) Các mơi trường sử dụng máy tính (tiếp) C) Peer-to-Peer Computing D) Web-Based Computing „ Một mơ hình khác hệ thống phân tán (distributed system) „ P2P không phân biệt client server „ Các PC thiết bị phổ dụng z Tất nút coi ngang z Mỗi nút hoạt động client, server hai „ Càng nhiều thiết bị nối mạng phép truy nhập web z Nút phải gia nhập mạng P2P » Đăng ký dịch vụ với dịch vụ tìm kiếm trung tâm mạng, „ Loại thiết bị để quản lý truyền web server tương tự » Truyền quảng bá (broadcast) yêu cầu dịch vụ đáp ứng yêu cầu thông qua giao thức khám phá (discovery protocol) „ Sự sử dụng HĐH Windows 95, client-side, tiến triển ™ Các ví dụ gồm mạng Napster Gnutella Bài giảng Nguyên lý Hệ điều hành „ Web trở nên phổ biến khắp nơi 1.41 Phạm Quang Dũng ©2008 nhau: load balancers (thiết bị cân tải) thành Linux Windows XP, vừa client, vừa server Bài giảng Nguyên lý Hệ điều hành 1.42 Phạm Quang Dũng ©2008 11 ... ngắt Bài giảng Nguyên lý Hệ điều hành 1. 15 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1. 16 Phạm Quang Dũng ©2008 Mơ tả phương pháp vào-ra Đồng - Synchronous Bài giảng Nguyên lý Hệ điều. .. hồn tồn nhớ Bài giảng Nguyên lý Hệ điều hành 1. 27 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1. 28 Phạm Quang Dũng ©2008 Bố trí nhớ HĐH đa chương trình 1. 4 Hoạt động hệ điều hành „... ổn định Bài giảng Nguyên lý Hệ điều hành 1. 21 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Sơ đồ phân cấp thiết bị nhớ 1. 22 Phạm Quang Dũng ©2008 Caching „ Caching – nguyên lý quan

Ngày đăng: 11/05/2021, 02:15

TỪ KHÓA LIÊN QUAN