Tìm hiểu về multiprocessor và multithread (nguyên lý hệ điều hành)

26 10 0
Tìm hiểu về multiprocessor và multithread (nguyên lý hệ điều hành)

Đ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

1. Tổng quan về Process và Thread ......................................................... 1 2. Multiprocessor Scheduling ................................................................... 2 2.1. Khái niệm ................................................................................................................ 2 2.2. Đặc trưng ................................................................................................................. 3 2.3. Bài toán tiêu biểu .................................................................................................... 4 2.3.1. Multiprocessor Task Scheduling Simulation (Mô phỏng lập lịch tác vụ đa bộ xử lý) ................................................................................................................................... 4 2.4. So sánh và đánh giá ................................................................................................. 6 3. Multithread Scheduling ........................................................................ 7 3.1. Khái niệm ................................................................................................................ 7 3.2. Đặc trưng ................................................................................................................. 7 3.3. Bài toán tiêu biểu .................................................................................................... 8 3.3.1. Bounded Buffer (Bộ đệm giới hạn) ..................................................................... 8 3.3.2. Reader Writer (Người đọc Người viết) ......................................................... 10 3.3.3. Dining Philosophers (Bữa ăn của các triết gia) ................................................. 12 3.4. So sánh và đánh giá ............................................................................................... 16 KẾT LUẬN .................................................................................................... 18

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CỔNG NGHỆ - - BÁO CÁO MÔN HỌC NGUYÊN LÝ HỆ ĐIỀU HÀNH ĐỀ TÀI: TÌM HIỂU MULTIPROCESSOR SCHEDULING, MULTITHREAD SCHEDULING Họ tên sinh viên: Cung Văn Thắng - 21020939 Nhóm: Hồng Huy Tuấn - 21020948 N15 Giảng viên hướng dẫn: Nguyễn Thị Hậu Hà Nội, ngày 15 tháng 11 năm 2023 LỜI MỞ ĐẦU Trước hết, chúng em muốn bày tỏ lòng biết ơn chân thành tới Nguyễn Thị Hậu hướng dẫn, hỗ trợ, kiến thức sâu sắc mà cô chia sẻ với suốt thời gian qua Đó nhờ đóng góp mà chúng tơi có hội tiếp cận với kiến thức, phương pháp kỹ cần thiết để thực đề tài cách hiệu Bài báo cáo tập trung vào việc tìm hiểu multiprocessor scheduling multithread scheduling, hai khía cạnh quan trọng việc quản lý tài nguyên luồng thực thi môi trường đa xử lý đa luồng Tìm hiểu khái niệm, đặc trưng bản, demo thuật toán toán tiêu biểu liên quan Đồng thời, chúng em thực so sánh đánh giá, từ đưa nhận xét quan trọng Dưới báo cáo chúng em, mong cô nhận xét đánh giá LỜI CAM ĐOAN Chúng em cam đoan tất thông tin cung cấp viết chúng em chân thành nghiên cứu cách kỹ lưỡng để đảm bảo tính xác đầy đủ Những nội dung tơi trình bày tập trung vào khám phá khái niệm chi tiết lập lịch đa xử lý lập lịch đa luồng hệ thống máy tính Chúng em cam đoan thông tin thuật toán lập lịch, vấn đề thách thức liên quan đến việc quản lý nhiều xử lý nhiều luồng xử lý đồng thời trình bày cách rõ ràng dễ hiểu Các nguồn tham khảo tài liệu liên quan đưa để hỗ trợ độc giả việc tìm hiểu thêm chủ đề Cuối cùng, chúng em mong viết mang lại giá trị hiểu biết cho độc giả lập lịch đa xử lý lập lịch đa luồng lĩnh vực khoa học máy tính cơng nghệ thơng tin TĨM TẮT Trong bối cảnh ngày nay, phát triển nhanh chóng cơng nghệ máy tính tạo mơi trường đầy thách thức, đặt yêu cầu cao khả quản lý tài nguyên tối ưu hóa hiệu suất hệ thống Để đối mặt với thách thức này, việc tìm hiểu lập lịch đa xử lý (Multiprocessor Scheduling) lập lịch đa luồng (Multithread Scheduling) trở thành phần thiếu hành trình nghiên cứu phát triển lĩnh vực công nghệ thông tin Bài viết trọng vào việc khám phá sâu rộng khía cạnh quan trọng hai khái niệm cách chúng đóng góp vào hiệu linh hoạt hệ thống máy tính Từ khái niệm process thread đến ứng dụng cụ thể giới thực máy tính đám mây, phát triển ứng dụng, xử lý liệu lớn, trò chơi máy tính, hệ thống nhúng, sâu vào lý thuyết thực tiễn Multiprocessor Scheduling Multithread Scheduling Với tăng cường này, hy vọng độc giả có nhìn tồn diện công nghệ quan trọng cách chúng giúp hình thành hệ thống máy tính linh hoạt, mạnh mẽ, hiệu thời đại ngày DANH MỤC HÌNH Hình 1: Tổng quan Process Thread Hình 2: Multiprocessor Scheduling Hình 3: Multiprocessor Task Scheduling Simulation (Mơ lập lịch tác vụ đa xử lý) Hình 4: Multithread Scheduling Hình 5: Mơ tả tốn Bounded Buffer (Bộ đệm giới hạn) Hình 6: Demo Bounded Buffer (Bộ đệm giới hạn) 10 Hình 7: Mơ tả Reader - Writer (Người đọc - Người viết) 10 Hình 8: Demo Reader - Writer (Người đọc - Người viết) 12 Hình 9: Mô tả Dining Philosophers (Bữa ăn triết gia) 12 Hình 10: Demo TH1 Dining Philosophers (Bữa ăn triết gia) 14 Hình 11: Demo TH2 Dining Philosophers (Bữa ăn triết gia) 16 Hình 12: Ví dụ minh họa 18 MỤC LỤC Tổng quan Process Thread Multiprocessor Scheduling 2.1 Khái niệm 2.2 Đặc trưng 2.3 Bài toán tiêu biểu 2.3.1 Multiprocessor Task Scheduling Simulation (Mô lập lịch tác vụ đa xử lý) 2.4 So sánh đánh giá Multithread Scheduling 3.1 Khái niệm 3.2 Đặc trưng 3.3 Bài toán tiêu biểu 3.3.1 Bounded Buffer (Bộ đệm giới hạn) 3.3.2 Reader - Writer (Người đọc - Người viết) 10 3.3.3 Dining Philosophers (Bữa ăn triết gia) 12 3.4 So sánh đánh giá 16 KẾT LUẬN 18 Tổng quan Process Thread • Khái niệm: Process chương trình chạy hệ điều hành, bao gồm mã máy tính, liệu tài nguyên hệ thống − Độc Lập: Mỗi process thực thể độc lập, có khơng gian nhớ tài ngun riêng biệt, không ảnh hưởng trực tiếp lẫn − Khởi Tạo: Process khởi tạo cách chép quy trình thơng qua hệ điều hành − Tương Tác: Process tương tác thơng qua chế pipes, message queues shared memory − Đa Nhiệm: Hệ điều hành lên lịch thực nhiều process để chia sẻ CPU Thread đơn vị nhỏ quy trình, chứa mã máy tính chia sẻ liệu với luồng khác quy trình − Chia Sẻ Tài Nguyên: Các luồng quy trình chia sẻ không gian nhớ tài nguyên, hoạt động ngữ cảnh quy trình cha − Khởi Tạo: Mỗi quy trình bao gồm luồng, gọi luồng (main thread) Quy trình tạo thêm luồng theo nhu cầu − Tương Tác Dữ Liệu: Các luồng dễ dàng tương tác chia sẻ liệu, cần quản lý đồng hóa để tránh xung đột − Hiệu Suất: Các luồng giúp tăng cường hiệu suất thông qua song song hóa, chẳng hạn việc thực nhiều cơng việc lúc CPU • Hiểu đơn giản − Process: “công việc” mà hệ điều hành thực − Thread: đơn vị CPU Một luồng chia sẻ với luồng khác process thông tin data, liệu Hình 1: Tổng quan Process Thread − Một process chứa nhiều thread bên Khi chạy ứng dụng, hệ điều hành tạo process bắt đầu chạy thread process − Điểm quan trọng cần ý thread làm nhiệm vụ process làm Tuy nhiên, process chứa nhiều thread, thread coi process nhỏ − Một điểm khác biệt nhiều thread nằm process dùng không gian nhớ giống nhau, process khơng Điều cho phép thread đọc viết kiểu cấu trúc liệu, giao tiếp dễ dàng thread với Giao thức process, hay gọi IPC (inter-process communication) tương đối phức tạp liệu có tính tập trung sâu Multiprocessor Scheduling 2.1 Khái niệm Multiprocessor Scheduling việc quản lý lập lịch cho tiến trình hệ thống chứa nhiều CPU (central processing unit) lõi xử lý (cores) Mục tiêu tối ưu hóa sử dụng tài nguyên CPU tất lõi Hình 2: Multiprocessor Scheduling 2.2 Đặc trưng • Nhiều CPU Lõi: − Hệ thống multiprocessor trang bị nhiều CPU lõi xử lý − Ưu điểm: Cho phép thực đồng thời nhiều tiến trình, tăng khả xử lý hệ thống − Hiệu quả: Các CPU lõi làm việc độc lập, lúc thực nhiều cơng việc khác • Song song đồng thời: − Tiến trình thực song song CPU lõi, chạy đồng thời thời điểm − Lợi ích: Tận dụng đồng thời tất tài nguyên có sẵn, gia tăng hiệu suất hệ thống − Hiệu quả: Công việc chờ đợi lẫn nhau, giảm thời gian chờ đợi tăng hiệu suất tổng thể • Lập lịch cân tài nguyên: − Mục tiêu phân phối công việc cách cân CPU lõi để tận dụng hiệu nguồn tài nguyên − Cân bằng: Đảm bảo CPU lõi sử dụng cách đồng đều, tránh tình trạng số CPU làm việc tải, số CPU rảnh rỗi − Giảm Bottleneck: Ngăn chặn tình trạng bottleneck, nâng cao khả xử lý tổng thể hệ thống • Tăng cường Scalability: − Hệ thống multiprocessor có khả mở rộng dễ dàng cần thiết − Mở rộng: Có thể thêm CPU lõi để đáp ứng nhu cầu ngày tăng hệ thống − Linh hoạt: Cung cấp khả linh hoạt việc nâng cấp tối ưu hóa hiệu suất • Đồng hóa quản lý tài nguyên: − Đồng hóa: Cần đồng hóa để quản lý tài nguyên chia sẻ CPU lõi − Quản lý tài nguyên: Phải có chế quản lý tài nguyên thông minh để tránh xung đột đảm bảo tính quán liệu • Tối ưu hóa tổng thể hiệu suất: − Mục Tiêu: Tối ưu hóa hiệu suất tổng thể hệ thống, đảm bảo nguồn lực tận dụng hiệu − Hệ thống multiprocessor mang lại mạnh mẽ linh hoạt việc xử lý quản lý tài nguyên, đồng thời cung cấp khả mở rộng để đáp ứng nhu cầu ngày tăng ứng dụng hệ thống 2.3 Bài toán tiêu biểu 2.3.1 Multiprocessor Task Scheduling Simulation (Mô lập lịch tác vụ đa xử lý) Bài tốn mơ giả lập việc sử dụng nhiều xử lý để thực tiến trình đồng thời Điều hữu ích tình thực tế xử lý tác vụ độc lập, giảm thời gian thực tồn tập hợp cơng việc cách chia thành công việc nhỏ thực chúng song song nhiều tiến trình Sử dụng ExecutorService giúp quản lý lập lịch thực công việc cách linh hoạt hiệu − Vòng lặp for tạo totalTasks công việc gửi chúng vào ExecutorService để thực − Cuối cùng, gọi executorService.shutdown() để đóng ExecutorService tất cơng việc gửi 2.4 So sánh đánh giá Ưu điểm: • Nâng cao hiệu suất hệ thống: − Có thể xử lý nhiều công việc đồng thời, tăng cường hiệu suất tổng thể hệ thống • Cân tài nguyên: − Phân phối công việc cách cân CPU lõi, tránh tình trạng tải tối ưu hóa sử dụng tài ngun • Đảm bảo song song: − Cho phép tiến trình thực song song CPU lõi, giảm thời gian thực thi tăng khả đáp ứng • Giảm thời gian đáp ứng: − Tăng cường khả xử lý giảm thời gian đáp ứng hệ thống tác vụ đa nhiệm Hạn chế: • Độ phức tạp quản lý nhiều CPU tiến trình: − Yêu cầu hệ thống quản lý nhiều CPU tiến trình đồng thời, làm tăng độ phức tạp hệ thống • Sự phân tách đồng bộ: − Điều dẫn đến phân tách đồng tiến trình cần truy cập sửa đổi liệu, đòi hỏi chế đồng hóa phức tạp • Khó khăn lập lịch cân bằng: − Việc lập lịch cân cơng việc nhiều CPU lõi trở nên khó khăn địi hỏi thuật tốn phức tạp • Tăng chi phí phát triển bảo dưỡng: − Cần đầu tư nhiều chi phí việc phát triển bảo dưỡng hệ thống multiprocessor • Khả đồng khơng hồn hảo: − Đồng hóa CPU lõi khơng hồn hảo, dẫn đến tình trạng đồng liệu • Khả mở rộng hạn chế: − Có thể đối mặt với khả mở rộng hạn chế số lượng CPU lõi tăng lên, đặc biệt môi trường đám mây Multithread Scheduling 3.1 Khái niệm Multithread Scheduling việc quản lý lập lịch cho nhiều luồng thực thi (threads) đồng thời CPU (central processing unit) lõi xử lý (cores) Mục tiêu tận dụng tiềm đồng thời tạo ứng dụng đa nhiệm, đa luồng Hình 4: Multithread Scheduling 3.2 Đặc trưng • Lập lịch đa nhiệm: − Multithread scheduling cho phép quản lý lập lịch cho nhiều luồng thực thi lúc, tận dụng đa nhiệm để cải thiện hiệu suất hệ thống • Chia sẻ tài nguyên CPU: − Các luồng ứng dụng chia sẻ tài nguyên CPU lõi xử lý, tăng khả đáp ứng sử dụng hiệu suất CPU hiệu • Đồng hóa cạnh tranh: − Quản lý cạnh tranh luồng chúng truy cập sửa đổi tài ngun, đồng hóa để đảm bảo tính qn liệu • Ưu tiên cơng việc: − Mức độ ưu tiên thiết lập cho luồng để quản lý thực công việc theo độ quan trọng ưu tiên • Quản lý tài nguyên thông minh: − Phân phối tài nguyên CPU cách động, tối ưu hóa việc cấp phát tài nguyên sử dụng chúng • Phân chia thời gian CPU linh hoạt: − Quản lý linh hoạt thời gian CPU luồng tùy thuộc vào yêu cầu ưu tiên, tối ưu hóa hiệu suất hệ thống 3.3 Bài toán tiêu biểu 3.3.1 Bounded Buffer (Bộ đệm giới hạn) ▪ Mơ tả: Bài tốn Bounded Buffer (Bộ đệm giới hạn) mơ tả tình có hai loại cơng việc chính: sản xuất (produce) tiêu thụ (consume) liệu Cả hai loại công việc chia sẻ vùng nhớ chung, gọi buffer, có giới hạn (bounded) kích thước buffer Hình 5: Mơ tả tốn Bounded Buffer (Bộ đệm giới hạn) • Buffer (Bộ Nhớ Chia Sẻ): − Buffer khu vực chia sẻ liệu thread sản xuất tiêu thụ − Buffer có kích thước giới hạn, nghĩa có số lượng hữu hạn phần tử tồn buffer lúc • Thread sản xuất: − Các thread sản xuất có nhiệm vụ thêm liệu vào buffer − Trước thêm liệu, cần kiểm tra xem buffer có cịn chỗ trống hay khơng Nếu buffer đầy, thread sản xuất phải đợi có chỗ trống − Sau thêm liệu, thread sản xuất thông báo cho thread tiêu thụ biết buffer có liệu • Thread tiêu thụ: − Các thread tiêu thụ có nhiệm vụ lấy liệu từ buffer − Trước lấy liệu, cần kiểm tra xem buffer có liệu hay không Nếu buffer trống, thread tiêu thụ phải đợi có liệu − Sau lấy liệu, thread tiêu thụ thông báo cho thread sản xuất biết có chỗ trống buffer • Đồng hóa: − Sử dụng chế đồng hóa locks, conditions để đảm bảo thread sản xuất tiêu thụ không lúc thay đổi buffer mà khơng đồng • Xử lý lỗi: − Xử lý trường hợp đặc biệt buffer đầy buffer trống để tránh deadlock starvation − Có thể có biện pháp phịng tránh bỏ qua ghi log buffer đầy ▪ Pseudocode: ▪ Demo: Hình 6: Demo Bounded Buffer (Bộ đệm giới hạn) 3.3.2 Reader - Writer (Người đọc - Người viết) ▪ Mơ tả: Bài tốn Reader - Writer mơ tả tình có nhiều người đọc (readers) nhiều người viết (writers) truy cập tài nguyên liệu chia sẻ Mục tiêu đảm bảo an toàn, đồng hiệu trình truy cập liệu Hình 7: Mơ tả Reader - Writer (Người đọc - Người viết) • Người đọc: − Có thể đọc lúc nhiều người đọc − Nếu người viết thực hiện, người đọc truy cập tự 10 • Người viết: − Chỉ người viết phép truy cập vào lúc − Khi có người viết thực hiện, khơng có người đọc phép truy cập • Đồng hóa: − Tránh tượng đọc chờ viết vơ hạn viết chờ đọc vô hạn để đảm bảo công độ ưu tiên người đọc người viết • Giải pháp: − Semaphores: Dùng để theo dõi số lượng người đọc người viết − Mutex (Lock): Bảo vệ định người đọc người viết, đảm bảo tính đồng ▪ Pseudocode: ▪ Demo: 11 Hình 8: Demo Reader - Writer (Người đọc - Người viết) 3.3.3 Dining Philosophers (Bữa ăn triết gia) ▪ Mơ tả: Bài tốn Dining Philosophers tốn kinh điển lĩnh vực đồng hóa multithread scheduling, sử dụng để minh họa thách thức việc quản lý tài nguyên chung cách an tồn luồng xử lý Bài tốn mơ tình nhà triết học ngồi quanh bàn để ăn, họ có số lượng hữu hạn đũa để sử dụng Hình 9: Mơ tả Dining Philosophers (Bữa ăn triết gia) 12 • Philosophers (5 nhà triết gia): − Có nhà triết gia ngồi quanh bàn tròn − Mỗi nhà triết gia có đũa đũa rỗng để ăn • Bàn ăn: − Trên bàn có đũa rỗng − Các nhà triết gia cần hai đũa (trái phải) để ăn • Hành động: − Mỗi nhà triết gia thực hành động: nghỉ (thinking) ăn (eating) − Để ăn, nhà triết gia cần lấy đũa từ bàn, sau ăn, sau đặt đũa trở lại bàn • Thách thức: − Đảm bảo khơng có nhà triết gia ăn lúc − Tránh tình trạng xếp đợt chờ số nhà triết gia nghỉ cịn số ăn • Giải pháp: − Sử Dụng Semaphore Mutex: − Mỗi đũa bàn biểu diễn semaphore − Sử dụng mutex để đảm bảo tính đồng thay đổi trạng thái đũa bàn ▪ Pseudocode: ▪ Demo: TH1: Xảy bế tắc Trong toán Dining Philosophers, tình trạng bế tắc xảy nhà triết gia giữ đũa chờ đợi để lấy đũa cịn lại, đồng thời có nhà triết gia khác giữ đũa lại chờ để lấy đũa mà nhà triết gia giữ Điều tạo vòng lặp chờ đợi không kết thúc, dẫn đến deadlock 13 Đối với nhà triết học, tình trạng xảy định họ việc lấy đũa thời điểm chờ đợi không đồng quản lý chặt chẽ Điều ví dụ điển hình cần thiết việc đồng hóa quản lý tài nguyên chia sẻ để tránh deadlock hệ thống đa luồng Hình 10: Demo TH1 Dining Philosophers (Bữa ăn triết gia) TH2: Khắc phục bế tắc Để khắc phục tình trạng bế tắc (deadlock) tốn Dining Philosophers, có số kỹ thuật chiến lược mà sử dụng Dưới số phương pháp khắc phục bế tắc tốn này: • Phải giữ hai đũa lúc: − Mỗi nhà triết học phép bắt đầu ăn họ giữ hai đũa lúc Điều giảm khả xảy tình trạng bế tắc, ngăn chặn việc nhà triết học giữ đũa đợi đợt để giữ đũa lại • Sử dụng đồng hóa đa cấp: 14 − Sử dụng cấp độ đồng hóa để đảm bảo nhà triết học giữ hai đũa lúc mà không nhận cho phép từ nguồn tài nguyên chung • Đặt giới hạn thời gian cho việc giữ đũa: − Nếu nhà triết học giữ hai đũa khoảng thời gian đó, họ đặt lại đũa thử lại sau khoảng thời gian ngắn Điều giúp tránh tình trạng bế tắc kéo dài • Sử dụng nguyên tắc “chờ không chặn”: − Sử dụng nguyên tắc “chờ không chặn” để đảm bảo nhà triết học không giữ đũa thời gian dài mà khơng giải phóng tài ngun cho nhà triết học khác • Ngắt kỹ thuật dựa theo thứ tự: − Sắp xếp thứ tự cố định cho việc nhà triết học lấy đũa, chẳng hạn theo số thứ tự họ Điều giúp tránh tình trạng xếp đợt chờ đợi dài hạn nhà triết học • Sử dụng thêm Semaphore Lock: − Sử dụng thêm Semaphore Lock để đồng hóa q trình giữ trả lại đũa, đảm bảo tính ngun tắc tránh tình trạng cạnh tranh Mỗi phương pháp kết hợp điều chỉnh tùy thuộc vào yêu cầu cụ thể hệ thống Quan trọng phải đảm bảo giải pháp đưa khơng giúp tránh deadlock mà cịn đảm bảo công hiệu suất hệ thống 15 Hình 11: Demo TH2 Dining Philosophers (Bữa ăn triết gia) 3.4 So sánh đánh giá Ưu điểm: • Tận dụng tiềm đồng thời CPU: − Multithreading tận dụng sức mạnh CPU cách thực nhiều công việc đồng thời, gia tăng hiệu suất tổng thể • Cải thiện hiệu suất ứng dụng: − Luồng đồng thời giúp cải thiện hiệu suất ứng dụng, đặc biệt tình đa nhiệm đa nhiệm đồng thời • Chia sẻ tài nguyên: − Cho phép nhiều luồng chia sẻ tài nguyên, giúp tối ưu hóa sử dụng CPU tài nguyên hệ thống • Đồng hóa: − Đảm bảo đồng hóa luồng, ngăn chặn xung đột đảm bảo tính quán liệu 16 Hạn Chế: • Quản lý đồng thời đồng hóa: − Đòi hỏi kỹ thuật quản lý đồng thời để đảm bảo khơng có xung đột liệu luồng − Cần đồng hóa để giữ cho thứ tự thực đắn • Xử lý cạnh tranh luồng: − Tăng khả cạnh tranh luồng, đặc biệt chúng truy cập sửa đổi liệu chia sẻ • Phức tạp việc debug test: − Việc theo dõi gỡ lỗi mơi trường multithreading phức tạp so với ứng dụng single-threaded • Nguy Deadlock Starvation: − Tăng nguy xảy deadlock starvation quản lý tài nguyên chia sẻ luồng • Khả chia sẻ tài nguyên không hiệu quả: − Trong số trường hợp, việc chia sẻ tài ngun dẫn đến hiệu suất khơng hiệu cạnh tranh đồng hóa 17 KẾT LUẬN Multiprocessor hệ thống chứa nhiều CPU (Central Processing Unit), giúp tăng cường khả xử lý hệ thống Mỗi CPU Multiprocessor xử lý nhiều Process riêng biệt Một Process, đó, chứa nhiều công việc (Threads) Các Process hệ thống Multiprocessor chia sẻ tài nguyên tương tác thông qua chế Inter-Process Communication (IPC) Mỗi Process có khơng gian nhớ riêng, giữ cho chúng cô lập với nhau, Threads Process chia sẻ không gian nhớ chung, giúp tương tác dễ dàng Ví dụ minh họa: Hình 12: Ví dụ minh họa Phịng khám (CPU): Phịng khám đại diện cho CPU, nơi thực xử lý công việc y tế quản lý trình nhiệm vụ Process (Bệnh nhân): Mỗi bệnh nhân đến phòng khám đại diện cho Process Mỗi Process (bệnh nhân) có yêu cầu nhu cầu y tế cụ thể Thread (Nhiệm vụ bệnh nhân khám bệnh): Mỗi bệnh nhân (Process) có nhiều nhiệm vụ cụ thể đo huyết áp, làm xét nghiệm máu chụp X-quang Mỗi nhiệm vụ xem Thread Các Thread Process chia sẻ khơng gian phịng khám (CPU), giúp thực công việc cụ thể cách đồng thời • Multiprocessor Scheduling (Quản lý lập lịch cho nhiều q trình): Ưu điểm: Nếu có nhiều bệnh nhân đến phòng khám lúc, multiprocess scheduling đảm bảo Process (bệnh nhân) phân chia xử lý đồng 18 thời nhiều xử lý khu vực chăm sóc khác phịng khám Điều giúp tối ưu hóa sử dụng tài nguyên giảm thời gian chờ đợi bệnh nhân Hạn chế: Nếu có nhiều Process (bệnh nhân) chờ đợi phịng khám, số phịng tải số khác sử dụng, dẫn đến hiệu suất khơng cân đối • Multithread Scheduling (Quản lý lập lịch cho nhiều nhiệm vụ): Ưu điểm: Khi bệnh nhân có nhiều nhiệm vụ (Thread) cần thực hiện, multithread scheduling giúp đảm bảo nhiệm vụ thực đồng thời hiệu quả, chẳng hạn đo huyết áp làm xét nghiệm máu diễn lúc mà không ảnh hưởng lẫn Hạn chế: Nếu nhiều bác sĩ thao tác hồ sơ bệnh nhân mà khơng có đồng hóa, thơng tin hồ sơ trở nên khơng qn gây vấn đề an toàn chất lượng chăm sóc y tế 19 TÀI LIỆU THAM KHẢO [1] Abraham Silberschatz (2012) Operating System Concepts 9th Edition [2] Viblo https://viblo.asia/p/process-thread-single-threaded-multithreaded4P856JR35Y3 [3] NLHĐH-Bai-3.pdf [4] NLHĐH-Bai-4.pdf

Ngày đăng: 11/12/2023, 00:37

Tài liệu cùng người dùng

Tài liệu liên quan