Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 192 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
192
Dung lượng
6,84 MB
Nội dung
30.11.2016 Hệ điều hành Thông tin chung Dang Minh Quan - NEU, 2016 Thông tin giảng viên • TS Đặng Minh Quân • Địa chỉ: C101- ĐHKTQD • Email: quandm@neu.edu.vn Dang Minh Quan - NEU, 2016 30.11.2016 Kế hoạch giảng dạy Ghi Trong STT Nội dung Tổng số tiết Lý thuyết Bài tập, thảo luận, kiểm tra Chương 2,5 0,5 Chương 12 10 Chương 4 Chương 5 Chương 2,5 0,5 Chương 2,5 0,5 Chương Chương 7,5 1,5 45 36 Cộng Dang Minh Quan - NEU, 2016 Phương pháp đánh giá học phần • Dự lớp: có mặt lớp 80% số buổi học theo môn • Thảo luận dự lớp đánh giá 10% số điểm (hệ số 0.1) • Bài kiểm tra: đánh giá 20% số điểm (hệ số 0.2) • Thi cuối kỳ: đáng giá 70% số điểm (hệ số 0.7) • Thang điểm: 10 Dang Minh Quan - NEU, 2016 30.11.2016 Môi trường lập trình • Ngôn ngữ lập trình C/C++ • Trình biên dịch gcc • Hệ điều hành Ubuntu Dang Minh Quan - NEU, 2016 Tài liệu tham khảo • Andrew S Tanenbaum, Modern Operating Systems (2nd Edition), 2001 • Abraham Silberschatz, Peter B Galvin, Greg Gagne, Operating System Concepts (8th edition), 2008 Dang Minh Quan - NEU, 2016 30.11.2016 Hệ điều hành Chương 1: Giới thiệu chung Dang Minh Quan - NEU, 2016 Mục tiêu chương • Nêu chức hệ điều hành • Phân biệt loại hệ điều hành • Nhận dạng thành phần hệ điều hành Dang Minh Quan - NEU, 2016 30.11.2016 Tổng quan • • • • Khái niệm hệ điều hành Lịch sử phát triển hệ điều hành Phân loại hệ điều hành Cấu trúc hệ điều hành Dang Minh Quan - NEU, 2016 1.1 Khái niệm hệ điều hành • Hệ điều hành hệ thống máy tính • Mục tiêu hệ điều hành • Định nghĩa hệ điều hành Dang Minh Quan - NEU, 2016 10 30.11.2016 Hệ điều hành hệ thống máy tính Phần cứng - cung cấp tài nguyên máy tính (CPU, nhớ, thiết bị I / O) Hệ điều hành - kiểm soát điều phối việc sử dụng phần cứng cho chương trình ứng dụng khác người sử dụng khác Chương trình ứng dụng – sử dụng tài nguyên hệ thống máy tính để giải vấn đề người sử dụng Người sử dụng (người, máy móc, máy tính khác) 11 Dang Minh Quan - NEU, 2016 Mục tiêu hệ điều hành • Mục tiêu hệ điều hành: – Chạy chương trình giúp giải vấn đề người sử dụng dễ dàng – Làm cho hệ thống máy tính dễ sử dụng – Sử dụng phần cứng máy tính cách hiệu Dang Minh Quan - NEU, 2016 12 30.11.2016 Định nghĩa hệ điều hành • Bộ cấp phát tài nguyên - quản lý phân bổ tài nguyên • Chương trình điều khiển - điều khiển việc thực chương trình người sử dụng hoạt động thiết bị I / O • Hạt nhân - chương trình luôn chạy Dang Minh Quan - NEU, 2016 13 1.2 Lịch sử phát triển hệ điều hành • Các hệ thống mainframe – Hệ thống xử lý theo lô – Hệ thống đa chương trình – Hệ thống đa người dùng • • • • • • Hệ thống để bàn Hệ thống đa xử lý Các hệ thống phân tán: khách – chủ, điểm tới điểm Hệ thống cluster Hệ thống thời gian thực Hệ thống cầm tay Dang Minh Quan - NEU, 2016 14 30.11.2016 Hệ thống xử lý theo lô • Người dùng không tương tác trực tiếp với hệ thống máy tính • Người dùng chuẩn bị công việc đệ trình tới người vận hành máy tính • Người dùng nhận lại kết sau khoảng thời gian không xác định Dang Minh Quan - NEU, 2016 15 Hệ thống đa chương trình • HĐH giữ nhiều chương trình nhớ • HĐH chạy chương trình số đó, chương trình phải đợi, HĐH chuyển sang chạy chương trình khác Dang Minh Quan - NEU, 2016 16 30.11.2016 Hệ thống đa người dùng • Còn gọi hệ thống chia sẻ thời gian, cho phép nhiều người dùng tương tác với máy tính • Mỗi người dùng có chương trình chạy gọi tiến trình • Hệ thống chia cho tiến trình khe thời gian • Khi hết khe thời gian hệ thống chay tiến trình khác 17 Dang Minh Quan - NEU, 2016 Hệ thống để bàn • Một người dùng sử dụng toàn hệ thống • Tận dụng hiệu CPU không vấn đề quan tâm hàng đầu • Một số tính hệ thống chia sẻ thời gian áp dụng cho hệ thống để bàn Dang Minh Quan - NEU, 2016 18 30.11.2016 Hệ thống đa xử lý • Phổ biến hệ thống đa xử lý đối xứng • Mỗi CPU chạy copy HĐH liên lạc với cần • Hệ thống đa xử lý có lợi ích sau – Tăng hiệu – Tăng tính kinh tế mở rộng – Tăng độ tin cậy 19 Dang Minh Quan - NEU, 2016 Hệ thống khách – chủ • Hệ thống máy chủ dùng phục vụ yêu cầu từ nhiều máy khách Dang Minh Quan - NEU, 2016 20 10 30.11.2016 8.3.3 Điều khiển đồng • Loại trừ phân tán (DME - Distributed Mutual Exclusion) • Giao dịch nguyên tử • Giao thức hoàn tất pha (2PC – Two phases commit) Dang Minh Quan - NEU, 2016 355 Loại trừ phân tán - Distributed Mutual Exclusion (DME) • Giả sử – Hệ thống bao gồm n tiến trình; tiến trình Pi chạy xử lý khác – Mỗi tiến trình có miền găng yêu cầu truy cập mutual exclusion • Yêu cầu – Nếu Pi xử lý miền găng, không tiến trình khác vào miền găng • Chúng ta xem xét thuật toán để đảm bảo tiến trình chạy mutual exclusion miền găng Dang Minh Quan - NEU, 2016 356 178 30.11.2016 DME: Phương pháp tập trung • Một số tiến trình hệ thống chọn để điều hành việc truy cập vào miền găng • Một tiến trình muốn vào miền găng gửi thông điệp request tới điều phối • Bộ điều phối định tiến trình vào miền găng gửi cho tiến trình thông điệp reply • Khi tiến trình nhận thông điệp reply từ điều phối, vào miền găng • Sau khỏi miền găng, tiến trình gửi thông điệp release tới điều phối tiếp tục dòng xử lý • Phương pháp cần thông điệp để vào miền găng: – Request – Reply – Release Dang Minh Quan - NEU, 2016 357 DME: Phương pháp tập trung Dang Minh Quan - NEU, 2016 358 179 30.11.2016 DME: Phương pháp phân tán • Khi tiến trình Pi muốn vào miền găng, tạo nhãn thời gian mới, TS, gửi thông điệp request (Pi, TS) tới tất tiến trình hệ thống • Khi tiến trình Pj nhận thông điệp request, trả lời với thông điệp reply chưa trả lời • Khi tiến trình Pi nhận thông điệp reply từ tất tiến trình hệ thống, vào miền găng • Sau khỏi miền găng, tiến trình gửi thông điệp reply tới tất tiến trình mà chưa trả lời Dang Minh Quan - NEU, 2016 359 DME: Phương pháp phân tán • Tiến trình Pj định trả lời cho thông điệp request(Pi, TS) hay chưa trả lời dựa vào yếu tố: – Nếu Pj miền găng, chưa trả lời Pi – Nếu Pj không muốn vào miền găng, gửi reply cho Pi – Nếu Pj muốn vào miền găng chưa vào, so sánh nhãn thời gian yêu cầu với nhãn thời gian TS • Nếu nhãn thời gian yêu cầu lớn TS, gửi reply tới Pi (Pi yêu cầu trước) • Nếu không, chưa trả lời Dang Minh Quan - NEU, 2016 360 180 30.11.2016 DME: Phương pháp phân tán 361 Dang Minh Quan - NEU, 2016 Điểm thuận tiện phương pháp phân tán • Không bị tắc nghẽn • Không xảy tình trạng chết đói việc vào miền găng dựa thứ tự nhãn thời gian Thứ tự nhãn thời gian đảm bảo việc phân phối tài nguyên theo đến trước – phục vụ trước • Số lượng thông điệp cho lần vào miền găng x (n – 1) Dang Minh Quan - NEU, 2016 362 181 30.11.2016 Điểm bất tiện phương pháp phân tán • Các tiến trình phải biết định danh tất tiến trình khác hệ thống Điều làm cho việc thêm hay loại bỏ tiến trình trở nên phức tạp • Nếu số tiến trình bị lỗi, toàn trình bị đổ vỡ Ta xử lý vấn đề cách theo dõi trạng thái tất tiến trình hệ thống • Các tiến trình chưa vào miền găng phải thường xuyên đợi Do giao thức phù hợp tập tiến trình ổn định có số lượng không lớn 363 Dang Minh Quan - NEU, 2016 Giao dịch nguyên tử • Hoặc tất thao tác giao dịch xử lý thao tác thực – Rút tiền từ máy ATM: Máy ATM phải trả tiền trừ vào tài khoản – Đặt vé máy bay: Giảm số ghế dư, chuyển tiền từ thẻ tín dụng, tăng số suất ăn Dang Minh Quan - NEU, 2016 364 182 30.11.2016 Giao dịch nguyên tử phân tán Dang Minh Quan - NEU, 2016 365 Giao dịch nguyên tử phân tán • Đảm bảo tính nguyên tử hệ thống phân tán yêu cầu có điều phối giao dịch transaction coordinator, phụ trách việc sau: – Bắt đầu việc thực giao dịch – Chia giao dịch thành giao dịch phân tán chúng tới địa điểm thích hợp để xử lý – Điều phối việc kết thúc giao dịch Giao dịch thực hoàn tất tất địa điểm bị hủy bỏ tất địa điểm Dang Minh Quan - NEU, 2016 366 183 30.11.2016 Giao thức hoàn tất pha (2PC) • Giao thức bắt đầu điều phối sau bước cuối giao dịch thực • Khi giao thức khởi tạo, giao dịch xử lý số địa điểm • Giao thức bao gồm tất địa điểm mà giao dịch thực • Ví dụ: T giao dịch bắt đầu địa điểm Si điều phối giao dịch Si Ci Dang Minh Quan - NEU, 2016 367 Phase 1: Tìm kiếm định • Ci thêm ghi vào log • Ci gửi thông điệp tới tất địa điểm • Khi địa điểm nhận thông điệp , quản lý giao dịch xác định liệu hoàn tất giao dịch – Nếu không: thêm ghi vào log trả lời cho Ci với thông điệp – Nếu có: • Thêm ghi vào log • Ghi tất ghi log có liên quan đến T vào đĩa cứng • Bộ quản lý giao dịch gửi thông điệp tới Ci Dang Minh Quan - NEU, 2016 368 184 30.11.2016 Phase (Cont.) • Bộ điều phối thu thập thông điệp trả lời – Nếu tất trả lời “ready”, định hoàn tất - commit – Nếu câu trả lời “abort”, định hủy bỏ - abort – Nếu địa điểm không trả lời hạn, định hủy bỏ - abort Dang Minh Quan - NEU, 2016 369 Phase 2: Lưu định vào sở liệu • Bộ điều phối thêm ghi định vào log ghi vào đĩa cứng • Khi ghi ghi vào đĩa cứng không xem xét lại (kể có lỗi xảy ra) • Bộ điều phối gửi thông điệp định tới tất địa điểm • Các địa điểm có hành động phù hợp với định Dang Minh Quan - NEU, 2016 370 185 30.11.2016 Trạng thái 2PC Dang Minh Quan - NEU, 2016 371 Sửa lỗi 2PC – địa điểm bị lỗi • Log chứa ghi Trong trường hợp này, địa điểm thực redo(T) • Log chứa ghi Trong trường hợp này, địa điểm thực undo(T) • Log chứa ghi ; địa điểm hỏi Ci Nếu Ci bị lỗi, địa điểm gửi thông điệp querystatus T tới địa điểm khác • Log không chứa ghi điều khiển liên quan đến T Trong trường hợp này, địa điểm thực undo(T) Dang Minh Quan - NEU, 2016 372 186 30.11.2016 Sửa lỗi 2PC – điều phối Ci bị lỗi • Nếu địa điểm hoạt động chứa ghi log, T phải hoàn tất • Nếu địa điểm hoạt động chứa ghi log, T phải bị hủy bỏ • Nếu số địa điểm hoạt động không chứa ghi log, điều phối bị lỗi Ci chưa định hoàn tất T Thay đợi Ci hồi phục, tôt hủy bỏ T • Nếu tất địa điểm hoạt động có ghi log, thêm ghi điều khiển khác Trong trường hợp phải đợi cho điều phối hồi phục – Vấn đề bị chặn – T bị chặn để đợi cho địa điểm Si hồi phục Dang Minh Quan - NEU, 2016 373 8.3.4 Các thuật toán bầu cử • Thuật toán Bully • Thuật toán Ring Dang Minh Quan - NEU, 2016 374 187 30.11.2016 Thuật toán Bully • Tất tiến trình hoạt động, P4 tiến trình điều phối • P1 P4 bị lỗi P2 xác định P4 bị lỗi cách gửi yêu cầu mà không trả lời thời gian T • P2 sau bắt đầu thuật toán bầu cử cách gửi yêu cầu tới P3 375 Dang Minh Quan - NEU, 2016 Thuật toán Bully • P3 nhận yêu cầu, gửi trả lại cho P2, bắt đầu thuật toán riêng cách gửi yêu cầu bầu cử đến P4 • P2 nhận trả lời P3 bắt đầu chờ đợi cho khoảng thời gian T ' • P4 không trả lời vòng khoảng thời gian T, đó, P3 tự điều phối gửi số tới P2 P1 Dang Minh Quan - NEU, 2016 376 188 30.11.2016 Thuật toán Bully • Sau đó, P1 phục hồi, gửi yêu cầu bầu cử tới P2, P3, P4 • P2 P3 gửi trả lại cho P1 bắt đầu thuật toán bầu cử riêng P3 lần bầu, thông qua kiện tương tự trước • Cuối cùng, P4 phục hồi thông báo cho P1, P2 P3 điều phối 377 Dang Minh Quan - NEU, 2016 Thuật toán Ring • Thuật toán Ring giả định liên kết tiến trình chiều • Mỗi tiến trình gửi tin nhắn đến người hàng xóm bên phải Dang Minh Quan - NEU, 2016 378 189 30.11.2016 Thuật toán Ring • Nếu tiến trình P, phát điều phối gặp lỗi, tạo danh sách hoạt động trống rỗng Sau gửi tin nhắn elect (i) tới hàng xóm bên phải cho thêm số i vào danh sách hoạt động • Nếu Pi nhận tin nhắn elect (j) từ tiến trình bên trái, đáp ứng ba cách: 379 Dang Minh Quan - NEU, 2016 Thuật toán Ring • a Nếu thông điệp elect nhìn thấy gửi, Pi tạo danh sách hoạt động với số i j Nó sau gửi tin nhắn elect (i), sau tin nhắn elect (j) • b Nếu i j, tức tin nhắn nhận không chứa số Pi, sau Pi thêm j vào danh sách hoạt động chuyển tiếp tin nhắn cho hàng xóm bên phải Dang Minh Quan - NEU, 2016 380 190 30.11.2016 Thuật toán Ring • c Nếu i = j-có nghĩa là, Pi nhận tin nhắn elect (i), danh sách hoạt động Pi chứa số tất tiến trình hoạt động hệ thống Tiến trình Pi xác định số lớn danh sách hoạt động để xác định Tiến trình điều phối Dang Minh Quan - NEU, 2016 381 Nội dung chương • Giới thiệu chung hệ thống phân tán: hệ điều hành phân tán • Hệ thống tập tin phân tán: chế đặt tên, truy cập, chép • Phương pháp phối hợp phân tán: thuật toán xử lý tắc nghẽn wait- die, wound – wait, thuật toán bầu cử, giao thức hoàn tất pha Dang Minh Quan - NEU, 2016 382 191 30.11.2016 Tài liệu tham khảo • Abraham Silberschatz, Peter B Galvin, Greg Gagne (2008), Operating System Concepts (8th edition), Wiley Chương XVI, trang 673 – 703; Chương XVII, trang 705-725; Chương XVIII, trang 727 - 754 Dang Minh Quan - NEU, 2016 383 192 ... niệm hệ điều hành Lịch sử phát triển hệ điều hành Phân loại hệ điều hành Cấu trúc hệ điều hành Dang Minh Quan - NEU, 2016 1.1 Khái niệm hệ điều hành • Hệ điều hành hệ thống máy tính • Mục tiêu hệ. .. sử phát triển hệ điều hành • Các hệ thống mainframe – Hệ thống xử lý theo lô – Hệ thống đa chương trình – Hệ thống đa người dùng • • • • • • Hệ thống để bàn Hệ thống đa xử lý Các hệ thống phân... niệm hệ điều hành: vị trí, vai trò, định nghĩa • Lịch sử phát triển hệ điều hành với phát triển hệ thống máy tính • Phân loại hệ điều hành: thời gian thực, đơn nhiệm, đa nhiệm • Cấu trúc hệ điều