Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 101 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
101
Dung lượng
1,63 MB
Nội dung
SỞ LAO ĐỘNG TB&XH TỈNH HÀ NAM TRƢỜNG CAO ĐẲNG NGHỀ HÀ NAM GIÁO TRÌNH MƠN HỌC: HỆ ĐIỀU HÀNH NGHỀ: KỸ THUẬT SC&LR MÁY TÍNH TRÌNH ĐỘ: TRUNG CẤP (Ban hành kèm theo Quyết định số: 285./QĐ-CĐNHN ngày 21 tháng năm 2017 Hiệu trưởng trường Cao đẳng nghề Hà Nam) Hà Nam, năm 2017 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin đƣợc phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam LỜI GIỚI THIỆU Trong hệ thống kiến thức chuyên nghành trang bị cho sinh viên Công nghệ Thông tin (CNTT), giáo trình hệ điều hành góp phần cung cấp nội dung kiến thức chung hệ điều hành, nội dung liên quan đến việc mô tả phƣơng pháp giả toán điều khiển hoạt động hệ thống máy tính Nội dung giáo trình hệ điều hành thuộc vào hệ thống kiến thức phần mềm hệ thống, cung cấp kiến thức nhằm thực hai nguyên lý hệ thống máy tính đƣợc Von Neumann phát biểu, ngun lý “hoạt động theo chƣơng trình” Các nội dung đƣợc trình bày giáo trình bao gồm năm chƣơng đƣợc giới thiệu nhƣ dƣới Chƣơng 1: Giới thiệu chung hệ điều hành Chƣơng 2: Điều khiển CPU, điều khiển trình Chƣơng 3: Hệ Điều hành Đa xử lý Hà Nam, Ngày….Tháng….Năm 2017 Tác giả biên soạn: Chu Thị Hồng Nhung Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam MỤC LỤC TUYÊN BỐ BẢN QUYỀN: LỜI GIỚI THIỆU MỤC LỤC GIÁO TRÌNH MƠN HỌC CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Khái niệm hệ điều hành …… 1.1 Tài nguyên hệ thống 1.2 Khái niệm hệ điều hành 10 Phân loại hệ điều hành 15 2.1 Các thành phần hệ điều hành 15 2.2 Phân loại hệ điều hành 20 2.3 Các tính chất hệ điều hành 27 2.4 Phân lớp chƣơng trình thành phần điều khiển 28 2.5 Chức hệ điều hành 35 2.6 Nhân hệ điều hành, tải hệ điều hành 37 3.Sơ lƣợc lịch sử phát triển hệ điều hành 38 CHƢƠNG 2: ĐIỀU KHIỂN CPU, ĐIỀU KHIỂN QUÁ TRÌNH 58 1.Các khái niệm 58 1.1.Khái niệm trình 58 1.2 Quan hệ trình 60 2.Trạng thái trình 61 2.1 Sơ đồ không gian trạng thái (SNAIL) 61 2.2 Một số khối điều khiển trình 62 Điều phối trình 67 3.1 Nguyên tắc chung 67 3.2 Các trình lập lịch (long term, short term) 70 Các thuật toán lập lịch 71 4.1 First Come First Served (FCFS) 71 4.2.Shortest Job First (SJF) 73 4.3 Shortest Remain Time (SRT) 76 4.4.Round Robin (RR) 77 4.5 Multi Level Queue (MLQ) 79 4.5.Multi Level Queue (MLQ) 79 4.6 Multi Level Feedback Queues (MLFQ) 80 Hệ thống ngắt 85 5.1 Khái niệm ngắt 85 5.2 Xử lý ngắt 85 6.Hiện tƣợng bế tắc 87 6.1 Khái niệm bế tắc 88 6.2 Các biện pháp phòng tránh bế tắc 89 6.3 Phát bế tắc 89 6.4 Xử lý bế tắc 89 6.5 Kết luận chung phòng tránh bế tắc 90 CHƢƠNG 3: HỆ ĐIỀU HÀNH ĐA XỬ LÝ 93 Hệ điều hành đa xử lý tập trung 94 1.1 Hệ thống đa xử lý 94 1.2 Hệ điều hành đa xử lý tập trung 96 Hệ điều hành đa xử lý phân tán 97 2.1 Giới thiệu hệ phân tán 97 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 2.2 Đặc điểm hệ phân tán 98 TÀI LIỆU THAM KHẢO 100 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam GIÁO TRÌNH MƠN HỌC Tên mơn học: Hệ điều hành Mã mơn học: MH 29 Vị trí, tính chất, ý nghĩa, vai trị mơn học: - Vị trí: mơn học đƣợc bố trí sau sinh viên học xong mơn học chung, trƣớc môn học, mô đun đào tạo chuyên mơn - Tính chất: mơn học đào tạo sở Mục tiêu môn học: - Về kiến thức: + Hiểu vai trò hệ điều hành hệ thống máy tính + Biết giai đoạn phát triển hệ điều hành + Hiểu chức nguyên lý làm việc hệ điều hành + Hiểu cách giải vấn đề phát sinh liên quan đến hệ điều hành - Về kỹ năng: + Tính tốn giá trị tài ngun theo mẫu ví dụ tƣơng ứng; + Thuyết trình nhận thức thuật toán chia sẻ tài nguyên điều phối q trình CPU, giải pháp phịng chống bế tắc cách phòng tránh bế tắc; + Thao tác thực hành kỹ năng, xử lý tình với hệ điều hành cụ thể đƣợc cài đặt (WINDOWS, HĐH Mạng ) - Về lực tự chủ trách nhiệm: + Có khả tiếp nhận, ghi chép chuyển thông tin theo yêu cầu; + Biết đƣợc yêu cầu, tiêu chuẩn, kết vị trí cơng việc; + Có khả làm việc nhóm, tổ chức, thực nhiệm vụ chịu trách nhiệm kết cơng việc Nội dung môn học Thời gian (giờ) Mã Tên chƣơng mục Giáo trình : Hệ điều hành Tổng số Lý thuyết Thực hành/ Kiểm thí nghiệm/ tra* thảo luận/ Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam tập MH15- Chƣơng 1: Tổng quan hệ điều 10 hành 01 14 15 27 1.Khái niệm hệ điều hành 2.Phân loại hệ điều hành 3.Sơ lƣợc lịch sử phát triển HĐH MH15- Chƣơng 2: Điều khiển CPU, Điều 25 khiển trình 02 1.Các khái niệm 2.Trạng thái trình 3.Điều phối q trình 4.Các thuật tốn lập lịch 5.Hệ thống ngắt Hiện tƣợng bế tắc MH15- Chƣơng 3: Hệ điều hành đa xử lý 10 03 1.Hệ điều hành đa xử lý tập trung 2.Hệ điều hành đa xử lý phân tán Cộng Giáo trình : Hệ điều hành 45 Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Mã chƣơng: MH29-01 Giới thiệu: Nếu khơng có phần mềm, máy tính thiết bị điện tử thông thƣờng Với hỗ trợ phần mềm, máy tính lƣu trữ, xử lý thơng tin ngƣời sử dụng gọi lại đƣợc thơng tin Phần mềm máy tính chia thành nhiều loại: chƣơng trình hệ thống, quản lý hoạt động máy tính Chƣơng trình ứng dụng, giải vấn đề liên quan đến việc sử dụng khai thác máy tính ngƣời sử dụng Hệ điều hành thuộc nhóm chƣơng trình hệ thống chƣơng trình hệ thống quan trọng máy tính ngƣời sử dụng Hệ điều hành điều khiển tất tài ngun máy tính cung cấp mơi trƣờng thuận lợi để chƣơng trình ứng dụng ngƣời sử dụng viết chạy đƣợc máy tính Trong chƣơng xem xét vai trò hệ điều hành trƣờng hợp Một máy tính đại bao gồm: nhiều processor, nhớ chính, clocks, đĩa, giao diện mạng, thiết bị vào/ra khác Tất tạo thành hệ thống phức tạp Để viết chƣơng trình để theo dõi tất thành phần máy tính sử dụng chúng cách hiệu quả, ngƣời lập trình phải biết processor thực chƣơng trình nhƣ nào, nhớ lƣu trữ thông tin nhƣ nào, thiết bị đĩa làm việc (ghi/đọc) nhƣ nào, lỗi xảy đọc block đĩa, … công việc khó khăn q khó ngƣời lập trình Nhƣng may cho ngƣời lập trình ứng dụng ngƣời sử dụng công việc đƣợc hệ điều hành hỗ trợ nên họ không cần quan tâm đến Chƣơng cho nhìn tổng quan liên quuan đến việc thiết kế cài đặt nhƣ chức hệ điều hành để hệ điều hành đạt đƣợc mục tiêu: Giúp ngƣời sử dụng khai thác máy tính dễ dàng chƣơng trình ngƣời sử dụng chạy đƣợc máy tính Mục Tiêu: Học xong chương người học có khả năng: - Nắm đƣợc yêu cầu cần có hệ điều hành - Nắm đƣợc khái niệm hệ điều hành, chức năng, phân loại thành phần hệ điều hành Nội Dung Chính: Khái niệm hệ điều hành Mục tiêu: Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam - Nắm yêu cầu cần có hệ điều hành, khái niệm hệ điều hành, chức hệ điều hành 1.1 Tài nguyên hệ thống Các loại tài nguyên hệ thống khác Tài nguyên hệ thống(System) đƣợc sử dụng phần cứng phần mềm để giao tiếp với Khi phần mềm muốn gửi liệu đến thiết bị, chẳng hạn nhƣ bạn muốn lƣu tệp vào ổ cứng phần cứng cần ý, chẳng hạn nhƣ nhấn phím bàn phím Có bốn loại tài ngun hệ thống mà gặp phải vận hành hệ thống, là: Các kênh Truy cập Bộ nhớ Trực tiếp (DMA) Dòng yêu cầu ngắt (IRQ) Địa đầu vào đầu Địa nhớ Khi nhấn phím bàn phím, bàn phím muốn thơng báo cho CPU biết phím đƣợc nhấn nhƣng CPU bận chạy số quy trình khác nên dừng nó hồn thành nhiệm vụ tầm tay Để giải vấn đề này, phải triển khai thứ gọi dòng yêu cầu ngắt (IRQ)(interrupt request lines (IRQ)) , thực xác nghe giống nhƣ ngắt CPU cho CPU biết có u cầu xuất từ bàn phím, bàn phím đặt điện áp đƣờng IRQ đƣợc định cho Điện áp đóng vai trị nhƣ tín hiệu cho CPU có thiết bị có yêu cầu cần đƣợc xử lý Hệ điều hành liên quan đến nhớ nhƣ danh sách dài mà sử dụng để chứa liệu hƣớng dẫn, giống nhƣ bảng tính chiều Hãy(Think) coi địa nhớ nhƣ số ghế rạp hát, ghế đƣợc gán số có ngƣời ngồi hay khơng Ngƣời ngồi ghế số loại liệu dẫn Hệ điều hành không ngƣời theo tên mà đề cập đến số ghế Ví dụ, hệ điều hành nói, muốn in liệu địa nhớ 500 Các địa thƣờng đƣợc hiển thị hình dƣới dạng số thập lục phân dạng bù phân đoạn Địa đầu vào - đầu ra(Input-output) cịn đƣợc gọi đơn giản cổng, CPU sử dụng để truy cập thiết bị phần cứng giống nhƣ cách sử dụng địa nhớ để truy cập nhớ vật lý Bus địa bo mạch chủ(address bus on the motherboard) mang địa nhớ mang địa đầu vào - đầu Nếu bus địa đƣợc thiết lập để mang địa đầu vào-đầu ra, thiết bị phần cứng lắng nghe bus Ví dụ, CPU muốn giao tiếp với bàn phím, đặt địa Input-Output bàn phím bus địa Khi địa đƣợc đặt, CPU thông báo địa cho tất thiết bị Đầu vàoĐầu ra(Input-Output) nằm dòng địa Bây tất điều khiển đầu vào-đầu lắng nghe địa chúng, điều khiển ổ cứng nói khơng phải địa tơi, điều khiển đĩa mềm nói khơng phải địa tơi nhƣng điều khiển bàn phím(keyboard) cho biết địa tôi, trả lời Vì vậy, cách bàn Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam phím(keyboard) tƣơng tác với xử lý phím đƣợc nhấn Một cách khác để suy nghĩ cách làm việc đƣờng địa Đầu vào-Đầu ra(Input-Output) xe buýt hoạt động giống nhƣ đƣờng dây bên điện thoại cũ - Tất cả(All) thiết bị nghe thấy địa nhƣng cuối có thiết bị phản hồi Một tài nguyên hệ thống khác đƣợc phần cứng phần mềm sử dụng kênh Truy cập Bộ nhớ Trực tiếp(Direct Memory Access) ( DMA ) Đây phƣơng pháp phím tắt cho phép thiết bị đầu vào-đầu gửi liệu trực tiếp đến nhớ mà bỏ qua CPU hoàn toàn Một số thiết bị nhƣ máy in đƣợc thiết kế để sử dụng kênh DMA thiết bị khác nhƣ chuột khơng Các kênh DMA(DMA) khơng cịn phổ biến nhƣ trƣớc thiết kế chúng khiến chúng chậm nhiều so với phƣơng pháp Tuy nhiên, thiết bị chậm nhƣ ổ đĩa mềm, card âm ổ băng sử dụng kênh DMA Vì vậy, thiết bị phần cứng gọi CPU để đƣợc ý cách sử dụng Yêu cầu (Requests)ngắt(Interrupt) Phần mềm gọi phần cứng địa đầu vào-đầu thiết bị phần cứng Phần mềm xem nhớ nhƣ thiết bị phần cứng gọi địa nhớ Các kênh DMA(DMA) truyền liệu qua lại thiết bị phần cứng nhớ Khuyến nghị: (Recommended:) 11 mẹo để cải thiện hiệu suất chậm Windows 10(11 Tips To Improve Windows 10 Slow Performance) Vì vậy, cách phần cứng giao tiếp với phần mềm để phân bổ quản lý tài nguyên hệ thống cách hiệu Các lỗi xảy Tài nguyên (Resources)Hệ thống(System) gì? Lỗi tài nguyên hệ thống(System) , chúng lỗi tồi tệ Một lúc sử dụng máy tính thứ ổn, tất cần làm chƣơng trình ngốn tài nguyên, nhấp đúp vào biểu tƣợng nói lời tạm biệt với hệ thống hoạt động Nhƣng lại nhƣ vậy, lập trình tồi nhƣng chí cịn phức tạp điều xảy hệ điều hành đại Bất kỳ chƣơng trình đƣợc thực thi cần thông báo cho hệ điều hành lƣợng tài nguyên mà cần để chạy định thời gian cần tài ngun Đơi khi, điều khơng thực đƣợc chất trình chƣơng trình chạy Đây đƣợc gọi rị rỉ nhớ(memory leak) Tuy nhiên, chƣơng trình phải trả lại nhớ tài nguyên hệ thống mà yêu cầu trƣớc Và khơng, thấy lỗi nhƣ: " Máy tính bạn hết nhớ(Your computer is low on memory) " " Hệ thống(System) thiếu tài nguyên cách nguy hiểm" “ Không đủ(Insufficient) tài nguyên hệ thống để hoàn thành dịch vụ đƣợc yêu cầu” Và Làm chúng tơi sửa lỗi tài nguyên hệ thống(System Resource) ? Là kết hợp phím thần kỳ 'Alt' + 'Del' + 'Ctrl', yếu tố cho phải đối mặt với tình trạng hệ thống thƣờng xuyên bị đóng băng Nhấn vào đƣa chúng tơi trực tiếp đến Trình quản lý tác vụ(Task Manager) Điều cho Giáo trình : Hệ điều hành Trang Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam quan hệ với lệnh máy thực Ngắt xảy thực lệnh, tác động từ thân lệnh Nếu chế xử lý ngắt khơng thích hợp loại bỏ lệnh máy thực Thuận lợi xử lý ngắt sau thực lệnh việc ghi nhận ngắt độc lập với thực lệnh Cơ chế ghi nhận ngắt nằm ngồi chƣơng trình xử lý ngắt Có nhiều phƣơng pháp liên quan đến xử lý ngắt nhƣng quy trình chung đƣợc mơ tả qua bƣớc: Tại ô nhớ quy định, ghi nhận đặc trƣng số hiệu ngắt vừa phát sinh (tùy thuộc vào số liệu đƣợc đƣa vào ô nhớ tƣơng ứng) Ví dụ với máy IBM 360-370 có số hiệu để phân biệt kiểu ngắt nhƣ sau: -Ngắt vào-ra -Ngắt theo chƣơng trình: vi phạm cách thức phƣơng tiện máy: lệnh khơng quy; liệu khơng quy; -Ngắt hƣớng tới supervisor (gọi chƣơng trình supervisor thay chế độ làm việc CPU); -Ngắt ngồi: có tín hiệu hƣớng tới CPU, ngắt theo thời gian, ngắt có tín hiệu xử lý khác…; -Ngắt theo sơ đồ kiểm tra Ghi nhớ trạng thái trình bị ngắt: giá trị đếm lệnh (chú ý từ trạng thái chƣơng trình PSW: Program Status Word, bàn điều khiển có hàng đèn tƣơng ứng với từ máy…) Thanh ghi địa lệnh hƣớng tới địa để xử lý ngắt Ngắt đƣợc xử lý Quay lại trình bị ngắt (nếu đƣợc) Các bƣớc 1-3 thành phần chức máy tính đảm nhận, bƣớc 4-5 chƣơng trình xử lý ngắt đảm nhận Bước chương trình xử lý ngắt tiến hành công việc: Ghi nhớ bổ sung số thông tin mà cách thức phƣơng tiện (bƣớc 2) chƣa ghi hết, ví dụ, bƣớc ghi PSW cịn chƣơng trình xử lý ngắt phải bảo vệ trạng thái trình bị ngắt việc lƣu trữ hệ thống ghi chung cơng việc nói địi hỏi vùng nhớ định (chẳng hạn, với IBM, EC đòi hỏi vùng 72 bytes cho 16 địa chuyển đổi) Định danh chƣơng trình xử lý ngắt Thông tin bƣớc phận chƣơng trình xử lý ngắt: loại ngắt chƣơng trình ngắt riêng, ví dụ ngắt vào (thiết lập cách thức phƣơng tiện bƣớc 1) khác biệt hoàn toàn với ngắt hƣớng tới supervisor (phân tích tác động supervisor) - Thực tác động tƣơng ứng với ngắt đƣợc định danh Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 86 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Các tác động đơn giản Ví dụ, thiết lập dấu hiệu nhƣ trạng thái tràn ô, quay lại băng từ chuyển sang việc chuẩn bị đọc đọc sai.v.v… Nếu khơng q gấp, chƣơng trình xử lý ngắt tƣơng ứng đƣợc ghi vào dịng xếp hàng q trình trạng thái chuẩn bị Chƣơng trình xử lý ngắt đảm bảo việc quay trạng thái bình thƣờng CPU (chọn trình ngƣời dùng để thực hiện) tùy thuộc vào: -Kiểu ngắt; -Kiểu chƣơng trình điều phối CPU đƣợc sử dụng Từ yếu tố xác định công việc kết khối, trạng thái chuẩn bị công việc đƣợc chọn tiếp theo… Chú ý: Một số tác động chƣơng trình xử lý ngắt đƣợc thực chậm để nhớ đƣa giải pháp số phận chƣơng trình xử lý ngắt đƣợc đặt thƣờng trực nhớ nhƣ phần nhân hệ thống Nếu chƣơng trình xử lý ngắt lớn, đƣợc chia làm hai phần: phần thƣờng trực phần khơng thƣờng trực Nhiều ngắt có quan hệ đến điều khiển CPU (ngắt theo thời gian, ngắt theo hoạt động thiết bị, ngắt hồn thiện vào/ra) Q trình điều phối làm khơng q trình ngƣời dùng mà phận khác hệ điều hành (bao hàm chƣơng trình xử lý ngắt mức 2; chƣơng trình thống kê; điều phối chính; tải chí điều phối) Ngắt đa mức Ngắt xảy chƣơng trình ngƣời dùng, xảy q trình xử lý ngắt Đây tình đƣợc gọi ngắt đa mức Xử lý ngắt đa mức sao? -Phân cấp loại ngắt theo độ ƣu tiên, thông thƣờng ngắt liên quan tới cách thức kĩ thuật có độ ƣu tiên thấp so với ngắt có liên quan đến hệ điều hành Ví dụ: ngắt gọi supervisor có độ ƣu tiên cao so với ngắt vào/ra -Chọn ngắt đƣợc xử lý trƣớc tiên: ngắt cũ ngắt mới, việc tùy thuộc vào kiểu hai ngắt Ngắt đƣợc giải (ngắt trội hơn), bị hủy bỏ, chờ để giải Xử lý ngắt đa mức theo độ ƣu tiên khác đƣợc đảm bảo theo cách thức phƣơng tiện khác ghi nhận kiểu ngắt khác ô nhớ khác 6.Hiện tƣợng bế tắc Mục tiêu : Nắm đƣợc khái niệm bế tắc, biện pháp phòng tránh, xử lý bế tắc Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 87 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 6.1 Khái niệm bế tắc Bế tắc tƣợng nhóm q trình bị kết khối cách lâu dài trình nhóm chiếm tập tài nguyên để hồn thiện q trình chờ đợi việc giải phóng số tài ngun cịn lại bị q trình thuộc nhóm chiếm giữ Một ví dụ dễ thấy tƣợng yêu cầu chu trình thiết bị: có q trình, A chiếm giữ thiết bị đòi hỏi thiết bị 2, B chiếm giữ thiết bị đòi hỏi thiết bị 3, C chiếm giữ thiết bị địi hỏi thiết bị Chúng ta có hai trình Pr1 Pr2 Chúng chia xẻ hai tài nguyên p1 p2 để loại trừ ràng buộc, hai trình sử dụng semaphore s1cho tài nguyên p1 semaphore s2 cho tài nguyên p2 Việc sử dụng semaphore nói thân thủ tục đƣợc trình bày nhƣ dƣới Pr1:… Pr2:… 1.P(s1) 5.P(s2) … … 2.P(s2) 6.P(s1) … … 3.V(s1) 7.V(s1) …… 4.V(s2) 8.V(s2) … … Ban đầu, hai semaphore có giá trị Xem xét trƣờng hợp theo thời gian, dãy trạng thái đòi hỏi nhu cầu giải phóng biến chung dãy 1,2,5,3,4,6,7 Khi thủ tục Pr2 có nhu cầu p2 (lệnh 5), bị kết khối p2 đƣợc Pr1 dùng Chỉ sau Pr1 thực giải phóng p2 (lệnh 4) Pr2 đƣợc tách khối Đến dãy thực câu lệnh trở thành 5,1,6,2 Pr2 bị kết khối đòi hỏi p1 (lệnh 6) Pr1 bị kết khối đòi hỏi p2 (lệnh 2): Pr1 chờ đợi Pr2 tới lệnh Pr2 chờ đợi Pr1 tới lệnh Hiện tƣợng bế tắc xuất hai trình chờ đợi lẫn Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 88 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 6.2 Các biện pháp phịng tránh bế tắc Chủ yếu có ba hƣơng tiếp cận để xử lý tắc nghẽn : - Sử dụng vài giao thức (protocol) để bảo đảm hệ thống không xảy tắc nghẽn HĐH khơng có khả chống Deadlock Lý dung phƣơng pháp này: Do xác suất xảy đealock nhỏ Giải deadlock địi hỏi chi phí cao Xử lý tay ngƣời quản trị hệ thống làm Đây giải pháp hầu hết hệ điều hành - Cho phép xảy tắc nghẽn tìm cách sửa chữa tắc nghẽn - Hoàn toàn bỏ qua việc xử lý tắc nghẽn, xem nhƣ hệ thống không xảy tắc nghẽn 6.3 Phát bế tắc Một câu hỏi đặt tính tốn để khẳng định đƣợc hay không khẳng định q trình rơi vào tình trạng bế tắc Để tính tốn đƣợc điều này, hệ điều hành cần đƣa danh sách tài nguyên mà trình chờ đợi danh sách trình chờ đợi tài nguyên mà không đƣợc thỏa mãn Để đốn nhận việc bế tắc xảy hay khơng cần có thơng tin để kiểm sốt nhu cầu tài nguyên trình Rõ ràng khơng phải tình trạng cần tài ngun xảy bế tắc Có số thuật tốn dựa vào danh sách liệt kê để đoán nhận đƣợc bế tắc xảy để loại bỏ 6.4 Xử lý bế tắc Đình hoạt động tiến trình liên quan Cách tiếp cận dựa việc thu hồi lại tài nguyên tiến trình bị kết thúc Có thể sử dụng hai phƣơng pháp sau : Đình tất tiến trình tình trạng tắc nghẽn Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 89 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Đình tiến trình liên quan khơng cịn chu trình gây tắc nghẽn : để chọn đƣợc tiến trình thích hợp bị đình chỉ, phải dựa vào yếu tố nhƣ độ ƣu tiên, thời gian xử lý, số lƣợng tài nguyên chiếm giữ , số lƣợng tài nguyên yêu cầu Thu hồi tài nguyên Có thể hiệu chỉnh tắc nghẽn cách thu hồi số tài nguyên từ tiến trình cấp phát tài nguyên cho tiến trình khác loại bỏ đƣợc chu trình tắc nghẽn Cần giải vấn đề sau: Chọn lựa nạn nhân: tiến trình bị thu hồi tài nguyên ? thu hồi tài nguyên ? Trở lại trạng thái trƣớc tắc nghẽn: thu hồi tài nguyên tiến trình, cần phải phục hồi trạng thái tiến trình trở lại trạng thái gần trƣớc mà khơng xảy tắc nghẽn Tình trạng « đói tài ngun »: bảo đảm khơng có tiến trình ln ln bị thu hồi tài nguyên ? 6.5 Kết luận chung phòng tránh bế tắc Trạng thái deadlock xảy hai hay nhiều q trình chờ khơng xác định kiện mà đƣợc gây trình chờ Về ngun tắc, có ba phƣơng pháp giải deadlock: • Sử dụng số giao thức để ngăn chặn hay tránh deadlock, đảm bảo hệ thống không vào trạng thái deadlock • Cho phép hệ thống vào trạng thái deadlock, phát sau phục hồi • Bỏ qua vấn đề deadlock giả vờ deadlock chƣa xảy hệ thống Giải pháp giải pháp đƣợc dùng hầu hết hệ điều hành bao gồm UNIX Trƣờng hợp deadlock xảy bốn điều kiện cần xảy lúc hệ thống: loại trừ hỗ tƣơng, giữ chờ cấp thêm tài ngun, khơng địi lại tài ngun, tồn chu trình đồ thị cấp phát tài nguyên Để ngăn chặn deadlock, đảm bảo điều kiện cần không xảy Một phƣơng pháp để tránh deadlock mà nghiêm ngặt giải thuật ngăn chặn deadlock có thơng tin trƣớc trình dùng tài nguyên nhƣ Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 90 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Thí dụ, giải thuật Banker cần biết số lƣợng tối đa lớp tài nguyên đƣợc u cầu q trình Sử dụng thơng tin định nghĩa giải thuật tránh deadlock Nếu hệ thống không thực giao thức để đảm bảo deadlock không xảy lƣợc đồ phát phục hồi phải đƣợc thực Giải thuật phát deadlock phải đƣợc nạp lên để xác định deadlock xảy hay không Nếu deadlock đƣợc phát hệ thống phải phục hồi cách kết thúc số q trình bị deadlock hay địi lại tài ngun từ số trình bị deadlock Trong hệ thống mà chọn nạn nhân để phụv hồi trạng thái trƣớc chủ yếu dựa sở yếu tố chi phí, việc đói tài ngun xảy Kết trình đƣợc chọn khơng hồn thành tác vụ đƣợc định CÂU HỎI CỦNG CỐ BÀI HỌC Tổ chức điều phối tiến trình ? Phân tích ƣu, khuyết điểm chiến lƣợc điều phối Bài tốn đồng hóa gì? Bế tắc giải pháp phịng ngừa? 5.Giả sử có q trình sau hệ thống : Quá trình Thời điểm vào RL Thời gian CPU P1 0.0 P2 0.4 P3 1.0 Sử dụng nguyên tắc điều phối độc quyền thơng tin có đƣợc thời điểm định để trả lời câu hỏi sau : a)Cho biết thời gian lƣu lại trung bình hệ thống (turnaround time) trình thuật toán điều phối FIFO b)Cho biết thời gian lƣu lại trung bình hệ thống (turnaround time) q trình thuật tốn điều phối SJF Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 91 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam c)Thuật toán SJF dự định cải tiến thực hệ thống , nhƣng lƣu ý phải chọn điều phối P1 thời điểm khơng biết có hai q trình ngắn vào hệ thống sau Thử tính thời gian lƣu lại trung bình ệ thống để CPU nhàn rỗi đơn vị thời gian sau sử dụng SJF để điều phối Lƣu ý P1 P2 phải chờ suốt thời gian nhàn rỗi này, thời gian chờ chúng tăng lên Thuật toán điều phối đƣợc biết đến nhƣ điều phối dựa thông tin tƣơng lai 6.Phân biệt khác cách tiếp cận để ƣu tiên cho q trình ngắn thuật tốn điều phối sau : a) FIFO b)RR c)Điều phối với độ ƣu tiên đa cấp Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 92 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam CHƢƠNG 3: HỆ ĐIỀU HÀNH ĐA XỬ LÝ Mã chƣơng: MH29-03 Giới thiệu: Hiện nay, với phát triển nhanh cơng nghệ, máy tính ngày đƣợc sử dụng phổ biến đời sống xã hội Mức độ thâm nhập máy tính vào sống cao yêu cầu nâng cao khả xử lý máy tính lớn Bộ nhớ ngày đƣợc mở rộng, dung lƣợng lƣu chữ đĩa từ ngày tăng, tốc độ truy nhập ngày cao hệ thống thiết bị ngoại vi phong phú, hình thức giao tiếp ngƣời – máy đa dạng Nhƣ xét, CPU tài nguyên quan trọng thể khả xử lý tính tốn hệ thống Vì vậy, vấn đề quan tâm tăng cƣờng khả xử lý CPU Giải pháp tăng cƣờng khả tính tốn cho CPU riêng lẻ đƣợc ứng dụng cách triệt để Tuy nhiên, giải pháp phải chịu hạn chế mặt kỹ thuật nhƣ: tốc độ truyền tin vƣợt tốc độ ánh sáng, khoảng cách tối thiểu hai thành phần không… Song song với giải pháp giải pháp liên kết nhiều CPU lại để tạo hệ thống tích hợp có khả xử lý mạnh Việc đƣa mơ hình xử lý song song tạo nhiều lợi điểm: - Cho phép chia công việc thành phần nhỏ giao cho CPU đảm nhận Nhƣ hiệu suất xử lý hệ thống không tăng theo tỷ lệ thuận với số CPU mà cịn cao khơng thời gian phải thực công việc trung gian - Mặt khác, giải pháp cịn cho phép tích hợp hệ thống máy tính có để tạo hệ thống với sức mạnh tăng gấp nhiều lần Nhƣ vậy, với giải pháp nhiều CPU, có hai xu hƣớng tích hợp hệ thống: - Hệ đa xử lý tập trung –Hệ nhiều CPU: tập hợp xử lý siêu máy tính(Supercomputer) Đặc trƣng hệ thống CPU đƣợc liên kết với máy tính - Hệ xử lý phân tán- Hệ phân tán: thực chất mạng máy tính, bao gồm máy tính đƣợc liên kết với đặt vị trí với khoảng cách xa tùy ý Trong chƣơng này, tập trung xét chủ yếu hai hệ thống Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 93 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Mục Tiêu: - Hiểu khái quát đƣợc xu sử dụng hệ thống đa xử lý ; - Hiểu đƣợc nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tƣơng lai - Thực thao tác an tồn với máy tính Nội Dung: Hệ điều hành đa xử lý tập trung Mục tiêu: Hiểu khái quát đƣợc xu sử dụng hệ thống đa xử lý 1.1 Hệ thống đa xử lý a Hệ thống nhiều CPU Hiện nay, từ phát triển với tốc độ nhanh cơng nghệ, máy tính ngày đƣợc phổ dụng xã hội Mức độ thâm nhập máy tính vào sống cao u cầu nâng cao lực máy tính lại ngày trở nên cấp thiết Bộ nhớ ngày rộng lớn; đĩa từ có dung lƣợng rộng, tốc độ truy nhập ngày cao; hệ thống thiết bị ngoại vi phong phú, hình thức giao tiếp ngƣời – máy ngày đa dạng Nhƣ nói, CPU tài nguyên thể chủ yếu lực hệ thống máy tính, vấn đề trọng tâm để tăng cƣờng lực hệ thống tăng cƣờng lực CPU Về vấn đề này, nảy sinh giải pháp theo hai hƣớng: Giải pháp tăng cường lực CPU riêng cho máy máy tính: cơng nghệ vi mạch ngày phát triển lực CPU ngày nâng cao, dự án vi mạch VLSI với hàng triệu, hàng chục triệu transitor Tuy nhiên giải pháp nảy sinh hạn chế kĩ thuật: tốc độ truyền thông tin không vƣợt qua tốc độ ánh sáng; khoảng cách gần hai thành phần giảm thiểu nhỏ v.v… Song song với giải pháp tăng cƣờng lực CPU giải pháp liên kết nhiều CPU để tạo hệ thống chung có lực đáng kể: việc đƣa xử lý song song tạo nhiều lợi điểm Thứ nhất, chia phần nhỏ công việc cho CPU đảm nhận, suất tăng không theo tỷ lệ thuận với hệ số nhân mà cịn cao khơng thời gian phải thực công việc trung gian Giải pháp cịn có lợi điểm tích hợp hệ thống máy có để tạo hệ thống với sức mạnh tăng gấp bội Trong chƣơng này, xem xét việc chọn giải pháp đa xử lý theo nghĩa hệ thống tính tốn đƣợc tổ hợp khơng CPU mà nhiều CPU máy tính Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 94 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam nhiều máy tính hệ thống thống Gọi chung hệ có nhiều CPU nhƣ hệ đa xử lý b.Phân loại hệ đa xử lý Có số cách phân loại hệ đa xử lý: Ví dụ hệ đa xử lý tập trung tập xử lý siêu máy tính (supercomputer) Đặc trƣng hệ thống CPU đƣợc liên kết với máy tính nhất; Ví dụ hệ đa xử lý phân tán mạng máy tính: mạng gồm nhiều máy tính liên kết đƣợc đặt vị trí khác nhau, với khoảng cách coi xa tùy ý Phân loại theo đặc tính CPU thành phần: hệ xử lý hệ đa xử lý khơng v.v… Một ví dụ dễ quen thuộc máy vi tính từ 80486 trở có hai CPU (80x86 80x87) hai CPU khơng Siêu máy tính ILLIAC-IV gồm nhiều CPU có đặc trƣng giống ví dụ Phân loại theo cách CPU thành phần tiếp nhận xử lý liệu Trong cách phân loại bao gồm máy tính đơn xử lý thơng thƣờng: Đơn câu lệnh, đơn liệu (SISD: single data single instruction) đƣợc thể máy tính thơng thƣờng; Mỗi lần làm việc, CPU xử lý “một liệu” có câu lệnh đƣợc thực Đơn câu lệnh, đa liệu (SIMD: single instruction multiple data): Các xử lý nhịp thời gian thực câu lệnh Có thể lấy ví dụ từ việc cộng hai vector cho trƣớc: Các CPU thành phần thực phép cộng; đổi số tƣơng ứng có CPU; sau đó, chọn tiếp lệnh (chỉ thị) để điều khiển công việc Thơng thƣờng có hệ chọn câu lệnh chung CPU thành phần thực hiện: siêu máy tính ILLIAC-IV sử dụng cách thức này, có máy tính có tác dụng lƣu giữ hệ điều hành để điều khiển ILLIAC.IV (bộ xử lý ma trận) Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 95 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Đa câu lệnh, đơn liệu (MISD: multiple instruction single data) Trong máy tính thuộc loại này, hệ thống gồm nhiều CPU, CPU liên kết cách tuần tự: output xử lý input xử lý (ví dụ CRAY-1: Bộ xử lý vector) Các CPU kết nối theo kiểu đƣợc gọi kết nối “dây chuyền” Đa liệu, đa câu lệnh (MIMD) Mỗi xử lý có phân tích chƣơng trình riêng; câu lệnh liệu CPU phải đảm nhận; hình dung CPU hoạt động hoàn toàn “độc lập nhau” Các hệ điều hành mạng, hệ điều hành phân tán ví dụ đa liệu, đa câu lệnh Trong nội dung chƣơng này, xem xét cách phân loại dạng tập trung/phân tán song thực chất quan tâm đến hệ đa xử lý tập trung với hệ đa xử lý phân tán, có chuyên đề riêng đáp ứng Chú ý, xu nghiên cứu triển khai hệ thống tính tốn đa xử lý thời nghiên cứu tính tốn cụm mơ hình SIMD, MISD MIMD tƣơng ứng đƣợc phát triển 1.2 Hệ điều hành đa xử lý tập trung Hệ đa xử lý tập trung hoạt động máy tính có nhiều CPU mà điển hình siêu máy tính: CRAY-1,ILLIAC-IV, Hitachi máy tính nhiều xử lý (máy tính khoa CNTT, trƣờng ĐHKHTN-ĐHQGHN có hai xử lý) Các tài nguyên khác CPU đƣợc phân chia cho CPU Trong hệ điều hành đa xử lý, hai tốn lớn kể đến phân phối nhớ phân phối CPU a.Phân phối nhớ Các trình xuất nhớ chung Việc phân phối nhớ đƣợc tiến hành cho trình theo chế độ điều khiển nhớ cài đặt: phân phối theo chế độ mẻ hay phân phối gián đoạn Để tăng tốc độ làm việc với nhớ (bài toán xử lý trỏ ngồi v.v.) gắn với CPU cache nhớ Phân hai loại thâm nhập cache: tĩnh động Thâm nhập tĩnh: CPU thâm nhập cache tƣơng ứng, không thâm nhập liệu vùng cache CPU khác Thâm nhập động cho phép CPU máy thâm nhập cache CPU khác b.Bài tốn điều khiển CPU Có nhiều CPU, việc điều khiển CPU đƣợc phân số cách nhƣ sau: Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 96 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Toàn CPU dành cho trình : trình đƣợc phân phối CPU, song tự q trình nói nảy sinh q trình con; trình đƣợc giải CPU Các q trình đƣợc coi nhƣ tính tốn đơn giản đó: Máy tính đa xử lý vector chia cơng đoạn trình CPU thực trình (một cơng đoạn) q trình Máy tính đa xử lý ma trận cho phép CPU thực thao tác Về dòng xếp hàng xem xét theo hai mơ hình dƣới đây: Mơ hình tĩnh: Hoặc CPU có dịng xếp hàng riêng; tốn đƣợc gắn với dịng xếp hàng, việc điều khiển dòng xếp hàng nhƣ đƣợc độc lập với dòng xếp hàng khác, trình đƣợc phát sinh gắn với dịng xếp hàng đó; Mơ hình động: tồn hệ thống gồm hay vài dòng xếp hàng, trình đƣợc xếp lên CPU rỗi (có thể sử dụng kiểu liệu semaphore nhiều giá trị để phân phối CPU cho trình này) Hệ điều hành đa xử lý phân tán Mục tiêu: hiểu đƣợc nét hệ điều hành đa xử lý phân tán nhằm trang bị khả tự nghiên cứu tƣơng lai 2.1 Giới thiệu hệ phân tán Trong phần phân loại hệ thống đa xử lý, ý cách phân loại theo vị trí đặt CPU (tập trung phân tán) hệ phân tán đƣợc xây dựng từ “ máy tính” rời rạc nhau: vị trí máy tính ngun vẹn, có đầy đủ chức xử lý, lƣu trữ truyền liệu Hệ tập trung cho phép xử lý song song theo thao tác theo q trình, đó, hệ phân tán xử lý song song theo trình: trình đƣợc xử lý máy tính khác Việc phân chia trình cho CPU thành phần theo chức CPU (server/client) theoo lịch đƣợc phân công hệ thống chung Do phân tán nên vấn đề truyền dẫn liệu đóng vai trị quan trọng hệ phân tán Đây lí điển hình để cách thức xử lý song song hệ phân tán theo q trình mà khơng phải theo phép tốn Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 97 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 2.2 Đặc điểm hệ phân tán Hệ thống phân tán (kéo theo hình thành hệ điều hành phân tán) đƣợc phát sinh nhu cầu tự nhiên việc nâng cao lực tài nguyên hệ thống (sức mạnh hệ thống tính tốn sở liệu chung v.v ) Giải pháp phân tán có tác dụng phát huy lực chung toàn hệ thống giải tốn với kích thƣớc tốn tăng lên đảm bảo hoạt động bình thƣờng máy tính thành viên Hệ thống phân tán đƣợc thiết lập hệ thống hoàn toàn đƣợc thiết kế theo mơ hình phân tán xây dựng hệ phân tán dựa tài nguyên địa phƣơng (máy tính, sở liệu) sẵn có Một trƣờng hợp điển hình, hệ phân tán đƣợc dùng để quản trị hệ thống sở liệu lớn Trong hệ sở liệu phân tán, tính dƣ thừa thơng tin lại đƣợc quan tâm ý khơng tới khía cạnh gây khó khăn tính đến tính quán liệu mà cịn tới khía cạnh thuận lợi vần đề an tồn: lƣu trữ kép (ngồi cịn số sao) để phục hồi xảy cố hệ thống Để đảm bảo tính quán hệ thống định kỳ “làm tƣơi” thông tin hệ thống quản lý Nhƣ biết, toán lập lịch cho hệ thống chung phức tạp máy tính với CPU, hệ phân tán, tốn nói phức tạp (ngay hệ đồng nhất) ngƣời ta thƣờng chọn phƣơng án đơn giản Các nội dung kiến thức hệ thống phân tán đƣợc trình bày chi tiết giáo trình chuyên đề” mạng hệ phân tán” Bản chất hệ điều hành mô hình phân tán hệ điều hành đa chƣơng trình Do tính chất khơng máy tính địa phƣơng có liên quan chặt chẽ đến đƣờng truyền thơng, tốn lập lịch hệ thống chƣơng trình điều khiển phức tạp Các thuật toán điều khiển đƣợc chọn lựa đủ đơn giản ln tốn thời đƣợc nghiên cứu Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 98 Tai lieu Luan van Luan an Do an Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam CÂU HỎI CỦNG CỐ BÀI HỌC 1.Thế hệ điều hành đa xử lý tập trung Phân biệt hệ điều hành đa xử lý tập trung với hệ điều hành đa xử lý phân tán 3.trình bày thuật tốn song song ngơn ngữ lập trình song song Giáo trình : Hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Trang 99 Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn