24/05/2018, 19:06

Tổng quan về hệ điều hành truyền thống

Như đó biết, HĐH truyền thống (cũn được gọi là HĐH tập trung với đơn/đa bộ xử lý) chạy trờn một mỏy tớnh là thế hệ HĐH đầu tiên, với độ kết dính chặt chẽ phần mềm - phần cứng trong đó mọi tài nguyên được chia xẻ một cách nội tại và truyền thông liên xử ...

Như đó biết, HĐH truyền thống (cũn được gọi là HĐH tập trung với đơn/đa bộ xử lý) chạy trờn một mỏy tớnh là thế hệ HĐH đầu tiên, với độ kết dính chặt chẽ phần mềm - phần cứng trong đó mọi tài nguyên được chia xẻ một cách nội tại và truyền thông liên xử lý/liên QT được thực hiện qua hoặc chia xẻ bộ nhớ hoặc ngắt QT trực tiếp. Trong HĐH tập trung, hệ thống máy tính là tập trung: CPU (một hoặc nhiều) và bộ nhớ trong thỏa món một số tớnh chất nguyờn thủy của chỳng (vớ dụ, tốc độ truy nhập của một CPU bất kỳ tới một địa chỉ bộ nhớ trong bất kỳ là đồng nhất ...). Coi rằng chỉ có duy nhất "một bộ CPU" cùng duy nhất "một bộ nhớ trong" và không hề quan tâm đến sự khác biệt thời gian truyền thông giữa các CPU hay giữa các bộ phận của bộ nhớ trong. Trong các HĐH truyền thống, chức năng hệ quản trị tài nguyên được nhấn mạnh hơn cho nên việc thiết kế chúng định hướng vào khai thác hiệu quả các tài nguyên phần cứng của hệ thống. Các bài toán điều khiển CPU (lập lịch), điều khiển bộ nhớ trong, điều khiển dữ liệu được đặc biệt chú ý. HĐH truyền thống được tiến hóa từ một chương trỡnh đơn giản (cung cấp một giao diện người dùng và điều khiển vào - ra) tới một hệ đa người dùng/đa bài toán hoàn hảo với các yêu cầu về quản trị rất phức tạp đối với QT, bộ nhớ, file và thiết bị. Sự tiến hóa này được thể hiện trong bảng 1.2 mà các chức năng quản lý được đặt ra nhằm đáp ứng mỗi yêu cầu bổ sung.

Bảng 1.2. Chức năng chính của hệ điều hành tập trung

Thế hệ Hệ thống Đặc trưng Mục tiêu
1 HĐH tập trung Quản trị quá trìnhQuản trị bộ nhớQuản trị vào-raQuản trị file Quản trị tài nguyênMáy tính mở rộng (ảo)
2 HĐH mạng Truy nhập từ xaTrao đổi thông tinDuyệt mạng Chia xẻ tài nguyên(liên thao tác)
3 HĐH phân tán Khung cảnh toàn cục của: Hệ thống file,Không gian tên,Thời gian, an toàn,Năng lực tính toán Cách nhìn của một máy tính duy nhất của một hệ thống phức hợp các máy tính (tính trong suốt)
4 Hệ tự trị cộng tác Các ứng dụng phân tán là mở và cộng tác Làm việc cộng tác (tự trị)

Có một lưu ý nhỏ về chớnh khỏi niệm hệ điều hành trong thời kỳ đánh dấu sự phát triển mạnh của HĐH truyền thống (vào khoảng những năm 1980). Trong nhiều tài liệu, đặc biệt là tài liệu về thiết kế HĐH, "hệ điều hành" được hiểu theo những nội dung đó được trỡnh bày trờn đây. Nhưng trong không ít các tài liệu khác, "hệ điều hành" được hiểu như bộ các chương trỡnh hệ thống (xem hỡnh 1.3) được cung cấp cho người sử dụng và ngoài những thành tố đó núi - tương ứng với thành phần điều kiển, HĐH cũn cú thành phần ứng dụngthành phần tiện ớch. Lý do chính của việc mở rộng nội dung khái niệm về HĐH như vậy liên quan đến sản phẩm kết quả cung cấp cho người sử dụng là một "bộ phần mềm hệ điều hành". Tuy nhiên, khi trỡnh bày bản chất của HĐH, cách quan niệm này cũng nhất quán với cách quan niệm đó núi và nội dung trong giỏo trỡnh này nhất quỏn theo cỏch quan niệm như vậy.

Một cách nhân khác về kiến trúc mức hệ thống máy tính

Tiếp theo trong mục dưới đây, chúng ta mô tả sơ lược quá trỡnh tiến húa của HĐH truyền thống.

Hệ điều hành đơn chương trình

HĐH đơn chương trỡnh (HĐH dóy: serial OS) xuất hiện đầu tiên: chương trỡnh của người dùng được xếp hàng để lần lượt được đưa vào bộ nhớ trong và chạy (thực hiện). Một chương trỡnh sau khi được nạp từ dũng xếp hàng vào bộ nhớ trong được hệ thống (cùng toàn bộ tài nguyên) phục vụ từ khi chương trỡnh bắt đầu chạy cho đến lúc chương trỡnh kết thỳc. Một chương trỡnh được nạp vào bộ nhớ như vậy có thể được thực hiện với nhiều bộ dữ liệu. Chỉ khi chương trỡnh này kết thỳc thỡ mới nạp tiếp chương trỡnh khỏc trong dũng đợi vào bộ nhớ trong. Trong hệ thống đơn chương trỡnh thực chất khụng cần giải quyết bài toỏn điều khiển CPU (lập lich) vỡ CPU đó được dành riêng cho chương trỡnh hiện tại.

Tuy nhiên, việc nạp chương trỡnh và dữ liệu vào bộ nhớ trong làm việc lại liờn quan đến thiết bị vào-ra đa dạng mà trong giai đoạn ban đầu phổ biến là vào bỡa đục lỗ (thiết bị vào chuẩn) và ra máy in (thiết bị ra chuẩn). Và tới một thời điểm, ra đời CPU tốc độ cao, tốc độ nạp bỡa cũng như tốc độ in ra không theo kịp với tốc độ của CPU, vỡ thế làm tăng thời gian nghỉ vô ích của CPU mà gây ra lóng phớ. Đũi hỏi cần cải tiến nhằm tăng hiệu quả hoạt động. Một trong những cải tiến đối với HĐH đơn chương trỡnh là hoạt động theo chế độ SPOOLING (Simultaneous Peripheral Operation OnLine), mà theo đó tất cả việc vào - ra đối với HĐH là làm việc với đĩa cứng cũn vào - ra từ đĩa cứng với các vật mang tin khác được đảm bảo bằng những cơ chế riêng. Tốc độ của toàn bộ hệ thống được tăng lên đáng kể. Chế độ SPOOLING cũn được sử dụng trong những HĐH đa chương trỡnh xuất hiện sau này.

Hệ điều hành đa chương trình

Sự tiến bộ nhanh chóng của công nghệ máy tính dẫn tới dung lượng bộ nhớ tăng lên đáng kể (vượt xa dung lượng trung bỡnh của cỏc chương trỡnh người dùng) và tốc độ CPU cũng tăng nhanh, chế độ hoạt động đa chương trỡnh xuất hiện. Chế độ đa chương trỡnh (multiprogramming) được phân loại theo hướng độc lập người dùng (chế độ mẻ) và hướng thân thiện người dùng (chế độ đa người dùng).

Đối với HĐH đa chương trỡnh, tại mỗi thời điểm có thể có nhiều chương trỡnh đồng thời có mặt ở bộ nhớ trong. Các chương trỡnh này đều có nhu cầu được phân phối bộ nhớ và CPU để thực hiện. Như vậy, bộ nhớ, CPU, các thiết bị ngoại vi v.v. là các tài nguyên của hệ thống được chia xẻ cho các chương trỡnh. Đặc điểm quan trọng cần lưu ý là các chương trỡnh này phải được “bỡnh đẳng” khi giải quyết các yêu cầu tài nguyên. Khái niệm chương trỡnh nói trong chế độ đa chương trỡnh được dùng để chỉ cả chương trỡnh người dùng lẫn chương trỡnh HĐH.

Khi so sánh với HĐH đơn chương trỡnh, cú thể nhận thấy ngay một điều là đối với một chương trỡnh cụ thể thỡ trong chế độ đơn chương trỡnh, chương trỡnh đó sẽ kết thúc nhanh hơn (thời gian chạy ngắn hơn) so với khi nó chạy trong chế độ đa chương trỡnh; nhưng bù lại, trong một khoảng thời gian xác định thỡ chế độ đa chương trỡnh sẽ hoàn thiện được nhiều chương trỡnh (giải được nhiều bài toán) hơn, do đó hiệu quả sử dụng máy tính cao hơn.

Một trong những tài nguyên quan trọng nhất của hệ thống máy tính là CPU. Việc chia xẻ CPU là một trong những dạng điển hỡnh của việc chia xẻ tài nguyên. Tính chất chia xẻ CPU lại phân lớp các HĐH đa chương trỡnh thành cỏc lớp con: HĐH hoạt động theo chế độ mẻ (batch) và HĐH hoạt động theo chế độ phân chia thời gian (time shared).

-Hệ điều hành hoạt động theo chế độ mẻ

Đây là loại HĐH định hướng tới mục tiêu làm cực đại số lượng các bài toán được giải quyết trong một khoảng đơn vị thời gian (có nghĩa là trong một khoảng đơn vị thời gian thỡ hướng mục tiêu vào việc hoàn thiện được càng nhiều chương trỡnh càng tốt). ở nước ta những năm trước đây, các máy tính EC-1022, EC-1035 (HĐH OS), IBM 360/40-50 (HĐH DOS) phổ biến hoạt động theo chế độ mẻ. Trong HĐH chế độ mẻ, cách thức điều khiển CPU điển hỡnh là một chương trỡnh ở trạng thỏi sẵn sàng sẽ được chọn thực hiện (được phân phối CPU) khi chương trỡnh đang chạy phải ngừng vỡ nú cần đến một tài nguyên khác CPU.

Các HĐH theo chế độ mẻ lại có thể phân biệt thành hai loại điển hỡnh là MFT và MVT: sự phõn biệt chỳng theo cỏch điều khiển bộ nhớ trong.

MFT: Multiprogramming with Fixed number of Tasks

Khi hệ thống làm việc, đó quy định sẵn một số lượng cố định các bài toán đồng thời ở bộ nhớ trong: Bộ nhớ trong được chia thành một số vùng nhớ cố định, các vùng này có biên cố định mà mỗi vùng được dùng để chứa một chương trỡnh tại một thời điểm. Mỗi chương trỡnh người dùng chỉ được đưa vào một vùng nhớ xác định tương ứng với chương trỡnh đó. Một chương trỡnh chỉ cú thể làm việc trong giới hạn của vựng bộ nhớ trong đang chứa nó: chương trỡnh đó tồn tại trong vùng bộ nhớ tương ứng trong suốt thời gian nó được thực hiện trong máy tính, kể từ lúc bắt đầu cho tới lúc kết thúc.

MVT: Multiprogramming with Variable number of Tasks

Khác với chế độ MFT, trong chế độ MVT, bộ nhớ trong không bị chia sẵn thành các vùng, việc nạp chương trỡnh mới vào bộ nhớ trong cũn được tiếp diễn khi mà bộ nhớ trong cũn đủ để chứa thêm chương trỡnh.

Có thể quan niệm rằng trong chế độ MFT bộ nhớ trong được phân thành các vùng có vách ngăn cố định, cũn trong chế độ MVT, không có vách ngăn sẵn, mỗi khi chương trỡnh được nạp vào mới hỡnh thành một vỏch ngăn tạm thời. Nếu chỉ gặp các chương trỡnh đũi hỏi ớt bộ nhớ thỡ theo chế độ MVT, số lượng chương trỡnh đồng thời có mặt trong bộ nhớ nhiều lên.

-Chế độ phân chia thời gian (Time Shared System: TSS)

Chế độ phân chia thời gian là chế độ hoạt động điển hỡnh của cỏc HĐH đa người dùng (multi-users). HĐH hoạt động theo chế độ này định hướng phục vụ trực tiếp người dùng khi chương trỡnh của người dùng đó đang thực hiện, làm cho giao tiếp của người dùng với máy tính là hết sức thân thiện. Liên quan đến HĐH hoạt động theo chế độ này là các khái niệm lượng tử thời gian, bộ nhớ ảo v.v.

Trong hệ TSS, tại cùng thời điểm có nhiều người dùng đồng thời làm việc với máy tính: Mỗi người làm việc với máy tính thông qua một trạm cuối (terminal) và vỡ vậy, hệ thống đó cho phộp mỏy tớnh thõn thiện với người dùng.

Khác với cách thức điều khiển CPU trong chế độ mẻ, HĐH phân phối CPU lần lượt cho từng chương trỡnh người dùng, mỗi chương trỡnh được chiếm giữ CPU trong một khoảng thời gian như nhau (khoảng thời gian đó được gọi là lượng tử thời gian: time quantum): có thể thấy phổ biến về lượng tử thời gian điển hỡnh là khoảng 0,05s. Mỏy tớnh làm việc với tốc độ cao, chu kỳ quay lại phục vụ cho từng chương trỡnh người dùng là rất nhanh so với giác quan của người dựng, và vỡ vậy, mỗi người dùng đều có cảm giác rằng mỡnh đang chiếm hữu toàn bộ tài nguyên hệ thống.

Điều khiển bộ nhớ trong của chế độ đa người dùng có nhiều khác biệt bản chất so với chế độ mẻ. Bộ nhớ trong luôn chứa chương trỡnh của mọi người dùng, vỡ vậy xảy ra tỡnh huống toàn bộ bộ nhớ trong khụng đủ để chứa tất cả chương trỡnh người dùng hiện đang thực hiện; vỡ vậy, đối với HĐH TSS nảy sinh giải pháp sử dụng bộ nhớ ảo: sử dụng đĩa từ như vùng mở rộng không gian nhớ của bộ nhớ trong.

HĐH UNIX (và Linux) là HĐH đa người dùng điển hỡnh.

Cú thể nhận xột rằng, tính quản trị tài nguyờn được nhấn mạnh trong HĐH mẻ và tớnh chất máy tính ảo đó được quan tâm hơn trong HĐH đa người dùng.

Hệ điều hành thời gian thực

Nhiều bài toán trong lĩnh vực điều khiển cần được giải quyết không muộn hơn một thời điểm nhất định, và vỡ vậy, đối với các máy tính trong lĩnh vực đó cần HĐH thời gian thực (RT: Real Time). Trong hệ thời gian thực, mỗi bài toán được gắn với một thời điểm tới hạn (tiếng Anh là deadtime) và bài toỏn phải được giải quyết không muộn hơn thời điểm đó cho đó: Nếu bài toán hoàn thiện muộn hơn thời điểm đó thỡ việc giải quyết nú trở nờn khụng cũn ý nghĩa nữa. Hệ thời gian thực cú thể được coi như một trường hợp của hệ đa chương trỡnh hoạt động theo chế độ mẻ có gắn thêm thời điểm kết thúc cho mỗi bài toán.

Hệ điều hành kết hợp

Các nhà thiết kế HĐH hiện đại cũng chọn lựa việc thiết kế HĐH có khả năng khởi tạo hoạt động được theo một trong một số chế độ hoạt động của HĐH đó núi trờn đây. Chẳng hạn, HĐH OS cho hệ thống máy EC hoặc IBM có thể hoạt động hoặc theo chế độ mẻ (MFT, MVT) hoặc theo chế độ phân chia thời gian (SYS); hoặc HĐH LINUX hoạt động theo chế độ đơn người dùng (với superuser) hoặc chế độ đa người dùng (với các người dùng khác). Kiểu hệ điều hành như vậy được quan niệm là kết hợp nội dung của nhiều loại hệ điều hành (Combination Operating System).

Hệ thống đa xử lý

Hệ thống nhiều CPU

Hiện nay, từ tốc độ phát triển nhanh của công nghệ, máy tính ngày càng được phổ dụng trong xó hội. Mức độ thâm nhập của mỏy tớnh vào cuộc sống càng cao thỡ yờu cầu nõng cao năng lực của máy tính lại ngày càng trở nên cấp thiết. Bộ nhớ chính ngày càng rộng lớn; đĩa từ có dung lượng càng rộng, tốc độ truy nhập ngày càng cao; hệ thống thiết bị ngoại vi càng phong phú, hỡnh thức giao tiếp người-máy ngày càng đa dạng. Như đó núi, CPU là một tài nguyờn thể hiện chủ yếu nhất năng lực của hệ thống máy tính, vỡ vậy một trong những vấn đề trọng tâm nhất để tăng cường năng lực của hệ thống là tăng cường năng lực của CPU. Đối với vấn đề này, nảy sinh các giải pháp theo hai hướng:

Giải phỏp tăng cường năng lực của một CPU riêng cho từng mỏy tớnh: cụng nghệ vi mạch ngày càng phỏt triển vỡ vậy năng lực của từng CPU cũng ngày nâng cao, các dự án vi mạch VLSI với hàng triệu, hàng chục tiệu transitor được triển khai. Tuy nhiên giải pháp này cũng nảy sinh những hạn chế về 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 nhất giữa hai thành phần không thể giảm thiểu quá nhỏ v.v.

Song song với giải pháp tăng cường năng lực từng CPU là giải pháp liờn kết nhiều CPU để tạo ra một hệ thống chung có năng lực đáng kể: việc xử lý song song tạo ra nhiều lợi điểm. Thứ nhất, chia các phần nhỏ công việc cho mỗi CPU đảm nhận, năng suất tăng không chỉ theo tỷ lệ thuận với một hệ số nhõn mà cũn cao hơn do không mất thời gian phải thực hiện những công việc trung gian.

Thứ hai, giải phỏp này cũn cú lợi điểm tích hợp các hệ thống máy đó cú để tạo ra một hệ thống mới với sức mạnh tăng gấp bội.

Chỳng ta khảo sỏt một số nội dung chọn giải pháp đa xử lý theo nghĩa một hệ thống tính toán được tổ hợp không chỉ một CPU mà nhiều CPU trong một máy tính (hệ đa xử lý tập trung) hoặc nhiều máy tính trong một hệ thống thống nhất. Gọi chung các hệ có nhiều CPU như vậy là hệ đa xử lý.

Phõn loại các hệ đa xử lý

Có một số cách phân loại các hệ đa xử lý:

-Phõn loại theo vị trí đặt các CPU: tập trung hoặc phõn tỏn.

Các siêu máy tính (supercomputer) là các ví dụ về hệ đa xử lý tập trung. Đặc trưng của hệ thống này là các CPU được liên kết với nhau trong một máy tính duy nhất đảm bảo độ kết dính phần cứng chặt. Ví dụ về hệ đa xử lý phân tán là các hệ thống tính toán phân tán dựa trên mạng máy tính với độ kết dính phần cứng lỏng.

-Phõn loại theo đặc tính của các CPU thành phần: hệ đa xử lý thuần nhất hoặc hệ đa xử lý không thuần nhất v.v. Một ví dụ quen thuộc về hệ không thuần nhất là thiết bị xử lý trong mỏy vi tớnh gồm CPU xử lý chung và 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 nhau là một ví dụ về hệ thuần nhất.

- Cách phân loại điển hỡnh là dựa theo kiểu cỏc CPU thành phần tiếp nhận và xử lý dữ liệu trong một nhịp làm việc. Cách phân loại này bao gồm cả máy tính đơn xử lý thụng thường:

- Đơn chỉ thị, đơn dữ liệu (SISD: Single Data Single Instruction) được thể hiện trong máy tính thông thường; Mỗi lần làm việc, CPU chỉ xử lý “một dữ liệu” và chỉ cú một chỉ thị (instruction, câu lệnh) được thực hiện. Đây là máy tính đơn xử lý.

- Đơn chỉ thị, đa dữ liệu (SIMD: Single Instruction Multiple Data):

Cỏc bộ xử lý trong cựng một nhịp làm việc thực hiện chỉ cựng một chỉ thị. Ví dụ như phép cộng hai vector cho trước: Các CPU thành phần đều thực hiện các phép cộng theo đối số tương ứng tại mỗi CPU; sau đó, chọn tiếp chỉ thị mới để tiếp tục công việc. Thông thường, hệ thống có bộ phận điều khiển riêng cho việc chọn chỉ thị và mọi CPU thành phần cùng thực hiện chỉ thị đó (bộ xử lý ma trận).

- Đa chỉ thị, đơn dữ liệu (MISD: Multiple Instruction Single Data):

Trong cỏc mỏy tớnh thuộc loại này, hệ thống gồm nhiều CPU, cỏc CPU liờn kết nhau tuần tự: output của CPU này là input của CPU tiếp theo (Bộ xử lý vector). Cỏc CPU kết nối theo kiểu này được gọi là kết nối “dây chuyền”.

- Đa chỉ thị, đa câu lệnh (MIMD):

Mỗi CPU có bộ phân tích chương trỡnh riờng; chỉ thị và dữ liệu gắn với mỗi CPU: nhịp hoạt động của các CPU này hoàn toàn “độc lập nhau”.

0