Sự tiến hoá của hệ điều hành hiện đại
Hệ điều hành (Operating System - OS, dưới đây viết tắt tiếng Việt là HĐH) là một hệ thống các chương trình (và dữ liệu - tham số hệ thống ) được cài đặt sẵn (dưới dạng các file trên đĩa từ - băng từ) thực hiện hai chức năng cơ bản: - ...
Hệ điều hành (Operating System - OS, dưới đây viết tắt tiếng Việt là HĐH) là một hệ thống các chương trình (và dữ liệu - tham số hệ thống) được cài đặt sẵn (dưới dạng các file trên đĩa từ - băng từ) thực hiện hai chức năng cơ bản:
- Chức năng của một hệ thống quản trị tài nguyên: Quản trị, phân phối công việc cho hệ thống thiết bị để hệ thống thiết bị hoạt động hiệu quả nhất,
- Chức năng của một máy tính mở rộng (máy tính ảo): Phục vụ nhu cầu đa dạng của người dùng một cách tốt nhất.
Theo cách nói cụ thể hơn, HĐH là một bộ các môđun phần mềm hệ thống đóng vai trò giao diện giữa chương trình ứng dụng với phần cứng hệ thống, với mục tiêu đạt tới một hệ thống máy tính hiệu quả, tin cậy và dễ sử dụng. Một cách đại thể, tồn tại các chức năng riêng biệt của HĐH như lập lịch làm việc của bộ xử lý (hoặc các bộ xử lý), phối hợp thực hiện các quá trình (QT: process) tương tác nhau, quản lý các tài nguyên hệ thống (chẳng hạn như các thiết bị vào/ra, bộ nhớ trong, File...) ... nhằm nâng cao năng lực điều khiển và bảo vệ, duy trì tính toàn vẹn hệ thống, thi hành khôi phục lỗi và cung cấp một giao diện người dùng. HĐH thường cấu trúc hai yêu cầu này thành hai lớp: dịch vụ hệ thống và nhân của HĐH.
Dịch vụ hệ thống là những chức năng mức cao được chương trình ứng dụng nhận biết còn nhân (thường trực trong bộ nhớ trong) chỉ đảm bảo những chức năng mang tính cơ bản nhất và phụ thuộc vào kiến trúc hạ tầng.
Hình 1.1. mô tả khung nhìn đơn giản về hệ thống máy tính theo cấu trúc lớp. Vị trí của dịch vụ hệ thống trong hình cho thấy vai trò quan trọng của lớp này.

Hình 1.1 Cấu trúc lớp của hệ thống máy tính
Với ý nghĩa đóng vai trò như một máy tính ảo, theo cách nhìn của người dùng (từ lớp chương trình ứng dụng), HĐH là sự trừu tượng hóa của hệ thống máy tính được trình diễn bằng các dịch vụ hệ thống: HĐH được chỉ dẫn như là một máy mở rộng (máy tính ảo). Mục đích của lớp dịch vụ hệ thống là nhằm che đậy đi những chi tiết của hệ thống (phần cứng và phần mềm) đối với người dùng.
Theo cách nhìn của người quản trị hệ thống, dịch vụ hệ thống và nhân được coi là người quản lý tài nguyên. Quản lý hệ thống tài nguyên (CPU, bộ nhớ, hệ thống vào ra, file) không chỉ kiểm soát được tình trạng của các tài nguyên mà còn nhằm khai thác hiệu quả nhất. Một số bài toán điển hình như điều khiển bộ nhớ, lập lịch QT, điều khiển liên QT, điều khiển file, điều khiển vào ra ...
Máy tính mở rộng và quản lý tài nguyên là hai thuật ngữ chung nhất được dùng để xác định một HĐH. Máy tính mở rộng (trừu tượng máy) là mục tiêu thiết kế nguyên thủy đối với HĐH và quản lý tài nguyên giải nghĩa cho việc thực hiện mục tiêu đó.
Thiết kế HĐH truyền thống thường bắt đầu từ yếu tố quan trọng hơn là quản lý tài nguyên, trong khi đó thiết kế HĐH hiện đại lại tập trung nhiều hơn vào yếu tố trừu tượng máy. Và một lẽ tất nhiên là yếu tố nào là quan trọng hơn lại phụ thuộc vào sự quan tâm từ phía người dùng.
Trong máy tính thuộc các thế hệ đầu tiên không có HĐH. Các thao tác chọn công việc, phân công công việc đều do thao tác viên (và thậm chí ngay chính người lập trình) thực hiện. Theo thời gian, năng lực của máy tính được nâng cao: về tốc độ xử lý của CPU, về dung lượng bộ nhớ, về hệ thống thiết bị ngoại vi, về phần mềm hệ thống cũng như số lượng và năng lực người sử dụng tăng trưởng và vì vậy cần có một hệ thống chương trình điều khiển tự động hệ thống máy tính. Những yếu tố thực tế như vậy làm nảy sinh những điều kiện cần thiết cho việc xuất hiện các HĐH đơn giản.
Lịch sử tiến hóa của HĐH trình diễn một quá trình chuyển hóa từng bước trong việc thiết kế, từ nhấn mạnh chức năng quản trị tài nguyên sang nhấn mạnh chức năng máy tính mở rộng. Theo mô hình trong hình 1.1. thì điều đó được thể hiện việc chuyển hóa từ nhấn mạnh nhân sang nhấn mạnh các dịch vụ hệ thống.
Theo lịch sử tiến hóa, HĐH hiện đại được phân ra thành 4 thế hệ: HĐH truyền thống (tập trung), hệ điều mạng, HĐH phân tán và hệ tự trị cộng tác. Thế hệ gần đây nhất (hệ tự trị cộng tác) chú trọng thiết kế các ứng dụng phân tán trong môi trường hệ thống mở (bao gồm các thành phần hệ thống hỗn tạp được tích hợp mềm dẻo và có tính khả chuyển nhằm hỗ trợ việc cộng tác thực hiện theo quy mô lớn ở mức ứng dụng).
Dưới đây mô tả sơ bộ về cách thức phân biệt các HĐH này theo (1) độ kết dính phần cứng-phần mềm và (2) tổ hợp mục tiêu-đặc trưng
.

Hình 1.2.Phân bố của các thế hệ điều hành theo độ kết dính
* Độ kết dính phần cứng-phần mềm cho biết hệ thống là "tập trung đến mức độ nào", được đo bằng tổ hợp kết dính phần cứng và kết dính phần mềm. Theo đó, phân bố các thế hệ HĐH được sắp xếp như hình 1.2. Tỷ số giữa tổng phí truyền thông liên bộ xử lý so với thời gian truyền thông nột tại bộ xử lý càng thấp thì kết dính phần cứng càng chặt. Kết dính phần mềm chặt nếu phần mềm điều khiển tập trung và sử dụng thông tin toàn cục.
- HĐH tập trung kết dính phần cứng - phần mềm chặt.
- HĐH phân tán (DOS): phần mềm kết dính chặt trên nền phần cứng kết dính lỏng,
- HĐH mạng (NOS): cả phần mềm lẫn phần cứng đều kết dính lỏng,
- Hệ tự trị cộng tác (CAS) làm giảm kết dính chặt phần mềm (cách nhìn lôgic tập trung của DOS). CAS nằm giữa NOS và DOS.
*Phân biệt HĐH theo tổ hợp mục tiêu-đặc trưng
Bảng 1.1 trình bày sự phân biệt các thế hệ HĐH theo tổ hợp mục tiêu-đặc trưng.
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ị) |
Mục tiêu nguyên thủy của HĐH là máy tính ảo (virtual computer). Ba mục tiêu bổ sung là liên thao tác, trong suốt và tự trị hiện vẫn đang là những nội dung nghiên cứu, phát triển.
- Mục tiêu liên thao tác hướng tới năng lực tạo ra điều kiện thuận tiện cho việc trao đổi thông tin giữa các thành phần hỗn tạp trong hệ thống. Đây là mục tiêu gợi mở nguyên thuỷ dẫn tới việc thiết kế
HĐH mạng trong một môi trường hỗn tạp.
- Khái niệm trong suốt (transparency) và khái niệm ảo tương tự nhau ở chỗ cung cấp tính trừu tượng cao cho hệ thống. Điều khác biệt giữa hai khái niệm này là theo tính ảo, người dùng có thể nhìn thấy cái họ muốn, trong khi đó tính trong suốt đảm bảo rằng người dùng không nhìn thấy những cái họ không muốn. ảo là mục tiêu quan trọng của HĐH tập trung còn trong suốt là mục tiêu quan trọng của DOS. Khái niệm trong suốt cho phép mô tả DOS như một hệ thống cung cấp một khung cảnh lôgic của hệ thống cho người dùng, độc lập với hạ tầng vật lý. Người dùng có được cách nhìn của máy tính đơn cho một hệ thống máy tính phức hợp: sự tồn tại của hạ tầng mạng và hoạt động của hệ thống là trong suốt với người dùng. Từ "trong suốt" ở đây được hiểu theo nghĩa 'thuần khiết" của một môi trường thuần nhất.
- Trong suốt là một mục tiêu quá cao. Hơn nữa, không bắt buộc phải luôn cố đạt tới tính trong suốt vì nó bao gói một độ tập trung nào đó. Điều chắc chắn phù hợp với người dùng là họ thích có được cái nhìn riêng về hệ thống. Người dùng cần một môi trường mở không đòi hỏi nhất thiết về tính trong suốt mà chỉ cần hệ thống cung cấp tính mở để người dùng biến đổi, chuyển, di trú, mở rộng phần mềm ứng dụng của họ một cách độc lập đối với sự hỗn tạp của hệ thống. Lý do là, như lẽ rất tự nhiên, người dùng biết được sự tồn tại của tài nguyên phức và sự hiện diện của các người dùng khác, và người dùng trở thành cộng tác hoàn toàn với hệ thống. Từ đó, hệ thống phần mềm được xây dựng nhờ việc tích hợp các dịch vụ cộng tác, được cung cấp từ các đơn vị tự trị. Kiểu hoạt động như vậy của hệ tự trị cộng tác rất giống xã hội loài người. Hiện tại một số hệ thống phần mềm lớp giữa (middleware) được xây dựng như những phiên bản (version) ban đầu của hệ tự trị cộng tác.
Liên thao tác, trong suốt, và tự trị là những tính chất rất đáng mong muốn. Người dùng không phải (thường là không cần thiết) biết HĐH hiện tại có phải là mạng, DOS, CAS hay không. Hầu hết các HĐH hiện đại là một hệ thống tích hợp. Nó là việc tiến hóa từ HĐH tập trung tới HĐH mạng, HĐH phân tán và sau đó là hệ tự trị cộng tác, trong đó người dùng tiếp xúc với việc xây dựng các ứng dụng cộng tác lớn dựa trên các khối đã được cấu trúc hoàn hảo.