You are on page 1of 16

Danh mục đề tài Đồ án môn học Hệ điều hành

1.1. Chủ đề 1: Mô phỏng

1.1.1. Đề tài số 1: Mô phỏng thuật toán nhà băng của Dijsktra để


tránh Deadlock

Yêu cầu:

1. Giới thiệu Deadlock

2. Trình bày thuật toán Banker

3. Xây dựng chương trình và kết quả demo

4. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

5. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng
dẫn và báo cáo tiến độ đúng thời gian

6. Ngôn ngữ dùng để viết chương trình C,C++, Visual C++

7. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Nguyễn Phú Cường, Giáo trình hệ điều hành, Đại học Cần Thơ

[2] Trần Hạnh Nhi, Giáo trình hệ điều hành nâng cao, Đại học Quốc Gia
Hồ Chí Minh

[3] Giáo trình hệ điều hành, chương 6: Deadlock

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 1
Danh mục đề tài Đồ án môn học Hệ điều hành

[4] www.mediaafire

[5] An Introduction To Operating System, H.M. Deitel


[6] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall
2nd.

1.1.2. Đề tài số 2: Xây dựng chƣơng trình mô phỏng các giải thuật
lập lịch cho CPU

Yêu cầu:

1. Trình bày các giải thuật FIFO, SJF, RR, Độ ưu tiên.

2. Xây dựng chương trình với các giải thuật trên và kết quả demo

3. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

4. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

5. Ngôn ngữ dùng để viết chương trình C, C++, Visual C++

6. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Vũ Lê Hùng, Giáo trình nguyên lý hệ điều hành, Đại học Bách Khoa
Hồ Chí Minh

[2] Nguyễn Phú Cường, Giáo trình hệ điều hành, Đại học Cần Thơ

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 2
Danh mục đề tài Đồ án môn học Hệ điều hành

[3] Trần Hạnh Nhi, Giáo trình hệ điều hành nâng cao, Đại học Quốc Gia
Hồ Chí Minh

[4] Lê Trung Dũng, Giáo trình hệ điều hành, Nhà xuất bản giáo dục

[5] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

1.2. Chủ đề 2: Đồng bộ giữa các tiến trình

1.2.1. Đề tài số 3: Bài toán năm triết gia ăn tối

Yêu cầu:

1. Mô tả bài toán

2. Giới thiệu tài nguyên găng và đoạn găng

3. Giải pháp Semaphore.

4. Viết chương trình giải quyết bài toán 5 triết gia ăn tối. Chương trình

phải tạo ra 5 tiến trình con mô phỏng hoạt động của 5 triết gia. Dùng
semaphore để đồng bộ hoạt động của 5 triết gia này.

5. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

6. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

7. Ngôn ngữ dùng để viết chương trình C, C++, Visual C++, Java

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 3
Danh mục đề tài Đồ án môn học Hệ điều hành

8. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1]Đặng Vũ Tùng, Giáo trình nguyên lý hệ điều hành, NXB Hà Nôi,


2005.

[2] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[3] Internet

1.2.2. Đề tài số 4: Xây dựng chƣơng trình producer-consumer với


bounded buffer.

Yêu cầu:

1. Giới thiệu tiến trình trong Linux, cách tạo tiến trình trong Linux

2. Giới thiệu sơ lược về Semaphore, giao tiếp đồng bộ với Semaphore

3. Các hàm xử lý Semaphore

4. Tạo tiến trình Producer, Consumer

5. Sử dụng semaphore để truy xuất tài nguyên

6. Xây dựng chương trình và kết quả demo

7. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 4
Danh mục đề tài Đồ án môn học Hệ điều hành

8. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

9. Ngôn ngữ dùng để viết chương trình C trên Linux, Ubuntu.

10. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Nguyễn Hải Châu, Nguyên lý hệ điều hành, Đại học Công Nghệ

[2] Nguyễn Phú Trường, Giáo trình hệ điều hành, Đại học Cần Thơ

[3]Trần Hạnh Nhi, Giáo trình hệ điều hành nâng cao, Đại học Khoa học
tự nhiên Hồ Chí Minh.

[4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[5] Internet

1.3. Chủ đề 3: Hệ thống File

1.3.1. Đề tài số 5: Xây dựng chƣơng trình đọc thông tin đĩa cứng với
định dạng NTFS và FAT32

Yêu cầu:

1. Giới thiệu hệ thống FAT32, cấu trúc FAT32, partion Boot Sector,
directory table

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 5
Danh mục đề tài Đồ án môn học Hệ điều hành

2. Giới thiệu hệ thống NTFS, Cấu trúc phân vùng NTFS, Master File
Table

3. So sánh hệ thống FAT32 và NTFS

4. Xây dựng chương trình thực hiện các chức năng sau: Đưa ra màn
hình Ổ đĩa, tên ổ đĩa, số serial, trạng thái, định dạng, dung lượng, còn
trống, số byte /sector, số sector/cluster

5.Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

6. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

7. Ngôn ngữ dùng để viết chương trình Visual C++

8. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Lê Ngọc Thạnh, Lập trình windows với MFC Visual C++6.0, NXB
thống kê, 2002

[2] Nguyễn Chánh Thành, Lập trình windows với VC/MFC, 2006

[3] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[4] http://www.ntfs.com

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 6
Danh mục đề tài Đồ án môn học Hệ điều hành

1.3.2. Đề tài số 6: Tìm hiểu hệ thống File trong các hệ điều hành
hiện đại.

Yêu cầu: Tìm hiểu:

1. File System Layout


2. Implementing Files
3. Implementing Directories
4. Shared Files
5. Disk Space Management
6. File System Reliability
7. File System Performance
8. Log-Structured File Systems
9. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông
10.Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

11.Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall


2nd.

[2] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[3] http://www.ntfs.com

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 7
Danh mục đề tài Đồ án môn học Hệ điều hành

1.4. Chủ đề 4: Giao tiếp giữa các tiến trình

1.4.1. Đề tài số 7: Tìm hiểu cơ chế giao tiếp giữa hai tiến trình dùng
hàng đợi thông điệp (Message Queue).

Yêu cầu

1. Giới thiệu tiến trình trong Linux

2. Các trạng thái của tiến trình, cách xử lý các tiến trình bằng hàm
System(), giao tiếp giữa các tiến trình bằng hàng đợi thông điệp

3. Xây dựng chương trình minh họa để giải quyết bài toán sau:

a. Tạo ra 2 tiến trình. Tiến trình thứ nhất đọc file nhiều chuỗi liên
tiếp, mỗi chuỗi gồm các phép toán +,và hai toán hạng. Ví dụ

3-1

4*2

5+4

20/5

Sau đó tiến trình thứ nhất truyền các chuỗi dữ liệu này sang tiến
trình thứ 2. Tiến trình thứ 2 thực hiện tính toán và trả chuỗi kết
quả về lại cho tiến trình đầu tiên để ghi lại file như sau:

3-1=2

4*2=8

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 8
Danh mục đề tài Đồ án môn học Hệ điều hành

5+4=9

20/5=4

4. Dùng hàm fork() để tạo 2 tiến trình.

5. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

6. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

7. Ngôn ngữ dùng để viết chương trình C trên Linux hoặc ubuntu

8. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ..

Tài liệu tham khảo

[1] Phạm Quang Dũng, Bộ môn Khoa học máy tính, Giáo trình Linux,
Đại học Quốc gia Hà nội

[2] Nguyễn Phương Lan, Hoàng Đức Hải, lập trình Linux-Tập 1, NXB
Giáo dục

[3] Đỗ Duy Việt-Nguyễn Hoàng Thanh Ly, Linux kernel

[4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[5] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall


2nd.

[6] http://www.cprogramming.com/tutorial.html

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 9
Danh mục đề tài Đồ án môn học Hệ điều hành

1.4.2. Đề tài số 8: Giao tiếp giữa các tiến trình bằng đƣờng ống
PIPE.

Yêu cầu:

1. Giới thiệu tiến trình trong Linux, các hoạt động của tiến trình, cấu
trúc tiến trình, giao tiếp giữa các tiến trình, các cơ chế giao tiếp và
giới thiệu cơ chế liên lạc bằng đường ống Pipe

2. Tạo đường ống giao tiếp.

3. Viết chương trình gồm 2 tiến trình. Tiến trình thứ nhất cho người
dùng nhập vào từ bàn phím một chuỗi biểu diễn các phép tính gồm
các phần tử +,-,(,). Độ ưu tiên của các phép tính trong ngoặc (cặp dấu
(&)) là cao nhất, phép +,và – có cùng độ ưu tiên.

Ví dụ:

1+2+(2-3-4)-((3+4)-5)

(1+(-2)-((3+4)-5))

Sau đó truyền chuỗi dữ liệu này sang tiến trình thứ hai. Tiến trình thứ
hai thực hiện tính toán và trả về cho tiến trình thứ nhất để thể hiện cho
người sử dụng biết

5. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

6. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

7. Ngôn ngữ dùng để viết chương trình C trên Linux hoặc ubuntu

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 10
Danh mục đề tài Đồ án môn học Hệ điều hành

9. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Nguyễn Phương Lan-Hoàng Hải, Lập trình Linux, tập1, NXB Giáo
dục, 2001

[2] Đỗ Duy Việt-Nguyễn Hoàng Thanh Ly, Linux kernel

[3] Nguyễn Thanh Thủy, Nhập môn hệ điều hành Linux

[4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[5] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall


2nd.

1.4.3. Đề tài số 9: Tìm hiểu các lời gọi hệ thống (System calls).

Yêu cầu:

1. Tìm hiểu các lời gọi hệ thống trong quản lý tiến trình.

2. Tìm hiểu các lời gọi hệ thống trong quản lý file, thư mục.

3. Trình bày các lời gọi hệ thống trong Win32 API.

4. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

5. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 11
Danh mục đề tài Đồ án môn học Hệ điều hành

6. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Nguyễn Phương Lan-Hoàng Đức Hải, Lập trình Linux, tập1, NXB
Giáo dục, 2001

[2] Đỗ Duy Việt-Nguyễn Hoàng Thanh Ly, Linux kernel

[3] Nguyễn Thanh Thủy, Nhập môn hệ điều hành Linux

[4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[5] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall


2nd.

1.4.4. Đề tài số 10: Tìm hiểu các giao diện đồ hoạ (Graphical User
Interfaces).

Yêu cầu:

1. Tìm hiểu phần cứng của bàn phím, chuột, màn hình của máy tính cá
nhân.

2. Tìm hiểu phần mềm Vào (Input Software).

3. Tìm hiểu phần mềm Ra cho Windows (Output Software for


Windows).

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 12
Danh mục đề tài Đồ án môn học Hệ điều hành

4. Trình bày các lời gọi hệ thống trong Win32 API cho các giao tiếp
Vào/Ra.

5. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

6. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

7. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Nguyễn Phương Lan-Hoàng Hải, Lập trình Linux, tập1, NXB Giáo
dục, 2001

[2] Đỗ Duy Việt-Nguyễn Hoàng Thanh Ly, Linux kernel

[3] Nguyễn Thanh Thủy, Nhập môn hệ điều hành Linux

[4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[5] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall


2nd.

1.4.5. Đề tài số 11: Tìm hiểu việc quản lý nguồn năng lƣợng điện
của máy tính.

Yêu cầu:

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 13
Danh mục đề tài Đồ án môn học Hệ điều hành

1. Tìm hiểu về phần cứng liên quan đến tiêu thụ năng lượng điện: màn
hình, đĩa cứng, CPU, bộ nhớ.

2. Tìm hiểu khía cạnh của hệ điều hành liên quan đến việc quản lý năng
lượng:

- Màn hình

- Đĩa cứng

- CPU

- Bộ nhớ

- Truyền thông không dây

- Quản lý pin

3. Tìm hiểu chức năng của Hệ điều hành Windows trong việc tiết kiệm
nguồn điện trên các máy tính cá nhân.

4. Viết báo cáo theo mẫu Bộ môn mạng và Truyền thông

5. Gặp giáo viên hướng dẫn, làm đúng yêu cầu của giáo viên hướng dẫn
và báo cáo tiến độ đúng thời gian

6. Làm 10 đến 15 slide để bảo vệ sau khi được giáo viên hướng dẫn
duyệt và đồng ý được bảo vệ.

Tài liệu tham khảo

[1] Nguyễn Phương Lan-Hoàng Hải, Lập trình Linux, tập1, NXB Giáo
dục, 2001

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 14
Danh mục đề tài Đồ án môn học Hệ điều hành

[2] Đỗ Duy Việt-Nguyễn Hoàng Thanh Ly, Linux kernel

[3] Nguyễn Thanh Thủy, Nhập môn hệ điều hành Linux

[4] Trần Hồ Thuỷ Tiên, Bài giảng Nguyên lý hệ điều hành, Khoa CNTT
trường Đại học Bách khoa Đà nẵng.

[5] Andrew S. Tannenbaum, Modern Operating Systems, Prentice Hall


2nd.

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 15
Danh mục đề tài Đồ án môn học Hệ điều hành

Gợi ý nội dung trình bày quyển báo cáo

Lời mở đầu
Mục lục
Danh mục các hình vẽ

MỞ ĐẦU

M.1. MỤC TIÊU CỦA ĐỀ TÀI


M.2. YÊU CẦU CỦA ĐỀ TÀI
M.3. NỘI DUNG ĐỀ TÀI
Chƣơng 1. CƠ SỞ LÝ THUYẾT

1.1. NGUYÊN LÝ
1.2. CƠ SỞ LÝ THUYẾT
1.3. CÔNG CỤ HỖ TRỢ
Chƣơng 2. XÂY DỰNG CHƢƠNG TRÌNH

2.1. MÔ TẢ BÀI TOÁN


2.2. PHÂN TÍCH DỮ LIỆU VÀ THUẬT TOÁN
2.3. TỔ CHỨC CHƢƠNG TRÌNH
2.4. XÂY DỰNG CHƢƠNG TRÌNH
Chƣơng 3. MÔ PHỎNG VÀ KẾT QUẢ

3.1. CHƢƠNG TRÌNH DEMO


3.2. KẾT QUẢ VÀ NHẬN XÉT
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN

K.1. KẾT LUẬN


K.2. HƢỚNG PHÁT TRIỂN

-----------------------------------------------------------------------------------------------------
Khoa Công Nghệ Thông Tin – Bộ môn Mạng & Công nghệ truyền thông 16

You might also like