Vous êtes sur la page 1sur 2

Bài tập dài môn học “Hệ điều hành”

Khóa học: 51
Ghi chú chung:
1. Thời hạn nộp bài: 25/10/2020 (không mở rộng thêm). Sinh viên không nộp bài tập đúng hạn sẽ
bị đề nghị cấm thi.
2. Bài nộp gồm: báo cáo nhóm (in và điện tử), báo cáo cá nhân (điện tử), mã nguồn và nhị phân, và sơ
đồ mạch (nếu có). Báo cáo in dài từ 20-40 trang A4, font chữ 12, báo cáo in dài 3-5 trang liệt kê đóng
góp cá nhân vào bài tập. Báo cáo điện tử nộp về địa chỉ email: t01a3308@gmail.com. Trong báo cáo
nêu rõ thiết kế hệ thống, thuyết minh các module mã nguồn sửa đồi và thêm, kết quả chạy thử (test
cases/test report).
3. Lưu mã nguồn (lõi hệ điều hành, chương trình, file patch…) vào đĩa CD/DVD, nộp kèm theo báo
cáo in về Phòng 411, Nhà C9.
4. Mỗi nhóm làm việc không quá 5 sinh viên. Trong mỗi lớp, đối với mỗi bài chỉ có nhiều nhất là một
nhóm làm. Sinh viên làm cùng bài tập không hợp tác với nhau cho đến khi nộp bài. Việc phân nhóm có
thể dựa trên sự tự nguyện hoặc bốc thăm. Cán bộ lớp cung cấp danh sách nhóm kèm theo tên bài tập
trước ngày 27/9/2010.

DANH SÁCH BÀI TẬP

Bài tập 1
Viết chương trình/sửa mã nguồn nhân (kernel) hệ điều hành Linux làm các công việc sau:
1. Báo cáo danh sách các thư viện liên kết động đang được nạp vào trong bộ nhớ RAM.
2. Liệt kê các chương trình (tiến trình) đang sử dụng mỗi thư viện nói trên.
3. Hiển thị kết quả bằng đồ họa GUI.

Bài tập 2
Viết chương trình/sửa mã nguồn nhân (kernel) hệ điều hành Linux làm các công việc sau:
1. Báo cáo dung lượng nhớ RAM tổng cộng được cấp theo cơ chế slab ở thời điểm hiện tại.
2. Thu hồi bộ nhớ slab cache và báo cáo dung lượng được giải phóng theo cách này.
3. Hiển thị kết quả.

Bài tập 3
Viết chương trình/sửa mã nguồn nhân (kernel) hệ điều hành Linux làm các công việc sau:
1. Tùy chỉnh mức ưu tiên hủy (killing) các tiến trình thông qua một giao diện GUI. Các tiến trình
được tùy chỉnh là các chương trình duyệt web, email, chat, media playback, game, text editor…
2. Chạy nhiều chương trình, đưa hệ thống về trạng thái khan hiếm bộ nhớ, kiểm tra kết quả hủy
tiến trình. Đưa ra bằng chứng chứng tỏ tiến trình bị hủy đúng là tiến trình có mức ưu tiên thấp
theo ý muốn người dùng.

Bài tập 4
Viết chương trình/sửa mã nguồn nhân (kernel) hệ điều hành Linux làm các công việc sau:
1. Liệt kê các tiến trình đang truyền thông IPC với nhau.
2. Tự động hủy (kill) tiến trình còn lại khi một tiến trình bị hủy.
3. Làm thí nghiệm và báo cáo kết quả.

1
Bài tập 5
Cài đặt, cấu hình và chạy thử hệ điều hành Bada (của Samsung) trên thiết bị di động hoặc trình phỏng
tạo (emulator). Sau đó:
1. Cho phép đánh dấu một vùng trên bản đồ số là nguy hiểm.
2. Khi người cầm thiết bị đi vào vùng đó, có một bản tin âm thanh phát ra nhắc nhở người đó đang
đi vào vùng nguy hiểm nói trên.

Bài tập 6
Cài đặt, cấu hình và chạy thử hệ điều hành Bada (của Samsung) trên thiết bị di động hoặc trình phỏng
tạo (emulator). Sau đó:
1. Lấy ảnh chụp từ camera rồi gửi về một máy tính. Thông tin gửi về đính kèm vị trí (GPS) của
ảnh chụp.
2. Xếp ảnh vào một cơ sở dữ liệu lưu trữ tại máy tính để có thể tìm kiếm.

Bài tập 7
Chế bo mạch có vi điều khiển thực hiện các công việc điều khiển đèn giao thông, thang máy, động cơ
điện, cửa ra vào, thu thập số liệu từ đầu đo... Sau đó:
1. Biên dịch và nạp hệ điều hành mã mở FreeRTOS (hoặc biến thể của nó) xuống.
2. Viết chương trình mô phỏng (emulation) một trong các ứng dụng nói trên, nạp xuống bo mạch,
chạy thử và báo cáo kết quả.

Bài tập 8
Chế bo mạch có vi điều khiển thực hiện các công việc điều khiển đèn giao thông, thang máy, động cơ
điện, cửa ra vào, thu thập số liệu từ đầu đo... Sau đó:
1. Biên dịch và nạp hệ điều hành mã mở Contiki xuống.
2. Viết chương trình mô phỏng (emulation) một trong các ứng dụng nói trên, nạp xuống bo mạch,
chạy thử và báo cáo kết quả

Bài tập 9
Viết chương trình/sửa mã nguồn nhân (kernel) hệ điều hành Linux làm các công việc sau:
1. Viết chương trình đo lường bộ nhớ chiếm dùng bởi mỗi tiến trình. Báo cáo lượng nhớ đã được
cấp phát cho mỗi tiến trình và lượng nhớ có thể được thu hồi được từ lương được cấp phát đó
(mà không ảnh hưởng logic của tiến trình đang chạy này).
2. Hiển thị kết quả chạy.

Bài tập 10
Cài đặt, cấu hình và chạy thử hệ điều hành Android trên thiết bị di động hoặc trình phỏng tạo
(emulator). Sau đó:
1. Viết một ứng dụng trao đổi số liệu qua cổng bluetooth hoặc USB giữa thiết bị chạy Android với
một máy tính PC.
2. Viết một chương trình chuyển tiếp dữ liệu nhận được từ một trong hai cổng nói trên sang cổng
Wi-Fi để truyền dữ liệu về một máy tính PC. Chú ý đến vấn đề đồng bộ dữ liệu và tránh bỏ lỡ
cơ hội truyền dữ liệu hoặc làm tổn thất dữ liệu.

Vous aimerez peut-être aussi