Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 3: Quản lý bộ nhớ
Trang 1 trong tổng số 1 trang
Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 3: Quản lý bộ nhớ
1. Tài liệu tham khảo
- The Design of the UNIX Operating System- Andrew S. Tanenbaum, Chương 7
- Interprocess Communications in UNIX-The Nooks and Crannies.
- Tài liệu hướng dẫn thực hành Hệ điều hành, Hồ Quốc Thuần.
2. Tìm hiểu các hàm truy cập bộ nhớ :
- Tìm hiểu cách tạo quá trình trong UNIX dùng hàm fork( ).
- Tìm hiểu cách cấp phát bộ nhớ cho quá trình trong hệ điều hành UNIX.
- Tìm hiểu các hàm cho phép lấy các thông tin về vùng nhớ cấp cho quá trình cũng như cho phép thay đổi các vùng nhớ đó.
3. Ngôn ngữ lập trình sử dụng: C trên UNIX
Bài 3.1 :
Viết chương trình có khai báo 4 biến như sau:
- global là biến nguyên toàn cục không khởi động trị.
- local là biến nguyên khai báo cục bộ trong hàm doNoth( ) (hàm này không làm gì cả)
- intarray là một con trỏ đến biến kiểu nguyên.
Trong hàm main(), hãy gán global=1, sau đó in địa chỉ các segment của quá trình ra màn hình. Cho biết địa chỉ các biến global, local và intarray (1). Tiếp theo, hãy dùng hàm fork() tạo ra một quá trình con. Cho biết giá trị các địa chỉ trên ở trong quá trình con (2). Hãy gán global=2 trong quá trình con và cho biết giá trị mới của biến global trong quá trình con và quá trình cha.
Trong quá trình cha, sau khi dùng fork(), hãy gọi hàm doNoth(), sau đó dùng malloc() để xin một vùng nhớ cho một mảng 10 số nguyên và gán địa chỉ đầu mảng vào biến intarray.
Trả lời các câu hỏi sau:
- Biến global là biến chung hay biến riêng của từng quá trình?
- Biến intarray của quá trình cha nằm trên stack hay trên heap?
- Biến local của quá trình cha nằm trên stack hay trên heap?
- Các địa chỉ ở (1) và (2) có khác nhau không? Giải thích?
Bài 3.2 :
Viết các hàm mymalloc() và myfree() dựa trên các hàm cung cấp sẵn là brk() và sbrk().
- The Design of the UNIX Operating System- Andrew S. Tanenbaum, Chương 7
- Interprocess Communications in UNIX-The Nooks and Crannies.
- Tài liệu hướng dẫn thực hành Hệ điều hành, Hồ Quốc Thuần.
2. Tìm hiểu các hàm truy cập bộ nhớ :
- Tìm hiểu cách tạo quá trình trong UNIX dùng hàm fork( ).
- Tìm hiểu cách cấp phát bộ nhớ cho quá trình trong hệ điều hành UNIX.
- Tìm hiểu các hàm cho phép lấy các thông tin về vùng nhớ cấp cho quá trình cũng như cho phép thay đổi các vùng nhớ đó.
3. Ngôn ngữ lập trình sử dụng: C trên UNIX
Bài 3.1 :
Viết chương trình có khai báo 4 biến như sau:
- global là biến nguyên toàn cục không khởi động trị.
- local là biến nguyên khai báo cục bộ trong hàm doNoth( ) (hàm này không làm gì cả)
- intarray là một con trỏ đến biến kiểu nguyên.
Trong hàm main(), hãy gán global=1, sau đó in địa chỉ các segment của quá trình ra màn hình. Cho biết địa chỉ các biến global, local và intarray (1). Tiếp theo, hãy dùng hàm fork() tạo ra một quá trình con. Cho biết giá trị các địa chỉ trên ở trong quá trình con (2). Hãy gán global=2 trong quá trình con và cho biết giá trị mới của biến global trong quá trình con và quá trình cha.
Trong quá trình cha, sau khi dùng fork(), hãy gọi hàm doNoth(), sau đó dùng malloc() để xin một vùng nhớ cho một mảng 10 số nguyên và gán địa chỉ đầu mảng vào biến intarray.
Trả lời các câu hỏi sau:
- Biến global là biến chung hay biến riêng của từng quá trình?
- Biến intarray của quá trình cha nằm trên stack hay trên heap?
- Biến local của quá trình cha nằm trên stack hay trên heap?
- Các địa chỉ ở (1) và (2) có khác nhau không? Giải thích?
Bài 3.2 :
Viết các hàm mymalloc() và myfree() dựa trên các hàm cung cấp sẵn là brk() và sbrk().
NguyenMinhHoang10H1012029- Tổng số bài gửi : 9
Join date : 02/09/2011
Similar topics
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 5: Giao tiếp giữa các quá trình
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 1: Mô phỏng
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 4: Thread
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 6: Socket
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 2: Đồng bộ giữa các quá trình
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 1: Mô phỏng
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 4: Thread
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 6: Socket
» Những Bài Tập Thực Hành Môn Hệ Điều Hành -Thầy Vũ Lê Hùng - Chủ đề 2: Đồng bộ giữa các quá trình
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết