Giáo trình hệ điều hành (nghề kỹ thuật sửa chữa, lắp ráp máy tính cao đẳng)

133 8 0
Giáo trình hệ điều hành (nghề kỹ thuật sửa chữa, lắp ráp máy tính   cao đẳng)

Đ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

ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI TRƯỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI NGUYỄN TUẤN HẢI (Chủ biên) LÊ TRỌNG HƯNG – ĐẶNG MINH NGỌC GIÁO TRÌNH HỆ ĐIỀU HÀNH Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2021 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 Von Neumann phát biểu, nguyên lý “hoạt động theo chương trình” Các nội dung trình bày giáo trình bao gồm năm chương giới thiệu Chương 1: Giới thiệu chung hệ điều hành Chương 2: Điều khiển liệu Chương 3: Điều khiển nhớ Chương 4: Điều khiển CPU, điều khiển trình Chương 5: Hệ điều hành đa xử lý Mặc dù có cố gắng để hồn thành giáo trình theo kế hoạch, hạn chế thời gian kinh nghiệm soạn thảo giáo trình, nên tài liệu chắn khiếm khuyết Rất mong nhận đóng góp ý kiến thầy Khoa bạn sinh viên sử dụng tài liệu Xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2021 Chủ biên: Ths.Nguyễn Tuấn Hải MỤC LỤC LỜI GIỚI THIỆU MỤC LỤC Chương Giới thiệu chung hệ điều hành 1.1 Khái niệm hệ điều hành 1.2 Phân loại hệ điều hành 15 1.3 Sơ lược lịch sử phát triển hệ điều hành 22 Chương Điều khiển liệu 42 2.1.Các phương pháp tổ chức truy nhập liệu 42 2.2.Bản ghi khối 48 2.3 Điều khiển buffer(điều khiển phòng đệm) 51 2.4 Quy trình chung điều khiển nhập-xuất 54 2.5 Tổ chức lưu trữ liệu đĩa từ 62 Chương Điều khiển nhớ 65 3.1.Quản lý bảo vệ nhớ 65 3.2.Điều khiển nhớ liên tục 68 3.3.Điều khiển nhớ gián đoạn 80 Chương Điều khiển cpu, điều khiển trình 91 4.1.Trạng thái trình 91 4.2 Điều phối trình 97 2.3 Các chiến lược điều phối 101 4.3 Bài tốn đồng hóa 104 4.4.Bế tắc-Giải pháp phòng ngừa xử lý 115 Chương Hệ điều hành đa xử lý 121 5.1.Hệ điều hành đa xử lý tập trung 122 5.2.Thuật toán song song ngơn ngữ lập trình song song 125 5.3.Hệ điều hành đa xử lý phân tán 127 TÀI LIỆU THAM KHẢO 132 CHƯƠNG TRÌNH MƠN HỌC Tên môn học: Hệ điều hành Mã môn học: MH31 Thời gian môn học: 60 giờ; (Lý thuyết: 42 giờ; Thực hành, thí nghiệm, thảo luận, tập: 14 giờ; Kiểm tra: giờ) VỊ TRÍ, TÍNH CHẤT CỦA MƠN HỌC - Vị trí:  Mơn học bố trí sau học xong mơn học chung, trước mơn học/mơ đun đào tạo chun ngành - Tính chất:  Là môn học chuyên ngành - Ý nghĩa vai trị mơn học:  Là mơn học ứng dụng để phát triển môn học  Là môn thiếu nghề Sửa chữa, lắp ráp máy tính MỤC TIÊU CỦA MƠN HỌC - Hiểu vai trò chức 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 nguyên lý thiết kế, hoạt động hệ điều hành - Hiểu cách giải vấn đề phát sinh hệ điều hành - Có ý thức tự giác, tính kỷ luật cao, tinh thần trách nhiệm học tập - Tự tin nghiên cứu, tím hiểu cơng nghệ hệ thống NỘI DUNG MƠN HỌC Số TT I Thời gian Tên chương mục Tổng Lý Thực hành, Kiểm số thuyết Bài tập tra Giới thiệu chung hệ điều hành Khái niệm hệ điều hành 2 Phân loại hệ điều hành Sơ lược lịch sử phát triển HĐH 3 3 II Điều khiển liệu Các phương pháp tổ chức truy nhập liệu Bản ghi khối Điều khiển buffer Quy trình chung điều khiển nhập-xuất Tổ chức lưu trữ liệu đĩa Quản lý bảo vệ nhớ Điều khiển nhớ liên tục Điều khiển nhớ gián đoạn 1 III Điều khiển nhớ IV Điều khiển CPU, Điều khiển trình V Trạng thái trình 3 Điều phối trình Bài tốn đồng hóa 3 Bế tắc-Giải pháp phòng ngừa xử lý Hệ điều hành đa xử lý tập trung Thuật tốn song song ngơn ngữ lập trình song song Hệ điều hành đa xử lý phân tán 1 60 42 14 Hệ điều hành đa xử lý Cộng 4 Chương Giới thiệu chung hệ điều hành 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 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 nguyên 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 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: Một 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 nào, nhớ lưu trữ thông tin nào, thiết bị đĩa làm việc (ghi/đọc) 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 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 chức hệ điều hành để hệ điều hành đạt 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 máy tính Mục Tiêu: - Nắm yêu cầu cần có hệ điều hành - Nắm 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: 1.1 Khái niệm hệ điều hành Mục tiêu: 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 Hệ điều hành gì? Khó có khái niệm hay định nghĩa xác hệ điều hành, hệ điều hành phận nhiều đối tượng khai thác nhất, họ người sử dụng thơng thường, lập trình viên, người quản lý hệ thống tùy theo mức độ khai thác hệ điều hành mà họ đưa khái niện khác Ở ta xem xét khái niệm hệ điều hành dựa quan điểm người khai thác hệ thống máy tính:  Khái niệm 1: Hệ điều hành hệ thống mơ hình hố, mơ hoạt động máy tính, người sử dụng lập trình viên, hoạt động chế độ đối thoại nhằm tạo môi trường khai thác thuận lợi hệ thống máy tính quản lý tối ưu tài nguyên hệ thống  Khái niệm 2: Hệ điều hành hệ thống chương trình với chức giám sát, điều khiển việc thực chương trình người sử dụng, quản lý phân chia tài nguyên cho nhiều chương trình người sử dụng đồng thời cho việc khai thác chức hệ thống máy tính người sử dụng thuận lợi hiệu  Khái niệm 3: Hệ điều hành chương trình đóng vai trò giao diện người sử dụng phần cứng máy tính, điều khiển việc thực tất loại chương trình Khái niệm gần với hệ điều hành sử dụng máy tính Từ khái niệm thấy rằng: Hệ điều hành đời, tồn phát triển để giải vấn đề sử dụng máy tính người sử dụng, nhằm giúp người sử dụng khai thác hết chức phần cứng máy tính mà cụ thể giúp người sử dụng thực chương trình họ máy tính 1.1.1.Các thành phần hệ thống Hệ điều hành hệ thống chương trình lớn, thực nhiều nhiệm vụ khác nhau, nhà thiết kế thường chia hệ điều hành thành nhiều thành phần, thành phần đảm nhận nhóm nhiệm vụ đó, nhiệm vụ có liên quan với Cách phân chia nhiệm vụ cho thành phần, cách kết nối thành phần lại với để thực nhiệm vụ lớn cần cách gọi thành phần cần thực nhiệm vụ tất phương thức tạo nên cấu trúc hệ điều hành 1.1.1.1.Thành phần quản lý tiến trình Hệ điều hành phải có nhiệm vụ tạo lập tiến trình đưa vào danh sách quản lý tiến trình hệ thống Khi tiến trình kết thúc hệ điều hành phải loại bỏ tiến trình khỏi danh sách quản lý tiến trình hệ thống Hệ điều hành phải cung cấp đầy đủ tài nguyên để tiến trình vào hoạt động phải đảm bảo đủ tài nguyên để trì hoạt động tiến trình tiến trình kết thúc Khi tiến trình kết thúc hệ điều hành phải thu hồi tài nguyên mà hệ điều hành cấp cho tiến trình Trong trình hoạt động lý tiến trình khơng thể tiếp tục hoạt động hệ điều hành phải tạm dừng tiến trình, thu hồi tài nguyên mà tiến trình chiếm giữ, sau điều kiện thuận lợi hệ điều hành phải tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động kết thúc Trong hệ thống có nhiều tiến trình hoạt động song song hệ điều hành phải giải vấn đề tranh chấp tài nguyên tiến trình, điều phối processor cho tiến trình, giúp tiến trình trao đổi thơng tin hoạt động đồng với nhau, đảm bảo nguyên tắc tất tiến trình khởi tạo phải thực kết thúc 1.1.1.2.Thành phần quản lý nhớ Bộ nhớ tài nguyên quan trọng hệ thống, thiết bị lưu trữ mà CPU truy xuất trực tiếp Các chương trình người sử dụng muốn thực CPU trước hết phải hệ điều hành nạp vào nhớ chính, chuyển đổi địa sử dụng chương trình thành địa mà CPU truy xuất Khi chương trình, tiến trình có u cầu nạp vào nhớ hệ điều hành phải cấp phát khơng gian nhớ cho Khi chương trình, tiến trình kết thúc hệ điều hành phải thu hồi lại khơng gian nhớ cấp phát cho chương trình, tiến trình trước Trong hệ thống đa chương hay đa tiến trình, nhớ tồn nhiều chương trình/ nhiều tiến trình, hệ điều hành phải thực nhiệm vụ bảo vệ vùng nhớ cấp phát cho chương trình/ tiến trình, tránh vi phạm vùng nhớ  Tóm lại, phận quản lý nhớ hệ điều hành thực nhiệm vụ sau:  Cấp phát, thu hồi vùng nhớ  Ghi nhận trạng thái nhớ  Bảo vệ nhớ  Quyết định tiến trình nạp vào nhớ 1.1.1.3.Thành phần quản lý xuất/ nhập Một mục tiêu hệ điều hành giúp người sử dụng khai thác hệ thống máy tính dễ dàng hiệu quả, thao tác trao đổi thơng tin thiết bị xuất/ nhập phải suốt người sử dụng Để thực điều hệ điều hành phải tồn phận điều khiển thiết bị, phận phối hợp CPU để quản lý hoạt động trao đổi thông tin hệ thống, chương trình người sử dụng người sử dụng với thiết bị xuất/ nhập Bộ phận điều khiển thiết bị thực nhiệm vụ sau:  Gởi mã lệnh điều khiển đến thiết bị: Hệ điều hành điều khiển thiết bị mã điều khiển, trước bắt đầu q trình trao đổi liệu với thiết bị hệ điều hành phải gởi mã điều khiển đến thiết bị  Tiếp nhận yêu cầu ngắt (Interrupt) từ thiết bị: Các thiết bị cần trao đổi với hệ thống phát tín hiệu u cầu ngắt, hệ điều hành tiếp nhận yêu cầu ngắt từ thiết bị, xem xét thực thủ tục để đáp ứng yêu cầu tù thiết bị  Phát xử lý lỗi: trình trao đổi liệu thường xảy lỗi như: thiết bị vào chưa sẵn sàng, đường truyền hỏng, hệ điều hành phải tạo chế thích hợp để phát lỗi sớm khắc phục lỗi vừa xảy 1.1.1.4.Thành phần quản lý nhớ phụ (đĩa) Không gian lưu trữ đĩa chia thành phần có kích thước gọi block, cần lưu trữ tập tin đĩa hệ điều hành cấp cho tập tin lượng vừa đủ block để chứa hết nội dung tập tin Block cấp cho tập tin phải block tự do, chưa cấp cho tập tin trước đó, sau thực thao tác cấp phát block hệ điều hành phải ghi nhận trạng thái block đĩa, đặc biệt block tự để chuẩn bị cho trình cấp block sau Trong trình sử dụng tập tin nội dung tập tin thay đổi (tăng, giảm), hệ điều hành phải tổ chức cấp phát động block cho tập tin Để ghi/đọc nội dung block trước hết phải định vị đầu đọc/ ghi đến block Khi chương trình người sử dụng cần đọc nội dung đãy block khơng liên tiếp nhau, hệ điều hành phải chọn lựa nên đọc block trước, nên đọc theo thứ tự dựa vào mà hệ điều hành di chuyển đầu đọc đến block thích hợp, nhằm nâng cao tốc độ đọc liệu đĩa Thao tác gọi lập lịch cho đĩa  Tóm lại, phận quản lý nhớ phụ thực nhiệm vụ sau:  Quản lý không gian trống đĩa  Định vị lưu trữ thông tin đĩa  Lập lịch cho vấn đề ghi/ đọc thông tin đĩa đầu từ 1.1.1.5.Thành phần quản lý tập tin Máy tính lưu trữ thông tin nhiều loại thiết bị lưu trữ khác nhau, thiết bị lại có tính chất chế tổ chức lưu trữ thông tin khác nhau, điều gây khó khăn cho người sử dụng Để khắc phục điều hệ điều hành đưa khái niệm đồng cho tất thiết bị lưu trữ vật lý, tập tin (file) Tập tin đơn vị lưu trữ nhất, tập tin có tên riêng Hệ điều hành phải thiết lập mối quan hệ tương ứng tên tập tin thiết bị lưu trữ chứa tập tin Theo cần truy xuất đến thông tin lưu trữ thiết bị lưu trữ người sử dụng cần truy xuất đến tập tin tương ứng thơng qua tên nó, tất việc cịn lại hệ điều hành thực Trong hệ thống có nhiều tiến trình đồng thời truy xuất tập tin hệ điều hành phải tạo chế thích hợp để bảo vệ tập tin trách việc ghi/ đọc bất hợp lệ tập tin  Tóm lại: Như phận quản lý tập tin hệ điều hành thực nhiệm vụ sau:  Tạo/ xoá tập tin/ thư mục  Bảo vệ tập tin có tượng truy xuất đồng thời  Cung cấp thao tác xử lý bảo vệ tập tin/ thư mục  Tạo mối quan hệ tập tin nhớ phụ chứa tập tin  Tạo chế truy xuất tập tin thông qua tên tập tin 1.1.1.6.Thành phần mạng Hệ phân tán tập hợp xử lý, chúng không chia sẻ nhớ, thiết bị ngoại vi hay đồng hồ Thay vào xử lý có nhớ, đồng hồ xử lý giao tiếp với thông qua đường giao tiếp bus tốc độ cao hay mạng Các xử lý hệ thống phân tán khác kích thước chức Chúng chứa vi xử lý, trạm làm việc, máy vi tính hệ thống máy tính thơng thường Các xử lý hệ thống nối với thơng qua mạng truyền thơng cấu hình nhiều cách khác Mạng nối kết phần hay tồn Thiết kế mạng truyền thông phải xem xét vạch đường thông điệp chiến lược nối kết, vấn đề cạnh tranh hay bảo mật trình bị khoá (blocked) yêu cầu tài nguyên hệ điều hành đáp ứng Phương pháp khơng hiệu Thứ nhất, tiến trình phải đợi khoảng thời gian dài để có đủ tài nguyên có thẻ chuyển sang hoạt động được, tiến trình cần số tài ngun số hoạt động được, sau u cầu tiếp Thứ hai, lãng phí tài ngun, tiến trình nhiều tài ngun mà đến kết thúc tiến trình sử dụng, tài nguyên mà tiến trình khác cần Ở hệ điều hành tổ chức phân lớp tài nguyên hệ thống Theo tiến trình phải trả tài ngun mức thấp cấp phát tài nguyên cấp cao Đối với điều kiện No preemption: Điều kiện ngăn chặn cách, tiến trình bị rơi vào trạng thái khố, hệ điều hành thu hồi tài ngun tiến trình bị khố để cấp phát cho tiến trình khác cấp lại đầy đủ tài nguyên cho tiến trình tiến trình đưa khỏi trạng thái khố Đối với điều kiện chờ đợi vịng trịn: Điều kiện ngăn chặn cách phân lớp tài nguyên hệ thống Theo đó, tiến trình cấp phát tài ngun lớp L, sau yêu cầu tài nguyên lớp thấp lớp L 4.4.3.Xử lý bế tắc Các phương thức ngăn chặn bế tắc tập trung vào việc hạn chế quyền truy xuất đến tài nguyên áp đặt ràng buộc lên tiến trình Điều ảnh hưởng đến mục tiêu khai thác hiệu tài nguyên hệ điều hành, ngăn chặn độc quyền tài nguyên ví dụ, hệ điều hành phải cài đặt chế độc quyền để bảo vệc tài nguyên chia sẻ Và phân tích việc cấp phát tài nguyên lần cho tiến trình để ngăn chặn tượng hold and wait tồn vài hạn chế Các hệ điều hành giải vấn đề bế tắc theo hướng phát bế tắc để tìm cách khỏi bế tắc Phát bế tắc không giới hạn truy xuất tài nguyên không áp đặt ràng buộc lên tiến trình Với phương thức phát bế tắc, yêu cầu cấp phát tài nguyên đáp ứng Để phát bế tắc hệ điều hành thường cài đặt thuật tốn để phát hệ thống có tồn tượng chờ đợi vịng trịn hay khơng Việc kiểm tra, để xem thử hệ thống có khả xảy bế tắc hay khơng thực liên tục có yêu cầu tài nguyên, thực theo chu kỳ, phụ thuộc vào bế tắc xảy Việc kiểm tra bế tắc có yêu cầu tài nguyên nhận biết khả xảy bế tắc nhanh hơn, thuật toán áp dụng đơn giản dự vào thay đổi trạng thái hệ thống Tuy nhiên, hệ thống phải tốn nhiều thời gian cho lần kiểm tra bế tắc 118 Mỗi bế tắc phát hiện, hệ điều hành thực vài giải pháp để thoát khỏi bế tắc Sau vài giải pháp có thể: 1.Thốt tất tiến trình bị bế tắc Đây giải pháp đơn giản nhất, thường hệ điều hành sử dụng 2.Sao lưu lại tiến trình bị bế tắc vài điểm kiển tra định nghĩa trước, sau khởi động lại tất tiến trình Giải pháp yêu cầu hệ điều hành phải lưu lại thông tin cần thiết điểm dừng tiến trình, đặc biệt trỏ lệnh tài nguyên tiến trình sử dụng, để khởi động lại tiến trình Giải pháp có nguy xuất bế tắc trở lại cao, tất tiến trình reset trở lại việc tranh chấp tài ngun khó tránh khỏi Ngồi hệ điều hành thường phí cao cho việc tạm dừng tái kích hoạt tiến trình 3.Chỉ kết thúc tiến trình tập tiến trình bị bế tắc, thu hồi tài nguyên tiến trình này, để cấp phát cho tiến trình tập tiến trình bế tắc để giúp tiến trình khỏi bế tắc, gọi lại thuật toán kiểm tra bế tắc để xem hệ thống khỏi bế tắc hay chưa, dừng, chưa tiếp tục giải phóng thêm tiến trình khác Và tất tiến trình tập tiến trình bế tắc khỏi tình trạng bế tắc Trong giả pháp vấn đề đặt hệ điều hành nên chọn tiến trình để giải phóng dựa vào tiêu chuẩn để chọn lựa cho chi phí để giải phóng bế tắc thấp 4.Tập trung toàn quyền ưu tiên sử dụng tài nguyên cho tiến trình, để tiến trình khỏi bế tắc, kiểm tra xem hệ thống khỏi bế tắc hay chưa, dừng lại, chưa tiếp tục Lần lượt hệ thống khỏi bế tắc Trong giải pháp hệ điều hành phải tính đến chuyện tái kích hoạt lại tiến trình sau hẹ thống khỏi bế tắc Đối với giải pháp 4, hệ điều hành dựa vào tiêu chuẩn sau để chọn lựa tiến trình giải phóng hay ưu tiên tài nguyên: Thời gian xử lý nhất; Thời gian cần processor cịn lại nhất; Tài nguyên cần cấp phát nhất; Quyền ưu tiên thấp 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? 119 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 120 Chương Hệ điều hành đa xử lý Giới thiệu: Hiện nay, với phát triển nhanh cơng nghệ, máy tính ngày 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 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ẻ ứ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à 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 liên kết với máy tính - Hệ xử lý phân tán: thực chất mạng máy tính, bao gồm máy tính 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 Mục Tiêu: - Hiểu khái quát xu sử dụng hệ thống đa xử lý 121 - Hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai - Rèn luyện khả tư duy, lập luận có tính khoa học - Tinh thần hỗ trợ học tập Nội Dung: 5.1.Hệ điều hành đa xử lý tập trung Mục tiêu: - Hiểu khái quát xu sử dụng hệ thống đa xử lý - Hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai 5.1.1.Hệ thống đa xử lý Hệ thống nhiều CPU nay, từ tốc độ phát triển nhanh cơng nghệ, máy tính ngày phổ dụ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 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 Đối với 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 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 tiệu transitor triển khai 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 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 Thứ hai, 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 122 Chúng ta khảo sát số nội dung chọn giải pháp đa xử lý theo nghĩa hệ thống tính tốn tổ hợp không CPU mà nhiều CPU máy tính (hệ đa xử lý tập trung) nhiều máy tính hệ thống thống Gọi chung hệ có nhiều CPU hệ đa xử lý Phân loại hệ đa xử lý Có số cách phân loại hệ đa xử lý: • Phân loại theo vị trí đặt CPU: tập trung phân tán Các siêu máy tính (supercomputer) ví dụ hệ đa xử lý tập trung Đặc trưng hệ thống CPU liên kết với máy tính đảm bảo độ kết dính phần cứng chặt Ví dụ hệ đa xử lý phân tán hệ thống tính tốn phân tán dựa mạng máy tính với độ kết dính phần cứng • Phân loại theo đặc tính CPU thành phần: hệ đa xử lý hệ đa xử lý không v.v Một ví dụ quen thuộc hệ không thiết bị xử lý máy vi tính gồm CPU xử lý chung CPU xử lý dấu phảy động Siêu máy tính ILLIAC-IV gồm nhiều CPU có đặc trưng giống ví dụ hệ • Cách phân loại điển hình dựa theo kiểu CPU thành phần tiếp nhận xử lý liệu nhịp làm việc Cách phân loại bao gồm máy tính đơn xử lý thông thường: - Đơn thị, đơn liệu (SISD: Single Data Single Instruction) 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ó thị (instruction, câu lệnh) thực Đây máy tính đơn xử lý - Đơn thị, đa liệu (SIMD: Single Instruction Multiple Data): Các xử lý nhịp làm việc thực thị Ví dụ phép cộng hai vector cho trước: Các CPU thành phần thực phép cộng theo đối số tương ứng CPU; sau đó, chọn tiếp thị để tiếp tục cơng việc Thơng thường, hệ thống có phận điều khiển riêng cho việc chọn thị CPU thành phần thực thị (bộ xử lý ma trận) - Đa thị, đơ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 tuần tự: output CPU input CPU (Bộ xử lý vector) Các CPU kết nối theo kiểu gọi kết nối “dây chuyền” - Đa thị, đa câu lệnh (MIMD): Mỗi CPU có phân tích chương trình riêng; thị liệu gắn với CPU: nhịp CPU hoàn toàn “độc lập nhau” 123 5.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 –IV, hitachi máy tính nhiều xử lý (máy tính khoa CNTT, trường ĐHKHTN-ĐHQGHN có hai xử lý) v.v Các tài nguyên khác CPU phân chia cho CPU hệ điều hành đa xử lý, hai toán lớn kể đến phân phối nhớ phân phối CPU 5.1.2.1.Phân phối nhớ Các trình xuất nhớ chung Việc phân phối nhớ 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 vieecj với nhớ (bài tốn xử lý trỏ ngồi v.v.) gắn với CPU catche nhớ (máy ILLIAC-IV mõi CPU có catche la 2KB) Phân hai loại thâm nhập catche: tĩnh động Thâm nhập tĩnh; Mỗi CPU thâm nhập catche tương ứng, không thâm nhập liệu vùng catche CPU khác Thâm nhập động cho phép CPU máy thâm nhập catche CPU khác (như máy ILLIAC-IV cho phép lấy thông tin catche máy kề cận) 5.1.2.2.Bài tốn điều khiển CPU Có nhiều CPU, việc điều khiển CPU phân số cách sau: Toàn CPU dành cho trình: Một trình phân phối CPU, song tự q trình nói nảy sinh q trình con; trình giải CPU Các “q trình con” coi tính tốn đơn giản đó: Máy tính đa xử lý vector chia cơng đoạn q 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ụ cộng hai ma trận 20x20 coa 400 CPU lắp 20x20 nhịp thời gian song toàn cộng hai ma trận cỡ Mỗi CPU xử lý “q trình con” riêng Ngay máy vi tính, CPU 80x86 xử lý chung, 80x87 xử lý phép toán dấu phẩy động Trong thời gian 87 hoạt động, 80x86 dùng cho trình khác Việc phân làm cho mức độ chuyên nghiệp hóa cao hơn, giá trị tổng thể tăng lên đáng kể Về vòng xếp hàng xem xét theo hai mơ hình đưới đây: - Mơ hình tĩnh: Hoặc CPU có dịng xếp hàng riêng; tốn gắn với dòng xếp hàng, việc điều khiển dòng xếp hàng độc lập với dịng xếp hàng khác, q trình phát sinh gắn với dịng xếp hàng đó; 124 - Mơ hình động: Tồn hệ thống gồm hay vài dịng xếp hàng, q trình xếp lên CPU rỗi (có thể sử dụng kiểu liệu semaphone nhiều giá trị để phân phối CPU cho q trình này) 5.2.Thuật tốn song song ngơn ngữ lập trình song song Mục tiêu: - Hiểu thuật tốn song song 5.2.1.Thuật tốn song song Ví dụ 1: Tính (a1a2+a3a4)(a5a6+a7a8) Với máy câu lệnh, với>=4 CPU a1a2 a3a4 a5a6 a7a8 (cùng thực lệnh nhân) a1a2 + a3a4 a5a6 + a7a8 (cùng thực lệnh cộng) (a1a2 + a3a4)(a5a6 + a7a8) ( thực lệnh nhân) Với máy CPU, nhịp cho phép CPU thành phần thực lệnh khác nhau: a1a2 a3a4 (cùng thực lệnh nhân) a1a2 + a3a4 a5a6 (một lệnh cộng, lệnh nhân) a7a8 (một lệnh nhân) a5a6 + a7a8 (một lệnh cộng) (a1a2 + a3a4)( a5a6 + a7a8) (một lệnh nhân) Tiến trình chia trình độc lập, thực song song Trong thực song song có khơng có xảy tranh chấp tài nguyên Mỗi trình lại thực hệ thống Việc xem xét thuật tốn song song khơng mức độ q trình, mà cịn “bước tính tốn” (bao gồm mức thấp “phép toán” hay “lệnh”) thuật toán giải toán chung (xem hai thí dụ trên) Như cần nghiên cứu tính song song thuật toán Giả sử tập hợp “bước tính tốn” thuật tốn phân hoạch thành số nhóm theo tính chất: Các nhóm đánh số với ý nghĩa “bước” nhóm với số nhỏ cần thực trước “bước” nhóm có số cao: nhóm số nhỏ “đi trước” “bước” nhóm phụ thuộc liệu theo liệu vào, kết “bước” thuộc nhóm trước; “bước” nhóm thực cách song song 125 Dạng trình bày thuật tốn theo nhóm nêu gọi “dạng song song” thuật toán Mỗi nhóm dạng song song gọi “lớp” (tầng); số lớp gọi “chiều cao” dạng song song; số cực đại bước lớp gọi “bề rộng” dạng song song Như vậy, có dạng song song, cần thể hệ thống đa xử lý (tính tốn song song) Có thể nhận thấy tương ứng: Chiều cao tương ứng với thời gian thực thuật toán; Bề rộng tương ứng với số CPU đủ để thực thuật tốn với chiều cao nói Một toán đặt ra: Để giả toán cho trước máy tính đa xử lý với N CPU, cần tìm dạng song song cho có bề rộng không vượt N chiều cao nhỏ Một tốn gặp song cần giải quyết: Coi số CPU tùy ý có Tìm dạng song song có chiều cao nhỏ Có thể biểu diễn thuật tốn goomg số bước: Mỗi bước đỉnh đồ thị, bước sau bước khác (trực tiếp) cung từ bước trước tới bước sau: lúc nhận đồ thị định hướng hữu hạn, bước xây dựng cho khơng có chu trình đồ thị nói 5.2.2.Ngơn ngữ lập trình song song Lợi điểm việc nghiên cứu tính tốn song song khả thi thực máy tính có chế thực u cầu tính tốn song song Điều dẫn đến việc hình thành ngơn ngữ lập trình song song với số tính chất sau: Thể tính tốn song song ngơn ngữ theo hai hướng: Tính tốn song song kiểu liệu vector, ma trận, cấu trúc…, thực song song trình con; Thực song song theo kiểu liệu thao tác thực nhịp thời gian, nhịp thành phần ma trận tính tốn (cộng, trừ, nhân…) Điều thể rõ máy tính vector ma trận Thực song song trình con: biết dạng song song thuật tốn trình bày thơng qua việc “tuần tự” thực lớp, đó, bước “lớp” thực song song Ví dụ, V=∑Vj viết thuật toán dạng song song là: V1 => V2=> V3…=> Vk Tring đó, “nhóm” Vj từ nhóm sang nhóm khác, trình bày chương trình: 126 V1 V2 Vk Trong đó, Vj liệt kê nhóm q trình chạy song song với Như vậy, tương ứng với lớp Vj có cách thức cho biết q trình thuộc lớp thực song song Trong số trường hợp phức tạp hơn, cho phép bước lớp kèm theo thời gian thực bước đó, độ ưu tiên bước lớp để ưu tiên việc phân phối CPU Một số hướng nghiên cứu có liên quan đến thuật toán song song quan tâm: - Biến đổi tính tốn tương đương tìm dạng song song chuẩn cho thuật toán tuần tự; - Nghiên cứu khía cạnh song song thuật tốn song song phương pháp số Một áp dụng kha điển hình supercomputer thực tính tốn song song tốn tính tốn Fourier nhanh 5.3.Hệ điều hành đa xử lý phân tán Mục tiêu: - Hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai 5.3.1.Giới thiệu hệ phân tán Như biết HĐH đại thường tập trung vào chức máy tính ảo, nhấn mạnh mức dịch vụ hệ thống thuận tiện quan niệm HĐH phân tán tích hợp dịch vụ hệ thống cho phép trình diễn nhìn suốt tới hệ thống máy tính với tài nguyên điều khiển phân tán (đặt nhiều vị trí địa lý khác nhau) Có thể nói HĐH phân tán HĐH kết nối chặt phần mềm tảng kết nối lỏng phần cứng Theo cách nói khác, HĐH phân tán cung cấp cho người sử dụng cách thức làm việc với HĐH tập trung điều kiện phân tán phần cứng lẫn phần mềm Một vấn đề đặt cho khái niệm HĐH phân tán Tồn nhiều cách hiểu HĐH phân tán, song có tài liệu cho định nghĩa thức HĐH phân tán Trong nhiều ngữ cảnh, ng-ời ta sử dụng khái niệm "hệ phân tán" thay cho khái niệm "HĐH phân tán" Chúng ta chấp nhận định nghĩa đưa 127 Hệ phân tán tổ hợp bao gồm máy tính độc lập với trình diễn hệ thống máy tính đơn trước người dùng HĐH phân tán phát triển sở số tiền đề sau đây: • Thứ nhất, nhu cầu tăng không ngừng việc chia xẻ tài nguyên thơng tin mà HĐH có từ trước khơng đáp ứng Trong trình triển khai ứng dụng Tin học vào đời sống, mạng máy tính phát triển không ngừng, tài nguyên máy tính mạng (phần cứng, phần mềm) ngày đ-ợc mở rộng nâng cấp, giá trị tài nguyên tăng nhanh dẫn đến tăng tr-ởng v-ợt bậc nhu cầu chia xẻ tài nguyên thông tin hệ thống thống HĐH tập trung HĐH mạng túy không đáp ứng nhu cầu tăng trưởng • Tiền đề thứ hai liên quan đến việc giá trạm làm việc giảm nhanh chóng Việc giảm giá trạm làm việc làm cho chúng sử dụng phổ dụng hơn, số lượng chất lượng trạm làm việc tăng không ngừng mà từ làm tăng yêu cầu xử lý phân tán Điều tạo nhiều vị trí có khả xử lý lưu trữ thông tin mà từ cần thiết phải phối hợp để chia xẻ tốt tiềm lưu trữ xử lý vị trí • Việc sử dụng rộng rãi mạng Trên sở việc kết nối mạng để triển khai HĐH mạng tạo nên sở kỹ thuật hạ tầng (phần cứng, kết nối mạng, phần mềm) làm tảng phát triển HĐH phân tán • Tính thục kỹ nghệ phần mềm chuyên gia phát triển HĐH Kinh nghiệm xây dựng HĐH trước (HĐH tập trung, HĐH mạng) cho phép nâng cao trình độ để đủ lực xây dựng HĐH phân tán 5.3.2 Đặc điểm hệ phân tán Hệ phân tán có đặc điểm Tính chia xẻ tài nguyên, Tính mở, Khả song song, Tính mở rộng, Khả thứ lỗi, Tính suốt 5.3.2.1.Tính chia xẻ tài nguyên Thuật ngữ tài nguyên dùng để tất thứ chia xẻ hệ phân tán, bao gồm từ thiết bị phần cứng (Đĩa, máy in ) tới đối tượng (file, cửa sổ, CSDL đối tượng liệu khác) Trong hệ phân tán, chia xẻ tài nguyên hiểu tài nguyên hệ thống QT chia xẻ (sử dụng chung) mà không bị hạn chế tình trạng phân tán tài nguyên theo vị trí địa lý Việc chia xẻ tài nguyên hệ phân tán - tài nguyên bị lệ thuộc mặt vật lý với máy tính - thực thơng qua truyền thơng 128 Để chia xẻ tài nguyên cách hiệu tài nguyên cần phải quản lý chương trình có giao diện truyền thơng, tài ngun truy nhập, cập nhật cách tin cậy quán Quản lý tài nguyên bao gồm lập kế hoạch dự phòng, đặt tên lớp tài nguyên, cho phép tài nguyên truy cập từ nơi khác, ánh xạ tên tài nguyên vào địa truyền thơng a Tính mở Tính mở hệ thống máy tính tính dễ dàng mở rộng phần cứng (thiết bị ngoại vi, nhớ, giao diện truyền thông ) phần mềm (các mơ hình HĐH, giao thức truyền thơng, dịch vụ chia xẻ tài nguyên ) Nói cách khác, tính mở hệ thống phân tán mang ý nghĩa bao hàm tính dễ dàng cấu hình phần cứng lẫn phần mềm Tính mở hệ phân tán thể hệ thống tạo nên từ nhiều loại phần cứng phần mềm nhiều nhà cung cấp khác với điều kiện thành phần phải theo tiêu chuẩn chung (liên quan đến HĐH tính đa dạng tài nguyên; liên quan đến nhà cung cấp tài nguyên tính chuẩn) Tính mở Hệ phân tán xem xét theo mức độ bổ sung thêm dịch vụ chia xẻ tài nguyên mà không phá hỏng hay nhân đơi dịch vụ tồn Tính mở hoàn thiện cách xác định hay phân định rõ giao diện hệ phân tán làm cho tương thích với nhà phát triển phần mềm (tức giao diện HĐH phân tán cần phổ dụng) Tính mở HĐH phân tán thi hành dựa việc cung cấp chế truyền thông QT công khai giao diện đứợc dùng để truy cập tài nguyên chung b Khả song song Hệ phân tán hoạt động mạng truyền thơng có nhiều máy tính, máy tính có nhiều CPU Trong thời điểm có từ hai QT trở lên tồn tại, ta nói chúng thực đồng thời Việc thực QT đồng thời theo chế phân chia thời gian (một CPU) hay song song (nhiều CPU) Khả làm việc song song hệ phân tán thi hành hai tình huống: - Nhiều người sử dụng đồng thời đưa lệnh hay tương tác với chương trình ứng dụng (đồng thời xuất nhiều QT khách) - Nhiều QT phục vụ chạy đồng thời, QT đáp ứng yêu cầu số QT Khách Từ điều kiện đa xử lý, khả song song hệ thống phân tán trở thành thuộc tính 129 c Khả mở rộng Hệ phân tán có khả hoạt động tốt hiệu nhiều mức khác Một hệ phân tán nhỏ hoạt động cần hai trạm làm việc phục vụ file Các hệ lớn bao gồm hàng nghìn máy tính, nhiều phục vụ File phục vụ máy in Khả mở rộng hệ phân tán đặc trưng tính khơng thay đổi phần mềm hệ thống phần mềm ứng dụng hệ thống mở rộng Điều đạt mức độ hệ phân tán (khơng thể hồn tồn định nghĩa trên) Yêu cầu mở rộng không mở rộng phần cứng hay mạng hệ thống bao trùm mà cịn cần phải phân tích, đánh giá tất khía cạnh thiết kế hệ phân tán Một ví dụ đơn giản tình tần suất sử dụng file cao xuất kết việc tăng số người sử dụng mạng Để tránh tình trạng tắc nghẽn xảy có phục vụ đáp ứng yêu cầu truy cập file đó, cần nhân file vài phục vụ hệ thống thiết kế cho dễ dàng bổ sung phục vụ Có thể tính đến giải pháp khác sử dụng Cache liệu d Khả thứ lỗi Khả thứ lỗi thể việc hệ thống không bị sụp đổ cố lỗi hành phần (cả phần cứng lẫn phần mềm) phận Việc thiết kế khả chịu lỗi hệ thống máy tính dựa hai giải pháp sau đây: - Dùng khả thay để đảm bảo việc hoạt động liên tục hiệu - Dùng chương trình đảm bảo chế phục hồi liệu xảy cố Để xây dựng hệ thống khắc phục cố theo cách thứ chọn giải pháp nối hai máy tính với để thực chương trình mà hai máy chạy chế độ Standby (khơng tải hay chờ) Giải pháp tốn phải nhân đôi phần cứng hệ thống Hệ phân tán cung cấp khả sẵn sàng cao để đối phó với sai hỏng phần cứng Khả sẵn sàng hệ thống đo tỷ lệ thời gian mà hệ thống sẵn sàng làm việc so với thời gian có cố Khi máy mạng sai hỏng có cơng việc liên quan đến thành phần sai hỏng bị ảnh hưởng Người sử dụng chuyển đến trạm khác máy họ sử dụng bị hỏng, QT phục vụ khởi động lại máy khác 130 e Tính suốt Như trình bày trên, tính suốt tính chất hệ phân tán Tính suốt hệ phân tán hiểu che khuất thành phần riêng biệt hệ thống máy tính (phần cứng phần mềm) người sử dụng người lập trình ứng dụng Người sử dụng có quyền truy cập đến liệu đặt điểm liệu xa cách tự động nhờ hệ thống mà không cần biết đến phân tán tất liệu mạng Hệ thống tạo cho người dùng cảm giác liệu coi đặt máy tính cục Các thể điển hình tính suốt HĐH phân tán trình bày phần sau CÂU HỎI CỦNG CỐ BÀI HỌC 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 Trình bày thuật tốn song song ngơn ngữ lập trình song song 131 TÀI LIỆU THAM KHẢO Nguyễn Thanh Tùng Giáo trình hệ điều hành.1995 Khoa Công nghệ thông tin – Đại Học Bách Khoa Hà Nội Hà Quang Thụy Giáo trình nguyên lý hệ điều hành 1998 Đại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội Đặng Vũ Tùng Giáo trình nguyên lý hệ điều hành Nhà xuất hà Nội 2005- “Tập slide giảng” Bộ môn Các hệ thống thông tin A Silberschatz, P B Galvin, G Gagne, Wiley & Sons “Operating system Concepts” 2002 William Stallings, “Operating Systems – Internals and Design Principles”, Pearson Education International, 2005 132 ... năng, phân loại thành phần hệ điều hành Nội Dung Chính: 1.1 Khái niệm hệ điều hành Mục tiêu: 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 Hệ điều hành gì? Khó có... nghề Sửa chữa, lắp ráp máy tính MỤC TIÊU CỦA MƠN HỌC - Hiểu vai trò chức 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 nguyên lý thiết kế, hoạt động hệ điều hành. .. Máy tính cá nhân đời Hệ điều hành MS_DOS gắn liền với máy tính IBM_PC Hệ điều hành mạng hệ điều hành phân tán đời thời kỳ  Trên ý định trình bày chi tiết, đầy đủ lịch sử hình thành hệ điều hành,

Ngày đăng: 29/12/2022, 16:03

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

Tài liệu liên quan