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

Bài giảng Hệ điều hành: Phần 2 - Trường Đại học Kiến trúc Hà Nội

68 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 2,13 MB

Nội dung

Nối tiếp nội dung phần 1, phần 2 bài giảng Hệ điều hành tiếp tục cung cấp tới các bạn kiến thức về: Quản lý bộ nhớ trong; Quản lý bộ nhớ ngoài; Quản lý thiết bị; Bảo vệ và an toàn hệ thống; Hệ điều hành đa xử lý. Mời các bạn cùng tham khảo nội dung bài giảng tại đây.

lOMoARcPSD|16991370 Chương 4: QUẢN LÝ BỘ NHỚ TRONG Quản lý nhớ nhiệm vụ quan trọng phức tạp hệ điều hành Bộ phận quản lý nhớ xem nhớ tài nguyên hệ thống dùng để cấp phát chia sẻ cho nhiều tiến trình trạng thái hoạt động Các hệ điều hành mong muốn có nhiều tiến trình nhớ Cơng cụ quản lý nhớ phân trang (paging) phân đoạn (segmentation) Với phân trang tiến trình chia thành nhiều phần nhỏ có quan hệ với nhau, với kích thước trang cố định Sự phân đoạn cung cấp cho chương trình người sử dụng khối nhớ có kích thước khác Hệ điều hành kết hợp phân trang phân đoạn để có chiến lược quản lý nhớ linh hoạt 4.1 Các khái niệm Trong hệ thống đơn chương trình (uniprogramming), nhớ ngồi hệ điều hành, có chương trình thực Trong hệ thống đa chương (multiprogramming) nhớ ngồi hệ điều hành, có nhiều tiến trình hoạt động Do nhiệm vụ quản lý nhớ hệ điều hành hệ thống đa chương trình phức tạp nhiều so với hệ thống đơn chương trình Trong hệ thống đa chương phận quản lý nhớ phải có nhiệm vụ đưa tiến trình vào nhớ có yêu cầu, kể nhớ khơng cịn khơng gian trống, ngồi phải bảo vệ hệ điều hành tiến trình nhớ tránh trường hợp truy xuất bất hợp lệ xảy Như việc quản lý nhớ hệ thống đa chương quan trọng cần thiết Bộ phận quản lý nhớ phải thực nhiệm vụ sau đây: Sự tái định vị (Relocation): Trong hệ thống đa chương, khơng gian nhớ thường chia sẻ cho nhiều tiến trình khác yêu cầu nhớ tiến trình ln lớn khơng gian nhớ vật lý mà hệ thống có Do dó, chương trình hoạt động nhớ bị đưa đĩa (swap-out) đưa vào lại (swap-in) nhớ thời điểm thích hợp sau Vấn đề đặt đưa chương trình vào lại nhớ hệ điều hành phải định vị vào vị trí mà nạp trước Để thực điều hệ điều hành phải có chế để ghi lại tất thơng tin liên quan đến chương trình bị swap-out, thông tin sở để hệ điều hành swap-in chương trình vào lại nhớ cho tiếp tục hoạt động Hệ điều hành buộc phải swap-out chương trình cịn khơng gian nhớ để nạp tiến trình khác, dó sau 99 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 swap-out chương trình hệ điều hành phải tổ chức lại nhớ để chuẩn bị nạp tiến trình vừa có u cầu Các nhiệm vụ phần quản lý nhớ hệ điều hành thực Ngoài nhiệm vụ hệ điều hành phải có khả chuyển đổi địa nhớ ghi code chương trình thành địa vật lý thực tế nhớ chương trình thực thao tác truy xuất nhớ, người lập trình khơng biết trước trạng nhớ vị trí mà chương trình nạp chương trình họ hoạt động Trong số trường hợp khác chương trình bị swap-out swap-in vào lại nhớ vị trí khác với vị trí mà nạp trước Bảo vệ nhớ (Protection): Mỗi tiến trình phải bảo vệ để chống lại truy xuất bất hợp lệ vơ tình hay có chủ ý tiến trình khác Vì tiến trình chương trình khác tham chiếu đến vùng nhớ dành cho tiến trình khác để thực thao tác đọc/ghi mà khơng phép (permission), mà truy xuất đến khơng gian địa nhớ mà hệ điều hành cấp cho tiến trình Để thực điều hệ thống quản lý nhớ phải biết không gian địa tiến trình khác nhớ phải kiểm tra tất yêu cầu truy xuất nhớ tiến trình tiến trình đưa địa truy xuất Điều khó thực khơng thể xác định địa chương trình nhớ q trình biên dịch mà phải thực việc tính tốn địa thời điểm chạy chương trình Hệ điều hành có nhiều chiến lược khác để thực điều Điều quan trọng mà hệ thống quản lý nhớ phải thực khơng cho phép tiến trình người sử dụng truy cập đến vị trí hệ điều hành, ngoại trừ vùng liệu rountine mà hệ điều hành cung cấp cho chương trình người sử dụng Chia sẻ nhớ (Sharing): Bất kỳ chiến lược cài đặt phải có tính mềm dẻo phép nhiều tiến trình truy cập đến địa nhớ Ví dụ, có nhiều tiến trình thực chương trình việc cho phép tiến trình truy cập đến copy chương trình thuận lợi cho phép tiến trình truy cập đến copy sở hữu riêng Các tiến trình đồng thực (co-operating) vài tác vụ cần để chia sẻ truy cập đến cấu trúc liệu Hệ thống quản lý nhớ phải điều khiển việc truy cập đến không gian nhớ chia sẻ mà không vi phạm đến yêu cầu bảo vệ nhớ Ngồi ra, mơi trường hệ điều hành đa nhiệm hệ điều hành phải chia sẻ khơng gian nhớ cho tiến trình để hệ điều hành nạp nhiều tiến trình vào nhớ để tiến trình hoạt động đồng thời với Tổ chức nhớ logic (Logical organization): Bộ nhớ hệ thống máy 100 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 tính tổ chức dịng mảng, khơng gian địa bao gồm dãy có thứ tự byte word Bộ nhớ phụ tổ chức tương tự Mặc dù việc tổ chức có kết hợp chặt chẽ với phần cứng thực tế máy khơng phù hợp với chương trình Đa số chương trình chia thành modun, vài số thay đổi (read only, execute only) vài số chứa liệu thay đổi Nếu hệ điều hành phần cứng máy tính giao dịch cách hiệu với chương trình người sử dụng liệu modun số thuận lợi thấy rõ sau đây:  Các modun viết biên dịch độc lập, với tất tham chiếu từ modun đến modun khác giải hệ thống thời điểm chạy  Các mức độ khác bảo vệ, read-only, execute-only, cho modun khác  Nó đưa chế để modun chia sẻ tiến trình Công cụ đáp ứng cho yêu cầu phân đoạn (segmentation), kỹ thuật quản lý nhớ trình bày chương Tổ chức nhớ vật lý (Physical organization): Như biết nhớ máy tính tổ chức theo cấp: nhớ nhớ phụ Bộ nhớ cung cấp tốc độ truy cập liệu cao, liệu phải làm tươi thường xuyên tồn lâu dài Bộ nhớ phụ có tốc độ truy xuất chậm rẻ tiền so với nhớ khơng cần làm tươi thường xun Vì nhớ phụ có khả lưu trữ lớn cho phép lưu trữ liệu chương trình khoảng thời gian dài, nhớ để giữ (hold) khối lượng nhỏ chương trình liệu sử dụng thời điểm Trong giản đồ cấp này, việc tổ chức luồng thông tin nhớ nhớ phụ nhiệm vụ quan trọng hệ thống Sự chịu trách nhiệm cho luồng gán cho người lập trình riêng, điều khơng hợp lý gây rắc rối, hai nguyên nhân:  Khơng gian nhớ dành cho chương trình với liệu thường khơng đủ, trường hợp này, người lập trình phải tiến hành thao tác hiểu Overlaying, theo chương trình liệu tổ chức thành modun khác gán vùng nhớ, có chương trình chịu trách nhiệm chuyển modun vào cần  Trong mơi trường đa chương trình, người lập trình khơng thể biết thời điểm xác định có khơng gian nhớ cịn trống 101 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 khơng gian nhớ trống Như nhiệm vụ di chuyển thông tin cấp nhớ phải hệ thống thực Đây nhiệm vụ mà thành phần quản lý nhớ phải thực 4.2 Các kỹ thuật cấp phát nhớ 4.2.1 Kỹ thuật phân vùng cố định (Fixed Partitioning) Trong kỹ thuật không gian địa nhớ chia thành phần cố định, phần nằm vùng địa thấp dùng để chứa hệ điều hành, phần cịn lại, tạm gọi phần user program, sẵn sàng cho việc sử dụng tiến trình tiến trình nạp vào nhớ Trong hệ thống đơn chương, phần user program dùng để cấp cho chương trình nhất, nhiệm vụ quản lý nhớ hệ điều hành trường hợp đơn giản hơn, hệ điều hành kiểm sốt truy xuất nhớ chương trình người sử dụng, khơng cho truy xuất lên vùng nhớ hệ điều hành Để thực việc hệ điều hành sử dụng ghi giới hạn để ghi địa ranh giới hệ điều hành chương trình người sử dụng, theo chương trình người sử dụng cần truy xuất địa hệ điều hành so sánh địa với giá trị địa ghi thành ghi giới hạn, nhỏ từ chối khơng cho truy xuất, ngược lại cho phép truy xuất Việc so sánh địa cần phải có hỗ trợ phần cứng làm giảm tốc độ truy xuất nhớ hệ thống bảo vệ hệ điều hành tránh việc chương trình người sử dụng làm hỏng hệ điều hành dẫn đến làm hỏng hệ thống Trong hệ thống đa chương, phần user program lại phân thành nhiều phân vùng (partition) với biên vùng cố định có kích thước hay khơng Trong trường hợp tiến trình nạp vào partition kích thước nhỏ kích thước partition partition cịn trống Khi có tiến trình cần nạp vào nhớ tất partition chứa tiến trình khác hệ điều hành chuyển tiến trình đó, mà hệ điều hành cho hợp lệ (kích thước vừa đủ, khơng trạng thái ready running, khơng có quan hệ với tiến trình running khác, ), ngồi (swap out), để lấy partition trống nạp tiến trình vừa có u cầu Đây nhiệm vụ phức tạp hệ điều hành, hệ điều hành phí cao cho cơng việc Có hai trở ngại việc sử dụng phân vùng cố định với kích thước nhau:  Thứ nhất, kích thước chương trình q lớn so với kích thước partition người lập trình phải thiết kế chương trình theo cấu 102 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 trúc overlay, theo phần chia cần thiết chương trình nạp vào nhớ khởi tạo chương trình, sau người lập trình phải nạp tiếp modun cần thiết khác vào partition chương trình ghi đè lên chương trình liệu Cấu trúc chương trình overlay tiết kiệm nhớ yêu cầu cao người lập trình  Thứ hai, kích thước chương trình nhỏ kích thước partition lớn so với kích thước partition khơng phải bội số kích thước partition dễ xảy tượng phân mảnh bên (internal fragmentation) nhớ, gây lãng phí nhớ Ví dụ, có khơng gian trống kích thước 30K nằm rãi rác nhớ, khơng nạp modun chương trình có kích thước 12K, tượng gọi tượng phân mảnh bên Cả hai vấn đề khắc phục cách sử dụng phân vùng có kích thước khơng Việc đưa tiến trình vào partition hệ thống đa chương với phân vùng cố định kích thước khơng phức tạp nhiều so với trường hợp phân vùng có kích thước Với partition có kích thước khơng có hai cách để lựa chọn đưa tiến trình vào partition:  Mỗi phân vùng có hàng đợi tương ứng, theo tiến trình cần nạp vào nhớ đưa đến hành đợi phân vùng có kích thước vừa đủ để chứa nó, để vào/để đợi vào phân vùng Cách tiếp cận đơn giản việc đưa tiến trình từ hàng đợi vào phân vùng khơng có lựa chọn khác đây, phân vùng mà tiến trình đợi trống đưa vào phân vùng Tuy nhiên tiếp cận linh động có phân vùng trống, có nhiều tiến trình phải phải đợi để nạp vào phân vùng khác, điều gây lãng phí việc sử dụng nhớ  Hệ thống dùng hàng đợi chung cho tất phân vùng, theo tất tiến trình muốn nạp vào phân vùng chưa vào đưa vào hàng đợi chung Sau có phân vùng trống hệ thống xem xét để đưa tiến trình có kích thước vừa đủ vào phân vùng trống Cách tiếp cận linh động so với việc sử dụng nhiều hàng đợi trên, việc chọn tiến trình hàng đợi để đưa vào phân vùng việc làm phức tạp hệ điều hành phải dựa vào nhiều yếu tố khác như: độ ưu tiên tiến trình, trạng thái tiến trình, mối quan hệ tiến trình, 103 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Hình 4.1a Mỗi Partition có hàng đợi riêng Hình 4.1b Một hàng đợi chung cho tất Partition Mặc dầu phân vùng cố định với kích thước khơng cung cấp mềm dẻo so với phân vùng cố định với kích thước nhau, hai loại cịn số hạn chế sau đây:  Số lượng tiến trình hoạt động hệ thống thời điểm phụ thuộc vào số lượng phân vùng cố định nhớ  Tương tự trên, nêu kích thước tiến trình nhỏ kích thước phân vùng dẫn đến tượng phân mảnh nội vi gây lãng phí việc sử dụng nhớ Sự phân vùng cố định sử dụng hệ điều hành 4.2.2 Kỹ thuật phân vùng động (Dynamic Partitioning) Để khắc phục vài hạn chế kỹ thuật phân vùng cố định, kỹ thuật phân vùng động đời Kỹ thuật thường sử dụng hệ điều hành gần hệ điều hành mainframe IBM, hệ điều hành OS/MVT, Trong kỹ thuật phân vùng động, số lượng phân vùng nhớ kích thước phân vùng thay đổi Tức phần user program nhớ khơng phân chia trước mà ấn định sau có tiến trình nạp vào nhớ Khi có tiến trình nạp vào nhớ hệ điều hành cấp cho khơng gian vừa đủ để chứa tiến trình, phần cịn lại để sẵn sàng cấp cho tiến trình khác sau Khi tiến trình kết thúc đưa ngồi phần khơng gian nhớ mà tiến trình trả lại cho hệ điều hành hệ điều hành cấp cho tiến trình khác, tiến trình có kích thước nhỏ kích thước khơng gian nhớ trống 104 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Để chống lại lãng phí nhớ phân mảnh, hệ điều hành phải thực việc xếp lại nhớ, để không gian nhớ nhỏ rời rác nằm liền kề lại với tạo thành khối nhớ có kích thước đủ lớn để chứa tiến trình Việc làm làm chậm tốc độ hệ thống, hệ điều hành phí cao cho việc này, đặc biệt việc tái định vị tiến trình tiến trình bị đưa khỏi nhớ nạp vào lại nhớ để tiếp tục hoạt động Trong kỹ thuật phân vùng động hệ điều hành phải đưa chế thích hợp để quản lý khối nhớ cấp phát hay trống nhớ Hệ điều hành sử dụng chế: Bản đồ bít Danh sách liên kết Trong chế hệ điều hành chia không gian nhớ thành đơn vị cấp phát có kích thước nhau, đơn vị cấp phát liên tiếp tạo thành khối nhớ (block), hệ điều hành cấp phát block cho tiến trình nạp tiến trình vào nhớ Trong chế đồ bít: đơn vị cấp phát đại diện bít đồ bít Đơn vị cấp phát cịn trống đại diện bít 0, ngược lại đơn vị cấp phát đại diện bít Trong chế danh sách liên kết: Mỗi block nhớ đại diện phần tử danh sách liên kết, phần tử gồm có trường chính: trường thứ cho biết khối nhớ cấp phát (P: process) hay trống (H: Hole), trường thứ hai cho biết thứ tự đơn vị cấp phát block, trường thứ ba cho biết block gồm đơn vị cấp phát Như cần nạp tiến trình vào nhớ hệ điều hành phải dựa vào đồ bit danh sách liên kết để tìm block có kích thước đủ để nạp tiến trình Sau thực thao tác cấp phát sau đưa tiến trình khỏi nhớ hệ điều hành phải cập nhật lại đồ bít danh sách liên kết, điều làm giảm tốc độ thực hệ thống Chọn kích thước đơn vị cấp phát vấn đề quan trọng thiết kế, kích thước đơn vị cấp phát nhỏ đồ bít lớn, hệ thống phải tốn nhớ để chứa Nếu kích thước đơn vị cấp phát lớn đồ bít nhỏ, lãng phí nhớ đơn vị cấp phát cuối tiến trình lớn kích thước tiến trình khơng phải bội số đơn vị cấp phát Điều vừa trình bày trường hợp danh sách liên kết Danh sách liên kết xếp theo thứ tự tăng dần giảm dần kích thước địa chỉ, điều giúp cho việc tìm khối nhớ trống có kích thước vừa đủ để nạp tiến trình theo thuật toán đạt tốc độ nhanh hiệu cao Một số hệ điều hành tổ chức danh sách liên kết riêng để theo dõi đơn vị cấp phát nhớ, danh sách để theo dõi block cấp phát danh dách để theo dõi block trống Cách giúp việc tìm khối nhớ trống nhanh hơn, tìm danh sách khối nhớ trống, tốn thời gian nhiều cho việc cấp nhật danh sách sau thao tác cấp phát, phải thực hai danh sách Khi có tiến trình cần nạp vào nhớ mà nhớ có nhiều khối nhớ trống (Free Block) có kích thước lớn kích thước tiến trình đó, 105 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 hệ điều hành phải định chọn khối nhớ trống phù hợp để nạp tiến trình cho việc lựa chọn dẫn đến việc sử dụng nhớ hiệu Có thuật tốn mà hệ điều hành sử dụng trường hợp này, là: Best-fit, Firstfit, Next-fit Cả thuật toán phải chọn khối nhớ trống có kích thước lớn kích thước tiến trình cần nạp vào, có điểm khác sau đây:  Best-fit: chọn khối nhớ có kích thước vừa kích thước tiến trình cần nạp vào nhớ  First-fit: trường hợp hệ điều hành bắt đầu quét qua khối nhớ trống khối nhớ trống nhớ, chọn khối nhớ trống có kích thước đủ lớn để nạp tiến trình 8k 12k 8k 22k 6k 18k 14k 36k khối nhớ vừa cấp phát cuối Hình 4.2 Ví dụ thuật toán cấp phát nhớ  Next-fit: tương tự First-fit hệ điều hành bắt đầu quét từ khối nhớ trống kế sau khối nhớ vừa cấp phát chọn khối nhớ trống đủ lớn để nạp tiến trình Hình vẽ 3.4 cho thấy nhớ có khối nhớ chưa đươc cấp phát theo thứ tự là: 8k, 12k, 22k, 18k, 8k, 6k, 14k, 36k Trong trường hợp có tiến trình có kích thước 16k cần nạp vào nhớ, hệ điều hành nạp vào:  khối nhớ 22k theo thuật tốn First-fit  khối nhớ 18k theo thuật toán Best-fit  khối nhớ 36k theo thuật toán Next-fit Như theo Best-fit xuất khối phân mảnh 2k, theo First-fit xuất khối phân mảnh 6k, theo Next-fit xuất khối phân mảnh 20k Các hệ điều hành khơng cài đặt cố định trước thuật tốn nào, tuỳ vào trường hợp cụ thể mà chọn cấp phát theo thuật tốn đó, cho chi phí việc cấp phát thấp hạn chế phân mảnh nhớ sau Việc chọn thuật toán thường phụ thuộc vào thứ tự swap kích thước tiến trình Thuật tốn First-fit đánh giá đơn giản, dễ cài đặt mang lại hiệu cao 106 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 đặc biệt tốc độ cấp phát Về hiệu thuật tốn Next-fit khơng Firstfit, thường xun sử dụng khối nhớ trống cuối vùng nhớ, khối nhớ vùng thường có kích thước lớn nên hạn chế phân mảnh, theo ví dụ việc xuất khối nhớ trống 20k sau cấp tiến trình 16k khơng thể gọi phân mảnh được, tiếp tục dễ dẫn đến phân mảnh lớn cuối nhớ Thuật toán Best-fit, khơng tên gọi nó, thuật tốn có hiệu suất thấp nhất, trường hợp hệ điều hành phải duyệt qua tất các khối nhớ trống để tìm khối nhớ có kích thước vừa đủ để chứa tiến trình vừa yêu cầu, điều làm giảm tốc độ cấp phát hệ điều hành Mặt khác với việc chọn kích thước vừa đủ dẫn đến phân mảnh lớn nhớ, tức có nhiều khối nhớ có kích thước nhỏ nhớ, xét mặt lãng phí nhớ thời điểm cấp phát thuật tốn làm lãng phí Tóm lại, khó đánh giá hiệu sử dụng thuật tốn này, hiệu xét “tương lai” nhiều khía cạnh khác khơng phải xét thời điểm cấp phát Và thân thuật tốn có mâu thuẩn với hiệu sử dụng Do yêu cầu công tác cấp phát nhớ hệ điều hành, tiến trình nhớ bị đưa ngồi (swap-out) để dành chỗ nạp tiến trình có u cầu, tiến trình nạp vào lại (swap-in) nhớ thời điểm thích hợp sau Vấn đề đáng quan tâm tiến trình nạp vào lại phân vùng khác với phân vùng mà nạp vào lần Có lý khác khiến tiến trình phải thay đổi vị trí nạp so với ban đầu có liên kết mơdun tiến trình chương trình tiến trình phải dịch chuyển chúng nằm nhớ Sự thay đổi vị trị/địa nạp ảnh hưởng đến thao tác truy xuất liệu chương trình khác với địa tương đối mà người lập trình sử dụng code chương trình Ngồi tiến trình nạp vào nhớ lần tất địa tương đối tham chiếu code chương trình thay địa tuyệt đối nhớ chính, địa xác định địa sở, nơi tiến trình nạp Ví dụ chương trình có code truy xuất đến địa tương đối 100k, chương trình nạp vào phân vùng có địa bắt đầu 100k địa truy xuất 200k, chương trình nạp vào phân vùng có địa bắt đầu 200k, địa truy xuất 300k Để giải vấn đề hệ điều hành phải thực yêu cầu cần thiết cơng tác tái định vị tiến trình vào lại nhớ Ngoài hệ điều hành phải tính đến việc bảo vệ tiến trình nhớ tránh tình trạng tiến trình truy xuất đến vùng nhớ tiến trình khác Trong trường hợp hệ điều hành sử dụng ghi đặc biệt: 107 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370  Thanh ghi sở (base register): dùng để ghi địa sở tiến trình tiến trình nạp vào nhớ  Thanh ghi giới hạn (limit register): dùng để ghi địa cuối tiến trình nhớ Khi tiến trình nạp vào nhớ hệ điều hành ghi địa bắt đầu phân vùng cấp phát cho tiến trình vào ghi sở địa cuối tiến trình vào ghi giớ hạn Việc thiết lập giá trị ghi thực tiến trình lần nạp vào nhớ tiến trình swap in vào lại nhớ Theo tiến trình thực thao tác truy xuất nhớ hệ thống phải thực bước: Thứ nhất, cộng địa ô nhớ tiến trình phát với giá trị địa ghi sở để có địa tuyệt đối ô nhớ cần truy xuất Thứ hai, địa kết so sánh với giá trị địa thành ghi giới hạn Nếu địa nằm phạm vị giới hạn hệ điều hành cho phép tiến trình truy xuất nhớ, ngược lại có ngắt lỗi truy xuất nhớ phát sinh hệ điều hành khơng cho phép tiến trình truy xuất vào vị trí nhớ mà u cầu Như việc bảo bệ truy xuất bất hợp lệ thực dễ dàng Hình 4.3 Tái định vị với hỗ trợ phần cứng Trong hệ thống đa chương sử dụng phân vùng động, có tiến trình cần nạp vào nhớ, nhớ khơng cịn chỗ trống tất 108 Nguyễn Bá Quảng - Nguyễn Huy Thịnh - Bùi Hải Phong - Khoa CNTT Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 d Các phương pháp cài đặt ma trận quyền truy nhập Bảng toàn cục Cách đơn giản để cài đặt ma trận truy xuất sử dụng bảng bao gồm ba thứ tự < miền bảo vệ, đối tượng, quyền truy xuất > Mỗi thực thao tác M đối tượng Oj miền bảo vệ Di, cần tìm bảng toàn cục ba < Di, Oj, Rk > mà M ∈ Rk Nếu tìm thấy, thao tác M phép thi hành, không, xảy lỗi truy xuất Danh sách quyền truy nhập Có thể cài đặt cột ma trận quyền truy xuất danh sách quyền truy xuất đối tượng Mỗi đối tượng hệ thống có danh sách bao gồm phần tử hai thứ tự , danh sách xác định quyền truy xuất qui định miền bảo vệ tác động đối tượng Mỗi thực thao tác M đối tượng Oj miền bảo vệ Di, cần tìm danh sách quyền truy xuất đối tượng Ojmột hai < Di,Rk > mà M ∈ Rk Nếu tìm thấy, thao tác M phép thi hành, khơng, xảy lỗi truy xuất Ví dụ : Một miền bảo vệ hệ thống UNIX xác định tương ứng với người sử dụng (uid) nhóm (gid) Giả sử có người dùng : A,B,C,D thuộc nhóm tương ứng system, staff, student, student Khi tập tin hệ thống có ACL sau : File0 : ( A,*,RWX) File1 : ( A,system,RWX) File2 : ( A,*,RW-),(B,staff,R ),(D,*,RW-) File3 : ( *,student,R ) File4 : (C,*, -),(*,student,R ) Thực tế, hệ thống tập tin UNIX bảo vệ cách tập tin gán tương ứng bit bảo vệ , bit mô tả quyềntruy xuất R(đọc), W(ghi) hay X(xử lý) tiến trình tập tin theo thứ tự : tiến trình sỡ hữu tiến trình nhóm với tiến trình sỡ hữu, tiến trình khác Đây dạng ACL nén thành bit Danh sách khả 152 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Mỗi dòng ma trận quyền truy xuất tương ứng với miền bảo vệ tổ chức thành danh sách tiềm (capabilities list) : Một danh sách tiềm miền bảo vệ danh sách đối tượng thao tác quyền thực đối tượng tiến trình hoạt động miền bảo vệ Một phần tử C-List gọi tiềm (capability) hình thức biễu diển định nghĩa cách có cấu trúc cho đối tượng hệ thống quyền truy xuất hợp lệ đối tượng Cơ chế khóa chìa Đây cách tiếp cận kết hợp danh sách quyền truy xuất danh sách khả Mỗi đối tượng sỡ hữu danh sách mã nhị phân , gọi « khố » (lock) Cũng thế, miền bảo vệ sỡ hữu danh sách mã nhị phân gọi « chìa » (key) Một tiến trình hoạt động miền bảo vệ truy xuất đến đối tượng miền bảo vệ sỡ hữu chìa tương ứng với khóa danh sách đối tượng Cũng C_List, danh sách « khóa » « chìa » hệ điều hành quản lý, người sử dụng truy xuất trực tiếp đến chúng để thay đổi nội dung e Thu hồi quyền truy nhập Trong hệ thống bảo vệ động, hệ điều hành cần thu hồi số quyền truy xuất đối tượng chia sẻ nhiều người sử dụng Khi đặt số vấn đề sau : Thu hồi tức khắc hay trì hỗn, trì hỗn đến ? Nếu loại bỏ quyền truy xuất đối tượng, thu hồi quyền tất hay chi số người sử dụng? Thu hồi số quyền hay toàn quyền đối tượng ? Thu hồi tạm thời hay vĩnh viển quyền truy xuất ? Đối với hệ thống sử dụng danh sách quyền truy xuất, việc thu hồi thực dễ dàng : tìm hủy ACL quyền truy xuất cần thu hồi, việc thu hồi htực tức thời, áp dụng cho tất hay nhóm người dùng, thu hồi toàn hay phần, thu hồi vĩnh viễn hay tạm thời 153 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Tuy nhiên hệ sử dụng C_List, vấn đề thu hồi gặp khó khăn tiềm phân tán khắp miền bảo vệ hệ thống, cần tìm chúng trước loại bỏ Có thể giải vấn đề theo nhiều phương pháp : Tái yêu cầu (Reacquisiton): loại bỏ tiềm khỏi miền bảo vệ sau chu kỳ, miền bảo vệ cịn cần tiềm nào, tái yêu cầu tiềm lại Sử dụng trỏ đến tiềm (Back-pointers) : với đối tượng, lưu trữ trỏ đến tiềm tương ứng đối tượng Khi cần thu hồi quyền truy xuất đối tượng, lần theo trỏ để cập nhật tiềm tương ứng Sử dụng trỏ gián tiếp (Indirection) : tiềm không trực tiếp trỏ đến đối tượng, mà trỏ đến bảng toàn cục hệ điều hành quản lý KHi cần thu hồi quyền, xoá phần tử tương ứng bảng Khóa ( Key) : sử dụng chế khóa chìa, cần thu hồi quyền, cần thay đổi khóa bắt buộc tiến trình hay người dùng yêu cầu chìa 7.2 An toàn hệ thống Bảo vệ hệ thống (protection) chế kiểm soát việc sử dụng tài nguyên tiến trình hay người sử dụng để đối phó với tình lỗi phát sinh từ hệ thống Trong khái niệm an toàn hệ thống (security) muốn đề cập đến mức độ tin cậy mà hệ thống trì phải đối phó khơng với vấn đề nội bộ, mà cịn với tác hại đến từ mơi trường 7.2.1 Các vấn đề an toàn hệ thống Hệ thống gọi an toàn tài nguyên sử dụng quy ước hoàn cảnh Kém may mắm điều đạt thực tế ! Thơng thường, an tồn bị vi phạm ngun nhân vơ tình hay cố ý phá hoại Việc chống đỡ phá hoại cố ý khó khăn gần khơng thể đạt hiệu hoàn toàn Bảo đảm an toàn hệ thống cấp cao chống lại tác hại từ mơi trường ngồi hoả hoạn, điện, phái hoại cần thực mức độ vật lý (trang bị thiết bị an toàn cho vị trí đạt hệ thống ) nhân (chọn lọc cẩn thận nhân viên làm việc hệ thống ) Nếu an tồn mơi trường bảo đảm tốt, an tồn hệ thống trì tốt nhờ chế hệ điều hành (với trợ giúp phần cứng) Lưu ý bảo vệ hệ thống đạt độ tin cậy 100%, chế an tồn hệ thống cung cấp với hy vọng ngăn chặn bớt tình bất an đạt đến độ an toàn tuyệt đối 154 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 7.2.2 Các chế an toàn hệ thống Kiểm định danh tính Để đảm bảo an tồn, hệ điều hành cần giải tốt vấn đề chủ yếu kiểm định danh tính (authentication) Hoạt động hệ thống bảo vệ phụ thuộc vào khả xác định tiến trình xử lý Khả này, đến lượt nó, lại phụ thuộc vào việc xác định người dùng sử dụng hệ thống để kiểm tra người dùng cho phép thao tác tài nguyên Cách tiếp cận phổ biến để giải vấn đề sử dụng password để kiểm định danh tính người dùng Mỗi người dùng muốn sử dụng tài nguyên, hệ thống kiểm tra password người dùng nhập vào với password lưu trữ, đúng, người dùng cho phép sử dụng tài nguyên Password đuợc để bảo vệ đối tượng hệ thống, chí đối tượng có password khác ứng với quyền truy xuất khác Cơ chế password dễ hiểu dễ sử dụng sử dụng rộng rãi, nhiên yếu điểm nghiêm trọng phương pháp khả bảo mật password khó đạt hồn hảo, tác nhân tiêu cực đốn password người khác nhờ nhiều cách thức khác Ngăn chặn nguyên nhân từ phía tiến trình Trong mơi trường mà chương trình tạo lập người lại người khác sử dụng, xảy tình sử dụng khơng đúng, từ dẫn đến hậu qủa khó lường Hai trường hợp điển hình : Ngựa thành Troy Khi người dùng A cho chương trình B viết hoạt động danh nghĩa ( miền bảo vệ gán tương ứng cho người dùng A), chương trình trở thành « ngựa thành Troy » đoạn lệnh chương trình thao tác tài ngun với quyền tương ứng người A (mà người B vốn bị cấm!), nhiều chương trình « lợi dụng hồn cảnh » để gây tác hại đáng tiếc Trap Door Một mối đe dọa đặc biệt nguy hiểm khó chống đỡ đến từ vơ tình hay ý nghĩ bất lập trình viên Khi xây dựng chương trình, lập trình viên để lại « cánh cửa nhỏ » phần mềm mà có họ có khả sử dụng , qua thâm nhập phá hoại hệ thống ( ví dụ làm tròn số lẻ tài khoản, thu lợi riêng 155 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 từ phần dư ) Vấn đề khó đối phó cần phải tiến hành phân tích chương trình nguồn để tìm chỗ sơ hở 7.3 Virus máy tính 7.3.1 Khái niệm Virus máy tính Trong khoa học máy tính, virus máy tính (thường người sử dụng gọi tắt virus) chương trình hay đoạn mã thiết kế để tự nhân chép vào đối tượng lây nhiễm khác (file, ổ đĩa, máy tính, ) Trước đây, virus thường viết số người am hiểu lập trình muốn chứng tỏ khả nên thường virus có hành động như: cho chương trình khơng hoạt động đúng, xóa liệu, làm hỏng ổ cứng, gây trị đùa khó chịu Những virus viết thời gian gần khơng cịn thực trị đùa hay phá hoại đối máy tính nạn nhân bị lây nhiễm nữa, mà đa phần hướng đến việc lấy cắp thông tin cá nhân nhạy cảm (các mã số thẻ tín dụng) mở cửa sau cho tin tặc đột nhập chiếm quyền điều khiển hành động khác nhằm có lợi cho người phát tán virus Chiếm 90% số virus phát nhắm vào hệ thống sử dụng hệ điều hành họ Windows đơn giản hệ điều hành sử dụng nhiều thến giới Do tính thơng dụng Windows nên tin tặc thường tập trung hướng vào chúng nhiều hệ điều hành khác Cũng có quan điểm cho Windows có tính bảo mật không tốt hệ điều hành khác (như Linux) nên có nhiều virus hơn, nhiên hệ điều hành khác thông dụng Windows thị phần hệ điều hành ngang lượng virus xuất có lẽ tương đương 7.3.2 Cơ chế hoạt động Virus Chúng ta hình dung trình hoạt động Virus sau: Khi đọc đĩa thi hành chương trình bị nhiễm Virus, tạo mã nằm thường trú nhớ máy tính Khi đọc đĩa thực chương trình, đoạn mã chứa Virus nằm nhớ kiểm tra đĩa/file tồn đoạn mã hay chưa? Nếu chưa tạo khác lây nhiễm vào đĩa/file 156 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Hình 7.1 Cơ chế hoạt động Virus 7.3.3 Phịng, tránh Virus Khơng thể khẳng định chắn bảo vệ an tồn 100% cho máy tính trước hiểm hoạ virus phần mềm hiểm độc, hạn chế đến tối đa có biện pháp bảo vệ liệu Sử dụng phần mềm diệt Virus Bảo vệ cách trang bị thêm phần mềm diệt virus có khả nhận biết nhiều loại virus máy tính liên tục cập nhật liệu để phần mềm nhận biết virus (Để biết cách sử dụng phần mềm diệt virus hiệu quả, xem thêm "phần mềm diệt virus") Trên thị trường có nhiều phần mềm diệt virus Trong nước (Việt Nam): Bkav, CMC Của nước ngoài: Avira, Kaspersky, AVG Sử dụng tưởng lửa Tường lửa (Firewall) khơng phải xa vời dành cho nhà cung cấp dịch vụ internet (ISP) mà máy tính cá nhân cần phải sử dụng tường lửa để bảo vệ trước virus phần mềm độc hại Khi sử dụng tường lửa, thông tin vào 157 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 máy tính kiểm sốt cách vơ thức có chủ ý Nếu phần mềm độc hại cài vào máy tính có hành động kết nối Internet tường lửa cảnh báo giúp người sử dụng loại bỏ vơ hiệu hố chúng Tường lửa giúp ngăn chặn kết nối đến khơng mong muốn để giảm nguy bị kiểm sốt máy tính ngồi ý muốn cài đặt vào chương trình độc hại hay virus máy tính Sử dụng tường lửa phần cứng người sử dụng kết nối với mạng Internet thơng qua modem có chức Thông thường chế độ mặc định nhà sản xuất chức "tường lửa" bị tắt, người sử dụng truy cập vào modem phép hiệu lực (bật) Sử dụng tường lửa phần cứng khơng phải tuyệt đối an tồn chúng thường ngăn chặn kết nối đến trái phép, kết hợp sử dụng tường lửa phần mềm Sử dụng tường lửa phần mềm: Ngay hệ điều hành họ Windows ngày tích hợp sẵn tính tường lửa phần mềm, nhiên thông thường phần mềm hãng thứ ba làm việc tốt tích hợp nhiều công cụ so với tường lửa phần mềm sẵn có Windows Ví dụ phần mềm ZoneAlarm Security Suite hãng ZoneLab công cụ bảo vệ hữu hiệu trước virus, phần mềm độc hại, chống spam, tường lửa Cập nhật sửa lỗi Windows Hệ điều hành Windows (chiếm đa số) ln ln bị phát lỗi bảo mật thơng dụng nó, tin tặc lợi dụng lỗi bảo mật để chiếm quyền điều khiển phát tán virus phần mềm độc hại Người sử dụng cần cập nhật vá lỗi Windows thông qua trang web Microsoft Update (cho việc nâng cấp tất phần mềm hãng Microsoft) Windows Update (chỉ cập nhật riêng cho Windows) Cách tốt đặt chế độ nâng cấp (sửa chữa) tự động (Automatic Updates) Windows Tính hỗ trợ Windows mà Microsoft nhận thấy chúng hợp pháp Bảo vệ liệu máy tính Nếu khơng chắn 100% khơng bị lây nhiễm virus máy tính phần mềm hiểm độc khác bạn nên tự bảo vệ tồn vẹn liệu trước liệu bị hư hỏng virus (hoặc nguy tiềm tàng khác hư hỏng thiết bị lưu trữ liệu máy tính) Trong phạm vi viết virus máy tính, bạn tham khảo ý tưởng sau: Sao lưu liệu theo chu kỳ biện pháp đắn để bảo vệ liệu Bạn thường xuyên lưu liệu theo chu kỳ đến nơi an toàn như: thiết bị 158 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 nhớ mở rộng (ổ USB, ổ cứng di động, ghi đĩa quang ), hình thức thực theo chu kỳ hàng tuần khác tuỳ theo mức độ cập nhật, thay đổi liệu bạn Tạo liệu phục hồi cho tồn hệ thống khơng dừng lại tiện ích sẵn có hệ điều hành (ví dụ System Restore Windows Me, XP ) mà cần đến phần mềm hãng thứ ba, ví dụ bạn tạo lưu hệ thống phần mềm ghost, phần mềm tạo ảnh ổ đĩa phân vùng khác Thực chất hành động không chắn liệu lưu khơng bị lây nhiễm virus, có virus phiên cập nhật phần mềm diệt virus tương lai loại bỏ chúng 159 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Chương 8: HỆ ĐIỀU HÀNH ĐA XỬ LÝ Nội dung chương khái quát xu sử dụng hệ thống đa xử lý nay, giúp người học 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 8.1 Tổng quan hệ điều hành đa xử lý 8.1.1 Tổng quan Hiện nay, từ phát triển với tốc độ 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 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 tổ hợp không CPU mà nhiều CPU máy tính nhiều máy tính hệ thống thống Gọi chung hệ có nhiều CPU hệ đa xử lý 8.1.2 Phân loại hệ đa xử lý Có số cách phân loại hệ đa xử lý: 160 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 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 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 đặ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) 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 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) - Đ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 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 hồn tồ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 161 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 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 phát triển 8.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 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 8.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 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 8.2.2 Bài toá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 : trình phân phối CPU, song tự q trình nói nảy sinh trình con; trình giải CPU Các q trình 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 q 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 đâ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 đó; Mơ hình động: toà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 semaphore nhiều giá trị để phân phối CPU cho trình này) 162 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 8.3 Hệ phân tán 8.3.1 Khái niệm hệ đa xử lý 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 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 q trình: q trình 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 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 trình mà khơng phải theo phép tốn 8.3.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) 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 thiết lập hệ thống hoàn toàn 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 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 quan tâm ý khơng tới khía cạnh gây khó khăn tính đến tính qn 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ý 163 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 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 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 tốn điều khiển chọn lựa đủ đơn giản ln tốn thời nghiên cứu 164 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 Tài liệu tham khảo: [1] [Đặng Vũ Hùng], Giáo trình Nguyên lý hệ điều hành Nhà xuất Hà Nội [2] [Nguyễn Thanh Tùng], Hệ điều hành Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội, 1996 [3] [Nguyễn Mạnh Hùng], [Phạm Tiến Dũng], [Quách Tuấn Ngọc], [Nguyễn Phú Tiến] (biên dịch) Cẩm nang lập trình hệ thống cho máy vi tính IBM-PC tập 1, tác giả Michael Tischer, 1996 [4] [Silberschatz A.& Galvin G], Operating systems concepts, John Willey Sons 2002 [5] Thư viện Học liệu Mở Việt Nam https://voer.edu.vn 165 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) lOMoARcPSD|16991370 166 Downloaded by nguyenphuong Phuong nguyen (Kimphuongrio@gmail.com) ... gần nhất, hệ điều hành không swap out mà hệ điều hành nạp page vào nhớ ghi đè lên nó, điều có nghĩa hệ điều hành tiết kiện thời gian swap out page tiến trình đĩa Để làm điều hệ điều hành phải... quản lý nhớ hệ điều hành trường hợp đơn giản hơn, hệ điều hành kiểm soát truy xuất nhớ chương trình người sử dụng, khơng cho truy xuất lên vùng nhớ hệ điều hành Để thực việc hệ điều hành sử dụng... swap out, điều làm giảm tốc độ hệ thống gây lãng phí thời gian xử lý processor Hệ điều hành hạn chế điều cách: lúc hệ điều hành phải thực swap out page để lấy khung trang trống mà hệ điều hành thực

Ngày đăng: 24/12/2022, 23:18