Máy tính điện tử ra đời vào những năm 40 của thế kỷ XX. Ban đầu, phạm vi sử dụng máy tính còn rất hạn hẹp, đa phần chỉ nhằm phục vụ mục đích nghiên cứu khoa học. Hơn nữa, để vận hành hệ thống cần phải sử dụng các công cụ phần cứng đặc biệt và thao tác vận hành rất phức tạp.
Cùng phát triển song song với sự phát triển của kỹ thuật điện tử, các thế hệ máy tính về sau được cải tiến ngày một tinh vi hơn, có tốc độ xử lý nhanh hơn, kích thước nhỏ gọn hơn, tiêu tốn ít năng lượng hơn và đã làm nên một cuộc cách mạng trong lĩnh vực xử lý, tính toán, điều khiển tự động... Với các thế hệ máy tính này đòi hỏi phải có sự điều khiển, vận hành một cách tự động để phát huy hiệu quả của nó một cách tối ưu nhất. Như vậy, cần phải có một chương trình phần mềm đảm bảo việc giải quyết các vấn đề nói trên. Đó chính là các hệ điều hành máy tính.
Hệ điều hành là một tập hợp các phần mềm hệ thống điều khiển mọi hoạt động của máy tính và tạo môi trường giao diện giữa người sử dụng và máy tính. Vì vậy, hệ điều hành rất quen thuộc với mọi người sử dụng, tất cả mọi người sử dụng khi làm việc với máy tính cần phải biết thao tác (dù là những thao tác đơn giản) với một hệ điều hành cụ thể.
Hiểu biết, nắm vững nguyên lý hoạt động của hệ điều hành để từ đó có thể khai thác các hệ điều hành cụ thể một cách có hiệu quả là một nhu cầu thực tế không thể thiếu được đối với các cán bộ phụ trách kỹ thuật và quản lý các hệ thống máy tính.
Nội dung cuốn giáo trình “Nguyên lý hệ điều hành” gồm các kiến thức về phần mềm hệ thống. Nó cung cấp cho người học những kiến thức chung nhất về hệ điều hành máy tính, giúp người học nắm bắt được những nguyên lý cơ bản và nguyên tắc làm việc của một hệ điều hành máy tính tổng quát, từ đó áp dụng để làm việc tốt với các hệ điều hành cụ thể trên thực tế, hiểu và xử lý được các vấn đề có thể xảy ra trong hệ thống. Đồng thời nắm bắt được xu hướng phát triển của các hệ điều hành mới trong tương lai.
Các vấn đề cụ thể trình bày trong giáo trình này được chia thành 9 chương:
Chương 1. Tổng quan về hệ điều hành: Cung cấp các kiến thức tổng quát về hệ điều hành, quá trình phát triển và phân loại hệ điều hành; các tính chất cơ bản của hệ điều hành và nguyên tắc thiết kế, xây dựng hệ điều hành. Trong chương này cũng trình bày về cấu trúc, các thành phần cơ bản và các phục vụ của hệ điều hành.
Chương 2. Quản lý tiến trình: Trong hệ thống luôn tồn tại các tiến trình hoạt động song song mà trạng thái của chúng ảnh hưởng lẫn nhau và ảnh hưởng tới hoạt động của toàn hệ thống. Mục tiêu của chương này nhằm giới thiệu biện pháp quản lý các tiến trình song hành với nội dung chính là giải quyết bài toán tranh chấp tài nguyên giữa các tiến trình - Bài toán đoạn tới hạn.
Trong chương này cũng đề cập tới hiện tượng bế tắc. Đó là tình trạng các tiến trình trong hệ thống rơi vào trạng thái chờ đợi vô hạn dẫn tới làm “treo” hệ thống
Chương 3. Lập lịch cho CPU: CPU là tài nguyên quan trọng nhất của hệ thống, nó thể hiện sức mạnh xử lý của toàn bộ hệ thống. Do vậy, thời gian mà CPU phục vụ cho các tiến trình hoạt động cần phải được khai thác một cách tối ưu nhất. Chương 3 nêu rõ tầm quan trọng của “giờ CPU" và trình bày các phương pháp, các thuật toán lập lịch cho CPU của hệ điều hành nhằm đáp ứng yêu cầu được phục vụ của các tiến trình. Đồng thời, trong chương này cũng giới thiệu về ngắt - một công cụ để CPU có thể điều khiển hoạt động của các tiến trình một cách chính xác.
Chương 4. Quản lý bộ nhớ trong: Nhiệm vụ của hệ điều hành là phải cấp phát không gian nhớ cho các chương trình hoạt động và thu hồi khi chương trình kết thúc. Chương này giải thích quá trình gán địa chỉ (cấp phát không gian nhớ) cho các biến khi thực hiện một chương trình, các cấu trúc cơ bản của chương trình phần mềm và các phương pháp cấp phát bộ nhớ của hệ điều hành.
Chương 5. Quản lý bộ nhớ ngoài: Bộ nhớ ngoài là thiết bị dùng để lưu trữ thông tin trước và sau quá trình xử lý, tính toán. Trong chương này trình bày các biện pháp quản lý và cấp phát không gian nhớ tự do trên đĩa từ, các thuật toán lập lịch cho đĩa từ và nguyên tắc quản lý thông tin trên bộ nhớ phụ - Hệ File.
Chương 6. Quản lý thiết bị: Ngoài các thiết bị chuẩn mang tính chất bắt buộc, các hệ thống máy tính cần phải có khả năng kết nối với một số lượng tùy ý các thiết bị mở rộng. Trong chương này trình bày nguyên tắc tổ chức và quản lý thiết bị ngoại vi của hệ điều hành, đồng thời đề cập tới một số kỹ thuật áp dụng trong quản lý thiết bị ngoại vi.
Chương 7. Bảo vệ và an toàn hệ thống: Bảo vệ hệ thống tránh khỏi sự can thiệp bất hợp pháp từ bên ngoài cũng như các nguyên nhân tiềm ẩn bên trong là một vấn đề cực kỳ phức tạp. Chương này nêu rõ mục đích của việc bảo vệ hệ thống, đồng thời trình bày một số biện pháp bảo vệ và an toàn hệ thống.
Chương 8. Hệ điều hành đa xử lý: Có hai phương pháp để tổ chức các hệ thống đa xử lý đó là hệ nhiều CPU (tập hợp các CPU trong một máy tính duy nhất) và hệ phân tán (thực chất là các mạng máy tính). Chương này trình bày mục đích và cấu trúc của hệ nhiều CPU và hệ phân tán. Đồng thời nêu sơ lược một số vấn đề về quản lý tài nguyên, truyền thông tin, xử lý và truy nhập thông tin trong các hệ thống này.
Chương 9. Hệ điều hành DOS: Chương này trình bày một số vấn đề về hệ điều hành DOS - hệ điều hành đã đặt một mốc rất quan trọng trong quá trình phát triển của máy tính và các hệ điều hành. Nó được sử dụng trong một thời gian tương đối dài cho các máy tính PC và là một hệ điều hành cơ bản nhất. Các vấn đề trình bày mang tính áp dụng thực tế của các kiến thức đã học trong các chương trước như: quản lý tiến trình, quản lý bộ nhớ, quản lý đĩa từ, quản lý thiết bị, v.v.
Cuối cùng, cần xác định nội dung của giáo trình này về cơ bản là định hướng tới hệ điều hành truyền thống. Một số nét sơ bộ về các hệ điều hành đa xử lý được trình bày chỉ nhằm mục đích định hướng cho người học tìm hiểu thêm các tài liệu bổ sung, nhằm hoàn thiện kiến thức chung về hệ điều hành.