OS/2

OS/2 là một loạt các hệ điều hành máy tính, ban đầu được tạo ra bởi Microsoft và IBM dưới sự lãnh đạo của nhà thiết kế phần mềm IBM Ed Iacobucci. Do tranh cãi giữa hai công ty về việc định vị OS/2 liên quan đến sản phẩm Windows 3.1 mới của Microsoft, hai công ty đã cắt đứt mối quan hệ vào năm 1992 và việc phát triển OS/2 hoàn toàn chuyển qua IBM. Tên của OS/2 là viết tắt của "Operating System/2", vì nó được giới thiệu như là một phần của việc thay đổi thế hệ sang dòng máy tính cá nhân "PS/2" - thế hệ máy tính cá nhân thứ hai của IBM. Phiên bản OS/2 đầu tiên được phát hành vào tháng 12 năm 1987 và các phiên bản mới hơn được phát hành cho đến tháng 12 năm 2001.

OS/2 được dự định như là một chế độ bảo vệ kế thừa của PC DOS. Đáng chú ý nhất là các cuộc gọi hệ thống cơ bản được mô hình hóa sau các cuộc gọi MS-DOS; tên của chúng thậm chí bắt đầu bằng "Dos" và có thể tạo ứng dụng "Chế độ gia đình": ứng dụng chế độ văn bản có thể hoạt động trên cả hai hệ thống này. Bởi vì di sản này, OS/2 có sự tương đồng với Unix, Xenix, và Windows NT.

IBM đã ngừng hỗ trợ OS/2 vào ngày 31 tháng 12 năm 2006. Kể từ đó, nó được cập nhật, duy trì và tiếp thị dưới tên eComStation. Trong năm 2015 nó đã được thông báo rằng một bản phân phối OEM mới của OS/2 sẽ được phát hành với tên gọi ArcaOS, với sản phẩm có sẵn.

== Lịch sử phát triển ==
=== 1985–1989: Phát triển chung ===
Sự phát triển của OS / 2 bắt đầu khi IBM và Microsoft đã ký "Thỏa thuận hợp tác phát triển" vào tháng 8 năm 1985. Nó có tên mã là "CP/DOS" và thời gian đưa sản phẩm đầu tiên ra thị trường là 2 năm.

OS/2 1.0 đã được công bố vào tháng 4 năm 1987 và được phát hành vào tháng 12. Bản phát hành ban đầu chỉ có chế độ văn bản và GUI được giới thiệu với OS/2 1.1 khoảng một năm sau đó. OS/2 có API để điều khiển hiển thị video (VIO) và xử lý keyboard và chuột để các lập trình viên viết cho chế độ được bảo vệ không cần gọi trực tiếp đến BIOS hoặc truy cập phần cứng. Ngoài ra, các công cụ phát triển bao gồm một tập con của API video và bàn phím làm thư viện có thể liên kết để các chương trình chế độ gia đình có thể chạy dưới MS-DOS. Trình chuyển đổi tác vụ có tên Bộ chọn chương trình có sẵn thông qua tổ hợp phím nóng Ctrl-Esc, cho phép người dùng chọn trong số các phiên chế độ văn bản đa nhiệm (hoặc nhóm màn hình; mỗi nhóm có thể chạy nhiều chương trình).

Truyền thông và phần mở rộng định hướng cơ sở dữ liệu được phân phối vào năm 1988, như là một phần của OS/2 1.0 Extended Edition: SNA, X.25/APPC/LU 6.2, LAN Manager, Query Manager, SQL.

Giao diện người dùng được hứa hẹn, Presentation Manager, được giới thiệu với OS/2 1.1 vào tháng 10 năm 1988. Nó có giao diện người dùng tương tự như Windows 2.1, được phát hành vào tháng 5 năm đó. (Giao diện đã được thay thế trong phiên bản 1.2 và 1.3 bằng giao diện gần gũi hơn với Windows 3.1).

Phiên bản mở rộng 1.1, chỉ được bán thông qua các kênh bán hàng của IBM, giới thiệu hỗ trợ cơ sở dữ liệu phân tán cho các hệ thống cơ sở dữ liệu của IBM và hỗ trợ truyền thông SNA cho các mạng máy tính lớn của IBM.

Vào năm 1989, Phiên bản 1.2 đã giới thiệu các hệ thống tập tin có thể cài đặt và đáng chú ý là hệ thống tập tin HPFS. HPFS cung cấp một số cải tiến so với hệ thống tệp FAT cũ hơn, bao gồm tên tệp dài và dạng luồng dữ liệu thay thế được gọi là Thuộc tính mở rộng. Ngoài ra, các thuộc tính mở rộng cũng được thêm vào hệ thống tệp FAT.

Các cuốn sách liên quan đến OS/2 và cWindows của cuối những năm 1980 đã thừa nhận sự tồn tại của cả hai hệ thống và OS/2 được quảng cáo là hệ thống cho tương lai..

=== 1990: Chia tay ===
Sự hợp tác giữa IBM và Microsoft đã tan vỡ vào năm 1990, giữa các phiên bản Windows 3.0 và OS/2 1.3. Trong thời gian này, Windows 3.0 đã trở thành một thành công to lớn, bán hàng triệu bản trong năm đầu tiên. Phần lớn thành công của nó là vì Windows 3.0 (cùng với MS-DOS) được đóng gói với hầu hết các máy tính mới. OS/2 chỉ có sẵn như là một gói phần mềm độc lập bổ sung. Ngoài ra, OS/ 2 thiếu trình điều khiển thiết bị cho nhiều thiết bị phổ biến như máy in, đặc biệt là các phần cứng không phải của IBM. Windows hỗ trợ nhiều loại phần cứng lớn hơn. Sự phổ biến ngày càng tăng của Windows đã khiến Microsoft chuyển hướng tập trung phát triển của mình từ hợp tác làm OS/2 với IBM để xây dựng doanh nghiệp của riêng mình dựa trên Windows.

Một số lý do kỹ thuật và thực tiễn góp phần vào việc chia tay này.

Hai công ty có sự khác biệt đáng kể về văn hóa và tầm nhìn. Microsoft ủng hộ cách tiếp cận hệ thống phần cứng mở góp phần vào sự thành công của nó trên PC; IBM đã tìm cách sử dụng OS/2 để thúc đẩy doanh số bán phần cứng của riêng mình, bao gồm cả các hệ thống không thể hỗ trợ các tính năng mà Microsoft muốn. Các lập trình viên của Microsoft cũng trở nên thất vọng với bộ máy quan liêu của IBM và việc sử dụng số lượng dòng mã để đo lường năng suất của lập trình viên. Các nhà phát triển của IBM đã phàn nàn về cách viết quá vắn tắt và thiếu bình luận trong mã nguồn của Microsoft, trong khi các nhà phát triển của Microsoft phàn nàn rằng mã của IBM là quá cồng kềnh.

Hai sản phẩm có sự khác biệt đáng kể trong API. OS/2 đã được quảng bá khi  Windows 2.0 sắp hoàn thành và API Windows đã được xác định. Tuy nhiên, IBM yêu cầu rằng API này được thay đổi đáng kể cho riêng OS/2. Do đó, các vấn đề xung quanh khả năng tương thích ứng dụng xuất hiện ngay lập tức. Các nhà thiết kế OS/2 hy vọng cho các công cụ chuyển đổi mã nguồn, cho phép di chuyển hoàn toàn mã nguồn ứng dụng Windows sang OS/2 tại một số điểm. Tuy nhiên, OS/2 1.x không đạt đủ động lực để cho phép các nhà cung cấp cùng phát triển phần mềm cho cả OS/2 và Windows song song.

OS/2 1.x nhắm vào bộ vi xử lý Intel 80286 và DOS về cơ bản thì không. IBM nhấn mạnh vào việc hỗ trợ bộ vi xử lý 80286, với chế độ bộ nhớ phân đoạn 16 bit, vì các cam kết được thực hiện cho những khách hàng đã mua nhiều máy PS2/2 dựa trên 80286 như là kết quả của lời hứa của IBM xung quanh OS/2. Cho đến phiên bản 2.0 vào tháng 4 năm 1992, OS/2 chạy ở chế độ bảo vệ 16 bit và do đó không thể hưởng lợi từ mô hình bộ nhớ phẳng 32 bit đơn giản hơn nhiều của Intel 80386 và các tính năng chế độ ảo 8086. Điều này đặc biệt gây khó khăn trong việc cung cấp hỗ trợ cho các ứng dụng DOS. Trong khi, vào năm 1988, Windows 2.1x có thể chạy một số ứng dụng DOS đa nhiệm hợp tác, bao gồm mô phỏng bộ nhớ mở rộng (EMS), OS/2 1.3, được phát hành vào năm 1991, vẫn bị giới hạn ở một hộp DOS 640 kB.

Với những vấn đề này, Microsoft bắt đầu làm việc song song trên một phiên bản Windows có định hướng tương lai hơn và di động hơn. Việc thuê Dave Cutler, cựu kiến trúc sư VMS, năm 1988 đã tạo ra một cuộc cạnh tranh ngay lập tức với nhóm OS/2, vì Cutler không nghĩ nhiều về công nghệ OS/2 và muốn xây dựng hệ thống mới dựa trên công việc của mình ở Digital thay vì tạo ra một "DOS Plus". "NT OS/2" của ông là một kiến trúc hoàn toàn mới.

IBM trở nên lo ngại về sự chậm trễ trong việc phát triển OS/2 2.0. Ban đầu, hai công ty đã đồng ý rằng IBM sẽ tiếp quản bảo trì OS/2 1.0 và phát triển OS/2 2.0, trong khi Microsoft sẽ tiếp tục phát triển OS/2 3.0. Cuối cùng, Microsoft quyết định sử dụng lại NT OS/2 3.0 với tên mới Windows NT, để lại tất cả việc phát triển OS/2 trong tương lai cho IBM. Từ quan điểm kinh doanh, điều này là hợp lý khi Microsoft tập trung vào một dòng tiêu dùng của hệ điều hành dựa trên DOS và Windows, và để chuẩn bị một hệ thống cao cấp mới theo cách sao cho tương thích tốt với các ứng dụng Windows hiện có. Trong khi chờ đợi hệ thống cao cấp mới này phát triển, Microsoft vẫn sẽ nhận được tiền cấp phép từ doanh thu của Xenix và OS/2. Di sản của OS/2 trong Windows NT có thể thấy trong hỗ trợ ban đầu của nó cho hệ thống tập tin HPFS, các ứng dụng chạy chế độ văn bản OS/2 1.x, và hỗ trợ LAN Manager, mạng của OS/2. Một số tài liệu NT ban đầu thậm chí bao gồm các thông báo bản quyền OS / 2 được nhúng trong phần mềm. Một ví dụ về hỗ trợ NT OS / 2 1.x nằm trong bộ tài nguyên WIN2K. Windows NT cũng có thể hỗ trợ OS/2 1.x Presentation Manager và các ứng dụng AVIO với việc bổ sung Hệ thống phụ Tiện ích Windows NT cho Presentation Manager.

=== 1992: Kỷ nguyên 32-bit ===
OS/2 2.0 được phát hành vào tháng 4 năm 1992. Nó cung cấp một giao thức API 32 bit cho các chương trình gốc, mặc dù bản thân hệ điều hành vẫn chứa một số mã và trình điều khiển 16 bit. Nó cũng bao gồm một OOUI mới (giao diện người dùng hướng đối tượng) được gọi là Workplace Shell. Đây là một giao diện hướng đối tượng đầy đủ, một sự khởi đầu đáng kể từ GUI trước đó. Thay vì chỉ cung cấp môi trường cho các cửa sổ chương trình (như Program Manager), Workplace Shell cung cấp một môi trường mà người dùng có thể quản lý các chương trình, tệp và thiết bị bằng cách thao tác các đối tượng trên màn hình. Với Workplace Shell, mọi thứ trong hệ thống đều là một "đối tượng" để được điều khiển.

==== Tính tương thích với DOS ====
OS/2 2.0 được IBM giới thiệu là "một hệ điều hành DOS tốt hơn DOS và Windows tốt hơn Windows". Nó thực hiện điều này bằng cách bao gồm MS-DOS 5.0 đầy đủ giấy phép đã được vá và cải thiện. Lần đầu tiên, OS/2 có thể chạy nhiều ứng dụng DOS cùng một lúc. Điều này có hiệu quả đến nỗi nó cho phép OS/2 chạy bản sao sửa đổi của Windows 3.0, vốn là một bộ mở rộng DOS, bao gồm các ứng dụng Windows 3.0.

Do những hạn chế của bộ vi xử lý Intel 80286, OS/2 1.x chỉ có thể chạy một chương trình DOS tại một thời điểm và thực hiện điều này theo cách cho phép chương trình DOS có toàn quyền kiểm soát máy tính. Một vấn đề trong chế độ DOS có thể gây treo toàn bộ máy tính. Ngược lại, OS/2 2.0 được hưởng lợi từ chế độ 8086 ảo của bộ vi xử lý Intel 80386 để tạo ra một máy ảo an toàn hơn hẳn để chạy các chương trình DOS. Điều này bao gồm một số lượng lớn các tùy chọn cấu hình để tối ưu hóa hiệu năng và khả năng cho mỗi chương trình DOS. Bất kỳ hệ điều hành chế độ thực (chẳng hạn như 8086 Xenix) cũng có thể được thực hiện để chạy bằng các khả năng máy ảo của OS/2, tùy thuộc vào các giới hạn truy cập phần cứng trực tiếp nhất định.

Giống như hầu hết các môi trường 32 bit, OS/2 không thể chạy các chương trình DOS được bảo vệ bằng giao diện VCPI cũ hơn, không giống như chế độ chuẩn của Windows 3.1; nó chỉ hỗ trợ các chương trình được viết theo DPMI. (Microsoft không khuyến khích sử dụng VCPI trong Windows 3.1 vì lý do suy giảm hiệu năng của máy.)

Không giống như Windows NT, OS/2 cũng luôn cung cấp cho các chương trình DOS khả năng che giấu các ngắt phần cứng thực, vì vậy bất kỳ chương trình DOS nào cũng có thể khóa máy theo cách này. Tuy nhiên, OS/2 có thể sử dụng một cơ quan giám sát phần cứng trên các máy được chọn (đặc biệt là các máy IBM) để thoát ra khỏi các bế tắc như vậy. Sau đó, phiên bản 3.0 đã tận dụng những cải tiến của bộ vi xử lý Intel 486 và Intel Pentium mới hơn — Virtual Interrupt Flag (VIF), một phần của Virtual Mode Extensions (VME) —để giải quyết vấn đề này.

==== Tính tương thích với Windows 3.x ====
Khả năng tương thích với Windows 3.0 (và sau này là Windows 3.1) đã đạt được trong OS/2 bằng cách điều chỉnh các thành phần mã chế độ người dùng Windows để chạy bên trong một máy ảo DOS (VDM). Ban đầu, một phiên bản gần như hoàn chỉnh của mã Windows đã được bao gồm trong OS/2: Windows 3.0 trong OS/2 2.0 và Windows 3.1 trong OS/2 2.1. Sau đó, IBM đã phát triển các phiên bản OS/2 có thể sử dụng bất kỳ phiên bản Windows nào mà người dùng đã cài đặt trước đó, vá nó ngay lập tức và tiết kiệm chi phí cho một giấy phép chạy Windows bổ sung. Windows có thể chạy toàn màn hình, sử dụng bộ trình điều khiển video của riêng nó hoặc dùng hình ảnh "liền mạch", với các chương trình Windows sẽ xuất hiện trực tiếp trên màn hình OS/2. Quá trình chứa Windows được cho phép truy cập khá rộng rãi vào phần cứng, đặc biệt là video, và kết quả là việc chuyển đổi giữa một phiên WinOS/2 toàn màn hình và Workplace Shell đôi khi có thể gây ra vấn đề.

Vì OS/2 chỉ chạy các thành phần hệ thống chế độ người dùng của Windows, nên nó không tương thích với các trình điều khiển thiết bị Windows (VxDs) và các ứng dụng cần chúng.

Nhiều ứng dụng Windows chạy theo mặc định trong một phiên Windows duy nhất - đa nhiệm hợp tác và không có bảo vệ bộ nhớ - cũng giống như cách chúng chạy trong phiên bản Windows 3.x. Tuy nhiên, để đạt được sự cách ly thực sự giữa các chương trình Windows 3.x, OS/2 cũng có thể chạy nhiều bản sao của Windows song song, với mỗi bản sao nằm trong một VDM riêng biệt. Sau đó, người dùng có thể tùy chọn đặt từng chương trình trong phiên Windows của riêng mình - với tính năng đa nhiệm ưu tiên và bảo vệ bộ nhớ đầy đủ giữa các phiên, mặc dù không nằm trong chúng - hoặc cho phép một số ứng dụng chạy cùng nhau trong phiên Windows chia sẻ trong khi cô lập các ứng dụng khác trong một hoặc các phiên Windows riêng biệt hơn. Với chi phí của các tài nguyên phần cứng bổ sung, phương pháp này có thể bảo vệ mỗi chương trình trong bất kỳ phiên Windows nào (và mỗi bản thân Windows) từ mọi chương trình khác đang chạy trong bất kỳ phiên Windows riêng biệt nào (mặc dù không bảo vệ nó khỏi các chương trình khác đang chạy trong cùng phiên Windows).

Cho dù các ứng dụng Windows đang chạy ở chế độ toàn màn hình hay cửa sổ, và trong một phiên Windows hoặc nhiều phiên, có thể sử dụng DDE giữa các ứng dụng OS/2 và Windows và OLE chỉ giữa các ứng dụng Windows.

=== 1994–1996: Thời kỳ "Warp" ===
Được phát hành vào năm 1994, OS/2 phiên bản 3.0 đã được gọi là OS/2 Warp để làm nổi bật các lợi ích hiệu suất mới và nói chung để làm mới hình ảnh sản phẩm. "Warp" ban đầu là tên IBM nội bộ cho bản phát hành: IBM tuyên bố rằng công ty đã sử dụng từ Warp trong "Star Trek" làm tên nội bộ cho các bản phát hành OS/2 trước đó và cho rằng tên này thích hợp để sử dụng chính thức. Khi trình chiếu OS/2 Warp lần đầu năm 1994, Patrick Stewart được chỉ định làm người dẫn chương trình, nhưng Kate Mulgrew, nữ diễn viên của "" đã được đưa vào thay thế vào phút chót.

OS/2 Warp cung cấp một loạt các lợi ích hơn hẳn OS/2 2.1, đặc biệt là hỗ trợ phần cứng nhiều hơn, khả năng đa phương tiện lớn hơn, mạng tương thích với Internet và nó bao gồm một bộ ứng dụng văn phòng cơ bản được gọi là IBM Works. Nó được phát hành trong hai phiên bản: "Red Spine" rẻ hơn và "Blue Spine" đắt tiền hơn (được đặt tên theo màu sắc của hộp chứa). "Red Spine" được thiết kế để hỗ trợ các ứng dụng Microsoft Windows bằng cách sử dụng bất kỳ cài đặt Windows hiện có nào trên ổ cứng của máy tính. "Blue Spine" bao gồm hỗ trợ Windows trong cài đặt riêng của mình và vì vậy có thể hỗ trợ các ứng dụng Windows mà không cần cài đặt Windows. Vì hầu hết các máy tính đã được bán với Microsoft Windows được cài sẵn và giá thấp hơn, "Red Spine" trở thành sản phẩm phổ biến. OS/2 Warp Connect—có hỗ trợ khách hàng LAN đầy đủ tích hợp — ra đời tiếp theo vào giữa năm 1995. Warp Connect được đặt biệt danh là "Grape".

=== Giảm quy mô ===
Một dự án đã được IBM đưa ra trong nội bộ để đánh giá tình hình cạnh tranh kém cỏi với Microsoft Windows 95. Mối quan tâm chính bao gồm các vấn đề về chất lượng mã chính trong sản phẩm OS/2 hiện có (kết quả là hơn 20 gói dịch vụ sửa lỗi, mỗi gói đòi hỏi nhiều đĩa mềm hơn cài đặt gốc), và việc tổ chức nhóm phát triển không hiệu quả và quản lý chồng chéo ở Boca Raton (nơi các chuyên gia tư vấn đã báo cáo rằng "về cơ bản, mọi người đều báo cáo với tất cả mọi người") và Austin.

Nghiên cứu đó, được phân loại chặt chẽ là "Bảo mật đã đăng ký" và được in hạn chế, xác định các điểm yếu và thất bại không thể khắc phục trong bộ phận Hệ thống Máy tính cá nhân cũng như trên toàn bộ công ty IBM. Điều này dẫn đến quyết định của cấp trên, với việc cắt giảm 95% ngân sách tổng thể cho toàn bộ dòng sản phẩm, kết thúc tất cả các phát triển mới (bao gồm cả hệ điều hành Workplace), loại bỏ phòng thí nghiệm phát triển Boca Raton, chấm dứt mọi hoạt động bán hàng và tiếp thị nỗ lực của sản phẩm, và sa thải hơn 1.300 nhân viên lập trình (cũng như nhân viên bán hàng và hỗ trợ). Với 990 triệu đô la đã được chi tiêu trong năm 1996, Warp 4 trở thành phiên bản được phân phối cuối cùng của OS/2.

=== 2001: Rút lui khỏi thị trường ===
Một cộng đồng nhỏ và tận tâm vẫn trung thành với OS/2 trong nhiều năm sau khi phát hành chính thức cuối cùng, nhưng nhìn chung, OS/2 đã không thành công trong thị trường đại chúng và ít được sử dụng trừ một số lĩnh vực mà IBM đã thống trị. Ví dụ: nhiều thiết bị trong ngân hàng, đặc biệt là máy rút tiền tự động, chạy OS/2 với giao diện người dùng tùy biến; Đường sắt quốc gia Pháp SNCF sử dụng OS/2 1.x trong hàng ngàn máy bán vé. Các công ty viễn thông như Nortel sử dụng OS/2 trong một số hệ thống hộp thư thoại. Ngoài ra, OS/2 được sử dụng cho máy tính chủ được sử dụng để điều khiển thiết bị Hệ thống Hỗ trợ Hoạt động Vệ tinh được cài đặt tại các trạm thành viên NPR từ năm 1994 đến năm 2007 và được sử dụng để nhận mã chương trình của mạng qua vệ tinh.