Học kỳ này tôi là một NVHTGV của khóa học hệ điều hành. Vì vậy, tôi được yêu cầu thiết kế một bài tập lập trình đa luồng cho sinh viên đại học CS với các kỹ năng lập trình C giới hạnThiết kế bài tập cho lập trình đa luồng
Đây không phải là bài tập lớn vì chỉ mất 5% điểm cuối cùng. Và điều này sẽ là một cái gì đó mới mẻ vì vậy sinh viên không thể tải xuống một số mã từ Internet.
Đây là những gì tôi đang suy nghĩ, một đơn giản hàng đợi Message Queue.
Chúng tôi sẽ cung cấp cho sinh viên một máy chủ MQ rất giả, chỉ có một chủ đề và chỉ chấp nhận 2 kết nối máy khách, người đọc và người viết. Nhà văn định kỳ gửi tin nhắn đến hàng đợi, tức là máy chủ và người đọc đọc tin nhắn từ hàng đợi, tức là máy chủ gửi thông báo tới người đọc. Chúng tôi cũng sẽ cung cấp cho người đọc và người viết.
Sau đó, chúng tôi yêu cầu học sinh sửa đổi máy chủ để chấp nhận nhiều người đọc và nhà văn cùng một lúc . Và chúng tôi cũng sẽ yêu cầu chủ đề an toàn . Nói cách khác, một tin nhắn chỉ nên được gửi một độc giả, và không có thông điệp nào bị mất trong hàng đợi, yêu cầu sử dụng mutex.
Tôi cảm thấy rằng nó có thể quá đơn giản nhưng tôi không thể nghĩ ra bất cứ điều gì khác vào lúc này. Nếu bạn ở vị trí của tôi, bạn sẽ giao nhiệm vụ gì?
Tôi đã tham gia lớp hệ điều hành, cách đây không lâu. Họ đã mô hình hóa chương trình giảng dạy của lớp học hệ điều hành pintos stanford.Điều này có lẽ là quá lớn của một sự thay đổi từ những gì bạn đang có kế hoạch, nhưng có lẽ bạn nên xem xét nó cho năm tới. http://www.stanford.edu/class/cs140/projects/pintos/pintos_2.html Chỉnh sửa: Nhân tiện, đây là lớp học yêu thích của tôi trong toàn bộ khóa học chính của CS cho đến nay. Tôi cảm thấy như tôi thực sự đã đạt được một sự hiểu biết về kiến trúc hệ điều hành cơ bản. –