Tổng quan về giáo trình (250-300 từ)

Giáo trình Hệ điều hành do Khoa Công nghệ Thông tin – Trường Đại học Phan Thiết biên soạn và lưu hành nội bộ là tài liệu học thuật thuộc khối kiến thức cơ sở ngành bắt buộc trong chương trình đào tạo Cử nhân và Kỹ sư Công nghệ Thông tin. Học phần có vị trí cầu nối quan trọng giữa khối kiến thức phần cứng máy tính và khối kiến thức phát triển phần mềm ứng dụng, đòi hỏi sinh viên phải hoàn thành học phần tiên quyết là Kiến trúc máy tính.

Mục tiêu học tập của giáo trình nhằm trang bị cho người học hệ thống lý thuyết về cấu trúc, chức năng và cơ chế hoạt động của hệ điều hành với tư cách là bộ quản lý tài nguyên (CPU, bộ nhớ, thiết bị nhập/xuất, tập tin) và bộ điều khiển môi trường thực thi chương trình. Kết thúc học phần, người học có khả năng phân tích các mô hình xử lý đồng hành, cơ chế chuyển đổi ngữ cảnh, thuật toán điều phối CPU, kỹ thuật phân phối bộ nhớ thực và ảo, cũng như kiến trúc an toàn - bảo vệ dữ liệu.

Cấu trúc giáo trình được xây dựng theo cách tiếp cận phân tầng từ tổng quan hệ thống đến chi tiết từng phân hệ chức năng. Nội dung mở đầu bằng lịch sử phát triển và cấu trúc hệ thống, đi sâu vào từng module quản lý tài nguyên cốt lõi, và kết thúc bằng hai nghiên cứu thực tế về hệ điều hành Windows NT và Linux. Điểm đặc thù của tài liệu là phương pháp trình bày gắn liền các mô hình giải thuật toán học với cơ chế phần cứng cụ thể (như bộ chuyển đổi địa chỉ MMU, thanh ghi trạng thái, chỉ thị ngắt và chỉ thị nguyên tử TSL).


Nội dung kiến thức cốt lõi (500-600 từ)

Các chương/chủ đề chính

Nội dung giáo trình được tổ chức thành một chuỗi logic chặt chẽ, bao quát toàn bộ các phân hệ chức năng của một hệ điều hành hiện đại:

  • Tổng quan và Cấu trúc Hệ điều hành: Khái niệm hệ điều hành; phân loại các hệ thống (xử lý theo lô, theo lô đa chương, chia sẻ thời gian, song song đối xứng/bất đối xứng, phân tán, xử lý thời gian thực cứng và mềm); các dịch vụ và cơ chế lời gọi hệ thống (system call); cấu trúc hệ thống từ đơn giản (MS-DOS, UNIX thời kỳ đầu), cấu trúc phân lớp (mô hình THE, OS/2), máy ảo (IBM) đến mô hình Client-Server; lịch sử 4 thế hệ máy tính gắn liền với các mốc công nghệ (Howard Aiken, John von Neumann, vi mạch IC IBM 360, máy mini PDP-1).
  • Mô hình Xử lý Đồng hành và Quản lý Tiến trình: Khái niệm tiến trình (process) và tiểu trình (thread, multithreading); phân biệt Kernel thread, User thread và tiến trình nhẹ (LWP); vòng đời 5 trạng thái của tiến trình (New, Running, Blocked, Ready, Terminated); cấu trúc khối quản lý tiến trình (Process Control Block - PCB); chế độ xử lý đặc quyền và không đặc quyền (kernel/user mode); các giải thuật điều phối CPU (FIFO, Round Robin, Priority, Shortest-Job-First - SJF) theo nguyên lý độc quyền (non-preemptive) và không độc quyền (preemptive).
  • Đồng bộ hóa Tiến trình và Tắc nghẽn (Deadlock): Cơ chế liên lạc tiến trình (Shared Memory, Message Passing); vấn đề tranh đoạt điều khiển (race condition) và yêu cầu độc quyền truy xuất (mutual exclusion); các giải pháp phần mềm (kiểm tra luân phiên, Peterson) và phần cứng (chỉ thị Test-and-Set - TSL, Sleep/Wakeup, Semaphores); các bài toán kinh điển (Producer-Consumer, Readers-Writers); 4 điều kiện sinh tắc nghẽn, đồ thị cấp phát tài nguyên cùng các phương pháp ngăn chặn, tránh, phát hiện và hiệu chỉnh tắc nghẽn.
  • Quản lý Bộ nhớ Chính và Bộ nhớ Ảo: Mô hình Linker-Loader, Base & Bound, phân mảnh ngoại vi; kỹ thuật phân đoạn (Segmentation), phân trang (Paging) và phân đoạn kết hợp phân trang qua cơ chế phần cứng MMU; cơ chế bộ nhớ ảo (Demand Paging), xử lý lỗi trang và các thuật toán thay thế trang (FIFO, Tối ưu, LRU, xấp xỉ LRU gồm bit reference, Second Chance, Not Recently Used - NRU); hiện tượng trì trệ hệ thống (Thrashing) và mô hình Working Set.
  • Hệ thống Tập tin và Nhập/Xuất: Tổ chức thư mục, bảng phân phối vùng nhớ (Index, FAT), quản lý khối hỏng và tính nhất quán dữ liệu; khảo sát kiến trúc NTFS và hệ thống tập tin UNIX; cấu trúc phần mềm I/O phân lớp (ngắt, Device Drivers, I/O độc lập thiết bị, I/O mức người dùng); các thuật toán lập lịch đọc đĩa và hệ thống I/O chuẩn (terminals, đồng hồ cứng/mềm).
  • Bảo vệ Hệ thống và Nghiên cứu Điển hình: Miền bảo vệ (Domain of Protection), Ma trận quyền truy xuất (Access Matrix), Danh sách kiểm soát quyền (ACL), Danh sách tiềm năng (C-List); phân tích kiến trúc hệ điều hành Windows NT và cấu trúc hệ thống tập tin EXT2 trên Linux.

Progression logic dẫn dắt người học từ việc hiểu cách CPU chuyển đổi giữa các dòng lệnh đơn lẻ sang quản lý tiến trình đồng thời, phối hợp không gian nhớ, truy xuất dữ liệu lưu trữ ngoài và thiết lập ranh giới an toàn cho hệ thống.

Kiến thức nền tảng được xây dựng

  • Fundamental theories: Lý thuyết về hệ thống chia sẻ thời gian (Time-sharing), đa chương (Multiprogramming), đa xử lý (Multiprocessing) và lý thuyết tương tranh trong tính toán song song.
  • Core principles: Nguyên lý loại trừ tương hỗ, nguyên lý cục bộ của tham chiếu (Locality of Reference) trong bộ nhớ ảo, cơ chế phân định đặc quyền hệ thống để bảo vệ phần cứng.
  • Essential frameworks: Khung cấu trúc dữ liệu điều khiển hệ thống (PCB, bảng trang Page Table, bảng đoạn Segment Table, bảng mô tả tập tin Inode/MFT), khung quản lý an toàn dựa trên Ma trận truy xuất.

Kỹ năng phát triển

  • Technical skills: Phân tích quy trình thực thi lời gọi hệ thống, tính toán chuyển đổi địa chỉ logic sang địa chỉ vật lý qua bảng phân trang/phân đoạn, sử dụng biến Semaphore để thiết lập đồng bộ tiến trình.
  • Analytical skills: Đánh giá định lượng hiệu suất CPU thông qua các chỉ số thời gian chờ (waiting time), thời gian lưu lại (turnaround time), thông lượng (throughput); phân tích đồ thị cấp phát tài nguyên để phát hiện chu trình bế tắc.
  • Practical competencies: Khảo sát cấu trúc phân vùng đĩa, phân tích cơ chế hoạt động của trình điều khiển thiết bị (Device Driver) và cấu trúc hệ thống tệp tin EXT2/NTFS trong môi trường thực tế.

Phương pháp giảng dạy và học tập (300-350 từ)

Giáo trình áp dụng phương pháp sư phạm diễn dịch kết hợp mô hình hóa kỹ thuật. Mỗi chủ đề đều khởi đầu bằng việc phân tích nhu cầu nảy sinh từ giới hạn phần cứng (như sự chênh lệch tốc độ giữa CPU và thiết bị I/O dẫn đến kỹ thuật Spooling và đa chương), sau đó khái quát hóa thành các mô hình lý thuyết và chi tiết hóa bằng các giải thuật điều khiển.

Nội dung lý thuyết được tích hợp trực tiếp với các bài toán kinh điển và tình huống kỹ thuật thực tế:

  • Bài tập và Case Studies: Phân tích các bài toán phối hợp hoạt động đa tiến trình (Producer-Consumer, Readers-Writers), bài toán tính toán song song biểu thức số học $kq = ab + cd$, và tình huống khóa chết trong phân phối tài nguyên.
  • Thực hành giải thuật: Sinh viên rèn luyện kỹ năng mô phỏng thuật toán điều phối CPU (vẽ biểu đồ Gantt cho FIFO, Round Robin, SJF), mô phỏng chuỗi truy xuất trang bộ nhớ để so sánh tỷ lệ lỗi trang giữa LRU, FIFO và NRU.
  • Phương pháp đánh giá: Hệ thống câu hỏi củng cố và bài tập tự giải cuối mỗi chương được thiết kế đa dạng, kết hợp giữa câu hỏi trắc nghiệm định nghĩa (về cấu trúc MS-DOS, thành phần nhân UNIX, các trạng thái tiến trình) và câu hỏi tự luận phân tích sâu (so sánh ưu nhược điểm của các kiến trúc hệ thống, đánh giá chi phí chuyển đổi ngữ cảnh).
  • Hướng dẫn tự học: Sinh viên cần đọc tuần tự từng chương theo đúng đề cương, vẽ lại các sơ đồ chuyển trạng thái của tiến trình, bảng ánh xạ địa chỉ MMU và giải các bài tập tình huống trước khi đối chiếu với các mô hình hệ điều hành thực tế như Windows NT hay Linux.

Điểm nổi bật và cập nhật (250-300 từ)

Giáo trình thể hiện tính hệ thống thông qua việc xâu chuỗi tiến trình phát triển của ngành khoa học máy tính qua 4 thế hệ công nghệ rõ rệt: từ giai đoạn máy tính dùng ống chân không (1945–1955) với việc lập trình trên bảng điều khiển và phiếu đục lỗ; giai đoạn bán dẫn (1955–1965) với hệ thống xử lý theo lô trên băng từ và ngôn ngữ FORTRAN; giai đoạn mạch tích hợp IC (1965–1980) với sự ra đời của IBM 360, cơ chế đa chương, hệ thống chia sẻ thời gian CTSS, MULTICS, DEC PDP-1; đến giai đoạn máy tính cá nhân (1980 đến nay) với MS-DOS, Windows, UNIX và Linux.

Về mặt công nghệ hiện đại, giáo trình tích hợp các xu hướng kiến trúc hệ thống quan trọng:

  • Mô hình kiến trúc Client-Server và Máy ảo: Phân tích xu hướng tinh giản mã nguồn trong nhân (kernel), chuyển các dịch vụ hệ thống sang tiến trình người dùng (user mode) để tăng độ ổn định.
  • Xử lý đa tiểu trình: Làm rõ sự phân tách giữa Kernel-level thread và User-level thread, cùng cơ chế liên kết qua tiến trình nhẹ LWP.
  • Ứng dụng thực tế: Phân tích chi tiết kiến trúc hai hệ điều hành phổ biến trong công nghiệp là Windows NT (với cấu trúc hệ thống tập tin NTFS, hỗ trợ tên tập tin dài LFN, bộ quản lý IFS, TSD) và Linux (với cấu trúc hệ thống tập tin mở rộng thế hệ 2 - EXT2 và cơ chế phân phối bộ nhớ).

Đối tượng sử dụng giáo trình (200-250 từ)

  • Sinh viên chuyên ngành: Giáo trình được thiết kế chuyên biệt cho sinh viên đại học từ năm thứ hai trở đi thuộc các ngành: Công nghệ Thông tin, Kỹ thuật Phần mềm, Khoa học Máy tính, Hệ thống Thông tin và Mạng máy tính.
  • Kiến thức tiên quyết (Prerequisites): Người học bắt buộc phải có kiến thức nền tảng về Kiến trúc máy tính (cấu tạo CPU, bộ nhớ, thanh ghi, cơ chế ngắt), đồng thời nắm vững kỹ thuật lập trình cơ bản và cấu trúc dữ liệu để hiểu các giải thuật điều phối, danh sách liên kết và con trỏ ngăn xếp.
  • Giảng viên: Tài liệu cung cấp khung chuẩn kiến thức và mục tiêu bài học cho từng chương, làm căn cứ xây dựng đề cương chi tiết, bài giảng điện tử và ngân hàng câu hỏi kiểm tra đánh giá hết môn.
  • Tự học và Tham khảo: Phục vụ kỹ sư phần mềm, quản trị viên hệ thống cần tra cứu các nguyên lý vận hành cấp thấp, cơ chế đồng bộ hóa luồng dữ liệu, quản lý bộ nhớ đệm và cấu trúc tệp tin hệ thống.

Câu hỏi thường gặp (250-300 từ)

1. Giáo trình này phù hợp với ai? Tài liệu được biên soạn phục vụ sinh viên khối ngành Công nghệ Thông tin trình độ đại học tại Trường Đại học Phan Thiết và người học ngành kỹ thuật máy tính cần nắm vững nguyên lý hoạt động của phần mềm hệ thống.

2. Cần kiến thức nền nào để học tốt giáo trình? Người học cần hoàn thành học phần Kiến trúc máy tính, hiểu rõ chức năng của CPU, thanh ghi, cơ chế ngắt, cấu trúc bộ nhớ và có kỹ năng lập trình cơ bản với các cấu trúc dữ liệu mảng, con trỏ, danh sách liên kết.

3. Điểm khác biệt của giáo trình này là gì? Giáo trình kết hợp chặt chẽ giữa việc mô hình hóa các giải thuật lý thuyết (Peterson, Semaphore, Banker, LRU) với cơ chế hỗ trợ của phần cứng (MMU, TSL), đồng thời phân tích cụ thể cấu trúc bên trong của Windows NT và Linux EXT2.

4. Làm sao để tự học giáo trình hiệu quả? Sinh viên nên đọc kỹ phần giải thích nguyên lý ở từng chương, thực hiện lại các bước chuyển đổi trạng thái tiến trình, vẽ sơ đồ phân trang/phân đoạn bộ nhớ và giải toàn bộ các câu hỏi trắc nghiệm, bài tập tự giải ở cuối mỗi bài.

5. Có tài liệu bổ trợ nào đi kèm? Giáo trình tích hợp sẵn phần tóm tắt lý thuyết, hệ thống câu hỏi củng cố bài học và bài tập tự giải ở từng chương, đồng thời định hướng nghiên cứu sâu hơn về kiến trúc mã nguồn Linux và tài liệu kỹ thuật Windows NT.


Kết luận (150 từ)

Giáo trình Hệ điều hành của Khoa Công nghệ Thông tin – Trường Đại học Phan Thiết là tài liệu học thuật mang tính chuẩn mực, hệ thống hóa toàn bộ các nguyên lý thiết kế và vận hành của hệ thống máy tính hiện đại. Tài liệu cung cấp lộ trình học tập chặt chẽ: bắt đầu từ việc định hình cấu trúc hệ thống, phân tích các cơ chế tương tranh, tiến trình và đồng bộ hóa, giải quyết bài toán quản lý bộ nhớ và hệ thống tập tin, đến việc thiết lập cơ chế bảo vệ an toàn. Để đạt hiệu quả cao nhất, người học nên kết hợp nghiên cứu lý thuyết trong giáo trình với việc phân tích mã nguồn mở của nhân Linux và tài liệu kiến trúc Windows NT được giới thiệu trong các chương chuyên đề.