[QUOTE=11520537;96543]thắng lợi môn này thì năm sau em sẽ xông pha hệ điều hành nâng cao ngay và luôn.[/QUOTE]
Từ từ đã em, năm sau còn Kiến trúc máy tính nâng cao nữa. Cứ qua KTMT nâng cao và các môn học khó nhằn của năm 3 rùi hãy tính chuyện HDH Nâng cao em nhé
bác nào có file các bài tập lớn thì share với nhé!
thank!
[QUOTE=11520579;96567]bác nào có file các bài tập lớn thì share với nhé!
thank![/QUOTE]
in post 1!
Bài tập lớn hdh-Bài 9a ?
[QUOTE=11520537;96463]Chào tất cả các chiến sĩ đang tham gia chiến dịch “Hệ Điều Hành”!
Hôm nay, sau khi xem qua phần bài tập lớn thì mình mới thấy sự ghê ghớm của môn học này, và không dài dòng, sau đây là một số code về phần bài tập lớn cho các chiến sĩ súc miệng, có thể các code trùng y nguyên với phần bài tập của chúng ta nhưng các bạn nhớ thêm mắn, thêm muối vào để đến buổi cuối cùng chúng ta sẽ làm nên một kết thúc có hậu:
đầu tiên là phần bài tập lớn:
Bài a.1: Viết chương trình 5 triết gia ăn tối. Chương trình cho thấy được 5 tiến trình mô
phỏng như là 5 triết gia, sử dụng semaphore để đồng bộ.
Bài a.2: Viết chương trình multithread trong bài toán nhân ma trận. Đọc vào 2 ma trận A
& B, sau đó dùng nhiều thread này để thực hiện việc nhân ma trận. Ghi ma trận kết quả ra
file.
Bài a.3: Viết chương trình multithread cho bài toán sau: Đọc vào một dãy A từ file, dùng
n thread để sắp xếp dãy theo thứ tự tăng dần.
- Mỗi thread lấy một phần của dãy A và sắp xếp theo thứ tự tăng dần.
- Sau đó, 1 thread trộn các dãy do các thread vừa rồi đã sắp xếp thành dãy kết quả.
Bài a.4: Sử dụng thread và các phương thức đồng bộ để giải quyết bài toán reader/writer
dạng tổng quát.
Bài a.5: Viết chương trình gồm 2 tiến trình. Tiến trình A đọc 1 dãy số nguyên từ một file,
sau đó gửi dãy số nguyên này cho tiến trình B thông qua cơ chế pipe. Tiến trình B sau khi
nhận xong dữ liệu từ tiến trình A sẽ sắp xếp theo thứ tự tăng dần rồi ghi vào 1 file khác.
Bài a.6: Viết chương trình giao tiếp giữa 2 tiến trình bằng các dùng shared memory. Tiến
trình A gửi 1 thông điệp (message) sang tiến trình B và đợi tiến trình B phản hồi. Tiến
trình B đợi thông điệp từ tiến trình A sau đó phản hồi 1 thông điệp khác cho tiến trình A.
Chương trình này tương tự như TalkApplication trong bài thực hành 3. ( Sử dụng shared
memory bằng cách dùng memory-mapped files, tham khảo thư viện MSDN).
Bài a.7: Viết chương trình giao tiếp giữa 2 tiến trình sử dụng pipe như sau: Tiến trình A
đọc từ file gồm nhiều chuỗi liên tiếp, mỗi chuỗi gồm các phép toán +, -, *, / và 2 toán
hạng. Ví dụ trong file sẽ lưu các chuỗi dạng như sau:
2 + 3
1 - 2
4 * 6
15 / 3
Sau đó tiến trình thứ nhất truyền các chuỗi dữ liệu này cho tiến trình thứ hai. Tiến trình
thứ hai 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 vào
file như sau:
2 + 3 = 5
1 - 2 = -1
4 * 6 = 24 15 / 3 =5
Bài a.8: Viết chương trình tương tự bài toán a.7 nhưng sử dụng shared memory.
Bài a.9: Tạo ra 2 tiến trình P0 và P1 giao tiếp qua pipe. Tiến trình P0 đọc từ file một ma
trận vuông cấp N*N, sau đó gởi ma trận này cho P1. tiến trình P1 sẽ thực hiện nghịch đảo
ma trận này và ghi kết quả xuống một file khác. Nếu ma trận không thể nghịch đảo được,
P1 ghi vào file kết quả dòng thông báo tương ứng.
Bài a.10: Giải quyết bài toán a.9 trong trường hợp dùng shared memory.
Bài a.11: Hiện thực giải thuật đồng bộ Peterson. Minh họa giải thuật với multithread.
Bài a.12: Hiện thực mô phỏng giải thuật định thời FCFS
Bài a.13: Hiện thực mô phỏng giải thuật định thời Round-Robin(RR).
Bài a.14: Hiện thực mô phỏng giải thuật định thời SJF.
b./Phần quản lý bộ nhớ:
Bài b.1: Viết chương trình mô phỏng giải thuật thay thế trang FIFO. Đầu vào của giải
thuật: số khung trang, chuỗi tham khảo trang. Đầu ra thể hiện được page hit, page fault
như trong bài thực hành 4.
Bài b.2: Viết chương trình mô phỏng giải thuật thay thế trang OPT. Đầu vào của giải
thuật: số khung trang, chuỗi tham khảo trang. Đầu ra thể hiện được page hit, page fault
như trong bài thực hành 4.
Bài b.3: Viết chương trình mô phỏng giải thuật thay thế trang LRU. Đầu vào của giải
thuật: số khung trang, chuỗi tham khảo trang. Đầu ra thể hiện được page hit, page fault
như trong bài thực hành 4.
Bài b.4: Hãy hiện thực cơ chế quản lý heap trên một vùng nhớ tĩnh được cấp phát trước.
chương trình cung cấp 2 hàm malloc và free tương tự như hàm hệ thống của C: malloc(),
free().
Bài b.5: Viết chương trình xử lý bàn phím nhập bằng cách sử dụng các hàm
HeapCreate(), HeapAlloc(), HeapFree() như sau:
Thread 1 đọc 1 dãy các ký tự từ bàn phím cho đến khi gặp ký tự kết thúc. Mỗi lần đọc 1
ký tự nó sẽ tạo ra (alloc) 1 struct _charstruct rồi ghi ký tự này vào. Kết quả là một dãy
con trỏ struct _charstruct. Sau đó nó gọi 1 thread thứ 2. Thread thứ 2 sẽ đảo ngược chuỗi
ký tự này và ghi vào 1 dãy con trỏ struct _charstruct khác. Thread thứ 2 này sẽ gọi
thread thứ 3 thức dậy (resume). Thread thứ 3 sẽ ghi chuỗi ký tự này ra màn hình.
typedef struct _charstruct {
char c;
struct _charstruct * next;
} * charstructp
Bài b.6: Giải quyết bài toán b.5 trong trường hợp dùng VirtualAlloc
tiếp theo đây là một số code vừa lượm được bên xa trường “kỹ thuật máy tính” và một số diễn đàn khác:
http://www.mediafire.com/?czf9us44cf87h
he he, còn đây là một số bài tập mà các anh chị bên KTMT nấu được:
http://www.mediafire.com/?navh178kp17dj1a
http://www.mediafire.com/?r7495s446wp03[/QUOTE]
sao không có bài 9a vậy bạn, bạn có thể giúp mình với dc ko? ![]()
[QUOTE=11520645;171139]sao không có bài 9a vậy bạn, bạn có thể giúp mình với dc ko? :([/QUOTE]
chịu thôi bạn ơi!
Thầy dạy xong hết chưa Dương???
Cóa bạn nào có tài liệu về phần mềm zebra share mình tí.Trên google tìm mà thấy ít quá ![]()
[QUOTE=08520018;171169]Thầy dạy xong hết chưa Dương???[/QUOTE]
mới đến tắc ngẽn (deadlock) thôi, còn dài lắm! anh cứ học xong mấy cái môn phân tán hay biên dịch gì đó đi rồi quay lại học môn này.
[QUOTE=11520541;171171]Cóa bạn nào có tài liệu về phần mềm zebra share mình tí.Trên google tìm mà thấy ít quá :([/QUOTE]
lần đầu biết tên của cái software này.
[QUOTE=11520537;171245]mới đến tắc ngẽn (deadlock) thôi, còn dài lắm! anh cứ học xong mấy cái môn phân tán hay biên dịch gì đó đi rồi quay lại học môn này.[/QUOTE]
Cảm ơn em nhiều nhé…^^!!
mọi người ơi.ai có tài liệu gì về bài: sử dụng semaphore xây dựng chương trình giưa producer-customer qua bound buffer làm ơn share cho mình với.
[QUOTE=11520669;172818]mọi người ơi.ai có tài liệu gì về bài: sử dụng semaphore xây dựng chương trình giưa producer-customer qua bound buffer làm ơn share cho mình với.[/QUOTE]
bài này trong tài liệu có đấy nhưng nó được viết bằng C++.
[QUOTE=11520537;172831]bài này trong tài liệu có đấy nhưng nó được viết bằng C++.[/QUOTE]
tài liệu nào ông.tài liệu ông úp lên ấy hả.cho tui xin cái yahoo tui hỏi cái này 1 chút cho tiện.
[QUOTE=10520541;96507]Có thể tìm trong đây và đây cho môn hệ điều hành !
Chúc các bạn học tốt :sogood:[/QUOTE]
Sao mà em đăng kí hòi không được vậy
[QUOTE=11520669;172860]tài liệu nào ông.tài liệu ông úp lên ấy hả.cho tui xin cái yahoo tui hỏi cái này 1 chút cho tiện.[/QUOTE]
trong taì liệu thực hành có ebook intal… windows gì đó không nhớ.
[QUOTE=11520537;173468]trong taì liệu thực hành có ebook intal… windows gì đó không nhớ.[/QUOTE]
ý ông nói là tài liệu nào vậy
Mem nào có file nachos-3.4.tar.gz thì up lên giúp mình với… Lên mạng tìm hoài không ra :tire:
[QUOTE=11520669;172818]mọi người ơi.ai có tài liệu gì về bài: sử dụng semaphore xây dựng chương trình giưa producer-customer qua bound buffer làm ơn share cho mình với.[/QUOTE]
Đây là bài trong lab nhưng mấy thầy dạy thực hành không bắt làm. Cũng dễ lắm :happy:
ringbuffer_semaphore.rar (1 Bytes)
Bà con nào làm bài a.2 Nhân 2 ma trận với multi thread thì Share giùm với. Mần hoài không ra, hix
[QUOTE=09520668;174074]Đây là bài trong lab nhưng mấy thầy dạy thực hành không bắt làm. Cũng dễ lắm :happy:[/QUOTE]
cái code này là bài em muốn hỏi luôn đó hả a.sao em thấy không khác gì bài thực hành 3b vậy.