
Lịch sử máy tính |
---|
Phần cứng |
|
Phần mềm |
|
Khoa học máy tính |
|
Khái niệm hiện đại |
|
Theo Quốc gia |
|
Dòng thời gian của Máy tính |
|
Thuật ngữ khoa học máy tính |
|
Các hệ điều hành máy tính cung cấp các chức năng thiết yếu và là nền tảng cho hầu hết các ứng dụng trên máy tính, đồng thời quản lý và đồng bộ phần cứng. Trong thời kỳ máy tính đầu tiên, chưa có hệ điều hành, mỗi chương trình phải được thiết lập với thông tin phần cứng cụ thể và có các driver riêng cho thiết bị ngoại vi như máy in và bìa đục lỗ. Sự phát triển ngày càng phức tạp của phần cứng và phần mềm đã dẫn đến việc phát triển các hệ điều hành để đáp ứng nhu cầu đó.
Bối cảnh lịch sử
Những máy tính đầu tiên là các thiết bị lớn không có hệ điều hành. Mỗi người dùng chỉ được sử dụng máy tính theo lịch trình, sau đó chuyển giao chương trình và dữ liệu, thường là trên bìa đục lỗ hoặc băng từ. Chương trình sẽ được tải vào máy và máy sẽ hoạt động cho đến khi chương trình hoàn thành hoặc gặp sự cố. Các lỗi chương trình thường được gỡ qua bảng điều khiển bằng cách sử dụng các công tắc và đèn tín hiệu.
Sự phát triển của ngôn ngữ lập trình, hợp ngữ và trình biên dịch đã hỗ trợ lập trình viên chuyển mã chương trình từ dạng tượng trưng sang mã máy, điều này trước đây phải được thực hiện thủ công. Các máy tính sau này tích hợp các thư viện mã trên bìa đục lỗ hoặc băng từ để hỗ trợ các hoạt động như vào/ra. Đây chính là tiền thân của hệ điều hành hiện đại, mặc dù máy tính lúc đó chỉ thực hiện một nhiệm vụ tại một thời điểm. Tại Đại học Cambridge, hệ thống quản lý công việc đã sử dụng dây phơi và các chốt quần áo màu để đánh dấu mức độ ưu tiên công việc.
Khi máy móc ngày càng mạnh mẽ, thời gian chạy chương trình giảm, nhưng thời gian chuyển giao thiết bị cho người dùng tiếp theo lại tăng lên. Quá trình ghi chép và thanh toán chuyển từ việc kiểm tra đồng hồ sang đăng nhập tự động bằng máy tính. Hàng đợi công việc đã phát triển từ việc xếp hàng người, đến việc sử dụng các phương tiện như thẻ đục lỗ xếp chồng, cho đến khi máy có thể tự động chọn và sắp xếp ổ băng từ. Các nhà phát triển chương trình đã được thay thế bởi các nhà khai thác máy chuyên nghiệp, với sự can thiệp ngày càng ít. Các nhà cung cấp thiết bị phải nâng cấp thư viện thời gian chạy để ngăn chặn việc lạm dụng tài nguyên và giám sát tự động việc sử dụng CPU, in ấn, đọc thẻ, lưu trữ đĩa, cùng với việc cảnh báo khi cần can thiệp để thay đổi băng từ và mẫu giấy. Các tính năng bảo mật cũng được tích hợp vào hệ điều hành để theo dõi việc truy cập vào các tệp và ngăn chặn truy cập không mong muốn.
Những tính năng này được thiết kế để xây dựng một hệ điều hành hoàn chỉnh. Cuối cùng, các thư viện thời gian chạy đã trở thành một chương trình hợp nhất, khởi động trước công việc của khách hàng đầu tiên, có khả năng đọc công việc, kiểm soát thực thi, ghi nhận việc sử dụng, phân bổ tài nguyên phần cứng sau khi công việc kết thúc, và sẵn sàng xử lý công việc tiếp theo. Những chương trình nền này, có khả năng quản lý quy trình nhiều bước, thường được gọi là giám sát hoặc giám sát chương trình trước khi thuật ngữ 'hệ điều hành' được định hình.
Một chương trình cơ bản, với khả năng quản lý phần cứng, lập lịch phần mềm và giám sát tài nguyên, có vẻ như là tổ tiên của các hệ điều hành dành cho người dùng trong thời đại máy tính cá nhân. Tuy nhiên, khái niệm về hệ điều hành đã thay đổi. Giống như những chiếc ô tô đời đầu thiếu các tính năng tiêu chuẩn như đồng hồ tốc độ, radio và điều hòa không khí, ngày càng nhiều tính năng phần mềm tùy chọn đã trở thành tiêu chuẩn trong các gói hệ điều hành, mặc dù một số ứng dụng như hệ quản trị cơ sở dữ liệu và bảng tính vẫn giữ mức giá riêng biệt. Điều này dẫn đến việc hệ điều hành được xem như một hệ thống hoàn chỉnh với giao diện đồ họa tích hợp, tiện ích, ứng dụng như trình soạn thảo văn bản và quản lý file, và các công cụ cấu hình.
Hậu duệ thực sự của các hệ điều hành ban đầu chính là những hệ thống được gọi là 'kernel' hiện nay. Trong giới kỹ thuật và phát triển, khái niệm cũ về hệ điều hành vẫn còn do sự phát triển của các hệ điều hành nhúng cho nhiều loại thiết bị xử lý dữ liệu, từ thiết bị cầm tay đến robot công nghiệp và hệ thống điều khiển thời gian thực. Một hệ điều hành nhúng ngày nay không còn bị coi là lỗi thời như những tổ tiên của nó từ những năm 1950.
Các loại hệ thống và phần mềm ứng dụng khác sẽ được thảo luận chi tiết trong bài viết về phần mềm máy tính.
Máy tính lớn
Hệ điều hành đầu tiên được sử dụng thực tiễn là GM-NAA I/O, được phát triển vào năm 1956 bởi Bộ phận Nghiên cứu của General Motors cho máy tính IBM 704 của họ. Hầu hết các hệ điều hành đầu tiên khác cho máy tính lớn của IBM cũng do các khách hàng phát triển.
Các hệ điều hành ban đầu rất phong phú và đa dạng, với mỗi nhà cung cấp hoặc khách hàng phát triển một hoặc nhiều hệ điều hành riêng biệt cho máy tính lớn của họ. Mỗi hệ điều hành có thể có các lệnh, quy trình và công cụ gỡ lỗi khác nhau. Thường thì mỗi lần có máy mới từ nhà sản xuất, sẽ có một hệ điều hành mới và các ứng dụng cần được điều chỉnh, biên dịch lại và kiểm thử lại.
Các hệ thống dựa trên phần cứng của IBM
Tình hình này tiếp tục cho đến những năm 1960, khi IBM, nhà cung cấp phần cứng hàng đầu, ngừng phát triển các hệ thống hiện có và tập trung vào việc phát triển dòng máy System/360, tất cả sử dụng cùng một kiến trúc vào/ra. IBM dự định phát triển một hệ điều hành duy nhất cho phần cứng mới, OS/360. Các vấn đề trong việc phát triển OS/360 trở nên huyền thoại và được Fred Brooks mô tả trong cuốn The Mythical Man-Month—một cuốn sách đã trở thành tác phẩm kinh điển trong công nghệ phần mềm. Do sự khác biệt về hiệu suất giữa các phần cứng và sự chậm trễ trong phát triển phần mềm, nhiều hệ điều hành đã được giới thiệu thay vì một hệ điều hành duy nhất.
IBM đã cố gắng phát hành một loạt các hệ điều hành, trong đó hai hệ điều hành tiếp tục tồn tại lâu dài:
- OS/360 cho các hệ thống tầm trung và lớn. Nó có ba tùy chọn hệ thống:
- [/OS/360#PCP PCP] dành cho người dùng sớm và những người không có điều kiện để lập trình đa chương trình.
- MFT dành cho các hệ thống tầm trung, sau này được thay thế bằng MFT-II trong phiên bản 15/16 của OS/360. Nó có một phiên bản kế nhiệm, OS/VS1, đã bị ngừng vào những năm 1980.
- MVT cho các hệ thống lớn. Nó tương tự như PCP và MFT (đa số các chương trình có thể chuyển đổi giữa ba phiên bản mà không cần biên dịch lại), nhưng với quản lý bộ nhớ tinh vi hơn và các phương tiện chia sẻ thời gian như TSO. MVT có nhiều phiên bản kế nhiệm, bao gồm cả z/OS hiện tại.
- DOS/360 cho các mô hình System/360 nhỏ, có một số phiên bản kế nhiệm như z/VSE hiện tại. Nó khác biệt rõ rệt so với OS/360.
IBM duy trì sự tương thích hoàn toàn với các phiên bản tiền nhiệm, cho phép các chương trình phát triển từ những năm 1960 vẫn chạy trên z/VSE (nếu được phát triển cho DOS/360) hoặc z/OS (nếu được phát triển cho MFT hoặc MVT) mà không cần thay đổi.
IBM cũng phát triển TSS/360, một hệ thống chia sẻ thời gian cho System/360 Model 67. Họ đã đầu tư quá nhiều vào dự án chia sẻ thời gian này, thuê hàng trăm nhà phát triển, nhưng kết quả là một dự án lỗi, đầy lỗi và mất nhiều thời gian khởi động. Dự án cuối cùng không được phát hành.
Một số hệ điều hành cho kiến trúc IBM S/360 và S/370 đã được phát triển bởi các bên thứ ba, bao gồm Michigan Terminal System (MTS) và MUSIC/SP.
Những hệ điều hành máy tính lớn khác
Vào những năm 1960, Control Data Corporation phát triển hệ điều hành SCOPE cho xử lý theo lô và sau đó MACE cho hệ thống chia sẻ thời gian, tiền thân của Kronos sau này. Hợp tác với Đại học Minnesota, các hệ điều hành Kronos và NOS được phát triển trong những năm 1970, hỗ trợ cả xử lý theo lô và chia sẻ thời gian. Giao diện của chúng là sự mở rộng của hệ thống chia sẻ thời gian DTSS, một trong những nỗ lực tiên phong trong ngôn ngữ lập trình và chia sẻ thời gian.
Cuối những năm 1970, Control Data và Đại học Illinois phát triển hệ thống PLATO, sử dụng màn hình plasma và mạng chia sẻ thời gian rộng lớn. PLATO đã có những đổi mới đáng kể cho thời đại của nó; mô hình bộ nhớ dùng chung của ngôn ngữ lập trình TUTOR cho phép các ứng dụng như trò chuyện thời gian thực và trò chơi đồ họa nhiều người dùng.
UNIVAC, nhà sản xuất máy tính thương mại đầu tiên, đã phát triển hệ điều hành EXECI cho UNIVAC 1107 và Computer Sciences Corporation phát triển EXEC II, sau đó được chuyển giao cho UNIVAC. EXEC II được chuyển sang UNIVAC 1108, và sau đó UNIVAC phát triển EXEC 8 cho 1108, nền tảng cho các hệ điều hành sau này. EXEC I và EXEC II là hệ thống xử lý hàng loạt, quản lý trống từ, đĩa, đầu đọc thẻ và máy in dòng; EXEC 8 hỗ trợ cả xử lý hàng loạt và giao dịch trực tuyến. Vào những năm 1970, UNIVAC phát triển hệ thống Real-Time Basic (RTB) cho chia sẻ thời gian quy mô lớn, được mô phỏng theo hệ thống Dartmouth BASIC.
Burroughs Corporation giới thiệu máy B5000 vào năm 1961 cùng với hệ điều hành MCP (Master Control Program). B5000 là máy tính được thiết kế để hỗ trợ độc quyền các ngôn ngữ cấp cao, không có phần mềm cấp thấp; MCP là hệ điều hành đầu tiên được viết hoàn toàn bằng ngôn ngữ bậc cao - ESPOL, một phương ngữ của ALGOL 60. MCP cũng giới thiệu nhiều cải tiến đột phá, bao gồm bộ nhớ ảo. Việc viết lại MCP cho B6500 vẫn được sử dụng trong dòng máy tính Unisys ClearPath / MCP.
Vào năm 1962, GE giới thiệu dòng máy GE-600 cùng với hệ điều hành General Electric Comprehensive Operating Supervisor (GECOS). Sau khi Honeywell mua lại bộ phận máy tính của GE, tên hệ điều hành được đổi thành General Comprehensive Operating System (GCOS). Trong những năm 1970, Honeywell mở rộng việc sử dụng tên GCOS để bao gồm tất cả các hệ điều hành của mình, dù nhiều máy tính mới của họ không liên quan đến dòng GE 600 và hệ điều hành mới không có nguồn gốc từ GECOS ban đầu.
Tại MIT, Project MAC phối hợp với GE và Bell Labs phát triển hệ thống Multics, giới thiệu khái niệm về các mức quyền hạn bảo mật.
Vào năm 1967, Digital Equipment Corporation phát triển hệ điều hành TOPS-10 cho máy tính PDP-10 36 bit. Trước khi Unix trở nên phổ biến, TOPS-10 là hệ thống rất được ưa chuộng trong các trường đại học và cộng đồng ARPANET đầu những năm 70. Bolt, Beranek, and Newman đã phát triển TENEX cho PDP-10, hỗ trợ phân trang theo yêu cầu. TENEX cũng rất được ưa chuộng trong cộng đồng nghiên cứu và ARPANET, và sau đó được DEC phát triển thành TOPS-20.
Scientific Data Systems/Xerox Data Systems đã phát triển một số hệ điều hành cho dòng máy Sigma, bao gồm Basic Control Monitor (BCM), Batch Processing Monitor (BPM), và Basic Time-Sharing Monitor (BTM). BPM và BTM đã được thay thế bởi Universal Time-Sharing System (UTS), thiết kế để cung cấp dịch vụ đa lập trình cho các chương trình người dùng trực tuyến và công việc chế độ hàng loạt. Hệ điều hành CP-V kết hợp UTS với hệ điều hành xử lý theo lô Xerox Operating System để tạo ra một hệ thống hiệu quả hơn.
Máy tính mini
Digital Equipment Corporation đã phát triển một loạt các hệ điều hành cho dòng máy 16-bit PDP-11, bao gồm RT-11, hệ điều hành chia sẻ thời gian RSTS, hệ điều hành thời gian thực RSX-11, và hệ thống VMS cho máy VAX 32-bit.
Các đối thủ của Digital Equipment Corporation như Data General, Hewlett-Packard, và Computer Automation cũng đã phát triển các hệ điều hành riêng của họ. Ví dụ, 'MAX III' được thiết kế cho máy tính Modular Computer Systems Modcomp II và Modcomp III, nhắm đến thị trường kiểm soát công nghiệp. Thư viện Fortran của nó bao gồm các công cụ cho phép truy cập vào thiết bị đo lường và điều khiển.
IBM đã cải tiến các hệ điều hành của mình trong lớp 'tầm trung' với hệ thống 'CPF' cho System/38, sử dụng kiến trúc giao diện máy để tách biệt phần mềm ứng dụng và hệ điều hành khỏi phụ thuộc phần cứng. CPF bao gồm RDBMS tích hợp, trong khi OS/400 cho AS/400 không sử dụng tệp mà thay vào đó là các đối tượng tồn tại trong bộ nhớ ảo phẳng. i5/OS và IBM i cho iSeries tiếp tục phát triển từ hệ điều hành này. Unix, phát triển tại AT&T Bell Laboratories vào cuối những năm 1960 cho PDP-7 và PDP-11, trở nên phổ biến nhờ tính miễn phí, dễ sửa đổi và khả năng di động. Unix đã trở thành nền tảng cho các dự án mã nguồn mở như GNU, Linux, và Berkeley Software Distribution, và MacOS của Apple cũng dựa trên Unix thông qua NeXTSTEP và FreeBSD.
Pick OS là một hệ điều hành đa nền tảng, ra mắt vào năm 1973, với lõi là ngôn ngữ Data/BASIC và một ngôn ngữ cơ sở dữ liệu kiểu SQL tên là ENGLISH. Được cấp phép cho nhiều nhà sản xuất, Pick OS đã được xem là đối thủ mạnh mẽ của Unix vào đầu những năm 1980.
Máy vi tính
Vào giữa những năm 1970, thị trường máy tính nhỏ chứng kiến sự ra đời của một thế hệ mới với các bộ xử lý 8 bit nổi bật như MOS Technology 6502, Intel 8080, Motorola 6800 và Zilog Z80. Những hệ thống này bắt đầu là máy tính sở thích với bộ công cụ đơn giản, nhưng nhanh chóng trở thành công cụ kinh doanh quan trọng nhờ vào khả năng mở rộng và ngày càng nhiều RAM.
Máy tính gia đình
Trong thập niên 1980, nhiều máy tính gia đình 8 bit như BBC Micro, Commodore 64, Apple II, Atari 8-bit, Amstrad CPC, và ZX Spectrum thường được trang bị hệ điều hành tích hợp trong thời kỳ mà ổ đĩa mềm còn đắt đỏ và ít được sử dụng. Những máy tính này chủ yếu sử dụng ổ băng từ và thường đi kèm với trình thông dịch BASIC trên ROM, cho phép người dùng tải hệ điều hành đĩa để thực hiện các lệnh quản lý tệp. Commodore 64 là một trường hợp đặc biệt với DOS tích hợp trong ROM của ổ đĩa, cho phép kết nối với máy in, modem và các thiết bị ngoại vi khác.
Các máy tính gia đình đầu tiên thường đi kèm với bộ nhớ tối thiểu từ 4-8 kilobyte và bộ xử lý 8 bit không có các mạch hỗ trợ như MMU hoặc đồng hồ thời gian thực chuyên dụng. Việc triển khai hệ điều hành phức tạp với nhiều tính năng có thể làm giảm hiệu năng của máy, và do phần cứng đã được bán hoàn chỉnh với cấu hình cố định, không cần thiết phải có hệ điều hành hỗ trợ nhiều loại phần cứng.
Phần mềm cho máy tính gia đình, bao gồm game, bảng tính, cơ sở dữ liệu và bộ xử lý văn bản, chủ yếu là các chương trình độc lập và chiếm lĩnh hoàn toàn máy tính. Dù có phần mềm tích hợp, chúng thường thiếu tính năng so với phần mềm độc lập do giới hạn bộ nhớ. Việc trao đổi dữ liệu chủ yếu qua các định dạng tiêu chuẩn như ASCII hoặc CSV, hoặc các chương trình chuyển đổi tệp chuyên biệt.
Hệ điều hành cho game và console
Từ năm 1980 trở đi, hầu hết các máy chơi game và tủ arcade đều là máy kỹ thuật số thực sự dựa trên bộ vi xử lý, khác biệt so với các phiên bản Pong trước đó. Một số trong số chúng tích hợp một dạng BIOS hoặc trò chơi cơ bản, chẳng hạn như ColecoVision, Sega Master System và SNK Neo Geo.
Những máy chơi game và hệ thống điện tử hiện đại, bắt đầu từ PC-Engine, đều được trang bị một BIOS cơ bản với các tiện ích như quản lý thẻ nhớ, phát CD âm thanh hoặc video, bảo vệ bản sao và thậm chí thư viện cho các nhà phát triển. Tuy nhiên, chỉ một số ít trong số đó thực sự có thể được coi là hệ điều hành hoàn chỉnh.
Những ngoại lệ đáng chú ý bao gồm console Dreamcast, với BIOS cơ bản nhưng cho phép tải hệ điều hành Windows CE từ đĩa game, giúp việc porting từ PC trở nên dễ dàng. Xbox cũng là một ví dụ, thực chất là một PC ẩn dưới lớp vỏ với phiên bản Windows bí mật đã được sửa đổi. Hơn nữa, cũng có các phiên bản Linux có thể chạy trên Dreamcast và các máy chơi game sau này.
Trước đó, Sony đã phát hành Net Yaroze, một bộ công cụ phát triển cho PlayStation đầu tiên, cung cấp công cụ lập trình và phát triển với một PC thông thường và một 'Black PlayStation' đặc biệt có thể giao tiếp và tải chương trình từ PC. Các hoạt động này đòi hỏi một hệ điều hành chức năng trên cả hai nền tảng liên quan.
Nói chung, trong những năm 1970, 1980 và phần lớn 1990, các máy chơi game và máy arcade chủ yếu sử dụng BIOS tích hợp. Tuy nhiên, từ thời kỳ PlayStation trở đi, hệ thống ngày càng trở nên tinh vi hơn, yêu cầu một hệ điều hành chung hoặc được tùy chỉnh để hỗ trợ phát triển và mở rộng.
Máy tính cá nhân
Sự phát triển của các bộ vi xử lý đã giúp việc tính toán trở nên rẻ hơn cho các doanh nghiệp nhỏ và người dùng cá nhân, dẫn đến việc sử dụng rộng rãi các thành phần phần cứng hoán đổi lẫn nhau qua kết nối chung như S-100, SS-50, Apple II, ISA và PCI. Điều này cũng tạo ra nhu cầu ngày càng cao đối với các hệ điều hành 'tiêu chuẩn' để quản lý các thành phần này. CP/M-80 của Digital Research là hệ điều hành quan trọng nhất trong giai đoạn đầu cho các CPU 8080/8085/Z-80, dựa trên hệ điều hành của Digital Equipment Corporation dành cho PDP-11. Hệ điều hành đầu tiên của Microsoft, MDOS/MIDAS, được thiết kế với nhiều tính năng của PDP-11 nhưng dành cho các hệ thống bộ vi xử lý. MS-DOS, hay PC DOS khi được IBM cung cấp, ban đầu dựa trên CP/M-80. Mỗi máy đều có chương trình khởi động nhỏ trong ROM, từ đó tải hệ điều hành từ đĩa. BIOS của máy lớp IBM-PC mở rộng ý tưởng này và đã phát triển thêm nhiều tính năng trong 20 năm kể từ khi IBM-PC ra đời vào năm 1981.
Sự giảm chi phí thiết bị và bộ xử lý hiển thị đã khiến việc tích hợp giao diện người dùng đồ họa vào nhiều hệ điều hành trở nên khả thi. Ví dụ như hệ thống X Window phổ biến trên nhiều hệ thống Unix, cũng như các hệ thống đồ họa khác như Mac OS cổ điển và macOS của Apple, OS-9 Level II/MultiVue của Radio Shack Color Computer, AmigaOS của Commodore, Atari TOS, OS/2 của IBM và Microsoft Windows. Giao diện đồ họa đầu tiên được phát triển trên máy tính Xerox Alto tại Trung tâm nghiên cứu Xerox Palo Alto vào đầu những năm 1970 và sau đó được thương mại hóa bởi nhiều nhà cung cấp trong suốt thập niên 1980 và 1990.
Từ cuối những năm 1990, ba hệ điều hành chính trên máy tính cá nhân là macOS của Apple Inc., Linux nguồn mở và Microsoft Windows. Kể từ năm 2005, khi Apple chuyển sang bộ xử lý Intel, cả ba hệ điều hành này chủ yếu được phát triển trên nền tảng x86, mặc dù macOS vẫn hỗ trợ PowerPC cho đến năm 2009 và Linux tiếp tục được chuyển giao trên nhiều kiến trúc khác như 68k, PA-RISC, DEC Alpha, SPARC và MIPS. Những hệ điều hành khác như AmigaOS và OS/2 vẫn được sử dụng, chủ yếu bởi những người đam mê máy tính cổ hoặc cho các ứng dụng nhúng chuyên biệt.

Hệ điều hành di động
Vào đầu những năm 1990, Psion đã giới thiệu máy PDA Psion Series 3, một thiết bị di động nhỏ gọn hỗ trợ các ứng dụng do người dùng phát triển trên hệ điều hành EPOC. Các phiên bản sau của EPOC đã được đổi tên thành Symbian, hệ điều hành được sử dụng trên điện thoại của Ericsson, Motorola và Nokia. Năm 1996, Palm Computing cho ra mắt Pilot 1000 và Pilot 5000, chạy Palm OS. Microsoft Windows CE là nền tảng cho PocketPC 2000, sau đó đổi tên thành Windows Mobile năm 2003, đạt đỉnh cao vào năm 2007, trở thành hệ điều hành phổ biến nhất cho điện thoại thông minh tại Mỹ.
Năm 2007, Apple đã giới thiệu iPhone và hệ điều hành iOS, dựa trên bản phân phối Unix Darwin tương tự như Mac OS X. iOS cũng mang đến một giao diện người dùng đồ họa mạnh mẽ và sáng tạo, sau này được áp dụng cho iPad. Một năm sau, Android ra đời, dựa trên nhân Linux sửa đổi và giao diện người dùng đồ họa riêng. Microsoft quay lại thị trường di động với Windows Phone vào năm 2010, và sau đó chuyển sang Windows 10 Mobile vào năm 2015.
Ngoài Android và iOS, còn có một loạt các hệ điều hành di động khác đang cạnh tranh trong lĩnh vực này.
Sự phát triển của ảo hóa
Các hệ điều hành ban đầu hoạt động trực tiếp trên phần cứng và cung cấp dịch vụ cho các ứng dụng. Tuy nhiên, với sự ra đời của ảo hóa, hệ điều hành giờ đây hoạt động dưới sự quản lý của một trình ảo hóa thay vì điều khiển trực tiếp phần cứng.
Trên các máy tính lớn, IBM đã giới thiệu khái niệm máy ảo vào năm 1968 với CP/CMS trên IBM System/360 Model 67, và sau đó mở rộng vào năm 1972 với Virtual Machine Facility/370 (VM/370) trên System/370.
Trên các máy tính cá nhân sử dụng x86, VMware đã đưa công nghệ ảo hóa vào tầm phổ biến với VMware Workstation vào năm 1999, tiếp theo là VMware GSX Server và VMware ESX Server vào năm 2001. Đến năm 2010, với sự xuất hiện của các sản phẩm khác như Xen, KVM và Hyper-V, hơn 80% doanh nghiệp đã áp dụng hoặc có dự án ảo hóa, và 25% tổng khối lượng công việc của máy chủ được thực hiện trên các máy ảo.
Theo thời gian, ranh giới giữa các máy ảo, trình quản lý ảo hóa và hệ điều hành đã trở nên mờ nhạt:
- Các trình quản lý ảo hóa trở nên phức tạp hơn, với khả năng cung cấp giao diện lập trình ứng dụng, quản lý bộ nhớ và hệ thống tệp riêng.
- Ảo hóa đã trở thành tính năng chủ chốt trong các hệ điều hành, như KVM và LXC trong Linux, Hyper-V trong Windows Server 2008, hoặc HP Integrity Virtual Machines trong HP-UX.
- Trong một số hệ thống, chẳng hạn như máy chủ POWER5 và POWER6 của IBM, ảo hóa không còn là tùy chọn mà là yêu cầu bắt buộc.
- Các hệ điều hành được tinh giản hoàn toàn, như CoreOS, được thiết kế đặc biệt để chạy trên các hệ thống ảo.
- Các ứng dụng đã được điều chỉnh để hoạt động trực tiếp trên màn hình của máy ảo.
Hiện nay, phần mềm máy ảo thực hiện nhiều chức năng trước đây thuộc về hệ điều hành, bao gồm quản lý tài nguyên phần cứng (bộ xử lý, bộ nhớ, thiết bị I/O), áp dụng các chính sách lập lịch, và hỗ trợ quản trị viên hệ thống trong việc quản lý hệ thống.
Đọc thêm
- Neal Stephenson (1999). In the Beginning... Was the Command Line. Harper Perennial. ISBN 0-380-81593-1.
Chú thích
- ^ CDC đã sử dụng tên SCOPE cho các hệ điều hành khác nhau trên các dòng máy 3000 cao cấp, 3000 thấp hơn, 6000 và 7600.
- ^ Một âm tiết trong B5000 có thể chứa một giá trị 10-bit, lệnh toán hạng, lệnh mô tả hoặc mã lệnh 10-bit.
- ^ B5000 cùng thời với Ferranti Atlas.
Hệ điều hành | |||||
---|---|---|---|---|---|
Chung |
| ||||
Hạt nhân |
| ||||
Quản lý tiến trình |
| ||||
Quản lý bộ nhớ và bảo vệ tài nguyên |
| ||||
Truy cập lưu trữ và hệ thống tập tin |
| ||||
Danh sách |
| ||||
Khái niệm khác |
|