Không có sự phân biệt rõ ràng giữa phần mềm ứng dụng và hệ điều hành. Tuy nhiên, đôi khi vấn đề này cũng được tranh cãi. Thí dụ trường hợp Bộ Tư pháp Mỹ và Microsoft tranh cãi Internet Explorer có phải là một phần của Windows không. | Để kết thúc chương trình COM và trả quyền điều khiển về cho DOS tồn tại các khả năng - Gọi hàm OOh của ngất 21h. - Gọi ngắt 20h. - Gọi hàm 40h của ngắt 21h. Một số nhược điểm của chương trình COM - Khi gọi một chương trình COM DOS dành toàn bộ nhớ cho chương trình do đó nếu một chương trình COM là thường trú thì DOS không thể nạp tiếp chương trình khác. - Chương trình COM trong chương trình thực hiện không the gọi một chương trình khác thông qua hàm EXEC. Để giải quyết hai nhược điểm này cần phải giải phóng vùng nhớ mà chương trình không dùng tới. . Chương trình EXE So với chương trình COM chương trình EXE không bị hạn chế trong đoạn 64Kb dành cho cả mã dữ liệu và ngăn xếp. Cái giá phải trả cho ưu điểm này là các file EXE phức tạp lên do sự xuất hiện trong file một loạt thông tin không phải là của chương trình. Đối với các thếhệ sau cùng của DOS các chương trình EXE còn thể hiện một ưu điểm nữa là dể thích ứng với các đổi mới của DOS ví dụ như khả năng làm việc đa nhiệm. Chương trình EXE chứa các đoạn phân biệt cho mã số liệu và ngăn xếp. Các đoạn này được sắp xếp theo một thứ tự bất kỳ. Khác với chương trình COM chương trình EXE không thể nạp trực tiếp từ bộ nhớ ngoài vào bộ nhớ trong để thực hiện ngay lâp tức mà trước khi thực hiện nó cần được sự chuẩn bị bởi một chương trình con trong hàm EXEC của DOS. Sự chuẩn bị này là cần thiết để giải quyết một số vấn đề đã được đề cập tới khi mô tả chương trình COM. Chương trình EXE không cần nạp vào một vị trí xác định trước mà có thể nạp vào một vị trí bất kỳ trong bộ nhó là bội nguyên của 16 . Vì chương trình EXE có thể chứa nhiều đoạn nên việc sử dụng lệnh FAR ngôn ngữ máy là cần thiết nếu chương trình muốn từ một đoạn gọi một chương trình con ở đoạn khác. Một lệnh FAR không những phải chỉ ra địa chi offset của đoạn mà còn phải chỉ ra địa chỉ của cả đoạn. Do vậy từ đây nảy sinh ra vâh đề là địa chỉ đoạn này có thể thay đổi trong mỗi lần gọi thực hiện chương trình. Trong chương trình COM vấn đề này được giải quyết một