Hệ điều hành đa xử lý là gì

Chủ YếU / sự khác biệt giữa / Sự khác biệt giữa đa xử lý đối xứng và bất đối xứng

Sự khác biệt giữa đa xử lý đối xứng và bất đối xứng

  • 2019

Có hai loại đa xử lý, Đa xử lý đối xứng và Đa xử lý bất đối xứng. Hệ thống đa xử lý có nhiều hơn một bộ xử lý và chúng có thể thực thi nhiều tiến trình cùng một lúc. Trong đa xử lý đối xứng, bộ xử lý chia sẻ cùng một bộ nhớ. Trong Đa xử lý bất đối xứng có một bộ xử lý chính điều khiển cấu trúc dữ liệu của hệ thống. Sự khác biệt chính giữa Xử lý đa đối xứng và bất đối xứng là trong Xử lý đa đối xứng tất cả các bộ xử lý trong hệ thống chạy các tác vụ trong HĐH. Nhưng, trong Đa xử lý không đối xứng, chỉ có bộ xử lý chính chạy tác vụ trong HĐH.

Bạn có thể phân biệt Bộ đa xử lý đối xứng và Bộ đa xử lý bất đối xứng trên một số điểm khác mà chúng được thảo luận trong biểu đồ so sánh được hiển thị bên dưới.

Biểu đồ so sánh

Cơ sở để so sánhĐa xử lý đối xứngĐa xử lý bất đối xứngCăn bảnMỗi bộ xử lý chạy các tác vụ trong Hệ điều hành.Chỉ có bộ xử lý Master chạy các tác vụ của Hệ điều hành.Quá trìnhBộ xử lý lấy các quy trình từ một hàng đợi sẵn sàng chung hoặc có thể có một hàng đợi sẵn sàng riêng cho mỗi bộ xử lý.Bộ xử lý chính gán các quy trình cho bộ xử lý nô lệ hoặc chúng có một số quy trình được xác định trước.Kiến trúcTất cả bộ xử lý trong Xử lý đa đối xứng có cùng kiến ​​trúc.Tất cả bộ xử lý trong Đa xử lý bất đối xứng có thể có kiến ​​trúc giống hoặc khác nhau.Giao tiếpTất cả các bộ xử lý giao tiếp với bộ xử lý khác bằng một bộ nhớ dùng chung.Bộ xử lý không cần giao tiếp vì chúng được điều khiển bởi bộ xử lý chính.Thất bạiNếu bộ xử lý bị lỗi, khả năng tính toán của hệ thống sẽ giảm.Nếu bộ xử lý chủ bị lỗi, một bộ xử lý phụ được chuyển sang bộ xử lý chính để tiếp tục thực hiện. Nếu một bộ xử lý nô lệ thất bại, nhiệm vụ của nó được chuyển sang các bộ xử lý khác.Giảm bớtBộ đa xử lý đối xứng rất phức tạp vì tất cả các bộ xử lý cần được đồng bộ hóa để duy trì cân bằng tải.Bộ xử lý đa đối xứng đơn giản là bộ xử lý chính truy cập cấu trúc dữ liệu.

Định nghĩa đa xử lý đối xứng

Đa xử lý đối xứng là một trong đó tất cả các bộ xử lý chạy các tác vụ trong hệ điều hành. Nó không có mối quan hệ chủ-nô như đa xử lý bất đối xứng. Tất cả các bộ xử lý ở đây, giao tiếp bằng cách sử dụng bộ nhớ chia sẻ .

Các bộ xử lý bắt đầu thực hiện các quy trình từ hàng đợi sẵn sàng chung. Mỗi bộ xử lý cũng có thể có hàng đợi riêng của các quy trình sẵn sàng để được thực thi. Nó phải được lưu ý bởi bộ lập lịch rằng không có hai bộ xử lý thực hiện cùng một quy trình.

Đa xử lý đối xứng có cân bằng tải thích hợp, khả năng chịu lỗi tốt hơn và cũng làm giảm khả năng tắc nghẽn CPU. Nó là phức tạp vì bộ nhớ được chia sẻ giữa tất cả các bộ xử lý. Trong Đa xử lý đối xứng, lỗi bộ xử lý dẫn đến giảm khả năng tính toán .

Định nghĩa đa xử lý bất đối xứng

Đa xử lý bất đối xứng có mối quan hệ chủ-tớ giữa các bộ xử lý. Có một bộ xử lý chính điều khiển bộ xử lý nô lệ còn lại. Bộ xử lý chính phân bổ các quy trình cho bộ xử lý nô lệ hoặc chúng có thể có một số tác vụ được xác định trước để thực hiện.

Bộ xử lý chủ kiểm soát cấu trúc dữ liệu . Việc lập lịch trình cho các quy trình, xử lý I / O và các hoạt động hệ thống khác được kiểm soát bởi bộ xử lý chính .

Trong trường hợp bộ xử lý chính bị lỗi, một bộ xử lý trong số bộ xử lý phụ được tạo bộ xử lý chính để tiếp tục thực thi. Trong trường hợp nếu bộ xử lý nô lệ bị lỗi, bộ xử lý nô lệ khác sẽ đảm nhận công việc của nó. Đa xử lý bất đối xứng rất đơn giản vì chỉ có một bộ xử lý đang kiểm soát cấu trúc dữ liệu và tất cả các hoạt động trong hệ thống.

Sự khác biệt chính giữa đa xử lý đối xứng và bất đối xứng

  1. Điểm dễ phân biệt nhất giữa đa xử lý đối xứng và bất đối xứng là các tác vụ trong HĐH chỉ được xử lý bởi bộ xử lý chính trong Xử lý đa đối xứng. Mặt khác, tất cả các bộ xử lý trong đa xử lý đối xứng đều chạy các tác vụ trong HĐH.
  2. Trong đa xử lý đối xứng, mỗi bộ xử lý có thể có hàng đợi riêng của các quy trình sẵn sàng hoặc chúng có thể lấy các quy trình từ hàng đợi sẵn sàng chung. Nhưng, trong đa xử lý bất đối xứng, bộ xử lý chính gán các quy trình cho các bộ xử lý nô lệ.
  3. Tất cả bộ xử lý trong Đa xử lý đối xứng có cùng kiến ​​trúc. Nhưng cấu trúc của bộ xử lý trong bộ đa xử lý không đối xứng có thể khác nhau.
  4. Bộ xử lý trong đa xử lý đối xứng giao tiếp với nhau bằng bộ nhớ dùng chung. Tuy nhiên, các bộ xử lý trong Đa xử lý không đối xứng không cần phải giao tiếp với nhau vì chúng được điều khiển bởi bộ xử lý chính.
  5. Trong trường hợp, bộ xử lý chủ bị lỗi, bộ xử lý nô lệ được chuyển sang bộ xử lý chính để tiếp tục thực thi. Nhưng, nếu một bộ xử lý trong đa xử lý đối xứng không thành công, khả năng tính toán của hệ thống bị giảm.
  6. Bộ xử lý đa đối xứng đơn giản vì chỉ bộ xử lý chính truy cập cấu trúc dữ liệu trong khi đó, bộ xử lý đa đối xứng rất phức tạp vì tất cả các bộ xử lý cần phải hoạt động đồng bộ hóa.

Phần kết luận:

Bộ đa xử lý làm tăng tốc độ của hệ thống, vì người ta có thể thực hiện đồng thời nhiều quy trình. Đa xử lý bất đối xứng rất đơn giản, chỉ có một bộ xử lý [chính] có thể truy cập cấu trúc dữ liệu. Mặc dù Đa xử lý đối xứng rất phức tạp vì cấu trúc dữ liệu được chia sẻ giữa tất cả các bộ xử lý và tất cả các bộ xử lý cần phải hoạt động đồng bộ hóa.

Hệ điều hành là phần mềm quan trọng nhất và là trái tim của máy tính không chỉ quản lý bộ nhớ và xử lý bên trong máy tính mà còn cho phép người dùng chạy phần mềm ứng dụng. Đó là một tập hợp các chương trình trừu tượng hóa phần cứng của hệ thống và cung cấp cho người dùng một máy ảo hoàn chỉnh. Ngoài các tác vụ cơ bản như theo dõi tệp hoặc thư mục, điều khiển các thiết bị ngoại vi, gửi đầu ra ra màn hình hiển thị, HĐH còn phục vụ các mục đích cao hơn như đa chương trình và đa nhiệm để đảm bảo các chương trình chạy đồng thời không can thiệp lẫn nhau. Các hệ điều hành hiện đại không chỉ tạo điều kiện cho xử lý song song, mà còn chia sẻ thời gian, đó chỉ là một khái niệm về đa chương trình. Đa nhiệm chỉ là một hình thức đa chương trình thô sơ được sử dụng trong một bối cảnh khác.

Đa chương trình là gì?

Đa chương trình là khả năng cho nhiều người dùng sử dụng máy tính tại một thời điểm bằng một CPU. Ý tưởng là sử dụng hiệu quả bộ xử lý để tạo ra nhiều quy trình sẵn sàng chạy với mỗi quy trình thuộc về người dùng khác nhau. Nếu quy trình hiện tại bị đình trệ vì một số lý do, vì phải chờ một sự kiện cụ thể nào đó, hệ điều hành sẽ phân bổ CPU cho một quy trình khác trong hàng đợi. Toàn bộ hoạt động được tạo điều kiện bằng cách lập trình đa hệ điều hành để tối đa hóa việc sử dụng CPU để giảm thời gian nhàn rỗi của CPU. Ý tưởng là để CPU bận rộn càng lâu càng tốt.

Đa nhiệm là gì?

Đa nhiệm có nghĩa là thực thi đồng thời nhiều quy trình bởi một người dùng trên cùng một máy tính sử dụng nhiều CPU. Ví dụ: trong một hệ điều hành đa nhiệm, bạn có thể làm việc trên một tài liệu word với một chương trình trong khi nghe nhạc cùng lúc với một chương trình khác. Đa nhiệm có hiệu quả khi các chương trình trên máy tính đòi hỏi mức độ song song cao. Nó dựa trên khái niệm chia sẻ thời gian vì nhiều quy trình hoặc tác vụ có thể được chuyển đổi theo một khoảng thời gian đều đặn, để người dùng có ý tưởng rằng chúng được thực hiện đồng thời.

Sự khác biệt giữa đa chương trình và đa nhiệm

Thuật ngữ của đa chương trình và đa nhiệm

Thuật ngữ đa chương trình là một hình thức thô sơ của xử lý song song có nghĩa là nhiều quy trình chạy đồng thời cùng một lúc trên một bộ xử lý. Thuật ngữ này được sử dụng trong các hệ điều hành hiện đại khi nhiều chương trình hoặc quy trình chạy trên một bộ xử lý và đó là công việc của HĐH để quản lý tất cả các quy trình một cách hiệu quả và hiệu quả. Đa nhiệm đề cập đến khả năng HĐH thực thi nhiều tác vụ cùng một lúc bằng nhiều CPU. Về cơ bản, nó sử dụng hai hoặc nhiều CPU trong một hệ thống để phân bổ các tác vụ chia sẻ các tài nguyên chung bao gồm CPU và bộ nhớ.

Khái niệm về đa chương trình và đa nhiệm

Đa chương trình dựa trên khái niệm chuyển đổi ngữ cảnh, đây là một quy trình chuẩn tạo điều kiện chuyển đổi CPU từ một quá trình xử lý luồng này sang quy trình khác sử dụng một CPU. Nó lưu trữ trạng thái của một quy trình hoạt động cho CPU trong Khối điều khiển quy trình [PCB] để quy trình tiếp tục từ cùng một trạng thái. Mặt khác, đa nhiệm dựa trên khái niệm chia sẻ thời gian, đây là một kỹ thuật được sử dụng để cung cấp cho mỗi người dùng một phần của hệ thống chia sẻ thời gian cho phép người dùng chia sẻ cùng một tài nguyên. Đó là một phần mở rộng hợp lý của đa chương trình.

Đang làm việc

Cả hai thuật ngữ này đều có chung một ý nghĩa và là các thuật ngữ phổ biến được sử dụng trong các hệ điều hành hiện đại, nhưng với các mục tiêu khác nhau. Khái niệm đa chương trình chỉ dựa trên khả năng máy tính lưu trữ các chương trình hoặc hướng dẫn trong một khoảng thời gian dài hơn để giảm thời gian nhàn rỗi của CPU. Việc phân bổ quy trình được thực hiện thông qua thuật toán lập lịch. HĐH thực hiện một phần của một chương trình tại một thời điểm, tiếp theo là một phần của chương trình khác, v.v. Trong một hệ điều hành đa nhiệm, CPU cho phép nhiều tiến trình chạy đồng thời thông qua việc chia sẻ thời gian và thực hiện chúng theo đó.

Mục tiêu

Trong hệ điều hành đa chương trình, ý tưởng là cung cấp sự minh bạch hoàn toàn giữa những người dùng vì nhiều người dùng chia sẻ cùng một CPU, nhanh chóng chuyển từ người dùng này sang người dùng khác để cải thiện việc sử dụng CPU. Nó cho phép phân bổ nguồn lực hiệu quả và hiệu quả mà không cần sự tương tác của người dùng với hệ thống. HĐH thực thi một phần của chương trình theo sau bởi một chương trình khác, nhưng nó xuất hiện tất cả các chương trình được thực thi đồng thời. Trong hệ điều hành đa nhiệm, người dùng được thay thế bởi các chương trình hoặc quy trình và mỗi quy trình mất một khoảng thời gian hợp lý cho CPU. Quá trình xảy ra quá nhanh, nó xuất hiện nhiều nhiệm vụ đang thực hiện đồng thời.

Đa chương trình so với đa nhiệm: Biểu đồ so sánh

Tóm tắt về đa chương trình Vs. Đa nhiệm

Tóm lại, cả hai thuật ngữ thường được sử dụng kết hợp với nhau để thể hiện các hệ điều hành hiện đại, nhưng với các mục tiêu và chức năng khác nhau. Mặc dù hệ điều hành đa chương trình cho phép nhiều chương trình chạy đồng thời bằng một CPU, nhưng hệ điều hành đa nhiệm cho phép nhiều tiến trình hoặc tác vụ được thực thi cùng lúc sử dụng nhiều CPU. Đa chương trình dựa trên chuyển đổi ngữ cảnh không cho phép CPU đứng yên do đó tối đa hóa việc sử dụng CPU, trong khi đa nhiệm dựa trên việc chia sẻ thời gian vì nhiều tác vụ có thể được chuyển đổi theo mức độ ưu tiên trong khoảng thời gian đều đặn để đạt hiệu suất CPU tối đa.

Phần mềm

Video liên quan

Chủ Đề