Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

câu hỏi chương 7

5 posters

Go down

câu hỏi chương 7 Empty câu hỏi chương 7

Bài gửi  TruongThiMinhNgoc57(102C) 4/5/2011, 22:58

Mình mở chủ đề này mong là các bạn sẽ cùng mình soạn ra câu hỏi của chương 7 để học nhé.
Câu 1: Những lý do đồng bộ hóa công việc của tiến trình. VD minh họa .

Lý do:
- Đảm bảo tính nhất quán của tài nguyên dùng chung.
- Tránh được hiện tượng Deadlock (Hiện tượng kẹt tiến trình) .
VD: một trường học chỉ có 1 phòng lab (tài nguyên dùng chung) , lớp có giờ học trước thì được vào phòng lab học, các lớp còn lại phải chờ đến khi lớp học trước đó hết giờ mới được vào phòng lab .
Mong các bạn nào có vd hay hơn cho mình tham khảo, Sad
TruongThiMinhNgoc57(102C)
TruongThiMinhNgoc57(102C)

Tổng số bài gửi : 90
Join date : 17/02/2011
Đến từ : TPHCM

Về Đầu Trang Go down

câu hỏi chương 7 Empty Câu 2:Định nghĩa đèn hiệu với 2 tác nguyên Wait và Signal.

Bài gửi  trandinhnghia 4/5/2011, 23:19

Định nghĩa đèn hiệu với 2 tác nguyên Wait và Signal.
Giải:
- Đèn hiệu là phương tiện đồng bộ hoá được E.W. Dijkstra đề xuất năm 1965.
- Đèn hiệu được mô tả bằng một biến kiểu nguyên với 2 tác nguyên là Wait (Chờ) và Signal (Báo hiệu):
typedef int semaphore; // Định nghĩa kiểu Đèn hiệu
wait (semaphore S)
{
while ( S <= 0 ); // Chờ bận nếu S<=0
S --; // Giảm S đi 1
}

signal (semaphore S)
{
S ++; // Tăng S lên 1
}
- Việc kiểm tra S <= 0 và giảm S (trong Wait) hoặc tăng S (trong Signal) phải được thực hiện trọn vẹn (không xảy ra ngắt trong thời gian thi hành), do đó Wait và Signal được gọi là các tác nguyên (Atomic Operations).

trandinhnghia

Tổng số bài gửi : 47
Join date : 16/04/2009

Về Đầu Trang Go down

câu hỏi chương 7 Empty Câu 3: Cấu trúc mã của tiến trình tương tranh.

Bài gửi  trandinhnghia 4/5/2011, 23:29

Cấu trúc mã của tiến trình tương tranh.
Giải:
while (1)
{
Remainder section
Entry section
Critical section
Exit section
Remainder section
}

trandinhnghia

Tổng số bài gửi : 47
Join date : 16/04/2009

Về Đầu Trang Go down

câu hỏi chương 7 Empty Câu 4: Sử dụng Đèn hiệu nhị phân Mutex để đảm bảo tính loại trừ lẫn nhau

Bài gửi  trandinhnghia 4/5/2011, 23:31

Sử dụng Đèn hiệu nhị phân Mutex để đảm bảo tính loại trừ lẫn nhau.
Giải:
typedef int semaphore;
semaphore mutex = 1; // Binary Semaphore
while (1)
{
remainder section
wait (mutex);
critical section
signal (mutex);
remainder section
}

trandinhnghia

Tổng số bài gửi : 47
Join date : 16/04/2009

Về Đầu Trang Go down

câu hỏi chương 7 Empty Câu 5: Sử dụng Đèn hiệu Synch để đồng bộ 2 tiến trình.

Bài gửi  trandinhnghia 4/5/2011, 23:32

Sử dụng Đèn hiệu Synch để đồng bộ 2 tiến trình.
Giải:
Xét hai process: P1 và P2
Yêu cầu: lệnh S1 trong P1 cần được thực thi trước lệnh S2 trong P2
Định nghĩa semaphore “synch” dùng đồng bộ
Khởi động semaphore:
synch.value= 0
Để đồng bộ hoạt động theo yêu cầu, P1 phải định nghĩa như sau:
S1;
signal(synch);
Và P2 định nghĩa như sau:
wait(synch);
S2;

trandinhnghia

Tổng số bài gửi : 47
Join date : 16/04/2009

Về Đầu Trang Go down

câu hỏi chương 7 Empty Câu 6:Thực thi Đèn hiệu có hàng chờ.

Bài gửi  trandinhnghia 4/5/2011, 23:35

Thực thi Đèn hiệu có hàng chờ.
Giải:
- Với tác nguyên Wait có vòng lặp vô tận kiểm tra biến đếm S có nhỏ hơn 0 hay không, điều đó làm cho các tiến trình có thể tự khóa mình (Block Itseft) và chuyển sang trạng thái waiting, sau đó xếp vào hàng chờ của đèn hiệu. Trình điếu phối CPU có thể chọn tiến trình khác trong hàng chờ Ready để thực hiện.
- Khi một tiến trình nào đó thực hiện lệnh Signal(S), một tiến trình P nào đó đang chờ tại S được lựa chọn và đánh thức bằng lệnh WakeUp(P) để chuyển P từ trạng thái Waiting sang trạng thái Ready. Lúc này trình điều phối có thể cho P thực thi ngay hay không còn tuỳ thuộc vào thuật giải cụ thể.

trandinhnghia

Tổng số bài gửi : 47
Join date : 16/04/2009

Về Đầu Trang Go down

câu hỏi chương 7 Empty Câu 5: Thực thi bài toán SX-TT được đồng bộ hóa bằng 3 đèn hiệu semFull, semEmpty và Mutex.

Bài gửi  TruongThiMinhNgoc57(102C) 5/5/2011, 10:11

Tiến trình sản xuất (Producer) tạo ra dòng thông tin để tiến trình tiêu thụ (Consumer) sử dụng.

- Ví dụ: Compiler và Assembler vừa là nhà sản xuất vừa là nhà tiêu thụ. Compiler tạo ra mã dùng cho Assembler, tiếp theo Assembler sản sinh mã máy làm đầu vào cho Loader hoặc Linkage Editor.

- Phát biểu bài toán: Bộ nhớ đệm Buffer bao gồm một số hữu hạn các khoang chứa (Items). Producer lần lượt đưa các sản phẩm S1, S2,…vào các khoang của Buffer. Consumer lấy sản phẩm ra theo đúng thứ tự. Công việc của các tiến trình phải đồng bộ với nhau: không đưa ra sản phẩm khi hết chỗ trống, không lấy được sản phẩm khi chưa có.

- Thuật giải đồng bộ hoá bằng 3 đèn hiệu: semFull (quản lý số sản phẩm có trong bộ đệm, giá trị ban đầu bằng 0), semEmpty (quản lý số khoang còn trống, giá trị ban đầu bằng số khoang của bộ đệm) và Mutex (đảm bảo tính loại trừ tương hỗ, nghĩa là mỗi thời điểm chỉ có 1 tiến trình sản xuất hay tiêu thụ được truy cập/cập nhật tài nguyên dùng chung, giá trị ban đầu bằng 1).

o Thuật giải cho Producer:

wait(semEmpty);

wait(Mutex);

// Đưa sản phẩm vào Buffer
..........................

signal(semFull);

signal(Mutex);

o Thuật giải cho Consumer:

wait(semFull);

wait(Mutex);

// Lấy sản phẩm từ Buffer

..........................

signal(semEmpty);
signal(Mutex);
TruongThiMinhNgoc57(102C)
TruongThiMinhNgoc57(102C)

Tổng số bài gửi : 90
Join date : 17/02/2011
Đến từ : TPHCM

Về Đầu Trang Go down

câu hỏi chương 7 Empty Re: câu hỏi chương 7

Bài gửi  lavansan(102c) 5/5/2011, 17:20

TruongThiMinhNgoc57(102C) đã viết:Mình mở chủ đề này mong là các bạn sẽ cùng mình soạn ra câu hỏi của chương 7 để học nhé.
Câu 1: Những lý do đồng bộ hóa công việc của tiến trình. VD minh họa .

Lý do:
- Đảm bảo tính nhất quán của tài nguyên dùng chung.
- Tránh được hiện tượng Deadlock (Hiện tượng kẹt tiến trình) .
VD: một trường học chỉ có 1 phòng lab (tài nguyên dùng chung) , lớp có giờ học trước thì được vào phòng lab học, các lớp còn lại phải chờ đến khi lớp học trước đó hết giờ mới được vào phòng lab .
Mong các bạn nào có vd hay hơn cho mình tham khảo, Sad
Để có thể hiểu hơn các bạn có thể tham khảm tại đây
lavansan(102c)
lavansan(102c)

Tổng số bài gửi : 11
Join date : 17/02/2011
Age : 36
Đến từ : Bình Định

Về Đầu Trang Go down

câu hỏi chương 7 Empty Re: câu hỏi chương 7

Bài gửi  nguyenthingoan (i92c) 6/5/2011, 10:47

lavansan(102c) đã viết:
TruongThiMinhNgoc57(102C) đã viết:Mình mở chủ đề này mong là các bạn sẽ cùng mình soạn ra câu hỏi của chương 7 để học nhé.
Câu 1: Những lý do đồng bộ hóa công việc của tiến trình. VD minh họa .

Lý do:
- Đảm bảo tính nhất quán của tài nguyên dùng chung.
- Tránh được hiện tượng Deadlock (Hiện tượng kẹt tiến trình) .
VD: một trường học chỉ có 1 phòng lab (tài nguyên dùng chung) , lớp có giờ học trước thì được vào phòng lab học, các lớp còn lại phải chờ đến khi lớp học trước đó hết giờ mới được vào phòng lab .
Mong các bạn nào có vd hay hơn cho mình tham khảo, Sad
Để có thể hiểu hơn các bạn có thể tham khảm tại đây
Thanks bạn nha. Mình đã đọc qua và thấy cũng dễ hiểu. Thông tin hay.

nguyenthingoan (i92c)

Tổng số bài gửi : 39
Join date : 16/02/2011

Về Đầu Trang Go down

câu hỏi chương 7 Empty Giúp với!

Bài gửi  trantanphat102C 6/5/2011, 14:30

Câu 2: Khái niệm đoạn tương tranh và loại trừ lẫn nhau(hay loại trừ tương hỗ )?
Cần ví dụ loại trừ lẫn nhau(hay loại trừ tương hỗ ) mọi người giúp với cám ơn.

trantanphat102C

Tổng số bài gửi : 29
Join date : 13/03/2011

Về Đầu Trang Go down

câu hỏi chương 7 Empty Re: câu hỏi chương 7

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết