Môn "Hệ điều hành" cung cấp nền tảng quan trọng để hiểu cách các phần mềm và phần cứng máy tính tương tác với nhau. Sinh viên sẽ được học về kiến trúc hệ điều hành, cơ chế quản lý tiến trình, bộ nhớ, hệ thống tập tin, thiết bị nhập/xuất và an toàn hệ thống. Ngoài phần lý thuyết, môn học còn chú trọng vào thực hành mô phỏng và cài đặt các chức năng cơ bản của hệ điều hành.
Chú thích: Môn học là cơ sở bắt buộc để phát triển phần mềm hệ thống, làm việc với hệ điều hành Linux/Windows, và nghiên cứu chuyên sâu về ảo hóa, bảo mật và tối ưu hệ thống.
Hiểu rõ vai trò, chức năng và cấu trúc của hệ điều hành.
Vận dụng kiến thức để mô tả, phân tích và thiết kế các thành phần hệ điều hành.
Làm việc với quy trình quản lý tiến trình, bộ nhớ, tệp tin và thiết bị.
Làm quen với thực hành lập trình các thành phần nhỏ như lập lịch, quản lý bộ nhớ, semaphore, v.v.
Chú thích: Môn học nhấn mạnh khả năng tư duy hệ thống, giải quyết vấn đề kỹ thuật và lập trình mô phỏng các thành phần hệ điều hành.
Cấu trúc máy tính.
Lập trình căn bản (C hoặc Python).
Kiến thức cơ bản về tổ chức dữ liệu.
| Tuần | Nội dung học tập | Mục tiêu cụ thể / Ghi chú |
|---|---|---|
| Tuần 1 | Giới thiệu hệ điều hành – Lịch sử phát triển – Các chức năng cơ bản | Hiểu tổng quan về vai trò của hệ điều hành, các mô hình hệ điều hành hiện nay. |
| Tuần 2 | Kiến trúc hệ điều hành – Kernel mode vs User mode – System calls | Tìm hiểu cách hệ điều hành tổ chức và giao tiếp với phần cứng và phần mềm. |
| Tuần 3 | Quản lý tiến trình: Khái niệm tiến trình, luồng, trạng thái tiến trình | Làm quen với Process Control Block (PCB), lifecycle, chuyển trạng thái tiến trình. |
| Tuần 4 | Lập lịch tiến trình – Thuật toán FCFS, SJF, RR, Priority | Cài đặt mô phỏng thuật toán lập lịch; đánh giá hiệu năng các phương pháp khác nhau. |
| Tuần 5 | Đồng bộ hóa tiến trình – Vấn đề tranh chấp – Semaphore và Mutex | Áp dụng semaphore trong giải quyết bài toán kinh điển: Producer-Consumer, Readers-Writers. |
| Tuần 6 | Deadlock – Điều kiện, phát hiện và giải quyết | Hiểu cách hệ điều hành xử lý bế tắc, mô phỏng giải pháp phát hiện và phục hồi. |
| Tuần 7 | Quản lý bộ nhớ – Phân đoạn, phân trang – Paging và Segmentation | Tìm hiểu địa chỉ logic, vật lý – cấu trúc bảng trang và cách ánh xạ địa chỉ. |
| Tuần 8 | Bộ nhớ ảo – Demand paging – Thuật toán thay trang (LRU, FIFO, Optimal...) | Hiểu khái niệm và cài đặt mô phỏng bộ nhớ ảo. |
| Tuần 9 | Quản lý tệp tin – Cấu trúc tệp tin, thư mục – Hệ thống tệp | Cách hệ điều hành tổ chức lưu trữ tệp, thư mục – quyền truy cập và bảo mật tệp tin. |
| Tuần 10 | Quản lý thiết bị nhập/xuất – Bộ đệm, hàng đợi – Cơ chế điều khiển thiết bị | Phân biệt các loại thiết bị, cơ chế polling vs interrupt, điều khiển trình điều khiển thiết bị. |
| Tuần 11 | Hệ thống tệp nâng cao – FAT, NTFS, ext4 | So sánh các định dạng hệ thống tệp thông dụng. |
| Tuần 12 | Bảo mật và bảo vệ hệ thống – Authentication, Access control, Virus | Kiểm soát truy cập và bảo mật cấp hệ điều hành – Phân quyền người dùng. |
| Tuần 13 | Ôn tập – Mô phỏng một số thành phần hệ điều hành nhỏ | Sinh viên áp dụng kiến thức để mô phỏng phần lập lịch hoặc bộ nhớ đơn giản bằng C/Python. |
| Tuần 14 | Thuyết trình / báo cáo thực hành mô phỏng nhóm | Các nhóm trình bày mô phỏng của mình về bộ lập lịch, quản lý bộ nhớ hoặc quản lý tệp tin. |
| Tuần 15 | Kiểm tra cuối kỳ – Tổng kết | Kiểm tra lý thuyết và thực hành mô phỏng – đánh giá toàn diện kiến thức và kỹ năng. |
Gợi ý thực hành bổ sung:
Linux Lab: Làm quen với shell, system calls, process/thread (qua fork, exec...).
Mô phỏng bằng Python hoặc C: Lập trình nhỏ để hiểu rõ từng cơ chế như lập lịch tiến trình hoặc quản lý trang bộ nhớ.
Bạn có muốn mình xây dựng thêm tài liệu hỗ trợ cho các tuần thực hành như bài tập mô phỏng, project nhỏ hay câu hỏi ôn tập không?